In partnership with
Horizon DML,
Welsh Gymnastics were looking to update their existing website with a new design and on-line features. With Horizon managing and creating the new look, Webfibre set about adding our CMS and skinning the site into XHTML.
Client
The Welsh Amateur Gymnastics Association was founded in 1902 and celebrated their centenary in 2002. By 2004 Welsh Gymnastics dropped their amateur status and became a company Limited by Guarantee. The modernisation process was compile with the appointment of a Chief Executive Officer. Welsh Gymnastics Ltd. is now steered by a board of competency-based directors headed by Helen Phillips.
Project
The existing website was managed by an out of date content management system which was causing the client considerable problems in maintaining their content. Horizon, with input from Webfibre, won the tender to use Horizon's design and management skills to utilise Webfibre's content management system, which was further customised to Welsh Gymnastics' requirements.
Solution
From the outset, Webfibre and Horizon identified six main areas of concern with the existing system:
- One user account allowed complete control over the management of the website, allowing any staff member in the organisation access to alter any part of the website.
- Changes could be made without first being verified by a manager.
- No control over who could edit which page in the website, sometimes resulting in two version of the page being edited at the same time by two different people.
- Out of date security policy in place for managing dynamic content.
- Images published to the website were typically resized on the fly by the browser. Typically a thumbnail image was a high quality image taking up hundreds of kilobytes instead of being optimised for fast page delivery.
- Creation of new pages was difficult and as such, infrequent leaving the site stagnant over time.
We applied the following solutions using standard features from our CMS:
- During the design phase it became obvious that certain sections of the website could be maintained by different groups of individuals within the organisation. It was decided to split the site in the many areas shown in the left hand navigation (Home, About Us, Disciplines etc) then when adding users, decide which pages within the navigational structure they could edit.
- By turning on version control, any page edited by an Editor is first flagged up for verification by a Publisher. Once the Publisher verifies the content, it is marked as publishable.
- With version controlled either on or off, all users are forced to first "check out" a page before they can edit it. If page is already checked out by another user, then they are unable to make any changes until the other user has checked in back in again. This removes the risk of two people editing the same page at the same time.
- We employ a variety of security policies in our web projects and as we maintain our own servers at root level, we are able to ensure security is as tight as possible against common (and some unknown) intrusion attempts by a combination of hardware and software rules. All of our projects are developed in the typical n-tier structure: Presentation layer, Business Logic layer and Data Layer; each layer separated from the other by sanitised input. As well as inspecting for SQL Server Injection attempts, the CMS also creates a hash key for each element of data passed via the query string, any attempt to alter it results in the request being rejected. In addition, all input made via the presentation layer is sanitised and passed through a limited command structure before being processed by the Business or Data layers.
- By default, all images supplied to content areas of the CMS will be resized to the template requirements set the template designer. The size will take the original image (usually a high quality JPEG) and compress it down as well as resizing it proportionally to the dimensions required. This allows for smaller optimised images to appear on your page rather than oversized images resized on the fly by the browser creating slow page load times.
- Once a designer has uploaded templates to the CMS, an Editor with the correct privileges or a Publisher can create a new page for the website. Once added the available editable features of that page will become active ready for content addition. Another useful ability of the CMS is to allow a preview copy of the site to be published before a live copy is made.
We also employed other
standard features of our CMS to drive dynamic content to 3rd parties as well as the CMS itself:
- Advanced Data Lists: In the Clubs section of the website, we created an advanced data list with its own fields and built in values (created by a Publisher user) for CMS Editors to use when adding a club. For example, when choosing the location for a new club it could only exist in one area, either north, south, east or west, so their choice is limited to one selection from a drop down list. In contrast, a club may utilise many disciplines, so the values created for this area are represented to the Editor as a check list of options allowing them to choose one or more options for the club. Whether an Editor can choose a single or multiple value is also managed via the CMS using the global field section.
- Google postcode and map finder: the CMS is very flexible in its out put of data and these leads to easy integration into other services unavailable natively to the CMS. A good example is show a map based on the clubs postcode. To do this we simply integrated standard Google Map API Javascript populating the value required by the Javascript by simply placing one of our HTML controls inside the Javascript to output the post code entered for the Club by the Editors of the CMS.
The fly-out menus used in Welsh Gymnastics can be skinned by various external CSS solutions utilising both standard CSS or Javascript solutions like the JQuery solution we use in our own menu above.

By using a combination of advanced data list fields and values, our client can create a database of clubs. The postcode for each club is used in the
Google Maps API to find a location and display it.

We split the structure of the site into various navigational areas, which allows Editors to be assigned to different sections.

The page structure mirrors the structure of the front-end website allowing easy access to find the pages you need to edit.