[dev] Agora Code and Idea Donation
Stephan Hohmann
webmaster at dasourcerer.net
Sun Jul 18 00:14:49 UTC 2010
Hello there,
first of all: Thanks for your reply.
Quoting Michael Rubinsky <mrubinsk at horde.org>:
>
> I've responded below where I have knowledge and an opinion:
>
> Quoting Stephan Hohmann <webmaster at dasourcerer.net>:
>
>> Hello there,
>>
>> I'm stuck with a half-finished forum software weighing around
>> 13,000 lines of
>> code. Since the original dev team has split up, I see no point in
>> continuing development on my own. However, I believe some of the
>> features might be
>> interesting for Agora or even Horde itself:
>>
>> o XSL/T Based Template Engine
>> We have started with Smarty as our template engine but soon ran
>> into problems
>> when we decided we wanted XHTML as output format. It is quite
>> basic at the
>> moment and given the decisions regarding XHTML vs. HTML in H4 I
>> do not know
>> if it'll fit in... However, it's great for generating RSS and Atom.
>
> In general, we are moving all rendering/template type code to
> Horde_View. I'm not sure what the other devs feel about this, but
> I'd be hesitant to add yet another template solution. If you think
> it would be possible to do what you want while integrating it into
> Horde_View, then that might be another story.
Actually, that might be a lot of hassle... There are a lot of unsolved
problems
at the moment. E.g. I've spent little thought on internationalization and
theming. As XSL/T is turing-complete, I am quite certain there are solutions
for these. However, it might take some time.
But as I said: It's really great to generate different flavours of XML. And I
found it to be several magnitudes faster than Smarty (our previous
choice for a
template engine).
>> 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?
>> 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...
>> 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.
> 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.
>> o Trean
>> For larger forums, it might be an idea to let users bookmark
>> their favourite
>> threads. It might be better to let Agore handle this. But since Trean is
>> already there...
>
> The ability to manage favorites via the bookmarks/ api is a good
> idea. Keep in mind Trean still needs lots of work, specifically,
> it's use of shares is going to be completely rewritten so that
> instead of folders, we are going to to move to a tag-based system.
Ah, I wanted to map the structure of the forums in Agora to folders in Trean.
Tags would make this a bit complicated.
Also: It might be a good idea to treat bookmarks from within Horde special in
a way that they will stay valid should the URL of the Horde
installation change
(for whatever reason).
>> o Folks
>> Usernames could be linked to profile pages in Folks.
>> Personalized statistics on a user's activity in Agora might be another
>> nice-to-have.
>
> I've never used or really looked at Folks to any extent, but these
> sound like good ideas on the surface.
There might be more possible... I'd like to make threads in Agora rateable.
Perhaps a user's rating in Folks could be affected by this?
So long,
Stephan
More information about the dev
mailing list