public
Fork of mghaught/radiant-page-event
Description: Radiant extension for page-based event calendar for associating time-based events with your Radiant pages
Homepage:
Clone URL: git://github.com/santry/radiant-page-event.git
README
= Page Event

Created by Marty Haught, January 2008

Page Event is a simple page-based event calendar for associating time-based events with your Radiant pages.  The 
original example was setting up meeting announcements in radiant where the meeting was a page.  Having this meeting show 
up on a site-wide calendar and having exact information on when the meeting was taking place was important.


INSTALLATION

NOTE: The extension is tested against 6.6 and 6.7 though it might work for some of the older 6 releases.  If you use a 
version older than 6.7 you'll need the shards extension installed and configured properly.  I have no intention of 
adding support for any release prior to 6.6.  The following instructions assume you have Radiant 6.7 installed and 
configured properly.

1) Install the Calendar Date Select plugin with the following command:

svn export http://calendardateselect.googlecode.com/svn/tags/calendar_date_select vendor/plugins/calendar_date_select

I may slurp this plugin up inside Page Event at some point but for now I'll just leave it in its normal plugin form.  
You can read more about it here:
http://code.google.com/p/calendardateselect/ 


2) Install the Page Event Extension

git clone git://github.com/mghaught/radiant-page-event.git vendor/extensions/page_event

If you don't want the git information you can always delete the .git directory under page_event for now.  I will release 
this as a zip/tarball in the future as well as consider other options, such as gem.

** Github has a download button that will give you a tarball of the extension.  If you don't want to use git then go 
this route and expand the tarball in the vend0r/extensions/page_event directory of your Radiant app.


3) run migration

rake production radiant:extensions:page_event:migrate


4) run rake update for extension

rake radiant:extensions:page_event:update


5) Start (or restart) your server


USAGE

The extension will create a new column on the pages table to store an optional event timestamp.  The admin create/edit 
page interface will now have an Event Date field with pop-up calendar widget that will allow you to set a date and time 
that represents an event.  This page will now be associated with that time.  Additionally, there is a page event admin 
tab next to pages tab that will give you a month's view of events.  It also have next and previous month navigation.  
The current UI is basic so look forward to it being enhanced.

For displaying these events on your radiant pages you can choose from several tags.  The main tag you'll use is the 
monthly calendar tag:

<r:calendar />

It will produce the current month's view with any events during the time.  The calendar also has previous and next month 
navigation.  A default set of css styles are provided in the following file:

<RADIANT_ROOT>/public/stylesheets/page_event/red/style.css

In order to make use of this stylesheet you'll need to add it to the pages that will use the calendar tag.  

When it comes to accessing a specific page's event data you can use the following tags:

<r:event>
  Date: <r:date />
  Time: <r:time />
</r:event>

OR

<r:event:date />
<r:event:time />

They will simply output the date or time, respectively, in a human formatted version.  The <r:date/> and <r:time/> tags 
accept a format attribute that specifies a strftime pattern for formatting the date or time.


FUTURE RELEASES

In the immediate future, I will focus styling and bug fixes.  There are several refactoring opportunities as well as UI 
enhancements on both sides that might happen.  The biggest change I'm anticipating is upgrading the event data from a 
simple timestamp to a true model with time ranges.  Feedback welcome!