 |
 |
| |
Technical aspects of the eyetext site: what's under the hood? |
|
 |
|
|
|
The eyetext.net site is a database driven website scripted (programmed)
using a combination of a language called "php" and a database called
"MySQL"
Why Bother With A Database - Driven Site ?
All of the information in the eyetext site (right through to the complete monographs)
is stored in MySQL database tables (that resemble excel spreadsheets; there are over 100 tables)
that can be read, sorted and written to by the php
scripts. This means that a high degree of interactivity and features
such as rating of articles is possible.
Some parts of the site, such as the monographs, could (with a great amount of
manual work) be run without scripts and a database. Some monographs features do
completely depend on the database, such as the ratings system and the ability
to edit the monographs online. Others, such as the iNotes section, and the discussion
boards are entirely dependant on script - database interaction.
eyetext.net's Clever Bits:
1. First, the login / authorisation system: after you have
entered your login and password, the site knows who you are and
what you have authorisation to do. Authors can edit their own
articles (but only theirs !); iNotes editors see a link to "switch
to edit mode"; administrators have a link to the administration
features; editors can see monographs that have not yet been made
visible to regular members, and so on. Administrators have a web-based
control panel to look after these permissions. Users can also be able to edit
and add to their own login information.
2. The monographs run from a sophisticated Content Management
System ("CMS") that not only allows access through the
database to the articles, but also handles the images and internal
links within the articles.
3. eyetext site curators, editors, proofreaders, and authors have access to editing
their monographs in their web browser. The monograph editor is a javascript
application that runs within the web browser. It is, in effect, a form of html-editing
program (Like "Frontpage" or "Dreamweaver") with specific
functions tailored to the eyetext site and integrated with the eyetext CMS and
database.
4. iNotes is a very clever little program. The entire iNotes
application (everything that you see happening within the iNotes
section of eyetext) is a single block of code called "inotes.php"
which references the login system for your user authorisation
and a configuration file. Even the change from contents to edit
mode to view mode is handled within the same script, after pulling
and sorting the right information from the database. The view
mode is clever enough to only show those lines that have information
in them, so that the page doesn't get cluttered. And have you
noticed how fast it is?
5. The image database allows users to upload images into their own collection - the
ownership of the images is attributed the person that uploaded it. Uploaded images are
automatically scaled to be the right size as they are uploaded, and a
thumbnail image generated.
6. The eyetext quiz allows any user to build a new quiz question, or to add a
question to an existing quiz. Up to three images (integrated with the image database) can be added.
Questions are reviewed and approved by users with 'quizmaster' user status.
Who Did All This ?
eyetext's overall planning, management, and a little simple programming keeps
Dr Tony Wells up late often. The current version of the site look-and-feel was
designed by Richard Edge at Plastic Studio. The first incarnation of the back-end
fuctionality of eyetext was written by Simon Booth, from Manchester, England.
Scott Dilley (a New Zealander now living in Sydney, Australia) wrote the first
version of the monograph editor.
For more than a year, Matt Brown of Hamilton, New Zealand has been our primary programmer.
He has re-written most areas of the site to some degree,
including vast amounts of integration work, the discussion boards (and email digests),
making the site work with new designs, building most of the image database pages,
and building the quiz from scratch.
A Final word:
The eyetext team have spent many, many hours developing this site, but
haven't necessarily thought of everything and may not have everything
that's there 'just right'. What's important to us is that we have
a great site that is finely tuned to the needs of our members.
Please help us to improve: if you think of any way at all that
we can make this site better, please let us know.
Tony Wells
php and MySQL:
php
php is an open-source and free to use programming language. It
is the most popular scripting language on the internet today and
is the fastest growing of the Apache modules. Apache is the dominant
web server software at 61% of the market.
You can view the latest information about what is powering the
web (it isn't a large corporation based in Seattle (yet)) here:
http://www.securityspace.com/
MySQL
MySQL is the database that is most frequently used in conjunction
with php. It is similar in function to Microsoft Access - but free,
more powerful, and faster. It lacks a few of Oracles more esoteric
features, but is a little faster, is open-source.
In early 2001 NASA replaced their Oracle database with MySQL.
|
|
|




|
|
 |