Crtx_PEAR_Channel_Frontend
| From: | Davey | Date: | Sat, 12 Mar 2005 23:29:10 +0000 |
| Subject: | Crtx_PEAR_Channel_Frontend | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-36670@lists.php.net to get a copy of this message | ||
Hello fellow PEARs,
I would like to announce a new package which I now deem finished.
This is not a package for PEAR, but is instead going to be distributed on my own channel, but I thought some here would find it interesting :)
A lot of you on IRC already have seen my work in progress, also
anyone who reads my blog.
For those who don't know, Crtx_PEAR_Channel_Frontend is a generic
pearweb for use by channel servers utilising PEAR_Server.
The code is PHP 5 only, as PEAR_Server is PHP 5 only I saw no reason
not to use PHP 5 which I dearly prefer over PHP 4 :)
Crtx_PEAR_Channel_Frontend provides:
* Full listings of packages
- Full List (think the category listing in pearweb)
- Per Category List
- Per Package pages
* Categories are optional!
* Package Downloads
- Download page shows changelogs etc
* Package Search
- By package name (AND/OR word matchings)
- By Maintainer
- By Category
* Full maintainer listings
- Includes Profile type pages for each maintainer
* E-Mail maintainer via form only!
* RSS feeds for latest release, per package releases and releases per maintainer
* Basic Installation Guide
* FAQ (I need help to write these :)
* PEAR::Pager used for all lists that may get long
* No templating included (except in examples)
- Just throw the code into your existing design, it outputs in nice clean semantic (except where HTML_QuickForm is used) XHTML which can be nicely styled (like my example :)
* Navigation/<link>'s for RSS feeds automatically output or you can do them yourselves and call the public methods yourself/send the right GET vars :)
Crtx_PEAR_Channel_Frontend requires:
* PEAR_Server (with modifications I have yet to commit to CVS, will do so tonight!)
* Pager
* DB_DataObject (PEAR_Server requirement also)
* HTML_QuickForm (PEAR_Server requirement also)
You can see Crtx_PEAR_Channel_Server in action on:
http://pear.davey.is-a-geek.com - click view source to see the source
for the entire website. Also note that I have paging set explicitly to 2 items per page to make it visible on the package listings :)
I have removed the actual tgz's so as to conserve my bandwidth (they'll be available on my server soon enough :)
Crtx_PEAR_Channel_Server will be available from my blog some time tomorrow I hope. I need to commit my changes to PEAR_Server and make
a release of that, then release this :)
I can't put this up on my own channel server till I can upgrade PEAR 1.4.0, the debug_backtrace() segfault is not letting me do that :/
Anyways, feedback would be great, new additions I can make also welcome.
- Davey
P.S.
If you are willing to use another file just for the RSS feeds there are no restrictions in place for this code, otherwise you *must* instantiate Crtx_PEAR_Channel_Frontend *before* output. Oh yes, and it *must* reside at the channel's URI for RSS feeds to work also. Will change this methinks :)