UNL Calendar Project
This document outlines the calendar project started in April 2006.
Todo_item_description targetdate (actualdate)
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:
- 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.
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.
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?
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.
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)
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
pear install --alldeps unl/UNL_UCBCN-beta pear run-scripts unl/UNL_UCBCN
pear upgrade unl/UNL_UCBCN-beta
Develop Backend Components UNL_UCBCN 2006-05
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: []
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.
Develop Management Frontend 2006-06
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.
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/