The first beta version of Geeklog 2.0.0 is now available for download.
New features in this version include:
- Improved strength of password hashing
- Allow Topics to have child Topics
- Allow Articles, Blocks and other Plugin objects to be associated with more than one Topic
- Topic Breadcrumb support
- Emergency Rescue Tool is included with the Geeklog Install
- Added support for MySQLi
- Add Stop Forum Spam and Spam Number of Links Modules to Spam-X
- A new theme called Denim which is based on Responsive Web Design
- A new theme called Modern Curve
- Comments Form on same page as article
... as well as a lot of other improvements. The complete list can be found in the history.txt file located in the download.
The implementation of the new Topic features required changing how Topics are handled in Geeklog. For this reason there are a few Geeklog plugins that are not compatible with this new Geeklog version. Most of the plugins that are incompatible are ones that install their own blocks and/or create a centerblock. Upgrading a Geeklog site to 2.0.0 with plugins that are currently installed that do deal with blocks or topics could cause your site not to function. These plugins should be disabled before upgrading Geeklog. The current release of the Forum plugin (2.8.0) is not yet compatible with Geeklog 2.0.0 but by the time of the final release (or soon after) a new version of the Forum plugin will be released which will be fully compatible.
We would also like to put a request out there for translators. If you speak and write another language besides English or Japanese and would like to contribute to Geeklog please join the geeklog-translations mailing list. Translating Geeklog isn't complicated. Instructions can be found on the Geeklog Wiki or simply ask on the translation list.
We would like to encourage you to download this beta version, try it out, and give us your feedback. This is a beta version and it may still contain bugs. If you find any please report them in our Bug Tracker. We also do not recommend running beta versions on "live" sites. We do plan on rolling out updates over the next weeks with the final version hopefully ready to ship in late June.
For more details on the changes plugin developers will need to make moving forward please read below...
In older versions of Geeklog, topic ids use to be stored with the block or article records. Since blocks and articles can now belong to more than one topic these columns have been removed from the tables and a new table called "gl_topic_assignments" has been created to handle all topic assignments. For this reason any plugin that adds/manipulates blocks in the block table will most likely be incompatible with Geeklog 2.0.0. Plugins that also use a centerblock may have a problem since a centerblock can be assigned to a topic. When updating your plugin to support Geeklog 2.0.0 we would suggest using Dynamic Blocks instead of modifying directly the blocks table. Dynamic Blocks are created on the fly and do not require storing any information in the database except for some configuration options. For more information on this please see the Dynamic Blocks wiki page. The Polls plugin also now uses Dynamic Blocks so you can use this plugin as an example.
As of Geeklog 2.0.0 we have added a new function called
COM_createHTMLDocument that will eventually completely replace
COM_siteFooter. Geeklog 2.0.0 and all of the core plugins have been converted to use
COM_siteFooter have been left in to be backwards compatible for all older plugins. The main advantage of using
COM_createHTMLDocument is that it allows the plugin to create the HTML page all at once. This means that if code needs to be add to the header (say by an autotag located low in a page) it now can be if the plugin uses
COM_createHTMLDocument. The Geeklog Development Team strongly suggest when upgrading your plugins that you take the time to convert all your calls to
With the addition of the function
COM_createHTMLDocument the Geeklog theme engine has been upgraded. To use the new theme engine you must set in your theme's function.php a config variable:
CONF['supported_version_theme'] = '2.0.0';
This new theme engine now allows themes to know how many columns are going to be displayed right when the html page is created. This allows for more of a responsive web design. With that in mind the new theme Denim was created by Dengen. This theme uses a Resposive Web Design concept that allows a website using this theme to be easily readable by a visitor not only on your PC but on a device with a much smaller screen like a Smart Phone or Tablet. The theme optimizes it's layout to the device it is being displayed on.
As mentioned above 3 themes are included with this version of Geeklog. The original Professional theme is included along with the Denim and Modern Curve themes. Only Denim and Modern Curve themes support the 2.0.0 theme engine.
More information about these plugin and theme changes (code samples, new template variables, etc.) will soon be added to the Geeklog Wiki. When it is we will update this story with the appropriate links.