Welcome to Geeklog Monday, December 11 2017 @ 09:41 pm EST

Geeklog 2.0.0

  • Contributed by:
  • Views: 8,952
Geeklog

Geeklog 2.0.0 is now available for download.

With Geeklog 2.0.0 we have raised the minimum system requirement if you use PostgreSQL as your database to 9.1.7 or later. The required PHP Version of 5.2.0 or greater remains the same.

There are a number of new features and fixes with this version of Geeklog. These 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 Articles and plugin other Plugin objects
  • Comments RSS Feed Plugin now integrated into Geeklog
  • Includes updated versions of jQuery to 1.9.1 and jQuery UI to 1.10.1
  • Updated FCKeditor version to 2.6.9
  • XSS fixes for the Install, Configuration, Topic Editor, Polls Plugin and Calendar Plugin
  • Twitter OAuth API updated
  • HTML 5 DOCTYPE

Please note: With Geeklog 2.0.0 plugins that install and/or access blocks, or access article topics, most likely will be not compatible. If you use any plugins that perform these functions please check with the plugin developer to make sure they are compatible before upgrading Geeklog. If you are not sure about 1 or more plugins and still wish to upgrade your Geeklog website then either disable the plugin(s) or uninstall it. All Core plugins have been updated and support Geeklog 2.0.0

Developers, please read more below to find out what has changed or is new in Geeklog that may affect development of themes and plugins.

Plugin Changes

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.

The comment form can also now be displayed on the same page as an article and other plugin objects. If your plugin uses comments and you have the Captcha plugin installed you will need to update your code slightly for the function plugin_savecomment_foo.

You will now need to take into account the constant COMMENT_ON_SAME_PAGE. If the attempt to save a comment by a user errors out (ie due to an incorrect captcha code), if the comment is on the same page as your plugin content then you need to only return the comment form, if it is not then you need to return the whole document. You can see an example of this code change in the functions.inc file of the Polls plugin. You can search for COMMENT_ON_SAME_PAGE in the function plugin_savecomment_polls.

As of Geeklog 2.0.0 we have added a new function called COM_createHTMLDocument that will eventually completely replace COM_siteHeader and COM_siteFooter. Geeklog 2.0.0 and all of the core plugins have been converted to use COM_createHTMLDocument but COM_siteHeader and 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 COM_siteHeader and COM_siteFooter, to COM_createHTMLDocument.

Theme Changes

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. For more information on updated theme engine please see the Theme Developers Guide wiki page.

FCKeditor

Geeklog has problems with the FCKeditor (updated in Geeklog to version 2.6.9) with the newer versions of Internet Explorer. IE 9 has problems with most of the popup windows for FCKeditor like the Add URL box. Internet Explorer 10 has the same problems plus when you switch the post mode to Advanced Editor in a story it will usually freeze up the text window.

There are ways around this but it requires you either switch the IE browser into compatibility mode or you can add the following meta tag to your theme’s header template file:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"{xhtml}>

Because of these issues and the fact that there are no more updates scheduled for the FCKeditor we plan on most likely switching to the CKeditor for Geeklog 2.0.1.