Latest Geeklog 2 Screenshots
Quiet but furious work on Geeklog 2 has finally taken place. Without getting hopes up too much I'm pleased to announce the inertia experienced the past year or two has been overcome and real progress has been made. Read on to get more details and an idea where help is needed.First, Geeklog 2 is being built from the ground up 100% object oriented PHP5 and is centered around SOAP integration. Two active paths are being pursued, one is to build the basic SOAP framework that the Geeklog 2 kernel can provide to plugins. The second is getting a trivial plugin, Links, working.
Current plans for the Geeklog 2 administration is going to focus on a feature rich UI that provides many things more common to desktops. This does assume GL2 admins will use a halfway recent browser but that requirement is welcome best as we can tell. Concurrently, the SOAP ground work is allowing us to build a Mono .NET desktop application for administrators and basic bloggers to take advantage of. All of the SOAP work to date is, unfortunately, UI-less but we hope to have something to demonstrate in the short term.
Also in start contrast to the 1.x branch, testing is being supported from the get-go as we have integrated PHPUnit2 and have a start on unit tests for the authentication and authorization features the GL2 kernel will provide. Better yet, it provides a slick UI to quickly run test either one at a time or an entire suite(s) at once.
The above image shows parts of the screen...and don't let the results fool you...while those tests work, I assure you there were tests further down that failed (and I was too lazy to provide screenshot of those but they look the same minus the green light which becomes a red light).
New in GL2 is an easy way to manage look-up values. In 1.x we have a number of tables that hold very few records that are used to populate drop-down lists. In GL2 we opted for a single table to facilitate much of this. The benfit is that this allows us to develop a single screen to edit those values as the next image shows.
To add a new list item there is a form on the same page you can use to quickly add values.
Now for more substantive screenshots. As I mentioned, the link plugin is the one we chose that we felt could be coded quickly and that could exercise almost all of the GL2 kernel. The following is the link editor as of now:
And, for a screen that should look fairly familiar here is the admin's list of links
This is all very rough yet but it should show you all where we are. There is a lot to be done. We plan to integrate AJAX support into the kernel so that plugins can do slick things like drag-n-drop (imagine dragging one of the links from the list above over to the Trash bin) and autocomplete. Imagine as you typed in search items on the screen above having it populate a drop down ala Google Suggest.
So, what can you expect as we move forward? Right now all of the Link plugin code lives outside of the webtree, including all template files. This means that GL2 will allow for plugins to be installed to a single directory. Even more exciting is that we believe we can use PEAR channels for managing GL2 plugins. For those familiar with PEAR, that means you could install a GL2 plugin via the command line with "pear install Geeklog_Link" or via PEAR Web Frontend.
There are many benefits to developing plugin using the GL2 kernel as it provides access to many things missing in 1.x:
- A template engine that isn't so demanding on memory and file I/O. All templates get compiled into raw PHP for fast execution
- It is easy for plugins to add custom Access Control Lists that extend the ones that ship with the kernel
- Wildly open authentication mechanism that opens up GL2 to authenticate to literally any datastore (LDAP, IMAP, /etc/passwd, etc)
- Model-View-Controller (MVC) implementation that make developing and maintaing code simple
- Event Management where plugins can define the events they fire as well as events on other plugins they would like to 'listen' to. This allows plugins to be inter-dependent for tight integration.
- Data Access layer built on Propel can reduce the amount of SQL a plugin developer would have to write by as much as 80%
All of the above is either completed or in the works. Many excited things are ahead and we could use the help of a few dedicated geeks to help us get the GL2 alpha out the door. How can you help?
Geeklog needs badly a User Interface expert. Somone fluent with HTML, Web Standards, CSS, Javascript and who can quickly learn AJAX. They would also be familiar with PHP and able to quickly produce the HTML templates needed.
We could also use raw PHP developers who can code object oriented PHP and are willing to be challenged to learn a number of new technologies and design patterns.
Interested parties should contact us. Everybody else should simply check back as we plan to report progress on a much more frequent basis.
--Tony





