The Technology Suite
Solving the calendar problem.
The Problems
I have this event that...
Happens on every Tuesday and Thursday at 2 and 4 pm,
Except for Thanksgiving,
And on the first F...
Event Instance Custom Details
For example, you have a special guest speaker.
Search
With saved searches and short names
(example.com/s/abc123).
Moving Events Between Sites
A Challenge
Built it to be reusable by others.
The Solution
iCalendar (iCal) Specification
http://www.ietf.org/rfc/rfc2445.txt
http://drupal.org/project/ical
Saved Searches
• Search with facets.
• Saved searches with short urls (example.com/s/abc123).
• Saved searches with names ...
Many to One on Change
Atom
http://en.wikipedia.org/wiki/Atom_(standard)
PubSubHubbub
http://code.google.com/p/pubsubhubbub
Pushing
http://drupal.org/project/push_hub
http://drupal.org/project/views_atom
Receiving
http://drupal.org/project/feeds
...
Drupal Calendaring, A Technological Solution
Drupal Calendaring, A Technological Solution
Drupal Calendaring, A Technological Solution
Drupal Calendaring, A Technological Solution
Drupal Calendaring, A Technological Solution
Drupal Calendaring, A Technological Solution
Drupal Calendaring, A Technological Solution
Drupal Calendaring, A Technological Solution
Drupal Calendaring, A Technological Solution
Drupal Calendaring, A Technological Solution
Drupal Calendaring, A Technological Solution
Upcoming SlideShare
Loading in …5
×

Drupal Calendaring, A Technological Solution

3,336 views

Published on

T

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,336
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Thank Balboa Park Online Collaborative.
  • BPOC came to us with 4 engineering problems and a challenge.
    These were things many had asked for but have not seen on the market
  • Already a way to do some recurrances in Drupal. But, nothing this detailed.
  • The cruise use case.
  • Explain nodes and fields in Drupal.
  • A single node with possibly hundreds of instances and specific details does not scale.
    Date repeat can only do on recurrence rule.
  • Instance nodes work with
    - calendaring solutions for drupal
    - provide way to store all the meta data around it
    - instance specific differences
    - Search
    Other systems don't grow well. Nodes designed to grow.
    Drupal millions of nodes capable.
  • Explain fields
    iCal Field is multivalue cck field with custom UI.
  • Updating Rule
  • Excluding Rule
  • Edit instance with pencil
  • Instances Each own node
  • Inherited Field Formatter.
    Children cck fields, when empty, inherit from parent.
  • ical package (with feature)
  • problem with regular feeds and number of items
    - new items
    - deletes
    deploying on change not an admin special action.
  • Are we there yet?
  • Drupal Calendaring, A Technological Solution

    1. 1. The Technology Suite Solving the calendar problem.
    2. 2. The Problems
    3. 3. I have this event that... Happens on every Tuesday and Thursday at 2 and 4 pm, Except for Thanksgiving, And on the first Friday of December at 3 pm.
    4. 4. Event Instance Custom Details For example, you have a special guest speaker.
    5. 5. Search With saved searches and short names (example.com/s/abc123).
    6. 6. Moving Events Between Sites
    7. 7. A Challenge Built it to be reusable by others.
    8. 8. The Solution
    9. 9. iCalendar (iCal) Specification http://www.ietf.org/rfc/rfc2445.txt
    10. 10. http://drupal.org/project/ical
    11. 11. Saved Searches • Search with facets. • Saved searches with short urls (example.com/s/abc123). • Saved searches with names (example.com/s/myEvent). • Lots of management options and permission settings. • Works with core search, Lucene, and Solr.
    12. 12. Many to One on Change
    13. 13. Atom http://en.wikipedia.org/wiki/Atom_(standard)
    14. 14. PubSubHubbub http://code.google.com/p/pubsubhubbub
    15. 15. Pushing http://drupal.org/project/push_hub http://drupal.org/project/views_atom Receiving http://drupal.org/project/feeds http://drupal.org/project/feeds_atom

    ×