Why glFusion?


This question has come up several times over the past few weeks as glFusion has emerged.  We think the best way to sum up why glFusion exists is philosophy.  We believe the gl Labs philosophy is different than the Geeklog philosophy.  Using this definition for philosophy: a system of principles for guidance in practical affairs, we believe our principles for guidance are different than those of the Geeklog team. Notice we didn’t say better, just different. Let’s see if we can explain this in more detail.

For some reason, folks from the gl Labs community have not had much luck in getting new features into the core Geeklog release. The Caching Template Library (CTL) was submitted and rejected.  The Nouveau theme was submitted and rejected.  Both of these enhancements directly addressed two major areas in Geeklog that we feel are good opportunities for improvement.  When these two additions were rejected, the idea of a gl Labs value added release was born.
 

Once we decided that a value added release was a good idea and bundling CTL and Nouveau were the ‘value’ part of the equation, we began to look at other areas where we felt we could offer improvement.  Bundling of some of the more popular plugins seemed like a very good idea.  This expanded to including two key security related plugins; CAPTCHA and Bad Behavior2.  Both of these plugins add to the layered security model and in our opinion are must-have add-ons.  Forum, FileMgmt, and Media Gallery are all very popular plugins that we felt would also bring value. Our goal is to provide a single installation that will immediately allow folks to get a site up and running securely.

 

Two other areas where we feel improvement was warranted are site customization and upgrading.  These two items are generally in direct conflict with each other. If you customize your site, upgrading becomes much more difficult.  We’ve seen several posts in the forums stating that folks have not upgraded because they had heavily modified their sites.  

 

To address the site customization problem, we developed Site Tailor.  Site Tailor is a plugin that allows you to easily modify the navigation menu and header area of your site.  We understand this is not a complete customization solution, but it is the foundation we will continue to build upon in upcoming releases.  

 

The second area of customization is dealing with themes.  As you modify the theme, you risk loosing your modifications each time you upgrade.  glFusion gives you the ability to store all your theme modifications in special custom/ directories so they will always survive an upgrade.  Other areas we felt caused problems during an upgrade was that the distribution archive contained new copies of lib-custom.php and config.php (now db-config.php and siteconfig.php).  glFusion bundles .dist versions of these files to ensure your copies are never overwritten during an upgrade.  We realize that we have added another step to the install process, renaming the db-config.php.dist file to db-config.php, but felt that adding a new step initially to have a smoother upgrade process was well justified.

 

Another side effect of the upgrading issue was the fact that upgrade documentation was generally sparse and incomplete.  For example, Geeklog v1.5.0 made significant changes to the templates used in the Professional theme, but there is no detailed documentation to show what exactly changed.  This led us to the realization that the overall Geeklog documentation was largely non-existent or difficult to find.  We decided that we needed to create a new wiki that provided complete and up-to-date documentation on all the features of glFusion, as well as, what changed between releases. In other words, documentation became a very high priority for us here at gl Labs.

 

We are very focused on producing good code and good markup.  We have committed to the XHTML standard and are working hard to make all aspects of a glFusion site XHTML compliant.  One key variable in having an XHTML compliant site is user contributed markup.  Every story, comment and forum post must also be well-formed markup.  We decided to replace the old, no longer maintained, KSES HTML filtering module with a more modern, actively supported filtering system that also provides some markup enforcement.  This doesn’t mean it will automatically fix every HTML error submitted, but at least it is a design goal of the project.  Given the recent disclosure of KSES vulnerabilities, we believe replacing KSES was a very smart decision.

 

Another area where the gl Labs community differed in approach from the Geeklog team is release schedules and roadmaps.  We feel it is important to document what is coming in the next release, and as best we can, provide reasonable estimates on when the features will be available.  Fully realizing this is a hobby for everyone involved and personal time commitments can change without notice, we still felt it important to target more frequent releases and provide as much up-front information about the releases as possible.  

 

Our plan is to provide releases approximately every 3 to 4 months and keep up-to-date development roadmaps.  With the release cycles of Geeklog getting longer and longer (almost 18 months for the last release), we feel it is important to get bug fixes and incremental feature enhancements out to the users as soon as possible.  

 

We also hope to better communicate with those who develop themes and plugins for glFusion and include them in the overall communication plan for glFusion.  Our belief is through proactive communication we can avoid problems of incompatible themes and plugins during the release cycles.  This does not mean everyone will get their stuff updated, but we should be able to know exactly what will work and won’t work with each major release of glFusion.

 

The main reason why glFusion exists is because we have a different set of goals (or at least we perceive ourselves as having a different set of goals) than the Geeklog team.  From our perspective, the Geeklog team is driven by new technology and improving some of the dated components in Geeklog.  gl labs wants to try and remove the ‘geek’ from Geeklog and provide a system that is usable, functional, secure, pleasing to the eye, and well documented.  Fortunately, for the Geeklog community, these two different goals compliment each other very well.  What the future holds for Geeklog and glFusion, we don’t know, but we are very excited about the possibilities.


by Mark

Mark is the main developer on glFusion. When not doing his real job and playing with his family, he really enjoys working on glFusion and the collaboration with the glFusion community.

Share It!