Re: [Homecomponents-devel] Design Specification
Status: Inactive
Brought to you by:
schapht
|
From: Mat S. <sc...@ve...> - 2004-05-05 19:02:52
|
By all means :)
I'm not familiar with the term exactally. But I'm guessing it would be
something that people could post little notes into but not as formal as
a guestbook. I think this would be a great addition, and it seems like
a good "starter project" so we can get used to working together (with
regards to the HC_Common.php provisions, anyway).
My recommendations would be:
- use a ShoutBox class to encapsulat the whole thing so a user can just
say:
$shoutbox =& new ShoutBox("box1");
$shoutbox->getLatest();
something like that. getLatest would return the HTML to be printed as
a shoutbox. This HTML should be generated by use of a template (in the
HomeComponents/templates/shoutbox) directory, or something of the sort.
Use getSmarty() to retrieve a Smarty instance.
the "box1" will specify which shoutbox to retrieve, or create it if
it's not found.
make sure to use HC_PREFIX on any tables you create.
Also, copy down all your SQL stuff into a .sql file. Later, I'd like
to create and installation script that puts the module in place, and
loads the database from provided .sql files.
There's definitely some other stuff that I need to add to the spec that
I'm noticing. Things like:
- all HTML should be taken from templates, even the simplest pieces.
This will allow the user to make changes to the internal formatting of
the components if they want, without having to modify the code.
- all components should return strings to the user. The use of "echo"
should be only done to print error messages. This will allow the user
to easily place components into their existing page layout.
- make any attempts possible to avoid unnecesary memory usage ($obj =&
new Obj(), instead of $obj = new Obj()).
I'll poke at in the coming week, and get those in there.
Tonight, I'll load the current HomeComponents stuff into the
sourceforge CVS tree. So you can grab that and start working on the
Shoutbox as soon as you're ready. Let me know if you have any
questions.
Good working with you,
Mat
PS., what OS are you working on? What tools do you use? We might be
able to make recommendations to each other.
I'm on Mac OS X myself, I use Eclipse2 w/ php-eclipse for coding PHP.
Lyx for documentation. Dia for diagraming.
On May 5, 2004, at 12:17 PM, b r y a n c h e n wrote:
> I'd really like to work on a Shoutbox/Tagboard-type of module. Any
> suggestions?
>
>
> -----Original Message-----
> From: hom...@li...
> [mailto:hom...@li...] On Behalf Of
> Mathew Schaffer
> Sent: Wednesday, May 05, 2004 10:25 PM
> To: hom...@li...
> Subject: [Homecomponents-devel] Design Specification
>
> Here's the specification for the design so far. Section 1 covers all
> the coding practices I've been doing so far. Section 2 covers what the
> main system provides for the modules right now.
> None of this is ever to be set in stone, but as more modules develop,
> changes to the specifications will require more work. So, if you have
> any recommendations, it's better to discus them now.
>
> I've been working on the blog module so far. Is there a particular
> module you'd like to work on?
>
> Oh, there's one thing that's not in this document that just occured to
> me. I'll add it later which is:
> HC_DB_INCLUDE references a class called Db. This is a wrapper class
> for the database, not Pear's Db class. I felt that Pear's Db class was
> too confining, so I built my own simple wrapper.
> One of the next things I want to do is rename my "Db" class to "HC_Db"
> so that it could eventually enclose Pear's Db class if desired. I'll
> update the document and send a notice out once that's done.
>
> Also, I'm storing design docs in the HomeComponents-Design module in
> the CVS tree. I'll send this one via email, but in the future I'll
> probably just send an email out and you can sync your copy. I'd
> encourage you to make changes to these documents as you see fit as
> well. I'm using lyx as a designer. If you're more comfortable with
> another format, we could keep two seperate files, but we'll need to
> make sure we notify each other when we make changes so we can update
> the other file.
> Lyx is available on most popular platforms, and I highly recommend it
> as an alternative to writing documents in straight LaTeX. It can
> export to LaTeX, PDF, or DVI which are all highly portable document
> formats.
>
> Anyway, here's the PDF.
> -Mat
>
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by Sleepycat Software
> Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to
> deliver higher performing products faster, at low TCO.
> http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3
> _______________________________________________
> Homecomponents-devel mailing list
> Hom...@li...
> https://lists.sourceforge.net/lists/listinfo/homecomponents-devel
>
|