• No se han encontrado resultados

1.3. Marco Conceptual

1.3.4. Deficiencias en la libertad

As identified in the iteration schedule in 8.4 the initial development phase would include building up the core principles of the system. This would mainly consist of building the interfaces of administration for each of the users of the system and setting up

configuration parameters for the manager’s interface.

5.1 Website Layout

As the restaurant website is one of the fundamental parts of the system. It was made a priority to develop the structure of the website before an administration interface could be implemented. An initial page was developed in HTML using CSS (Cascading Style Sheet). CSS enabled me to style content and set positions for different content in the page. Such as the header (logo), navigation and body (mosaic background where content would be

generated). Featured below is the result of the initial template:

The template would later on be editable via the administration interface. For example – uploading a logo to the header, adding a Favicon to the website and adding / editing and removing pages – shown in the dark grey navigation bar.

5.2 Manager Interface Layout

The back-end administration interface (where the manager can access all functionality of the system) was next for development. As decided in the background research, the system would be based on the Frog CMS framework. This would allow for more time to develop each component of the system. A new administration layout was created from the default Frog CMS layout below:

The modifications included enhancing the font size – as certain sizes on different pages were not consistent or too small, changing the colour scheme – to keep the system as consistent as possible throughout and inserting the appropriate tabs – for different

components of the system. The end result is below:

Layouts were similarly developed for the Chef and Supplier interface ready for the implementation of the Kitchen & Supplier components in the third iteration of the

5.3 Configuration

As the administration interfaces were developed, the next stage was to begin to develop principle functionality of the system. The first aspect of functionality was the configuration. Frog CMS came packaged with some basic configuration attributes. Many of which were stripped from the CMS, as they were completely irrelevant to the objectives of the system.

One attribute was kept – ‘Site Title’. This was renamed to ‘Restaurant Name’ and would act as a global attribute to parts of the system. I.e. the title of each page on the website would include this attribute - ‘Restaurant Name – Home’. Two new functions were implemented - ‘Logo’ & ‘Favicon’, relating what was mentioned in 5.1.

Both functions were developed to use similar methods to perform their objectives. Each function was written containing a form that calls a snippet of PHP code that allows the user to upload a logo or Favicon. The PHP code reads the file selected, validates it to ensure it is appropriate and writes it to the server. Validation was written into the code to ensure that only image or favicon files were uploaded via checking the file extension for anything other than an image file / favicon file. Below are the results of the configuration development:

5.4 Users

The users component is based on the initial component given in Frog CMS.

Additional development took place in order to allow for new ‘Roles’ (user permissions) in the system. Meaning that certain users would be assigned a level of access under the attribute of a ‘Role’. This would ultimately mean that each role would only allow access to certain components of the system.

The default roles that come packaged with Frog CMS are ‘Administrator’, ‘Developer’, and ‘Editor’. The first task was to rename these roles to the specified roles earlier in the report. The roles were changed via accessing the database and modifying the permissions records. Resulting in:

The next task was to ensure that only specified users such as the ‘Chef’ could only access certain parts of the system – i.e. a Chef can only access the Kitchen & Help tabs. Frog CMS has a handy built in class defined ‘AuthUser’ which contains a function that returns whether or not a specified role has permission to access the desired part of the system:

Multiple IF statements were written in the main administration interface layout that allowed specified users such as the Chef to only be able to access certain parts of the system.

5.5 Pages

The pages component is also based on the initial component given in Frog CMS. Certain attributes were stripped from the pages component, as they were not necessary.

The pages function allows the user to edit the contents of a page on the website. It was foreseen that there was no requirement for the user to add / edit any of the text on the ‘Food’ – displaying menus, ‘Gallery’ – viewing photos and ‘Reservations’ – booking tables. For each of these features, any text that needed to be written to the page would be

‘Food’, ‘Gallery’, and ‘Reservations’ were disabled from editing as each page contained code that was vital to making each component display on the website correctly. See result below:

5.6 Client Feedback

A working demo of the interfaces and the website was given to the client. A list of tests were given to the client, see results in Appendix F.

The first testing results were excellent. The client was extremely pleased with the progress on the front-end of the website. The client did have one suggestion, which was that there should be a link to ‘View the Website’ at the top of the administrative interface. This would enable them to go directly to the website from the administrative page, without having to change the address in the address bar of the browser.

5.7 Summary

The initial development iteration provided the founding principles of the system. The client’s feedback was positive. The client’s suggestion regarding the administrative interface was passed onto the next stage for implementation (second development iteration).