Open Event is a Drupal distribution and open source project that aims to empower cultural organizations to manage and publish events online. It provides a content management system built around an Open Data Model that represents events and automatically publishes event data through a self-documented API. The distribution can be used out of the box or customized further. It takes an open approach focused on extensibility, flexibility, and sharing data in standard formats like Schema.org to make cultural events more accessible.
5. Drupaleer
class DrupalCore{
public function __construct() {
$this->god = new God();
}
public function hack() {
$this->god->kill_kitten();
}
}
class God {
public function kill_kitten() {
$shelter = new Shelter();
$lightning = new Lightning();
$shelter->get_kitten->apply
($lightning);
}
}
25. Open Event in one sentence
Open Event CMS is a foundation for any cultural
organisation wanting to manage and publish their
events online.
26. Open Event in one sentence
Open Event CMS is a Drupal distribution that directly
represents an Event Open Data Model and automatically
publishes data through a self-documented API.
27. Open Event in one sentence
Open Event CMS is a Drupal distribution that directly
represents an Event Open Data Model and automatically
publishes data through a self-documented API.
29. What is the ODM?
Our mandate is to make the arts available to everyone.
To fulfill this we should be actively opening up all our
information and data in a way that it can be accessed,
joined up, understood and re-used.
Rob Gethen Smith (Southbank Centre CIO)
31. SC Website Strategy
The SC Website strategy is structured
around three areas:
1) Open Data ODM
2) Open Source Code
3) Open Process
Open Event addresses (1) and (2)
3) Open
Process
2) Open
Source
Code
1) Open
Data
Southbank
Centre
Website
34. Contribution
It is released as Open Source software with two levels
of contribution possible:
1) A Drupal distribution for final users (it works out of
the box).
2) A Github repository for developers, to contribute to
the way the distribution is built.
35. Concept
As Open Software it has been developed with minimal
assumptions about how it may be used or extended
and it doesnt force any custom views of the world or the
data it manages.
It is built with flexibility and extensibility in mind.
36. Concept
Custom JSON output (Schema.org structure)
Each content type is automatically mapped as a
Schema.org type
Only fields with Schema.org mapping are outputed
RestWS standard mapping still available (remove?)
Granular/simple events (one date per event)
Decent editorial experience out of the box
37. Concept
Minimize the requirement for entities to model
references (eg: images)
Complex mappings inline with main type (not
referenced)
38. What is in it? For end users
Download, install and use: distribution
Extensible and adaptable as any Drupal 7 site
Just add water read-only API approach
Create Once Publish Everywhere
Useful
39. Whats in it?
Drupal 7 (inc. Drupal 8 upgrade path)
ODM & Schema.org
Shared* ontologies (and taxonomy*)
RestWS (API)
Drupal Features
Magic Glue! (custom code)
(*) Work in progress
44. Schema.org relations included
Event to Event
Event to Person
Event to Organization
Event to Place
Place to Place
Person to Organization
Organization to Place
47. Contrib modules: event
field_validation
link
relation
relation_add
http://openevent.southbank.local/node/add/event
48. Contrib modules: person (and org.)
auto_entitylabel
email
Standard fields used for name components (given
name, family name, etc)
http://openevent.southbank.local/node/add/person
http://openevent.southbank.
local/node/add/organization
49. Contrib modules: place
addressfield
geolocation
geolocation_googlemaps
office_hours
http://openevent.southbank.local/node/add/place
51. Features
oe_components
oe_event
oe_organization
oe_place
oe_person
oe_relationship_location
oe_relationship_performer
http://openevent.southbank.local/admin/structure/features
52. Editorial experience
Utility modules mainly used to improve the default
editorial experience:
Fields in tabs
Field validations
Taxonomy permissions
Text formats
File sources
71. Motivation
We standardized and abstracted the core functionality
and released it as Open Source.
And then we built our CMS on top of it.
72. What did we learn?
It is a challenge to think and develop openly.
It is easy to simply share.
It is difficult to share openly.
It is worth the extra effort.
84. Download and install
(2) Install the distribution:
$:> cd openevent
$:> drush si openevent --account-name=siteuser
--account-pass=sitepass --db-url=mysql://dbuser:
dbpass@localhost/dbname -y
85. Build and install
(1) Fetch the code from Github:
$:> git clone git@github.com:Southbank-
Centre/OpenEvent.git
www/drupal/profiles/openevent
86. Build and install
(2) Fetch the contrib code from Drupal.org and assemble
the distribution:
$:> cd www/drupal
$:> cp profiles/openevent/local-openevent.make .
$:> drush make local-openevent.make -y
87. Build and install
(3) Install the distribution:
$:> drush si openevent --account-name=siteuser
--account-pass=sitepass --db-url=mysql://dbuser:
dbpass@localhost/dbname -y
94. Credits
Jorge Lopez-Lago (Tech Lead at Onload)
Alex Bridge (Developer at Cogapp)
Dave Vernon (Developer at Southbank Centre)
Sam Murray (Developer at Southbank Centre)
Tassos Koutlas (Developer at Cogapp)
Southbank Centre
95. Sources
Some content and images shamelessly copied from Rob
Gethen Smiths Open Event CMS June 2015 presentation
(http://www.slideshare.net/RobGethenSmith/open-
event-cms-june-2015)
Avatar images by Freepik.com