[dev] Agora Code and Idea Donation

Michael Rubinsky mrubinsk at horde.org
Sat Jul 17 14:49:40 UTC 2010


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.

>
>  o HTTP Caching
>    In an effort to keep server loads as well as traffic costs low, we've
>    experimented with HTTP/1.0's Last-Modified and HTTP/1.1's ETag a lot and
>    gained some experiences regarding HTTP level caching.

This sounds interesting, I think someone (BKlang, maybe?) was working  
on some ETag functionality. Perhaps he could chime in here.

>  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.


>  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.

>
>  o Statistics
>    People really love statistics. Generating a list of the most  
> popular forums
>    and threads as well as an average on the amount of posts/h is  
> quite easy and
>    draws some attention, making it a nice-to-have.

Sounds good.


> 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.

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.

>  o Scry
>    Threads with attached polls are a hardly used, yet often  
> requested feature.

Any work on Scry would be welcome, it's not even yet imported into Git  
/ ported to H4.

>  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.

>  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.



-- 
Mike

--
The Horde Project (www.horde.org)
mrubinsk at horde.org

"Reality is merely an illusion, albeit a very persistent one." - A. Einstein



More information about the dev mailing list