7 Conclusion
This short chapter discusses fulfilment of thesis objectives, future plans and ideas for development, possible new modules and licensing of this work.
7.1 Achieved Objectives
Following its main objective, this work successfully proposed architecture and design of a content management system. All fundamental concepts have been discussed in general and for the Urchin application that implements these concepts. Most important topics described in this text include database design, application architecture, pages and components, permission system, search, and user interface. Many solutions have been compared with different approaches and possibilities. In addition, user testing has been performed with intention to improve user experience with the most important part of the administration, the page tree view.
7.2 Future Plans
7.2.1 Content Versions
Content versioning is a feature that enables create and manage historical versions of website content. Old versions of the content are archived and can be restored at any time. This feature is particularly useful for tracking changes in text content or making e.g. promotional versions of products while keeping their standard versions. Content versioning works as an addition to the traditional content management. The design proposed for future versions of Urchin CMS allows managing versions on the element level, e.g. technically any element could have multiple versions. In fact, versioning will be limited to text-oriented modules and forms as an addition to the existing content management and content work-flow.
7.2.2 File Management
This part of the administration will be completely upgraded beyond simple solution presented in this work. Existing file management provides basic features, but is far from being advanced and user-friendly. Now both file manager and components for selecting files offer a simple list of files with basic information, multi-upload of files. A first part of updates for the file manager will enable filtering and ordering files by multiple fields, image preview with thumbnails, better image resizing and possibly a trash bin. The second part includes implementing two WYSIWYG plug-ins for a user-friendly selection of files instead of manually defined path to the file. The objective here is to unify file and image selection across the administration.
7.2.3 Client Zone
The purpose of the client zone is to enable better interaction with website visitors and to provide solid ground for further improvements. The basic design of the client zone includes managing front-end users, user group, registration, login, user preferences, and logging user actions. Several features have been already implemented, such as administration of front-end user and limiting page access to registered users only. Remaining features and modules will be added in 2013, most notably the Registration and Login content modules. Many possible future areas of development will also require or benefit from the client zone, e.g. forum, newsletters or e-commerce features.
7.2.4 Technical Improvements
The most important change in this area is to replace the currently used tree model in the page tree view for another one. Current solution uses a simple parent-based solution where each node except the top-level has its parent. This tree is retrieved by a single database query, assembled in the application and cached. The future solution will use an adjacency list model. This model separates data and their relations for more efficient manipulation. Instead of having everything in a single table, one M:N table stores page relations and another table stores page data. Both described models are in detail described in [56], on pages 36-53.
Other technical improvements include separate database layer for PostgreSQL database and extending caching to content modules with text content, such as Content or Articles. Caching for content modules would require an effective solution for handling time dependencies. In example, cached records should be purged when the element begins to display or expires based on its validity interval set up in the administration.
7.3 New Modules
Several new content modules are planned for future versions of Urchin CMS. New modules will provide basic functions for a specified area while staying highly flexible and adaptable to concrete project's requirements. This approach has been already successfully applied to existing modules and helps preventing unnecessary complexity of the modules. Many new modules fall into the linked content modules category, the difference is that components of these modules are attached to elements instead of assigned to positions on a page. The following list shows examples of areas covered in future modules along with short a description. Ideas for linkable modules are marked with a star.
- login, registration, client preferences for the client zone
- a simple forum with topics, categories, and comments
- a list of most read articles, news, forum topics
- a simple catalogue of items with categories and prices
- comments, voting under an element (e.g. article or product) *
- map with coordinates and description of an element (e.g. item or shop) *
7.4 Licensing
This work is licensed under the Creative Commons BY-SA 3.0 license [7]. This type of license allows distribution of this work under the same or similar license, even for commercial use. Parts of this work licensed under this license include the text itself, all appendices, and all files available on the attached disc. This license also requires citing the author if his work is referenced.
[Pages 81-84]