[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