1. PHP Triad:
PHP Triad is an
installation of PHP, Apache and MySQL for Windows that J. Wynia created to
make installation easy. And
it is truly easy. It includes
PHP myadmin, a web based database administration tool and PHP IDE, a web based PHP
editor. It is available from
SourceForge or from http://www.phpgeek.com
J. discussed the open source installer program he used with PHP Triad: Nullsoft's NSIS. Nullsoft's NSIS is easy to use and only ads 38k to the entire application package that you are installing. It also is able to perform several actions at the end of the install (for example, open browser, edit text file, start apache) as opposed to others on the market that only allow a single action at end of install. The development pace of this product is rapid right now with new functionality being added constantly by the development community. Read about and download from http://www.nullsoft.com/free/nsis/ .
2. The Horde
Project
Brent Nordquist gave a stunning presentation on the PHP Horde project. I cant recreate his presentation here, only repeat the coolest parts and point people to the www.Horde.org page.
Horde is an open source suite of web applications. More than a function library, Horde has an abstracted object oriented framework that allows customization and tailoring to be used in building your applications so that you don’t have to recreate some of the basic tools. The applications include an email solution called IMP, a calendar solution called Kronolith, a CVS viewer called Chora, a web based bug tracker called WHUPS and a contacts manager called Turba.
Horde is written in PHP
Horde relies on the
classes contained in PEAR
Horde is open
source.
Horde is in need of
developers, documenters, testers,
Horde 1.2 (IMP 2.2x) is current stable release: it has frames, uses PHPLib for sessions, does not have groups for the email app, IMP.
Horde 1.3 (IMP
2.3) is the development
version. It has no frames
within applications, uses PEAR for sessions and has groups for IMP.
Horde is completely
configurable including the layout (HTML).
Horde is committed to
XHTML compatibility.
The Horde
applications are being documented using DocBook, and very good documentation
exists for IMP. The Horde
framework is not well documented yet, but “read the
code”.
New Distributions will not erase users modifications and customizations. The changes are in .dist files and updates functionality without overwriting changes.
Horde is at
once:
1.
An "out of the box" suite
of web applications such as Email, Calendar, address book, web portal,
help desk, graphic CVS and
2. A development framework completely abstracted for use with building applications.
The entire room oohed and aahed when Brent demonstrated Chora, a web based graphical CVS browsing tool. It has a color coded chart of the history of CVS commits, updates and diffs. You can look at your color coded CVS diffs side by side in the web browser.
Some of the Horde
applications including the calendar system, Kronolith, take advantage of
JavaScript if it is enabled but "degrades gracefully" if JavaScript is not
enabled and handles all the validation and screen clearing on the server
side.
Horde also degrades gracefully when cookies are turned off and reverts to get and post transfers of session information.
If you don’t like the names IMP, Kronolith, Chora, etc, you can rename them for your installation. The HTML layout code is enclosed in .inc files so that a maintainer familiar with HTML can change and maintain the look and feel of the application without delving into the PHP code.
Another cool thing is a "Problem" link where users can click and report difficulties. Users in organizations using Horde for intranet applications, the help desk was getting plenty of problem notices from this help system. This enabled the help desk to handle problems that would otherwise go unreported. Wouldn't be that hard to add a general problem reporting function to any email program for any organization. Provides an alternative to users to calling tech support and waiting on hold or waiting 4 days to get a call back.
WHUPS is a bug tracking application similar to Bugzilla
Another great feature is test.php, a small PHP script that ships as
part of the Horde framework. It
can sniff out problems before technical support gets involved. The
program detects the version, browser, OS, checks the installation
configuration files, and compares the error to a list of common
errors. Then spits back a
recommendation. This makes
dealing with repeat problems much easier because common problem responses
are automated as the first line of defense. The application can say "We
noticed your server is configured wrong" and describe how to fix it.
Horde started out closely tied to IMP. The big breakthrough that makes it a valuable tool is the abstraction that allowed it to break free of IMP and stand alone as a completely abstracted and full of reusable code.
SESSION HANDLING: PHP4 implements sessions with cookies and if cookies are turned off, resorts to attaching session info to the end of a URL. The point was made that the most efficient and secure way to use cookies to manage sessions is to use the cookie to store an encrypted token or key that is matched with information in a database on the server side instead of trying to cram real information into the cookie.
PEAR
The discussion of Horde had to be prefaced with a discussion of PEAR. PEAR is a collection of classes available for use with PHP scripts. It includes stuff like database abstraction. PEAR comes with PHP4 but to use these classes, you need to add the library directory (usr/local/lib/php or something) to the PHP path. If you don’t have access to the class path information, you can still use the classes by hard coding include commands pointing to the PEAR files into your .php files
BROWSER HAWK
Browser Hawk is an ASP
thing, it uses a database of browser versions and what each one supports
with a browser detection script that allows you to branch your code
according to browser type and version. This database and application is
proprietary but there is a text file out there that contains the same info
and is free. The set of data
about browser versions is called browscap.ini and is licensed. A free text version was created
and is available:
---------------------------------------------------------------------------- -------------- This browscap configuration file is maintained by Juan T. Llibre. Last revision : July 25, 2000 E-mail comments to : j.llibre@codetel.net.do Please include a link to : http://asptracker.com/ , where the latest update is always available, free. -----------------------------------------------------------------------
OS-X: Allie spoke a little about
OS-X (pronounced OS
TEN). It combines the
friendly Mac user interface with the stability of the BSD flavor of
Unix. So now in the latest
operating system from apple, you can open up the hood and use Unix
commands and shell scripting to do stuff. Apache comes with
it.
http://www.oreillynet.com/mac/
http://www.salon.com/tech/review/2000/10/25/os_x1/
PHP Class at U of
M:
Warren has an opportunity to teach a class at the University of Minnesota in PHP and MySQL. They want to be sure there is a market for this course first and so we need to let people know about this class. Contact him to learn more about it (whjwhj@yahoo.com)
PHP PRO BONO
I think we resolved
some of the unease members were feeling with PHP Pro Bono. Members were concerned that the
group was too loose to be in a position to be doing jobs for people, even
for free. Other members did
not want to work for free, citing the fact that work often is valued in
direct proportion to the amount paid for that work. What we figured out is that at
least some of us want to develop some open source tools that could be used
by developers of non-profit and/ or business web sites. We would not and could not offer
to implement any web site as a group. What we can do is develop these
tools and act as a referral list for potential workers who would use the
tools we develop. It could be
for money, for free, for food or for a donation by that group to another
group. That way the group can
avoid money issues, not have to elect officers and open a bank account and
not have people contacting us at 3:00 am saying that their site is
down. But it would be a good
way to expose more organizations to PHP and funnel work to PHP
developers. It would be
a powerful draw to say, "we don’t care what platform you are on, what web
server you are using, what database you are using, we have tools that run
anywhere"
AmyQ, or Ask Me Your
Question has been spec-ed out and J. has begun to work on it. He will post the code to
SourceForge as soon as he has some working code.
FUN STUFF:
Wondering WTF this
'all your base are belong to us' is about?
This will help: http://www.timco.freeserve.co.uk/AYB.swf
FUTURE MEETINGS:
This meeting was a successful combination of a structured presentation and a random wide ranging discussion.
Ideas for future
meeting presentations are:
An application
called "Code Charge" which generates code in PERL, ASP,
PHP etc. It is available for
a 30 day trial download and costs $150.00.
Also a demonstration of how to use
Scalable Vector Graphics, SVG
Also a demonstration
of mapserver, an open source GIS tool for the world wide web that is
scriptable in PHP. If you
can't wait for the demonstration, visit the home site at http://mapserver.gis.umn.edu/
A Canadian company
that uses mapserver with PHP for its contract work with Canadian
government agencies is http://www.dmsolutions.on.ca/home.html
16. Tim volunteered to write up minutes. Contact him for any corrections.
17. TO DO:
- Sign up as a developer with Pro Bono PHP
- Submit requests for future meeting topics.

