[dev] Groo status report

Luciano Ramalho luciano at ramalho.org
Thu Jul 27 19:15:48 PDT 2006


I'm finally feeling comfortable coding within the Horde framework. Most 
of my first month of SoC was spent relearning PHP while I implemented 
some core classes and the Amazon.com connection, and most of the second 
figuring out the basics of how a Horde app is structured and redoing 
some of the previous work accordingly.

On my local machine, I have these screens working:

- Main cataloging screen [1] where the user types the ISBN of a book and 
the system fetches the book data or queues it for remote fetching
[1] http://wanderingbooks.org/project/screens/catalog_isbn.png

- First stab at the book metadata form (some fields are missing) [2]. 
The same form will be used for manually editing the data when needed.
[2] http://wanderingbooks.org/project/screens/book_view.png

I've also published a few sketches of most of the remaining screens [3]

[3] http://wanderingbooks.org/project/specs/

I've been closely following the structure of the Skeleton and Mopple 
apps. But Groo is a bit more complicated than Mopple, so right now I am 
facing a few challenges I don't know how to attack. I'd also love to use 
RDO if possible, but I don't know if it supports the kinds of 
relationships I need to implement.

GOALS FOR NEXT WEEK

-------------------------------------
A) Install Horde and Groo at a public web-site so that I can invite 
friends to start cataloging their books.

-------------------------------------
B) Implement the rest of the cataloging screens, of which the most 
complicated is the book editing form [4]

[4] http://wanderingbooks.org/project/specs/img3.png

The challenge here (at least for a Horde newbie like me) is to implement 
the interface and the DB back-end of the book/creator many-to-many 
relationship. I know how to code the DB part manually, following the 
Driver pattern I learned studying Mopple. What I don't know is:

- how to leverage Horde's form infrastructure to build a form which has 
a variable part (in my case, a variable number of creators, each 
represented by a pair of name/role fields; see sketch [4])

- whether such many-to-many relationship can be implemented with RDO

In my model, I have a books table and a creators table, and they are 
linked through a l_book_creator table which contains a role field 
qualifying the relationship (author, translator, editor etc.).

In order to tackle the book editing form I'd like to take Chuck's offer 
of a little synchronous mentoring via IRC. Chuck: tell me if you can do 
that, and when would be good for you, OK?

OVERALL STATUS

In spite of the slow start, I think now I am at a cruising speed, and I 
am fairly confident of doing most of what I planned if I simplify things 
and leverage other parts of Horde. For example, I'd like to use Nag to 
manage the reminders for the book leasing functionality.

With a little bit of help, I think Groo may become that nice sample 
application we were expecting, simple but not trivial, therefore good 
for helping new developers dig deeper into Horde after they study Jan's 
Mopple and Chuck's real-state Property examples.

Cheers,

Luciano







More information about the dev mailing list