|
Content Management for LewisCreative
By Agnes Chisholm (Chisholm Technologies, Inc)
|
|
The requirements were
for a tool to enable LC to manage their clients (including
login), portfolios, and news items. The first thing
that comes to mind is a pre-made Content Management
System (CMS). But that is over-kill for such a simple
requirement. Fortunately, long before CMS became a
popular buzzword, I created a simple tool for one
of our customers to manage the events on their site
using the open-source technology that's known today
as LAMP (Linux-Apache-MySQL-PHP). For the next customer
I copied the same code and added management for links
and resources. By the third customer I realized that
this needed to be a generic tool. As any decent programmer
knows, the more you copy-paste code the harder it
is to maintain it all.
So I went about creating the framework for a simple
admin tool that enables our website customers to manage
only the frequently changed areas of their site. The
underlying framework of the tool remains the same
while we customize the user-interface for each client
by using their branding and including only those areas
that the client wants to manage.
So fortunately I had a clear choice for LC. Now it
was time to customize the tool for them. Normally
we would already have the site developed so we'd simply
ask the customer which areas they want to manage using
Admin. But in this case, LC was developing the site
themselves so they provided their requirements at
a lower level...the fields they wanted to manage in
each area (i.e news date, portfolio picture, client
name, etc). After working through which fields were
actually needed, in no time (less than 2 days) the
tool was available for them to enter information.
As with every client, we also had to update the framework
to accommodate something new. Since LC desired a login
area for their clients, we added password behavior
to the framework. Although this was added for LC,
it was added to the framework so it is available to
all of our clients now.
Also, as with most clients, once they start using
it they begin to see other things they want. In this
case, LC desired a way to order the client list in
any way they choose, so we provided a sequence number
field. Since this behavior is already present in the
framework, we only needed to add the field to LC's
admin tool.
As for client login, ya gotta love the Apache web
server. One of the great things about it is the ability
to do URL Rewriting. I know…you probably have
no idea what that means. Using URL Rewriting, I can
tell the server to watch out for certain requests
like for instance a request for any page in the "private"
folder (e.g. www.somesite.com/private/index.html or
somesite.com/private/test.htm). When it sees such
a request, I can tell it don’t go to that page
directly but go someplace else. This is the idea behind
the client login. If a request is made for anything
in the client folders (including images, css, javascript,
and flash files!), it is rerouted to my program, which
checks to see if the user is authorized to make that
request. If not, the request is rerouted to the login
page.
As a bonus, once I saw how the secondary pages were
coming together, we provided a DreamWeaver template
for those pages. This way, if they have to change
the format, they will only have to change it once
(in the template) and it will propagate to all of
the secondary pages. Also, there’s no copying/pasting.
When a new secondary page is created, simply create
a new page based on the template and that page will
receive changes from the template.
All in all the development of this site went smoothly
with the help of our admin tool, the Apache server,
and DreamWeaver templates.
|