EVery MOnth project home page
Links will go here
Purpose and project outline
Purpose The object is to provide an infrastructure for the display of a web page to show events that repeat on the Nth day of each month.

This could be used for clubs and societies with a fairly regular meeting schedule to advertise their events and those with a particular interest to find activities of a certin category in their area.

Project Here we'll
(a) create a design for UI and system,
(b) implement it using interesting web technologies
(c) eventually have a working showcase

Note that this is not really a visitor's guide, more of a resident's what's on reminder.

Main screen basics
This is the sort of thing most page visitors would see although we can make the details a lot more sophisticated.
Subject Folk clubs Location Essex Time Evening

  • Feering Feering-folk-session
  • Maldon Blue Boar folk session
  • Witham Sing around
  • Braintree Bongo workshop
  • Maldon storytelling
  • Varies Fred's occasional fire-folk
  • Maldon Blue Boar accoustic night
Mon 3rd JulyWyvenhoe dance club. Special guest Bobbie Shaftoe.More

Wed 5th JulyDengie Folk. New venue! Red Fox, Latchingdon.More

Thu 6th JulyAnyone going from Witham area to Tilbury Irish session? Call Dave on 01234 567890More

Singers wantedTerling singsong club needs more members.More

Register to get weekly or monthly
email for Essex Folk Clubs
Add and edit events Report inaccuracies Print Advertise
Mouse-over events would give details. Flags/colouring would be used to indicate current status, for example some event may be suspended or subject to uncertainty.
Hosting and management
The scale of hosting is an interesting issue. In theory the most efficient scheme would be to have a single site for all events covering a large area. This would work so long as the system could be designed so that there was no human need to assess, coax, mangle or monitor the content.

The folk scene is a classic example where many areas have guides. These could be run one per individual area. In Essex for example there are dozens of sessions. For economies of scale and managing advertising it seems best to have one single site for all british folk and use key words to select an area.

It is assumed that advertisments in this context would be specialist. That means a booking, serving and reporting system is needed. On the other hand Stan's sheet music can target an audience of likely customers quite simply.

The dynamic club promotions section is something to keep visitors returning to the site.


General viewer

Event organiser


Site manager


