[dev] Agora Code and Idea Donation
Stephan Hohmann
webmaster at dasourcerer.net
Fri Jul 30 08:49:32 UTC 2010
Quoting Michael Rubinsky <mrubinsk at horde.org>:
>>>> o Linkbacks
>>>> Finding out how a thread is linked is quite interesting but
>>>> usually requires
>>>> logfile analysis. We wanted a more active approach and keep track
>>>> of incoming
>>>> referrers by the forum software itself. In addition to this, we wanted to
>>>> allow linkbacks via the pingback XMLRPC call as well (and
>>>> possibly trackbacks
>>>> as used by Wordpress). This could be interesting for other modules serving
>>>> community content as well (mostly Wicked and Ansel).
>>>> I had some good ideas to eliminate spam and noise. But there's nothing in
>>>> code yet...
>>>
>>> There is an (old) open ticket http://bugs.horde.org/ticket/6769
>>> for this in Jonah's queue. In H4 this will probably be implemented
>>> as part of the Horde/Content system, which means that any
>>> applications wanting to take advantage of this will need to make
>>> their content available to Horde/Content. This is one reason I
>>> haven't done this yet. I'm in the process of rewriting Jonah and
>>> this is on my list as well. So, any work towards this goal is
>>> welcome.
>>
>> Ah, okay. Have you considered supporting refbacks as well?
>
> I don't see any reason why we shouldn't.
Well, some people consider refbacks to be too noisy to be of any use.
A thought of the following procedure to minimize noise (e.g. incoming
referrers
from webmail installations):
- See if the referrer is reachable via HTTP(S) (e.g. no 4xx or 5xx response
code is sent)
- Check if the referrer is pointing to a (X)HTML document (I really
don't know
if it's useful to catch incoming links from - let' say - PDF documents)
- Check if there is actually a link to the current page
If any of th above steps fails, the referrer won't be logged. An
additional step
might involve extracting the page title of the referrer. I thought of
a similar
approach for ping- and trackbacks. Possibly it were a good idea to let
the site
administrator decide if they want "checked" or unchecked linkbacks for each
method individually? From what I hear, some people like to accept pingbacks
openly to allow better linking between content...
>>>> o Meaningful URLs
>>>> Apart from being pretty, we wanted our URLs to express "is-a," "has-a" or
>>>> subset relations. A nice sideffect: This allows for hackable URLs. I.e.
>>>> you could take away the last segment of a URL (up to the last "/") and
>>>> move up in the logical structure. E.g. /help would point to the
>>>> general help
>>>> while /help/text would be the help page regarding text formatting.
>>>> We used a Chain of Responsibility to achieve this. But I'm certain
>>>> Horde_Routes can do the same.
>>>
>>> Yes, this is a goal for a number of our applications. Some apps
>>> already has a sort-of solution via rewrite rules. In H4 the goal
>>> is do this where it makes sense via Horde_Routes. There is at
>>> least one open ticket on the bug tracker (I think it's for Jonah)
>>> related to this. If you want to work on this, we should get input
>>> from other core devs before we settle on a specific url scheme.
>>
>> Well, I would want to stop using the CoR-pattern. Don't know if I'd
>> contribute
>> to Horde_Routes, really...
>
> Not really required to contribute to Horde_Routes, per se. You just
> need to define the routes you want, and implement some sort of
> dispatcher to decide what to do with the incoming match.
Ah okay. For a bit it sounded like routes weren't set for a module but for all
of Horde at once :) But in general you were content with that URL scheme?
>>>> I also had some ideas on how to link some existing modules into Agora:
>>>> o Ansel
>>>> Ansel could be used to manage forum avatars as well as provide a one-click
>>>> hosting solution for images.
>>>
>>> What would the advantage of using Ansel to manage the Avatars vs a
>>> more general VFS based storage? If it *is* used, it should be done
>>> as an application-specific scope in Ansel so the gallery is not
>>> visible from within Ansel itself. It should also not be the *only*
>>> was of managing this.
>>
>> Okay, maybe I got a little carried away here... The idea was to let a user
>> select his avatar select via one of the following ways:
>> - Specify a remote image (if this is allowed by the site admin)
>> - Use a gravatar
>> - Select an image out of one's own gallery from within Ansel
>>
>> In that context it didn't really occur to me that Agora could
>> handle this itself
>> via a VFS.
>
> Having the user being able to pick their Avatar from an existing
> Ansel-hosted image, along with the other choices you mention is a
> viable option. The image could then be stored separately in Agora,
> or managed in a privately scoped Ansel share.
>
> Something else to consider is to have a Horde Avatar service, which
> could manage the user's avatar and provide it to any Horde
> application (or an external site for that matter) that requests it.
> The service could have the same options for selecting an avatar as
> you previously mentioned.
To summarize what we've discussed on IRC:
I'd find it more logical to let the user set his avatar via Folks. But
architecture wise it makes more sense to implement a Horde-wide service.
In addition: If we've got Ansel and its services available, it might
be an idea
to select any given image in Ansel and offer a "scale to fit requirements"
option. I see some problems regarding the file size limit, though. Maybe it
could be neglected?
>>> Ansel can already host images for any arbitrary scope using it's
>>> API. Related to this, I'm in the process of writing a
>>> plugin/extension to the rich text editor we use for inserting
>>> images from Ansel into a post.
>>
>> Sounds great... I thought about a special BBCode tag to insert
>> images right out
>> of Ansel.
>
> There was a discussion somewhere (can't find the link at the moment)
> about something similar to this, though I don't remember what the
> outcome was. This might be a viable option, but we would need to
> either customize the (very incomplete)BBCode plugin for CKEditor or
> add an entirely new editor type. IMO, I'm not sure either of these
> options would be worth it.
I had a different idea in the meantime: It should be possible to scan a
submitted post for [img]-tags and offer the user to load the embedded images
into Ansel and replace the tag accordingly. This could be allowed or denied by
the site administrator and possibly be automated via a user preference. It
would surely be convinient. I don't know how CKEditor is dealing with custom
BBCode, though.
One other thing: Is there anything like a plugin infrastructure in H4? I'm
thinking of customizations that are beyond the scope of hooks for forms.
E.g. I'm planing to eventually migrate one of my forums to Agora that's
featuring an integrated register for really bad puns. I cannot imagine putting
this into vanilla Agora...
So long,
Stephan
More information about the dev
mailing list