UNL Calendar Project

From Web Developer Network Wiki
Jump to: navigation, search
Event Scheduling Overview
System Architecture Overview

This document outlines the calendar project started in April 2006.


Todo_item_description targetdate (actualdate)

Contents

Research Calendaring Systems 2006-04 (2006-04)

The group was asked to research calendaring systems and make recommendations for a best-fit solution for a University Event Publishing system.

Projects examined in detail were:

  • Bedework
  • UCB Calendar Network

Survey Campus Calendar Users 2006-05

Develop a questionnaire to be sent out through e-news and linked to from the UNL Homepage to gather information about calendar usage on campus.


Email text:

UNL, with major participation from IANR Communications and  
Information Technology, the UNL College of Business Administration  
and University Communications, is developing a new online Event 
Publishing system. Since you are listed as an event contact in one 
or more records in the current UNL Events database, we are asking
that you take a moment to fill out a short online questionnaire.
Your responses will help guide the development of the new system.

To participate, please click on the following URL:
http://elkhorn.unl.edu/surveys/eventsSurvey.jsp


Thanks for your help with and interest in this project.

UNL Today Message text:

Event Publishing System

UNL, with major participation from IANR Communications and  
Information Technology, the UNL College of Business Administration  
and University Communications, is developing a new online Event 
Publishing system. If you are currently publicizing events at UNL,
we would ask that you fill out a short online questionnaire.
Your responses will help guide the development of the new system.

To participate, please click on the following URL:
http://elkhorn.unl.edu/surveys/eventsSurvey.jsp


Thanks for your help with and interest in this project.

Questions:


1. How are you currently promoting events that occur in your department? 
Use Now    Would like  
___          ____    a.	E-news
___          ____    b.	UNL calendar
___          ____    c.	Department calendar
___          ____    d.	College calendar
___          ____    e.	Scarlet
___          ____    f.	Daily Nebraskan
___          ____    g.	Multimedia displays (i.e. tv���?�s, kiosks)
___          ____    h.	Printed calendar
___          ____    i.	Other ___________________________________________

2. How do you publish your events to the web? 
    a.	I post
    b.	I send to/call someone else
    c.	I use the UNL calendar
    d.	Other ___________________________
    e.	My events do not get published to the web

3. How do you decide which events to publish to the web?

4. Are any of your events limited to specific (non-public) audiences? 
    a.	Yes (some of my events are non-public events)
    b.	No (all of my events are public events)

5. What are your sources for event information?

6. How often, on average, do you have events to publish to your department or to a more broad audience?
    a.	Once a month
    b.	2-5 times a month
    c.	6 or more times a month

7. Would be willing to switch to a new web event publishing system if it met your needs better than your existing application and offered a tool that would make it easier to create a display for your website? 
    a.	Yes
    b.	No

8. How would you feel about storing your events in a centralized repository?
    a.	Comfortable
    b.	Not comfortable
    c.	Need more information to respond

9. What technology do you have available to you in your department?
    a.	Web server
    b.	Database
    c.	Nothing specific to my department/college

10. What do you like most about the way you publish events?

11. What do you like least about the way you publish events?

12. Would you be interested in helping us evaluate our prototype?  
    a.	Yes
    b.	No

12a. If yes, please provide your contact information (name, department, email, phone) so that we may contact you.

13. Are there any event publishers that you���?�d recommend that we interview? 

Calendar Questionnaire from UCBCN

Choose Schema 2006-05 (2006-04-28)

The UNL Web Developer Network Next Generation Coding Group has evaluated the calendaring systems and determined the the UC Berkeley Calendar Network schema is most similar to our needs.


The SQL available on Berkeley's site is somewhat specific for UC Berkeley. Some adjustments will need to be made to generalize the schema and allow for UNL's LDAP uid.

ucbcn implementation schema
sample data, subset & test data

Development Notes

CIT has provided access to a CVS server to store the code we work on. Users interested in CVS access need to send their public key to Yoon Wong at CIT.

A typical development platform for contributors will have:

  • An IDE with CVS integration (Eclipse, Zend Studio etc)
  • PHP 5.1.* access
  • Database access (target MySQL)
  • Web Server (target Apache)

(Setting up an Eclipse environment involves installing Eclipse, the Web Tools Platform and the Zend Eclipse PHP IDE).

The build process for the Calendar PEAR packages consists of four steps.

  • Generate the install xml file
  • Build the package
  • Install the package
  • Run the post-install scripts
php makepackage.php make
pear install -f package.xml
pear run-scripts unl/UNL_UCBCN

Once the user has tested the contributed components, update the repository files and then commit their changes to CVS with a comment indicating the fixes.

