glFusion Development Update - February 2013
Saturday, February 23 2013 @ 10:55 PM CST
Contributed by: Mark
It has been a long time coming, but glFusion v1.3.0 is just about ready for release. Our goal is to see glFusion v1.3.0 out in production sometime in March 2013. Although it may seem quiet on the development front lately, I promise you we've been very busy. There are all sorts of good things in this next release and I'm excited to give you a quick preview.
Let's talk about some of the internal enhancements. These are code redesigns that you may not see much on the outside, but they make a huge difference in how well glFusion functions under the covers.
New Session Handler
We have implemented a new session handler that improves performance and also improves the overall security of a glFusion CMS site. Each site visitor is given a unique session id which is maintained while they browse your site. This change is invisible to the user, but really provides some cool features for plugin developers. The main thing folks will notice is improved performance and scalability.
Forum Plugin Enhancements
We have completely rewriten most of the Forum plugin from scratch. Most of the code changes are invisible to the user, but results in an overall speed improvement. Several bugs have been squashed and some minor tweaks to the user interface.
Media Gallery Enhancements
We have done some significant code optimizations in Media Gallery to improve performance scalability. The big change that you will notice is that we have integrated the Media Gallery submission queue directly into the glFusion Submission Queue. Now you have one spot to go and see any new items that need approval.
Overall Code Optimizations
We have spent a considerable amout of time reviewing all the database calls and looking for ways to reduce the number of times we have to go to the database for information. As a result of this effort, we've reduced the number of database calls per page load by almost 25%. Again, this gives some additional performance improvements and improved scalability.
Visible Changes Let's talk about the features you'll actually get to see that bring some major functionality to your glFusion CMS powered sites...
With glFusion CMS v1.3.0, we have implemented a core subscription system. This allows users to subscribe to various types of content updates. For example, user's can subscribe to Forum updates (i.e.; be notified anytime a new post is made), or they can subscribe to receive comment updates. Finally, they can subscribe to Media Gallery album updates. Some of these notifications already existed in prior versions of glFusion, but the cool thing now is that all subscription management is consolidated to a single interface. User's can now go into My Account and manage all of their subscriptions in one place.
We've also made some imrpovements to the outbound email handling. We understand that the new subscription feature can grow the amount of outbound email, so we now try to optimize how email is sent to reduce system load.
Menu Builder Updates
In the past, Menu Builder was bundled with glFusion as a plugin called Site Tailor. We've now integrated the Menu Builder code directly into the core system. The big change with Menu Builder, is that we've removed (or depreciated for this release) the on-line styling functions. In the past you could change the colors and other visual attributes through the on-line Menu Builder interface. Now, we moved this functionality back to the stylesheet. This gives you much more granular control over the visual attributes and provides a bit more consistency since all other glFusion styles modifications are made in the stylesheets.
Date / Time Localizations
glFusion previously relied on the web server's locale settings to format dates / times. This caused several issues for our international users. glFusion now completely controls how dates and times are displayed so they should display properly regardless of the web server's settings.
Static Pages Update
A request we hear very often is how to shorten the static pages URL. With glFusion v1.3.0, we've renamed the static pages plugin to page. We didn't change the directory structure, instead, we simply created a new page.php file in the web root that will now display static pages. This results in a much shorter, cleaner URL. As an example...
In the past, a static page URL would look like this:
With glFusion v1.3.0, the same URL will look like this:
Much cleaner. We understand that search engines and other folks may have already bookmarked or cached your existing static pages, so to ensure that nothing breaks, the original URL will send a HTTP 301 Moved Permanently header and then redirect automatically to the new URL. This will allow existing search engine links to continue to work and make sure you don't loose any SEO points with the new URL.
We also renamed the Staticpages Plugin to Pages.
Improved Upgrade / Version Checker
The upgrade / version checker has been re-written to provide information on both the glFusion CMS version status and all installed plugins too. This provides you the ability to quickly see when updates are available for both glFusion and any plugins you have installed on your system. The new upgrade checker does the following:
- no longer goes to a glFusion.org page
- reads a XML file from glfusion.org with the version data
- checks the core glFusion CMS version to determine if an update is available
- checks all installed plugins for updates (if the data is available)
There is also a hook to the main Command & Control page to check for updates, if there are updates available, it will display a message informing the admin to use the Upgrade Checker for a list of available updates.
There are 2 new configuration options:
- update_check_interval - how often to automatically check for new updates (when on the C&C main page)
- send_site_data - if enabled, the site URL will be passed during the update checker and logged on the glFusion.org site. This allows the glFusion team to get a better handle on how many glFusion sites are out there. Obviously, you can opt out by setting this to false and no data is passed or saved on glFusion.org.
Comments now display the item being commented on. As I mentioned earlier, you can now subscribe to comments using the new subscription system.
We've added an autotag permission system. You can now control where an autotag can be used. For example, it would not make much sense to use the [ showblock ] autotag in a comment. now you can control where autotags can be used. It may sound odd at first to think of an autotag permission controlling where it can be used instead of who can use it (i.e.; admins, content owners, etc.). Since autotags are designed to integrate other types of content, the who can view is controlled by the content provider. For example, if you use a [ media ] autotag, Media Gallery will not display the content to someone who does not have permission to view it. By allowing the Site Administrator to control where autotags are used, you now have an incredible amount of control over the autotags.
We've also taken the AutoTag Plugin and integrated it directly into glFusion. This allows you to create your own autotags and easily upload and install autotags that others create.
Facebook, Twitter, Google, Microsoft Live, and LinkedIn Authentication
We have implement an OAuth authentication system that allows your users to now login using their Facebook, Twitter, Google, Microsoft Live, or LinkedIn credentials. This allows new users to easily and quickly join your site. Obviously, you control whether this feature is available and which specific external providers you want to support.
The above is just a general overview of some of the new major items coming in the next month. Now we are focused on testing, ensuring all the other plugins are updated to support the new features and work with the latest version of glFusion and updating the documentation wiki as needed to ensure you can use all these new capabilities. We are running the latest development code here at glfusion.org to give it a good workout and help flush out any remaining bugs. Again, I appreciate everyone's patience as I know this release has been a long time coming, but we are finally nearing the finish line.
The glFusion Development Team