Open Data Events (ODE) is about open-data calendars and public events.
It consists in a CalDAV server endpoint, a full website, and a REST API.
ODE is created to propose an alternative to closed-source, closed-data or vendor locking online calendars services. It allows everyone to maintain its own calendar service, to import, expose and share events information.
Demo : projet-ode.org
(c) 2015 LiberTIC
Licence: MIT (X11)
Made in Nantes, France @ Les Polypodes
- PHP >= 5.4.4
- PostgreSQL 9.2 with JSON type support
- PostgreSQL's ext-pgsql PHP extension
- composer installed and available in your PATH
RAM: PHP's package manager, composer
, internally increases the memory_limit to 1G. To get the current memory_limit value, run:
php -r "echo ini_get('memory_limit').PHP_EOL;"
If composer
shows memory errors on some commands check out this documentation.
The docker/docker-compose.yml
file already configure and install a working stack: Nginx web server, PHP-FPM, Postgresql, etc. A dedicated Makefile
run the all needed operations.
Make sure your Docker local installation is OK, with both docker
and docker-compose
available commands, then call the docker/Makefile
tasks:
cd docker
make <-- build containers from images
make install <-- database init (to be run once only) + run
That's it.
Once database is OK, next containers reboots only require this:
make run <-- = docker-compose -up -d
The install process warns you about requirements and configuration of Apache2, PHP5, PostgreSQL, etc.: Make sure you they are already available and running in you environment.
Mac OS X users, you may want to install PostgreSQL easely, using postgresApp
git clone https://github.com/LiberTIC/ODEV2.git
cd ODEV2
make
make install
Locally, you may then use the PHP Built-in web server to run ODE:
php app/console server:run
And then open
(OS X) or xdg-open
(GNU/Linux) the working URL: http://127.0.0.1:8000
You can find more informations (Apache2 vhost configuration example, etc.) on how to go live here
The Makefile
is to be used in your (local) webserver environment. Note that a D special, Docker-related Makefile
also exists in the docker
folder.
Database init: make install
already performs the role and database creation through SQL scripts and initial data: you do not need to run these commands below at first install. By the way, all PostgreSQL related Makefile commands are explicit, in order to let you tweak them, to fit better with your environment.
Available PostgreSQL related commands:
make createDb # Creates PostgreSQL database ODE
make pgCreateRole # Creates ODE role using doc/postgresql/role.sql
make pgInit # Initializes ODE db using doc/pstgresql/init.dump
make pgDump # Creates a restorable snapshot of ODE database in ./dumps
make pgRestore # Uses the last restorable snapshot to restore ODE db
make dropDb # Drops last db (it always runs pgDump before droping)
make resetDb # Drops and re-init ODE db
make connect # Connects you to psql
make quality
via phpdoc, to be read in a web browser
make phpdoc
open|xdg-open api/doc/index.html
via NelmioApiDocBundle, be read in a web browser
php app/console server:run
open|xdg-open http://127.0.0.1:8000/api/doc
Note that the REST API documentation provides a sandbox mode in order to test all provided API methods.
The ./doc
conserve (french) documentation & analyse about "v1" ODE project and "v2" prototype, included more 2015 meeting notes.
- (fr) Présentation du projet initial (slideshare.net)
- (fr) Plan de travail de la journée de juin 2014 organisée à Stereolux
- (fr) v1 source code: Python, Dango, Pyramid
- v2 prototype source code, based on Symfony2 + Apple CalendarServer
- jquery-oembed-all source code