[horde] reagent: the code

Mij mij at bitchx.it
Thu Apr 22 17:23:17 PDT 2004


Il giorno 22/apr/04, alle 11:46, Carlos Pedrinaci ha scritto:

> Hi,
>
> I don't know if you are aware of Thor which aim is to provide a way to
> organize and manage projects, allowing users to create project plans,
> add a bug tracking system via Whups etc..
> The code is currently quite simple, but it is evolving everyday. It is
> currently under reorganization so as to get a more adaptable
> architecture (almost done) suitable for everyone.
> I think you also might be interested in having a look at it's code.

Please correct me if i'm wrong:
As far as i understood, thor is though with projects in mind.
Thor's goal is to help developers to manage the high level development
of the project they belong to with a set of handy tools on the web.

Reagent's goal is completely different. It's not meant for developers. 
It's
meant for all the rest of the world. With Reagent you can create 
profiles
for developers (users, in general) and projects, providing informations
to the people outside the project itself.

Reagent wants to improve the sense of belonging to a community.
So, it won't grow toward tools like thor ones. It will most likely 
incorporate
availability of more informations about users and projects, and possibly
things like users' scores (who's the more active developer, who's the 
most
appreciated "project leader" etcetera, something automatic and something
by voting), pseudo-bulletin boards to gather projects' feedback and 
things
like that.

That's why reagent overlaps a very little bit with turba and a little 
bit with
thor, but not enough to permit it to get incorporated into any of them.
I'd like to improve its integration with them instead. This is already 
a TODO.

Please let me know what you think about it.


> However, if I'm not wrong your code was done for Horde 2. Current head
> version of Horde (which will be released soon) has a lot of new and
> wonderful features Thor makes use of.

i prefer to stay on h2. it's very widely used, and bigger institutions 
move
quite slowly to newer versions. I don't believe it would be good to me 
to
develop that code on a ALPHA framework.
When I looked on horde3, I didn't find anything very useful to reagent
that wasn't available on horde2.
I will develop on horde2. A "port" for horde3 is possible for the 
future, of
course.




> I know its usually hard to coordinate students and even more difficult
> to coordinate them with an external Open Source Project, but it would 
> be
> a pity to duplicate efforts.
> I'm looking forward for your opinion.

I hope i've been able to give the right idea about reagent. If you have
more questions or objections, please tell. Also, proposals for points of
integration are welcome.

bye


