[UPHPU] great project meeting last night

Mac Newbold mac at macnewbold.com
Fri Jun 10 09:42:59 MDT 2005

We met again last night, and got a lot done. In attendance were Sheri 
Bigelow (design5279), Jeff Shuey (graygnome), Lonnie Olson (fungus), Mac 
Newbold (macnewbold), Josh Simpson (dataw0lf), Alvaro Carrasco, Dan 
Crookston (Lone_Wanderer), David Boucha, Jacob Wright, and Tyler Wright.

The meeting was recorded by Jeff Shuey, and he guessed it would be about 
an 80MB mp3 file. It will be posted in the near future for those 

We had a long but fruitful discussion about PHP4, PHP5, and OOP. We 
discussed just about every pro and con to everything. Everyone present 
deserves congratulations on handling the discussion so well. We mostly 
stayed focused on the topic at hand, and everyone was very respectful 
about others' views. We discussed several very "religious" topics, and 
avoided heated debate and flaming each other, and it seemed like we came 
to a good understanding of where we want to go, and came to some good 

In the end, we decided that we'll start by making the framework compatible 
with both PHP4 and PHP5, and that we'll stick to simple OOP things that 
work in both versions. Later on (maybe 6-9 months down the road) we're 
planning on using more of the PHP5 features as PHP5 servers become the 
rule rather than the exception. Part of the reason for this choice is the 
learning experience. An added benefit of doing a PHP4-compatible version 
first is that people who don't have php5 will still be able to use a 
version of the framework, even if they can't get the latest and greatest. 
It will also teach us a lot about php4/5 compatibility, and will give us 
great practice in converting php4 sites to work with php5, since it is 
something many of us will probably be doing soon. In order to ensure 
compatibility, we'll have people developing on PHP4, and others on PHP5, 
so that we're constantly testing for differences.

It was also decided that we will support for Linux/Unix servers (including 
OS X) and Windows (as much as possible). We will support the Apache web 
server. We will support, at a minimum, MySQL, SQLite, PostgreSQL, and 
MS SQL Server, perhaps using PEAR::DB or ADODB, or with our own very 
simple and light weight db abstraction layer. In order to ensure support 
for the various operating systems and databases, we would _love_ to have 
people who use them step forward as testers, developers, or both, so that 
we can make sure we don't break our support for them. We've already 
identified groups that will be using MySQL, PGSQL, and probably SQLite, 
but we haven't yet gotten any Windows or MSSQL volunteers. If you could do 
that, we'd appreciate your sacrifice on our behalf. Let me know if you're 
interested or able.

We talked about some of the things in other frameworks that we want to 
avoid, and how we would rather try to do it instead. Templating systems 
came up, and were pushed back down. We'll not be using Smarty or anything 
like it, though we will most likely be using some kind of very simple 
and light weight templating that uses only PHP code, not any kind of new 
syntax. Jacob Wright has about 30 lines of PHP code that does such a 
thing, so when we get to that point, we'll be using that as a basis for 
starting our discussion.

Since we had six new people at the meeting, we reiterated the major goals 
of the system. Underlying all of this, is its purpose as a learning tool. 
We emphasized the features that are most important: light, compatible, 
simple, modular, and useful. It should be easy to get started with, 
flexible and general to accomodate any site and just about any (good) 
style. It should give you a big time savings, even if it's only the second 
or third time you've used the system. There will be some sort of 
installation process that lets you enable or disable the various features 
and modules that the framework can provide, which should let you control 
the simplicity or complexity of the end result.

We discussed names, and the best proposed name for the project was Phlite, 
pronounced like "flight", courtesy of Jacob Wright. We liked it because it 
emphasized the lightweight nature and implied flying and speed. Another 
bonus is that the Python port that dataw0lf and the #urapug people are 
working on could be called Phlyte, for example, or maybe something related 
like Pylot. Other name suggestions are welcome, and if you like this one, 
let us know. If we've already got consensus, no use in monkeying around.

We also enumerated a lot of the parts that are extremely common in PHP and 
PHP/SQL web sites. The majority of them will be part of the "core" while 
some of them will be modules that will be used on many sites. Jeff Shuey 
has a photograph of the whiteboard, but it has yet to be transcribed. When 
it does, we'll add it here for discussion.

We made some logistics decisions too. Source code will be kept in 
subversion, with the maintainer and team leaders having commit rights, and 
everyone else having rights to access it. Other developers will get commit 
rights after demonstrating ability to not mess things up ;) . There will 
be a project Wiki for documentation, both for end users and for 
developers. It is likely we'll also use something like PHPDocumentor to 
generate code documentation from comments in the code. We will have a bug 
tracking system, using the Flyspray package (http://flyspray.rocks.cc/). 
Our friend dataw0lf Josh Simpson has agreed to host the subversion 
repository, wiki, and flyspray on his server. Discussion of the project 
will occur on the uphpu list until a separate list is set up, which will 
probably be after we get an official name for the project. Live discussion 
will happen online via IRC in #uphpu on irc.freenode.net, until we get our 
own channel.

In terms of assignments for next time, everyone is going to think of the 
parts of the project that interest them most. In particular, which things 
they are most skilled at, and which things they are most interested in 
learning about or working on, regardless of their current skills. From 
that, we'll divide the interested parties into teams. I anticipate that 
most people will be involved in about 3-4 different teams, probably some 
as skilled help, and in others, as primarily learners for now. Once we've 
identified teams more or less, we'll come up with leaders for each team. 
Unless there are major objections, it seemed to be mostly decided that I 
would be the maintainer/project leader as well as the primary meeting 
facilitator/instructor/discussion leader. If that needs to be discussed, 
it can be, but otherwise, we'll just move forward that way.

Our next meeting is planned for Thursday, June 30th, 7-9pm, probably in 
the same place, but perhaps in Draper at Victor "mindjuju" Villa's 
location, since there were at least 2-3 people that were coming from Utah 
Valley. If we get more (or will get more) from Utah Valley we may start 
using Draper more. Until then, SLC is much closer for the majority of us, 
and is also much closer for people like Ray BigDog Hunter, who lives in 
Layton. The other thing about being here is that there's a good selection 
of food nearby, so we can get together either before or after the meeting 
to eat, chat, and have fun. (There was a "meeting after the meeting" at 
TGIFriday's from about 9:30pm until about 11pm last night, and I hear 
people had a really good time.)

The current proposed agenda for the next meeting includes identifying and 
staffing teams, finding team leaders, and writing some code. We're all 
chomping at the bit to start writing code and get moving, so we'll give 
that a shot next time. That means we'll be discussing file layouts and how 
to appropriately separate functionality and code into files.

If anyone has any questions, or remembers something different about the 
meeting, please speak up. Also, we encourage anyone who is interested in 
the project to join us anytime in #uphpu on IRC to discuss things. We'd be 
happy to answer questions and hear your feedback.


Mac Newbold		MNE - Mac Newbold Enterprises, LLC
mac at macnewbold.com	http://www.macnewbold.com/

More information about the UPHPU mailing list