Projects: Perhypex: Guest Version 2
Link: Perhypex: Guest
This is an on-going project to replace the current version of my guestbook service. There were many features I wanted to add to Perhypex: Guest but I felt the code structure was unable to cope with features being bolted on the way they were. With the new version I decided to create the site differently. I based almost everything around objects so there are classes for guestbooks, themes, users, inputs etc. Using this structure I've been able to produce a much more solid application which is easier to expand upon. Previously some editing features were missing, and where they were availiable, code duplication occured. This time around editing is built in from the get go.
Recent updates
Every now and again I find the time to update an aspect of the Perhypex: Guest experience. Below are the most recent additions.
New theme

The new theme is a fairly minor update; nearly all changes involved changing just the CSS and graphics. Some minor physical changes were made to accommodate it though, for instance the comment stats section has been moved up to the logged in box. This makes it more visible and stops it from being pushed down by the navigation. The comment stats now open a JQuery UI window.
Smoother comment deletion

Deleting of a comment is now handled without leaving the current page. The user clicks delete and a modal dialogue appears asking the user to confirm the action. Once the action is confirmed, a PHP comment deletion script is run via Ajax to remove it. Once removed, the comment instantly disappears and the deletion is confirmed in the window.
Theme preview and applying

A long overdue feature: themes can now be previewed and applied straight from their page. Previews come up in the form of a JQuery window which can be moved, resized etc. Choosing a different guestbook from the drop down list causes the preview to change to that guestbook automatically.
Improvements from version 1 to version 2
The areas detailed below are some of the improvements made in the shift to version 2. Many general changes have taken place too, such as the layout of the pages and general structure of the site. The screenshots look a little different to those above as they show the site with its first version 2 theme, which has subsequently been changed.

Guestbook pages are now much clearer and provide fast access to all guestbook options.

Guestbooks are easy to access through the drop-down guestbook menu. The guestbook link can also be clicked to go to a page with more detail on each book

The new theme preview window allows for quick previewing across the users own books and also other pre-set books such as an empty one. The refresh button allows the user to view changes to the theme.

As well as creating themes using custom CSS, users can now create themes by choosing some basic font and color options. The themes created using this method can be easily changed or converted to a CSS theme for more control. Behind the scenes, all style options are stored in the database. New options can easily be created by adding a new record in the database and performing a simple edit (adding in one variable) to the PHP code which generates the CSS. This means as the guestbook pages change, new style options can easily be added to customise the new features. Also, new options can just as easily be added for existing sections of the page

Support for user created fields is now much improved. New field types such as 'drop-down list' give more flexibility in how the guestbook owner gathers input from the user. Drop-down lists are simple to create, simply select the option from the field type list and enter the options below, sepearated by commas. The field can be edited at anytime so options can be added, removed or even the field type changed without affecting current entires for that field.

Comment viewing has been changed to be quicker and easier. Comments can be filtered into all, public or private. In addition to this, a quick find-as-you-type search feature makes finding comments even easier. Every part of a comment can now be edited (including extra fields) as opposed to just the comment as in the previous version. A message appears at the bottom of edited comments showing the date of the edit.

New site themes allow the user to select an application wide theme to suit their tastes and the result can be dramatically different!
There's still much to do before I can call this version complete. Here's a sample of things still to come:
- Spam controls to prevent spamming of guestbooks
- Logging of changes and errors. Changes such as deleting and editing areas of the guestbook will be logged. The user will be able to see the log on the main page. Changes which can be reverted (for example, removing a field) will feature a revert button to undo the change. Errors which occur in the application will also be logged into a database to enable fast fixing of problems
- More control over how the guestbook functions e.g. ability to enable or disable private commenting
- Updates to the CSS theme maker to make it more powerful including a visual skeleton of the page structure with areas which can be clicked to add in basic CSS styles for that element
- Changes to the navigation bar to have it automatically display the section relevant for the page
- Eventually polls/ feedback forms will be added to allow the user to add user interactivity throughout their site
