Exponent is a very active project and frequently receives new features. Issues or anomalies are also corrected shortly after being identified. You'd think those would be great incentives to update to the most recent stable version, just to make managing and maintaining a web site much easier. Here are some tips to help in upgrading a site, or to prepare to upgrade a site.
As a quick overview, an Exponent web site consists of five (5) components:
- the Exponent software, which gives you an empty site and is the starting place for all sites whether being built from scratch, moved to a new server, or restored after a server failure. This is the part of the update that we provide for you.
- the custom theme, which gives your site a unique character apart from all other web sites. While we provide some sample themes (either in the package or additional ones on the download site), most users want to customize their own theme. The user must maintain (update?) the custom theme and ensure it does not contain obsolete commands or calls. It is stored/contained in the '/themes' folder.
- the site's configuration settings, which hold the basic information about the site. It is stored in the 'config.php' file which is created and updated by the Exponent software. It is unique to each web server.
- the site's content, which is the majority all you see on the web site. This is stored in the database and is updated automatically during the 'upgrade' process.
- the site's support files, which includes all the images used on the site, and any files made available though the site. These are stored in the '/files' folder and are not affected by upgrades.
The first step in preparing to upgrade a site (and preventing disaster in general), is always maintain a BACK UP of your site. In order to back up the five (5) components:
- The Exponent software is always available on Sourceforge and through GitHub, so there's no need to keep a local copy.
- The custom theme was created by you and in most cases you'll already maintain a copy. However in v2.2.0+, there is a new 'Export Theme' command available in the Theme Manager to easily package and download your custom theme for restoration, or to move to a new site. The theme may be restored/added to a site using the 'Install Extension' command.
- The 'config.php' file is located in the '/conf' folder (v2.0/2.1) or the '/framework/conf' folder (v2.2). The easiest way to quickly get 'back up and running' is to restore a copy of the config.php file. For security reasons Exponent provides no automated method to retrieve nor restore the config.php file. However, we highly recommend you use cPanel or ftp to obtain a copy.
- The site's content (database) is easily saved or restored using the Import/Export EQL (Exponent Query Language) File commands. The export command allows you to tailor which information/tables are saved, while the import command replaces any database tables with the ones stored in the EQL file.
- Lastly, the site's support files are easily saved using the Import/Export Files commands.
So once you have a backup of your site, especially the site's content (EQL file), you may proceed.
In a very simplistic sense, upgrading to a new version of Exponent is an easy two (2) step process.
- Install the new software version on your server by either extracting the .zip file to the root folder/subfolder, or using 'git pull' from ssh or a shell.
- Browse to your site and follow the instructions in the 'upgrade' notice which now appears.
That sounds so simple, what could go wrong? Well, here are some common issues or problems which might prevent a smooth upgrade:
- Your custom theme (or a custom view) is outdated and uses obsolete commands. Though the basic format of an Exponent theme hasn't changed much from the v0.9x days, many of the 'commands' have been updated and streamlined. Here's the documentation on the theme template format to check/update your theme. Here's a good article on checking for and updating themes to be v2.2.0+ compliant. As we move into version 2.2.0+, many of the obsolete calls will no longer work. The easiest way to confirm the problem lies in the custom theme is to switch your site to a 'shipped' theme and see if it works as expected. If for some reason you can't log onto the site, the current theme is stored in the 'config.php' file on the line with DISPLAY_THEME_REAL.
- Your site crashed in the middle of an upgrade and now is 'broken'. While this rarely occurs with the 'stable' software, it can exist after a test with pre-release software. Your best bet is to run the upgrade again by manually kicking it off with a browse to your site via www.yoursite.org/install/index.php. In many cases this will detect and correct a half-upgraded site which may also correct the issue.
While we realize that many Exponent users are actually providing a paid service to clients and their 'time is money.' Therefore, if a site is up and running, why 'donate' your valuable time to a paying customer. However, if YOU are the one doing most of the site content, it sure helps to have access to the 'user suggested' new features and have those annoying quirks and bugs fixed.
About the author
Exponent CMS Developer
Recently I had written an article on using graphics and files which was common to most modules using either the WYSIWYG editor or as 'attached' files. In this article I want to explore how to take advantage of the unique features of each module based on their designed purpose. Again, you can use the text module to mimic the output from most of the other modules, but why not 'use the right tool for the job'
We'll start with the 'News' module. The strengths of the news module are: each news item has a publish and an optional unpublish date, meaning the first date to display and the last date to display. Also the items can be sorted several different ways by date in addition to manually (by rank). You may also set the priority of the item by 'featuring it'. A featured item will displayed in all views, where if not featured it may be hidden on some displays if the 'show featured' setting is on. You may also publish the news items as an rss news feed or pull another rss news feed into the news module to be displayed as news items. News modules may also have user subscriptions using the optional E-Alert feature. Additionally, the a news item may be tagged so it can be associated with other similar news and non-news items based on the keyword tag(s). Therefore the 'News' module is best suited for news or announcement type information.
In some ways, the 'Blog' module is like the news module on steroids. It allows user comments on blog items and optionally allows groupings by category. It has a 'draft' feature where the article will only be visible to the editor or administrator until published. Unlike a news item, a blog item/article does not have an unpublish date, is only sorted by publish date, and doesn't pull in external rss feeds. As it title suggests, the 'Blog' module is best suited for managing articles or web logs (blogs).
The 'File Downloads' module is very versatile, especially when contrasted with the blog module. It deals with 'attached' file directly instead of the system generic method. In addition to the attached file, you can attach a 'preview' image to be displayed on the site, or point the download to an external link. It can optionally publish it's items as a Podcast. It can optionally display attached media files using a media viewer to play the audio/video within the item. It does not proved the user subscription feature. If you need to provide file downloads or a Podcast, the 'File Downloads' module is your best bet.
The 'Portfolio' module deals with lists of data. It does not store publish dates but can be ordered either manually or alphabetically. It also provides a 'feature this' option. It does not allow comments nor provide an rss feed option. The 'Portfolio' module is best suited for directories or other lists of information.
The 'Photo Album' module deals with photos or images. Its views focus on the attached image rather than the title and description, such as the gallery or slideshow views. In addition to being sorted manually, photo items may be displayed randomly. It also deals directly with an image file, meaning one photo item per image. It should go without saying, but the 'Photo Album' module is bested suited for photos and images.
The 'Flowplayer', 'YouTube', and 'Media Player' (new to v2.2) deals with audio and video files. While the 'file download' module can provide some features, the focus on these modules is displaying the media by playing it on the web site. It provides greater control over the actual display of the media player being used. These modules are best suited for display media on your site. The 'Media Player' replaces both the 'Flowplayer' and 'YouTube' modules primarily because it can handle both types of media and is HTML5 compliant (Flash is not required)
Hopefully this article has provided some insight on choosing the best module for the task at hand. I'll plan to write a follow up article on some of the more unique modules.
About the author
Exponent CMS Developer
By now, you should be well aware that Exponent is one of the most SEO friendly CMS platforms available for free on the web. Professional web designers love Exponent because it automatically makes a number of web design elements and tasks SEO friendly. This can offer a number of efficiencies for SEO-conscious web designers and developers.
If a SEO-friendly web design is priority for your website, then consider the follow three ways in which the Exponent CMS makes certain web design elements SEO friendly.
1. SEO Friendly Web Content
Certain tags that define web content are more SEO friendly than others. For example, the strong tag is considered more SEO friendly then the bold tag, although it performs the same function. This helps search engine spiders crawl and index a page for greater keyword relevancy and on-site SEO authority.
Exponent has been developed with SEO as a top priority. As a result, tags that define content are all defaulted to represent SEO best practices. This makes it easy for add optimized content to a page without having to open-up the website's backend.
2. Social Media Integration Made Ease
A truly SEO friendly web design will have social touch points integrated and easily visible. This touch points may be as simple as social sharing widgets for blog posts, or site-wide social icons to promote for Facebook or Google Plus followers.
With Exponent, you can easily integrate social meda on your web design. In addition to help growing your social media following, this can encourage "likes, tweets, +1's, etc" (or social signals) that can influence your pages' rankings.
3. SEO Friendly Media Elements
Aside from text, media elements like images and videos can either help or hinder SEO performance. Skilled web designers can optimize robust media files so they do not stand in the way of SEO. However with Exponent, this process is made more efficient.
Media files can be easily adjusted and keyword optimized directly via the CMS editor interface. Users can adjust the sizing, image Alt tag, linking, and other attributes on the fly.
Interested in learn more about SEO friendly web design? Check out the SEO Friendly Web Design blog for related tips and insights.