[dev] Agora Code and Idea Donation

Stephan Hohmann webmaster at dasourcerer.net
Mon Aug 30 22:57:46 UTC 2010


Quoting Chuck Hagenbuch <chuck at horde.org>:

>> 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.
>
> I tend to agree with Michael R. here. Do you think it's better for  
> RSS/Atom than a dedicated feed library, or something like xmlwriter?
Well, I think it could go into the Horde_Feed library. And yes, in my
opinion it's better than using xmlwriter.

>> 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 is very interesting to me; I'd love to build some of this into the  
> new PostFilter system in Horde_Controller.
Okay... I could throw together a Horde_Content_HTTPCacheable interface  
along
with some demo code if you wish. I'm afraid I do not understand  
Horde_Content
well enough to contribute directly.

>> 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 think a lot of the processing could be handled by a queue system. But  
> yes, this sort of thing in general is appealing. Content was where I was  
> playing with this sort of utility-service module, but really these  
> things should be their own services when we sort out how we want to do  
> that.
How would you run that? Via cron like the alarm system? I am asking because
I'd like to use this for my BBCode parser as well. I am currently toying
around with some __destruct magic to gather informations about remote
resources. A generic queue system would of course be the more elegant
solution.

>> 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.
>
> Definitely - anything more specific here?

I thought of some generic stats on a public page:
  - Top 10 users by posts
  - Top 10 boards by posts
  - Top 10 threads by posts
  - Last 10 threads
  - Averages on posts/d, posts/h and posts/thread
    The last one could even be used to determine "hot" threads
    (way better than a static threshold)
  - An overview over the number of posts within the last seven days

These could go into blocks easily, so users could have the stats on their
start page that are most interesting to them. The public page could be a
"static" .php at first. A more sophisticated were to let a site admin
freely configure blocks.

>> 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.
>
> As discussed, I like the idea of a horde-wide avatar service better.

After a lot of discussion I tend to agree :)

>> I could start working on this approx. by the end of the week, so let me  
>> know if you're interested.
>
> Anything happening here? :)
Oh yes. I'm a bit thrown back by some hardware issues... But things have
started moving :)
Btw: I've started a project page for Agora in the wiki. It's obviously
based on H3's version of Agora. I think I'll get to remove everything
that is already in H4 by the end of the week.

Greets,
   Stephan


More information about the dev mailing list