1Persistent, bookmarkable, personal URLs are sent in registration emails used for access, as opposed to login with password.
2Whilst the roles of Email subscriber, Event organiser and advertiser are different, behind the scenes and as a matter of architecture we will have a single record type of registered user. A RU might be all three. screens such as control panels and lists the manager might see are common with the appropriate bits 'switched on' as required.
Interface model
Main event displayAJAX interactions to adjust display.
Email registrationComplete form. Validate. Send access email.
Report inaccuraciesComplete form etc. Create complaint and attach to event. Notify event organiser.
Event organiser registrationComplete form etc. Validate. Send Access email.1
Advertiser information and registrationDisplay terms, rates etc. Complete form etc. Validate. Send Access email.1
Print/Mobile versionLong list version of dates and news top and tailed by adverts.
Get new access linkComplete email address etc. Validate against registerd users. Send Access email.1
Subscriber control panelEmail frequency, subject keywords, and unsubscribe settings2
Event organiser registrationSee above
Advertiser information and registrationSee above
Event organiser control panelContact details, lists of events, messages, news items
Event details add/edit/deleteForm and upload. Send to events queue.
News details add/edit/deleteForm and upload. Send to news queue.
Send message to managerForm and upload. Send to messages queue.
Advertisers control panelContact details, lists of adverts, payments, statistics etc.
Advert details add/edit/deleteForm and upload. Send to adverts queue.
Send message to managerForm and upload. Send to messages queue.
Manager's control panelApprovals-pending queue, Subscriber/Event org./Advertiser list, Messages list, Event list, configuration settings, events/news/ads lists
Approve/deny event change/News item/AdvertTick/cross beside list of details. (Cross->Why message to submitter. Possibility of blacklisting submitter/IP address.)(Tick->possibility of making submitter 'trusted')
Registered users listing(Subscribers, Event organisers and Advertisers are not really separate entities.)2
User details/actionsSend message, change status, 'delete'.2
Inaccuracy reportsList of (outstanding) reports with actions of cancel/alert organiser/flag event dubious or OK or suspended
Event listingTools to schedule and deal with event reviews
News listingManage and prioritise news items
View statisticsUsage, ad views, ad clickthroughs
Configuration settings
Handle messagesReply etc.
Registration/Access URL Send a personalise and persistent 'login' URL 1
Please review event Ask event organiser to confirm details of event. Sent automatically according to schedule or as response to inaccuracy/complaint
Approved! Tell that event, news item or advert has been approved my site manager
Latest info Newsletter for subscribers containing changes and recent news.
Message from manager General purpose information/request from manager to registered user.
Thanks for your message Acknowledgement of feedback or inaccuracy report.
(None) All incomming messages done via screens.
Data model
  • Id Message, News, Report
  • Version 0=is current, 1=previous, 2=pre-previous
  • DayOfWeek
  • PlaceInWeek 1,2,3,4,5,-1(last),0(one-off)
  • Location eg Town
  • LocationArea eg County. Selected from a configured list maintained by manager
  • Venue eg Building
  • VenueMoreInfo eg How to get there and/or URL
  • StartTime
  • Status WaitingApproval,Live, defunct, suspended-arranged, suspended pending EO's action/approval
  • ReviewDueDate Periodic checking by event organiser
  • Genre
  • Title
  • Description
  • MoreInfoURL
  • ContactInfo
  • KeyWords
  • NotBetweenStart Temporary suspension period
  • NotBetweenEnd
  • RUId Event organiser
  • Create by Event Organiser (Then approved by site manager.)
  • Edit by event organiser. Status change by site manager.
  • Frequent access for main screen and upcomming printed list
  • Id
  • EventId
  • RUId Event organiser (Possibly a subscriber - possibly allowed after a week of joining)
  • Type Event alteration, Personal, Wanted, Event promotion/details
  • Headline
  • Text
  • MoreInfoURL
  • Status ToBeApproved, Approved, Cancelled, Suspended(Controvercy/complaint)
  • DatePosted
  • CriticalDate
  • DateToRemove
  • Priority ?
  • Thumbnail Picture
  • Create by Event Organiser (Then approved by site manager.)
  • Edit by event organiser. Status change by site manager.
  • Frequent access for main screen and upcomming printed list
  • There will need to be some way to display 'top' news stories. This will be a complex algorithm as some short-term messages might need to be promoted over others. As events come closer 'this weeks promotions' may need boosting etc.
  • Weekly and monthly news bulletins will need to filter news items carefully.
  • Id
  • RUId
  • Realm
  • EventId If applicable
  • FromDate To be displayed
  • UntilDate To be displayed
  • AdvertiserName eg Martin's music store
  • AdvertiserURL
  • Text Text of advert for text-only emails
  • HTML HTML of advert for screen.Embedded links and references to images etc removed.
  • Image
  • DisplayCount
  • LastDisplayTimeStamp
  • EmailCount
  • LastEmailTimestamp
  • ClickCount
  • KeyWords Used to prioritise display probabilities
  • LocationAreas Selected from managed list
  • Tarrif Some TBA link to prioritising and charging schemes
  • ActualCost
  • Created and edited by advertiser
  • Reviewed by supervisor
  • Queued or selected by some clever process to ensure cycling.
Registered user

Newsletter subscribers, event organisers and advertisers.

  • Id Random number
  • EmailAddress
  • Name
  • IsSubscriber W=Weekly, M=Monthly
  • IsEventOrganiser Boolean
  • IsAdvertiser Boolean
  • URLHashId Used in URL to provide access to control panel
  • LocationArea
  • DisplayPreferences Realm, Area, key words
  • Thumbnail
  • LastNewsletter
  • DateSubscribed
  • TrustLevel Normal, Priveledged, blocked Something along these lines
  • PingDate When last (or to be) pinged
  • LastVisitDate
  • NewsletterRealm
  • NewsletterArea
  • Create via initial sign-up
  • Edit via user's control panel
  • X-ref toMessage, Event, Advert

Communications between user and system and copies of special emails sent from system to user

  • Id Random From RU and Event
  • DateTime
  • ReplyToId What is this a reply to?
  • RUId
  • Text
  • Type Ping Inaccuracy SpecialOut SpecialIn GenFeedback Notice
  • Read Date read
  • Action Text by manager taken as a result
  • ActionDate Alert date if no reply
  • Created by inaccuracy/feedback report by user
  • Created by supervisor sending email
  • Created by system sending routine management emails (eg Ping... Check events still correct.)
  • Ancient records weeded automatically
StatsLog Not sure exactly what this will contain

Standard names for areas

  • Area String
  • Used to categorise areas. Typically at a County level.

Standard names for realms.

  • Realm String
  • Major configuration setting
  • Used to compartmentalise listings etc.