Major releases will be posted and distributed through UNL's PEAR compatible channel server and installable by the general public with:

One time commands:

pear channel-discover savant.pearified.com
pear channel-discover pear.unl.edu

Installation:

pear install --alldeps unl/UNL_UCBCN-beta
pear run-scripts unl/UNL_UCBCN

Upgrades:

pear upgrade unl/UNL_UCBCN-beta

Develop Backend Components UNL_UCBCN 2006-05

ER Diagram for the database, taken from http://ets-dev.berkeley.edu:8901/EventCalendarSpec_v0.5/ar01s08.html#d0e3462 Modified for UNL calnetuid is now uid

The backend component will be called UNL_UCBCN (UNL UC Berkeley Calendar Network). This portion of the project will implement a backend server for a university event calendar.

Functions handled by the backend:

  • Installation of Backend Server (completed by bbieber 2006-05-18)
  • Connection to Database (completed by bbieber 2006-05-18)
  • Database Creation/Upgrades
  • Generic API for various frontends
  • Import and Export in xml, sql, ical etc.

The backend is working right now in CVS.

To see what items are remaining TODO, check the BUG Listing for UNL_UCBCN.

Developing semantical markup for calendar

A semantic calendar xhtml markup should be something like this:

<table id="wp-calendar">
	<caption>May 2006</caption> /*caption
	

 /* -----------------*
  *                  *
  *   table header   *
  *                  *
  * -----------------*/

        <thead>
	<tr>
		<th abbr="Monday" scope="col" title="Monday">Mon</th>
		<th abbr="Tuesday" scope="col" title="Tuesday">Tue</th>
		<th abbr="Wednesday" scope="col" title="Wednesday">Wed</th>
		<th abbr="Thursday" scope="col" title="Thursday">Thu</th>
		<th abbr="Friday" scope="col" title="Friday">Fri</th>
		<th abbr="Saturday" scope="col" title="Saturday">Sat</th>
		<th abbr="Sunday" scope="col" title="Sunday">Sun</th>
	</tr>

	</thead>


 /* -----------------*
  *                  *
  *   table footer   *
  *                  *
  * -----------------*/

	<tfoot>
	<tr>
		<td abbr="April" colspan="3" id="prev"><a href="#" title="View posts for April 2006">« Apr</a></td>
		<td class="pad"> </td>
		<td colspan="3" id="next" class="pad"> </td>
	</tr>
	</tfoot>


 /* ---------------*
  *                *
  *   table body   *
  *                *
  * ---------------*/
	
        <tbody>
	<tr>
        <td>1</td>
        <td>2</td><td><a href="event_link" title="event_title">3</a></td>
        <td><a href="event_link" title="event_title">4</a></td>
        
        /* css selector to style 'today' */
        <td id="today">5</td>
        
        <td>6</td>
        <td>7</td>
	</tr>
	<tr>

		<td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td>
	</tr>
	<tr>
		<td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td>

	</tr>
	<tr>
		<td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td>
	</tr>
	<tr>

		<td>29</td><td>30</td><td>31</td>
		<td class="pad" colspan="4"> </td>
	</tr>
	</tbody>
	</table>

The markup above will render a calendar that looks like this: [[1]]

For in depth explanation on how table attributes like caption, abbr and scope can improve content accessibility (especially with screen readers), please read the following articles.

Bring on the tables-456 Berea Street

W3c's table draft

tables and frames-joe clark

accessible tables=ferg.org

Develop Management Frontend 2006-06

Calendar Manager Prototype Image

The manager frontend will be called UNL_UCBCN_Manager and will provide html views for insertion, approval, deletion of events. This will be the primary interface event publishers will use to enter data into the calendar system.

  • Login Interface (Username/Password authenticated against a source ---- in our case UNL's LDAP Server)
  • Event Creation
  • HTML Interface to Import and Export events in XML and .ics
  • Manage user accounts
  • Approve pending events

A prototype (Photoshop) interface has been created by Alvin.

The management frontend is working in CVS.

Check the UNL_UCBCN_Manager Bug Listing for what is left TODO.

Develop General Viewing Frontend 2006-06

The general viewing frontend will be called UNL_UCBCN_Frontend and will be the general public (X)HTML interface to the event publishing system.

The frontend will provide:

  • Event listings
  • 30 box format, 1 Day format etc.
  • Use structured semantic markup
  • Use hCalendar formats
  • Search interface to the calendar
  • Subscribable feeds etc.

TODO: See the UNL_UCBCN_Frontend Bug Listing.

Testing 2006-07

Rollout 2006-08

Rollout of the UNL Event publisher coincided with the 2006 UNL template release on August 14th 2006.


Sources for the calendar are downloadable at http://pear.unl.edu/

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox