Anatomy of a Site Refresh III – Functionality analysis

20 09 2007

This is a whole series dedicated to a site refresh.  What steps do I take?  What plans do I make?  How can I learn from this process to improve my workflow?

Series History: Intro / Part I / Part II

I apologize for the gaps between postings.  I’ve been extra busy in real life – between reviewing and commenting on 100’s of pages of technical project documentation for a new project going on here at work, and coaching my son’s midget football team, and running the local barbershop chapter I’m currently serving as president, my days seem to get shorter and shorter in terms of having time to just sit and think.  My wife even got on my case because I didn’t take time to relax yesterday.  I think I may have forgotten how.  Not that anything’s an excuse – just an explanation.

Now, in our last episode, I did a quick rundown on the functionality the site needs.  For a quick recap, everything can be rooted down to four basic functional components:
1) A content management system (including the photo gallery listed in the last portion)
2) A calendar
3) A membership/group management system
4) A forum or some sort of interactivity capacity to interact with the audience of the forum.

I mentioned before that being the anal retentive I am, I will probably build most of this myself.  I like to know how each and every piece works, and I also like to have that tight control over what the end result is, and plus I know if it’s screwed up, there’s only one person to blame – me.

I may take the opportunity do some exploration into .net – dunno.  Depends on where I am when it comes time to rip out the site build.  If I’m getting hammered, then the classic asp while come crashing out since I can invoke it and wield that sword as effectively as just about anyone I’ve encountered.  If I have some time, then I’ll break out my “Build Your Own ASP.NET 2.0 WEBSITE using VB and C#” from SitePoint and see if I can’t expand my horizons (not to mention my employ-ability).

But let’s not put the proverbial horse out in front, shall we?  I want to take a couple minutes and analyze each of the components to work out required functionality, and as well as the bells and whistles which would be nice to add.


The CMS here will be a little different than what is usually done.  Most CMSes I’ve run into are, while effective, are a bit convoluted and do much more than what it needs to do.  While I’ll incorporate some sort of blogging/article functionality in where the content can change often and is very fluid, then I’ll be dependant on dynamic functionality as driven by a database.

But the nice thing about most of this site is that for the most part the content is pretty static.  The pages can be generated once as static html and be good to go.  A number of pages (quartet pages for example) will be based on a base template which can then be extended with the specific information.  The hope is to be able to make changes to a database, then rebuild the site as needed which would allow us to make changes in one location and then dispersed.  This will also simplify backup procedures since essentially the template pages and the database(s) will be the only things which need to be backed up for the site to be recovered (which this site has suffered through twice).


This will probably be the most complicated portion of the development.  This component will need to be very flexible.  Just some of the features that will be required off the top of my head:
1) Have events that are both private and public.
2) Have single events, as well as recurring events (weekly or multiple performances) * this will most likely be the most difficult to implement
3) For each event, especially the public events, have the ability to schedule multiple times for the same event, with the audiences being different for each time (i.e. have an arrival time for the chorus to get warmed up, and a performance time for the public)
4) Allow multiple users/groups to schedule events.  Quartets should be able to schedule events for only themselves, for example.
5) Allow the calendar to be filtered to show only specific information.  On a quartet page, only show events the quartet will be at, while at the chapter level, show just chapter jobs, though also show quartet events as well.
6) The ability to show variable calendars – yearly, monthly, weekly, upcoming events.  These variations need to be printable.
7) Send out notifications that a calendar event has been added/deleted or modified.

Membership/Group Management

The website is for a chapter of the Barbershop Harmony Society, so there is membership to deal with.  The site has a members-only area which will need to be accessed by members of the chapter.  This section will have downloads of learning files, display upcoming events, provide crucial information our membership needs to know, etc.  Barbershop is four-part harmony, and as such we will have four sub-groups which will need to be provided the same sort of information/files (e.g. the leads don’t need the bari learning tracks unless their gluttons for punishment).  Our membership is pretty fluid, and so we need to be able to add/edit/remove members on a semi-regular basis, so this functionality will be pretty crucial.


This part I haven’t decided to handle yet because I haven’t determined the level of interactivity that is appropriate for this site.  Our members are currently using a yahoo group, so I’m not 100% sure a forum is needed, but there does need to be a method for those outside our friendly little organization can get involved and communicate with our members or the chapter in general.




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: