Access Keys:
Skip to content (Access Key - 0)

Schedule REST interface

People who would like to write a Devoxx schedule application can now use our REST interface, available @ http://cfp.devoxx.com/rest/v1

Comments and suggestions are always welcome.

Hint: You can use the REST Client for Firefox plugin to test the methods.

Available Clients

Below you can find a list of available schedule clients that are consuming the available REST interface.

HTML5

You can test drive a beta HTML5 client, developed by Stephan Janssen, which works on the iPhone, iPad, iPod Touch and Android phones @ http://cfp.devoxx.com/mobile/.
The mobile client uses offline and local storage HTML5 features, CSS and jQuery/JavaScript consuming the available REST/JSON methods through AJAX. You can now also mark your favorite talks and create and share your own Schedule!

Android

Filip Maelbrancke developed an open-source native Android Scheduling client for Devoxx but this was before the REST API existed.
The code is available on Google Code, anybody interested in porting this app?

Griffon

Andres Almiray is currently working on a Scheduling client using the Griffon framework (an open source RIA framework which leverages the Groovy programming language). The code is available @ GitHub.

JavaFX

Joeri Sykora and Johan Vos have started a JavaFX client, the project is open sourced and hosted on BitBucket.

Vaadin

Teemu Pöntelin developed a Devoxx schedule client using Vaadin. Vaadin is an open source web application framework for rich Internet applications. Ajax technology is used at the browser-side to ensure a rich and interactive user experience. On client-side Vaadin is built on top of and can be extended with Google Web Toolkit.

Click image to see the application in action, source code available at Vaadin.

Native iPhone client

Native iPhone client developed by Arexo, available on Apple Store. What's really nice is that this client has also a local storage MySchedule!

iText PDF Client

Bruno Lowagie (founder of iText) is working on a client that generates a PDF conference schedule which we'll print and insert in your welcome bag! When ready this project will be hosted on Google Code.
Bruno will also talk about this project (and lost more) during his Devoxx University session.

Flex/AIR

TBA

REST URIs

The listed REST URIs return all JSON responses.

Base URI

 /rest/v1/ 
  • GET : Returns a collection of available root-uri's.
  • GET Response :
[
 {"uri":"http://cfp.devoxx.com/rest/v1/events"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/{event-id}"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/{event-id}/presentations"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/{event-id}/presentations/search?title={title}
&abstract={abstract}&speaker={speakerName}&track={track}&type={presentationType}&experience={experienceLevel}"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/presentations/{presentation-id}"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/{event-id}/speakers"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/speakers/{speaker-id}"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/{event-id}/schedule"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/{event-id}/schedule/day/{number-of-day}"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/{event-id}/schedule/rooms"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/{event-id}/schedule/day/{number-of-day}/room/{room-id}"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/{event-id}/tracks"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/{event-id}/presentationtypes"},
 {"uri":"http://cfp.devoxx.com/rest/v1/events/{event-id}/experiencelevels"}
]

Get Events

  /events 
  • GET : returns all active events (events that have taken place are not listed)
  • Get Response :
[{"id":1,"from":"2010-11-15","to":"2010-11-19",
"enabled":true,"location":"MetroPolis",
"description":"The annual BeJUG international java conference.","name":"Devoxx 2010"}]

Only one event is shown because for the moment we have only created one

Get Event Details

  /events/{event-Id} 
  • GET : Returns detailed event info for given event identifier.
  • GET Response :
[{"id":1,"from":"2010-11-15","to":"2010-11-19",
"enabled":true,"location":"MetroPolis",
"description":"The annual BeJUG international java conference.","name":"Devoxx 2010"}]

Get Presentations per event

  /events/{event-Id}/presentations 
  • GET : Get all presentations for event-id

Get Presentation details

  /events/presentations/{presentation-Id} 
  • GET : returns the presentation details. Users get status code HTTP/401 "Unauthorized" when presentation is not approved.
To support multiple speakers per presentation we have added a JSON array named 'speakers'. We advice you to use this to show the related speaker(s) info.

Get Speakers per event

  /events/{event-Id}/speakers 
  • GET : Returns list of confirmed speakers
The speakers JSON response now also includes a speaker image URI!

Get Event Schedule

  /events/{event-Id}/schedule 
  • GET : Returns the full schedule for the selected event
  • GET Response :
[{"id":1,"fromTime":"2010-11-15 09:30:00.0","code":"D10_U_15_08_01","toTime":"2010-11-15 12:30:00.0","room":"Room 8"},
{"id":2,"fromTime":"2010-11-15 09:30:00.0","code":"D10_U_15_05_01","toTime":"2010-11-15 12:30:00.0","room":"Room 5"},
{"id":3,"fromTime":"2010-11-15 09:30:00.0","code":"D10_U_15_04_01","toTime":"2010-11-15 12:30:00.0","room":"Room 4"},
{"id":4,"fromTime":"2010-11-15 09:30:00.0","code":"D10_U_15_09_01","toTime":"2010-11-15 12:30:00.0","room":"Room 9"},
{"id":5,"fromTime":"2010-11-15 08:00:00.0","code":"Breakfast","toTime":"2010-11-15 09:30:00.0","room":"Hollywood Lounge"},
{"id":6,"fromTime":"2010-11-15 12:30:00.0","code":"Lunch","toTime":"2010-11-15 13:30:00.0","room":"Hollywood Lounge"},
{"id":7,"fromTime":"2010-11-15 13:30:00.0","code":"D10_U_15_08_02","toTime":"2010-11-15 16:30:00.0","room":"Room 8"},
{"id":8,"fromTime":"2010-11-15 13:30:00.0","code":"D10_U_15_05_02","toTime":"2010-11-15 16:30:00.0","room":"Room 5"},
{"id":9,"fromTime":"2010-11-15 13:30:00.0","code":"D10_U_15_04_02","toTime":"2010-11-15 16:30:00.0","room":"Room 4"},
{"id":10,"fromTime":"2010-11-15 13:30:00.0","code":"D10_U_15_09_02","toTime":"2010-11-15 16:30:00.0","room":"Room 9"},
{"id":11,"fromTime":"2010-11-15 16:30:00.0","code":"Coffee break","toTime":"2010-11-15 16:45:00.0","room":"Hollywood Lounge"},
{"id":12,"fromTime":"2010-11-15 16:45:00.0","code":"D10_T_15_08_01","toTime":"2010-11-15 17:15:00.0","room":"Room 8"},
{"id":13,"fromTime":"2010-11-15 16:45:00.0","code":"D10_T_15_05_01","toTime":"2010-11-15 17:15:00.0","room":"Room 5"},
{"id":14,"fromTime":"2010-11-15 16:45:00.0","code":"D10_T_15_04_01","toTime":"2010-11-15 17:15:00.0","room":"Room 4"},
{"id":15,"fromTime":"2010-11-15 16:45:00.0","code":"D10_T_15_09_01","toTime":"2010-11-15 17:15:00.0","room":"Room 9"}]

The full Devoxx 2010 schedule items are now available.

Get Event Schedule per day

  /events/{event-Id}/schedule/day/1 
  • GET : Returns the schedule for day one for the selected event
  /events/{event-Id}/schedule/day/2 
  • GET : Returns the schedule for day two for the selected event and throws status code HTTP/405 "Method Not Allowed" when day two does not exist.
To support multiple speakers per presentation we have added a JSON array named 'speakers'. We advice you to use this to show the related speaker(s) info.

Search Presentations

/events/{event-id}/presentations/search?title={title}
&abstract={abstract}&speaker={speakerName}&track={track}&type={presentationType}&experience={experienceLevel}
  • GET : Returns approved presentations for a given event and used filter. The possible filter parameters are presentation title, abstract, speaker name, track, type of presentation and experience level.

To know which tracks, presentation types and experience levels exist you can call the following REST methods :

/events/{event-id}/tracks
/events/{event-id}/presentationtypes
/events/{event-id}/experiencelevels

Register Here!


Devoxx 2010 =
3000 Developers
100 Javaholics
5 days
1 venue

Sponsors

Become a Devoxx™ 2010 Sponsor and get connected with the European Java Community.

Parleys.com

View ALL Devoxx talks from 2009 and 2008 on Parleys.com

Stay Connected

Adaptavist Theme Builder Powered by Atlassian Confluence