> Regards,
>
> Carlos
>
>
> On Wed, 2004-04-21 at 01:59, Mij wrote:
>> hello people
>>
>> so. I spent some hours the last days on reagent (see former posts).
>> While there are thounsand details that require to be fixed/completed
>> I got the application working. You can:
>>
>> - list users/developers registered to the community
>> - see the profile of a specific user (photo, realname, notes etc and
>> the project he contributes)
>> - see the profile of a specific project (logo, name, synopsis etc and
>> the members it encounters)
>> - edit the profile of a user (*1)
>> - create a new user (*2)
>> - edit the profile of a project (*1b)
>> - create a new project
>> - subscribe/unsubscribe members to projects, set them leader,
>> change their role against the project
>>
>> Its architecture has been thought to be easy and pleasant to use.
>> Parts of the Apple Human Interfaces Design Guide has been used.
>>
>>
>>
>> *1:
>> it's thought this way: a) anyone can edit his own profile. There are a
>> set of
>> special users, "administrators", who can edit *all* the profiles; b)
>> projects
>> works about the same way. There's a "project leader" who can edit the
>> project he leads, then every admin has the ability to change every
>> project.
>> Admins can also create new projects and new users.
>>
>> *2:
>> this means two things: you can create a new *horde* user (this is
>> currently
>> not implemented but quick to be done. Just the next thing to do. You 
>> can
>> create a *reagent* user, or better "enable an existing horde user to 
>> be
>> profiled on reagent". This one is currently supported.
>>
>>
>> There's some screenshots on
>> http://dev.publicshout.org/reagent/shot_reagent/png/
>>
>> Of course everything on those shots is completely stupid and mostly 
>> not
>> existing,
>> just to fill the database with something to dump on the application.
>>
>>
>> Important, about its license:
>> I didn't decide for a license yet. It will probably be BSD, maybe 
>> LGPL,
>> at most GPL.
>> Have to say that it's the fruit of a project I'll be assessed on as
>> part of a university
>> examination. Unlikely will the Institute (Politecnico di Milano) 
>> impose
>> requirements
>> about the license. Even in this case, very very unlikely they will
>> impose me to
>> license it with a license stricter than "free for non-commercial use".
>> I guarantee I will
>> fight for the most free. What I hope and think: they will request the
>> Intellectual Property,
>> leaving it free for any use for the rest. After all,
>> http://webmail.polimi.it/ ...
>>
>> Then:
>> for the facts above, I haven't still marked any source with licenses
>> stuff. I will provide
>> sources to anyone interested in having a look, but privately: just 
>> drop
>> me a mail.
>> I just want to skip sources leaks.
>> For anyone who formerly notified his interest in contributing: please
>> write me again,
>> I will provide:
>>
>> - tgz sources
>> - reagent cvs account
>> - reagent test platform web account
>> - reagent database account (it contains that stupid data said above,
>> but with the tables ready)
>>
>>
>> Other notes:
>> As part of the project said above, this kind of jobs are meant to take
>> students about
>> 70-80 hours. Since it requested to me a bit more and it's <80% done, I
>> requested
>> for extending it to a wider project I'll offer as micro-thesis. This
>> will imply to introduce
>> more techology like XML, security, performance. Giving example, I
>> thought to
>> implement CRAM (*3) for horde (i'll do that for reagent, so extending
>> wouldn't be heavy),
>> and import/export anything about projects and users through XML.
>>
>> *3: it is quite useless to store password as md5 hashes on the db, 
>> then
>> ask the
>> user to post its clean password via http: 80% of the times the db and
>> the web servers
>> are on the same host, and the rest of the times their link can be
>> easily made secure
>> with a simple encrypted tunnel. What is actually insecure is
>> client-webserver.
>> The job is to require the client to compute the md5 itself (via JS) 
>> and
>> sent *that*
>> password to the client. In fact, the thing will be: the server posts a
>> challenge to the client.
>> the client computes the md5 of the clear password, concatenates the
>> challenge and
>> computes a the md5 (hex) of the result, then posts *that* password. 
>> The
>> server pulls
>> the md5 hash of the user's password and authenticates the same way.
>> I already got that working on a standalone trial, using a nice JS
>> library which's BSD
>> licensed.
>>
>>
>> -> TODOs
>> there's a lot of todos. most of them are in the TODO file inside the
>> package, but there's
>> more. Thanks to the current status of the app, all the core code is
>> well written, but
>> it hasn't been refined enough all the UX.
>> Mostly:
>> - completely do the errors handling. I just roughly invoke a
>> Horde::fatal() now
>> - rewrite the search panel for rising its powerful (quick job, just
>> replace radios with
>> checkboxes and the engine is almost ready for handle that)
>> - better integration with horde's "widgets"
>> - introducing users' prefs
>> - implementing custom order in lists (users, projects, members ...)
>> - automatically generate thumbnails of the pictures users submit (for
>> themselves
>> and as logos for projects) and include these thumbs while listing 
>> users
>> (include
>> their pictures) and projects (their logo)
>> - i18n: the app is gettext-ready. Just write translations (italian 
>> half
>> done as proof of concept).
>> - ... about twenty other TODOs
>>
>>
>> In sum:
>> - current status: have a look at
>> http://dev.publicshout.org/reagent/shot_reagent/png/
>> - who's interested in having the code, plase write me: i'll be happy 
>> to
>> send you.
>>
>>
>> sorry for the mess with sources.
>>
>> If you have questions of any kind, i'll be glad to answer here on the
>> ml.
>>
>> ciao
>
> -- 
> Horde mailing list - Join the hunt: http://horde.org/bounties/#horde
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: horde-unsubscribe at lists.horde.org
>



More information about the horde mailing list