[geeklog-devtalk] geeklog-devel digest, Vol 1 #442 - 3 msgs
geeklog-devel-request at lists.geeklog.net
geeklog-devel-request at lists.geeklog.net
Thu Dec 2 13:00:02 EST 2004
Send geeklog-devel mailing list submissions to
geeklog-devel at lists.geeklog.net
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.geeklog.net/listinfo/geeklog-devel
or, via email, send a message with subject or body 'help' to
geeklog-devel-request at lists.geeklog.net
You can reach the person managing the list at
geeklog-devel-admin at lists.geeklog.net
When replying, please edit your Subject line so it is more specific
than "Re: Contents of geeklog-devel digest..."
Today's Topics:
1. Re: Geeklog 2 Framework Code in Action (Blaine Lang)
2. Re: Another SpamX (Justin Carlson)
3. Re: Geeklog 2 Framework Code in Action (Tony Bibbs)
--__--__--
Message: 1
From: "Blaine Lang" <geeklog at langfamily.ca>
To: <geeklog-devel at lists.geeklog.net>
Subject: Re: [geeklog-devel] Geeklog 2 Framework Code in Action
Date: Thu, 2 Dec 2004 10:47:49 -0500
Reply-To: geeklog-devel at lists.geeklog.net
Looks good Tony .. and I will try to get it installed over the next week to
check it out.
It certainly looks like a lot of work has been completed.
Cheers and I'll let you know how it goes.
Blaine
----- Original Message -----
From: "Tony Bibbs" <tony at tonybibbs.com>
To: <geeklog-devel at lists.geeklog.net>
Sent: Thursday, December 02, 2004 10:41 AM
Subject: [geeklog-devel] Geeklog 2 Framework Code in Action
For time sake I have attached the code I have already. The code is for
a sample Hunting Log Book application. It has a little bit of everything
but is far from complete. I'm sending this because Vinny is chompin' at
the bit to get started. I wrote this sample application to demonstrate
a few things:
1) use of MVCnPHP and how it allows us to generate small, atomic and
easily managed code.
2) use of Propel...without it the code would be at least 300% bigger
3) use of a Data Access Object. This object uses propel and hides the
propel details from the developer for the most part. Thus GL2
developers should have to write very little SQL
4) use of named queries
5) use of the PEAR::HTML_Template_Flexy engine
6) concepts on how to do data validation and formating in this new
paradigm. I'm not 100% satisfied with what I have but it is a step in
the direction I think it should go.
7) This shows the use of a List Of Values table. It is a single table
that can be reused to multiple times for look up values. This is
probably something many of you are familiar with but I wanted to point
this out because it reduces the number of data structures we'd need
considerably since look-up tables can now all reside in a single table
structure.
As you view this, *please* ignore the layout...I'm not a layout guy.
Here are the things worth noting.
First, don't look into the underlying framework code too much until you
get a feel for the basic code. Specifically, your first gander should
focus on code in the following directories:
/path/to/HuntingLog/commands
/path/to/HuntingLog/views
/path/to/HuntingLog/templates
That's where the magic happens. The commands and views directory are
where the MVCnPHP commands and views go respectively. Take time to
notice and, hopefully, appreciate how little code exists in many of
them. Granted my sample application is quite trivial, but try and draw
comparison's to how much code you would write to do the same thing with
the 1.3.x code. After you do that, there are some abstract classes in
each of those directories that so some basic setup stuff. You should
look into those and understand them as we'll need to
The templates directory is where the Flexy templates go. The layout I
have defined in this app doesn't support the notion of a theme...I can
add that later with little trouble as it is just a matter of how we want
to layout the directories. I haven't exercised all the features of
flexy in the views I have but it does do the most common things. Flexy
works quite differently from PHPLib that 1.3.x so I would read up on the
documentation for it.
You'll notice this code in the commands and views have absolutely no SQL
in them. Propel should generate 90% of the SQL and the other 10% must
go into the /path/to/system/Data_Access/NamedQueries.xml. I'm sure
there will be a debate as to why all custom SQL must go in an XML file
so here are a few reasons:
1) Cleaner code in the commands/views. It isn't muddled with SQL
2) Having the SQL in a single file allows us to reuse queries and gives
us a single place for making modifcations should the DB structures change.
3) The biggest benefit which isn't implemented yet, is that I can use
the queries in that XML file and generate a single PHPUnit2 script that
would regression test all the queries with a single command. This is a
huge time saver in the case where we have massive structure updates that
will undoubtedly happen during alpha development. Again, this isn't
implemented but I'm working on it now.
Also missing from this implementation is the ability to allow more than
one query XML file. This will be required for plugins as it will allow
them to manage their own file for named queries seperate form those used
by the core GL2 kernel.
Here are the crude instructions for installing this. NOTE: Phing is not
required but Propel is because I haven't packaged the code into this
tarball. In the first GL2 alpha we'd obviously fix that but I don't want
anyone freaking about about requireing Propel. Oh, and you'll notice
Propel requires Phing...this is only for doing builds. I've already
done the build for the app in this case. If you want a copy of this
tarball modified to include the Propel code please let me know...I'd be
more than happy to do it since installing Propel can be a bit tricky.
1) Make sure you have PHP5 ;-)
2) unpack into webtree
3) Make sure you have a version of MySQL that supports INNODB and
foreign keys.
4) create a database for this sample app
5) Import /path/to/HuntingLog/data/create.sql into your database
6) edit config.php to match your system
7) edit the database settings in
/path/to/HuntingLog/system/Propel/HuntingLog-conf.php
8) Now open browser and point it to index.php
Please only review it for the features I have noted. This is meant to
be a throw away prototype and I assume we'll make many changes in the
short term to the framework. By all means fire over any questions. If
you have no questions but get it installed successfully even letting me
know you got it installed would be nice.
--Tony
--__--__--
Message: 2
Date: Thu, 2 Dec 2004 09:54:30 -0600
From: Justin Carlson <justin.carlson at gmail.com>
To: geeklog-devel at lists.geeklog.net
Subject: Re: [geeklog-devel] Another SpamX
Reply-To: geeklog-devel at lists.geeklog.net
Take any of the following:
Spam, Geek, Log, Comment, Post, Ad
Add any of the following:
Shield, Guard, Guardian, Bouncer, Fortify
GeekGuard, Comment Bouncer, Post Shield
Eh maybe it sounded better in my mind.
On Thu, 2 Dec 2004 10:03:03 -0500, Tom <tomw at pigstye.net> wrote:
> I like that one ;)
>
> Tom
>
>
>
> Tony wrote:
>
> Call it "Please-stop-spamming-my-blog-you-f8cker-x"
>
> Very descriptive and highly doubt it that someone else would come up
> with it.
>
> --Tony
>
> Tom wrote:
>
> >Call it whatever
> >
> >-----Original Message-----
> >From: geeklog-devel-admin at lists.geeklog.net
> >[mailto:geeklog-devel-admin at lists.geeklog.net]On Behalf Of Vincent Furia
> >Sent: Wednesday, December 01, 2004 4:10 PM
> >To: geeklog-devel at lists.geeklog.net
> >Subject: Re: [geeklog-devel] Another SpamX
> >
> >
> >A search of the US Trademark database didn't turn up any matches. We
> >can always start calling it "Geeklog's SpamX".
> >
> >-Vinny
> >
> >
> >On Wed, 1 Dec 2004 21:58:06 +0100, Dirk Haun <dirk at haun-online.de> wrote:
> >
> >
> >>It seems someone else also came up with the name "SpamX":
> >>
> >> http://www.hendricom.com/
> >>
> >>I don't see any claims that it's a registered trademark, though.
> >>
> >>bye, Dirk
> >>
> >>--
> >>http://www.haun-online.de/
> >>http://www.macosx-faq.de/
> >>
> >>_______________________________________________
> >>geeklog-devel mailing list
> >>geeklog-devel at lists.geeklog.net
> >>http://lists.geeklog.net/listinfo/geeklog-devel
> >>
> >>
> >>
> >_______________________________________________
> >geeklog-devel mailing list
> >geeklog-devel at lists.geeklog.net
> >http://lists.geeklog.net/listinfo/geeklog-devel
> >
> >--
> >No virus found in this incoming message.
> >Checked by AVG Anti-Virus.
> >Version: 7.0.289 / Virus Database: 265.4.4 - Release Date: 11/30/2004
> >
> >_______________________________________________
> >geeklog-devel mailing list
> >geeklog-devel at lists.geeklog.net
> >http://lists.geeklog.net/listinfo/geeklog-devel
> >
> >
>
> _______________________________________________
> geeklog-devel mailing list
> geeklog-devel at lists.geeklog.net
> http://lists.geeklog.net/listinfo/geeklog-devel
>
> --
>
>
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.289 / Virus Database: 265.4.4 - Release Date: 11/30/2004
>
> _______________________________________________
> geeklog-devel mailing list
> geeklog-devel at lists.geeklog.net
> http://lists.geeklog.net/listinfo/geeklog-devel
>
--__--__--
Message: 3
Date: Thu, 02 Dec 2004 10:30:19 -0600
From: Tony Bibbs <tony at tonybibbs.com>
To: geeklog-devel at lists.geeklog.net
Subject: Re: [geeklog-devel] Geeklog 2 Framework Code in Action
Reply-To: geeklog-devel at lists.geeklog.net
Also worth noting for you plugin developers is that you don't have to
use MVCnPHP nor Propel. In fact, unless you have a 'big' plugin (i.e.
articles, forum, calendar, etc) you probably won't want to use MVCnPHP.
The use of Propel is encouraged, especially for anyone who will
contribute a large number of plugins as it will save you a lot of time
once you've learned how to use it. Strictly from a maintenance
standpoint, though, I'd still encourage anyone willing to use both to do
so. For anyone not using Propel, you can get a handle to a database
connection object and issue raw SQL right there.
--Tony
Blaine Lang wrote:
>Looks good Tony .. and I will try to get it installed over the next week to
>check it out.
>It certainly looks like a lot of work has been completed.
>
>Cheers and I'll let you know how it goes.
>Blaine
>----- Original Message -----
>From: "Tony Bibbs" <tony at tonybibbs.com>
>To: <geeklog-devel at lists.geeklog.net>
>Sent: Thursday, December 02, 2004 10:41 AM
>Subject: [geeklog-devel] Geeklog 2 Framework Code in Action
>
>
>For time sake I have attached the code I have already. The code is for
>a sample Hunting Log Book application. It has a little bit of everything
>but is far from complete. I'm sending this because Vinny is chompin' at
>the bit to get started. I wrote this sample application to demonstrate
>a few things:
>
>1) use of MVCnPHP and how it allows us to generate small, atomic and
>easily managed code.
>2) use of Propel...without it the code would be at least 300% bigger
>3) use of a Data Access Object. This object uses propel and hides the
>propel details from the developer for the most part. Thus GL2
>developers should have to write very little SQL
>4) use of named queries
>5) use of the PEAR::HTML_Template_Flexy engine
>6) concepts on how to do data validation and formating in this new
>paradigm. I'm not 100% satisfied with what I have but it is a step in
>the direction I think it should go.
>7) This shows the use of a List Of Values table. It is a single table
>that can be reused to multiple times for look up values. This is
>probably something many of you are familiar with but I wanted to point
>this out because it reduces the number of data structures we'd need
>considerably since look-up tables can now all reside in a single table
>structure.
>
>As you view this, *please* ignore the layout...I'm not a layout guy.
>Here are the things worth noting.
>
>First, don't look into the underlying framework code too much until you
>get a feel for the basic code. Specifically, your first gander should
>focus on code in the following directories:
>
>/path/to/HuntingLog/commands
>/path/to/HuntingLog/views
>/path/to/HuntingLog/templates
>
>That's where the magic happens. The commands and views directory are
>where the MVCnPHP commands and views go respectively. Take time to
>notice and, hopefully, appreciate how little code exists in many of
>them. Granted my sample application is quite trivial, but try and draw
>comparison's to how much code you would write to do the same thing with
>the 1.3.x code. After you do that, there are some abstract classes in
>each of those directories that so some basic setup stuff. You should
>look into those and understand them as we'll need to
>
>The templates directory is where the Flexy templates go. The layout I
>have defined in this app doesn't support the notion of a theme...I can
>add that later with little trouble as it is just a matter of how we want
>to layout the directories. I haven't exercised all the features of
>flexy in the views I have but it does do the most common things. Flexy
>works quite differently from PHPLib that 1.3.x so I would read up on the
>documentation for it.
>
>You'll notice this code in the commands and views have absolutely no SQL
>in them. Propel should generate 90% of the SQL and the other 10% must
>go into the /path/to/system/Data_Access/NamedQueries.xml. I'm sure
>there will be a debate as to why all custom SQL must go in an XML file
>so here are a few reasons:
>
>1) Cleaner code in the commands/views. It isn't muddled with SQL
>2) Having the SQL in a single file allows us to reuse queries and gives
>us a single place for making modifcations should the DB structures change.
>3) The biggest benefit which isn't implemented yet, is that I can use
>the queries in that XML file and generate a single PHPUnit2 script that
>would regression test all the queries with a single command. This is a
>huge time saver in the case where we have massive structure updates that
>will undoubtedly happen during alpha development. Again, this isn't
>implemented but I'm working on it now.
>
>Also missing from this implementation is the ability to allow more than
>one query XML file. This will be required for plugins as it will allow
>them to manage their own file for named queries seperate form those used
>by the core GL2 kernel.
>
>Here are the crude instructions for installing this. NOTE: Phing is not
>required but Propel is because I haven't packaged the code into this
>tarball. In the first GL2 alpha we'd obviously fix that but I don't want
>anyone freaking about about requireing Propel. Oh, and you'll notice
>Propel requires Phing...this is only for doing builds. I've already
>done the build for the app in this case. If you want a copy of this
>tarball modified to include the Propel code please let me know...I'd be
>more than happy to do it since installing Propel can be a bit tricky.
>
>1) Make sure you have PHP5 ;-)
>2) unpack into webtree
>3) Make sure you have a version of MySQL that supports INNODB and
>foreign keys.
>4) create a database for this sample app
>5) Import /path/to/HuntingLog/data/create.sql into your database
>6) edit config.php to match your system
>7) edit the database settings in
>/path/to/HuntingLog/system/Propel/HuntingLog-conf.php
>8) Now open browser and point it to index.php
>
>Please only review it for the features I have noted. This is meant to
>be a throw away prototype and I assume we'll make many changes in the
>short term to the framework. By all means fire over any questions. If
>you have no questions but get it installed successfully even letting me
>know you got it installed would be nice.
>
>--Tony
>
>_______________________________________________
>geeklog-devel mailing list
>geeklog-devel at lists.geeklog.net
>http://lists.geeklog.net/listinfo/geeklog-devel
>
>
--__--__--
_______________________________________________
geeklog-devel mailing list
geeklog-devel at lists.geeklog.net
http://lists.geeklog.net/listinfo/geeklog-devel
End of geeklog-devel Digest
More information about the geeklog-devtalk
mailing list