CHAPTER I

Problem statement

Most small and medium-sized software producers develop small- and medium-scale systems and projects.

Read more
CHAPTER I

Objectives

In this project, I will try to establish whether bespoke software built from the ground up can offer architectural advantages comparable to those of the leading CMSs on the market.

Read more
CHAPTER I

Scope and limitations

The application’s functionality will be very limited. Only a small number of components, modules and application functions will be implemented.

Read more
CHAPTER II

Background

A content management system, or CMS, is software for storing, editing and publishing information. CMSs are usually web applications, although they can also be used on an intranet.

Read more
CHAPTER IV

Creating the news component

This new component will be built on the framework's basic structure, which already includes login, messaging (alertify), media management (JS and CSS), form helpers, menu management and so on. It will allow news articles to be added, edited and deleted in the system.

Read more
CHAPTER IV

The application’s foundations

The application’s foundations
As noted earlier, I will begin with Jaisiel Delance’s PHP implementation of the MVC pattern, whose structure is summarised in the following diagram:

Read more
CHAPTER IV

WYSIWYG

Combining the power of major CMS platforms with that of major HTML editors is certainly a considerable challenge. WYSIWYG, short for 'what you see is what you get', is more than an acronym: it represents an important goal for the user experience. It enables users to become familiar with the system intuitively and confidently.

Read more
CHAPTER IV

Front end

The CMS comes with news, sections, pages, default, login and configuration components installed in the back end.

Read more
Introduction

It all began with an idea: the MVC pattern

It all began with an idea: the MVC pattern. I have explored dozens of open-source codebases, and have always been interested in the way their files are structured, their methods are named and their variables are organised. What I always disliked was starting a new project with unfamiliar code, and the arduous process of unravelling its mysteries until I understood how it worked.

Read more
CHAPTER I
Facts and figures

CMS market penetration

Read more
CHAPTER I
Questions

What software should a developer of web-based systems use as the foundation for their projects?

Read more
CHAPTER II
Theoretical foundations

Basic functionality
Following the framework proposed by James Robertson5, any CMS should be divisible into four basic areas of functionality:

Read more
CHAPTER IV
The back end and its components

The back end will be the more substantial part of the system. It does not matter if it loads many libraries or files: content changes far less often than it is accessed. See the appendix, “Putting dynamic content into perspective”.

Read more
CHAPTER IV
The page concept

Most content management systems on the market use a system very similar to the one described, including modules, category management and organisation into components.

Read more
CHAPTER IV
The module concept

Modules are the building blocks of our site. They encapsulate blocks of content that we embed at different positions on a page.

Read more
CHAPTER IV
Types of modules

These modules are embedded in the application and are considered generic, commonly used elements. They consist of plain HTML, editable through a floating WYSIWYG editor in the page creation interface.

Read more
CHAPTER IV
Direct access to a module

Pages work well up to this point, but some services offered by the website may not make sense as pages: a web service, for example, or a controller handling AJAX requests.

Read more
Abstract
Methodology

Working alone rather than in a team has allowed me to save considerable time on communication through diagrams, system information and shared reviews. In large organisations, modelling tools such as UML, or production based on RUP, become essential: in practice, programmers sometimes have no idea what the software they are writing is for.

Read more

PDF

Final thesis

Download