Skip to content
This repository has been archived by the owner on Feb 22, 2024. It is now read-only.

Latest commit

 

History

History
144 lines (107 loc) · 5.53 KB

INTERFACES.adoc

File metadata and controls

144 lines (107 loc) · 5.53 KB

Documentation of Interfaces

Provided Interfaces

This list of provided interfaces is a guide for those who want to integrate with the Web application. There are no REST-interfaces (as it is a client-only HTML application). But there are links that you can use to jump directly to the designated functionality.

All links assume that you have prepend the base URL. For your convenience a link to the latest build of this software is stated here.

Interfaces for users

/ (Start Page)

The standard page a user should navigate to. This usually show currently an overview of talks and a filter and a search field
https://latest.dukecon.org/javaland/2019/

/#/schedule (Schedule)

Overview of talks and a filter and a search field
https://latest.dukecon.org/javaland/2019/#/schedule

/#/schedule/<date> (Schedule with pre-selected date)

Overview of talks and a filter and a search field, with a pre-selected day
https://latest.dukecon.org/javaland/2019/#/schedule/2018-03-14

/#/timetable (Timetable)

This show a timetable. It is scrollable horizontally and zoomable. Currently there are no filters and there is no search field, but this may change over time. https://latest.dukecon.org/javaland/2019/#/timetable

/#/speakers (Speakers)

This is an alphabetical list of all speakers and their talks. https://latest.dukecon.org/javaland/2019/#/speakers

/#/speaker/<speakerId> (single Speaker)

Link to a specific speaker.
https://latest.dukecon.org/javaland/2019/#/speaker/378511

/#/scheduledEvent/<eventId> (single Event or Talk)

Link to a specific talk.
https://latest.dukecon.org/javaland/2019/#/scheduledEvent/548978

/#/…​?search=<term> (search term as query parameter)

Hand over a search term as a query parameter. Special characters need to be URL encoded. German Umlauts need to be encoded as two bytes. You can use the following online tool to encode strings: https://meyerweb.com/eric/tools/dencoder/
You can hand over a search term with any URL, but search will only filter the events if the page is search enabled.
https://latest.dukecon.org/javaland/2019/#/?search=L%C3%B6sung

Interfaces for operations

The following URLs are helpful for administrating stuff:

/COMMITHASH

Commit hash this was built on
https://latest.dukecon.org/javaland/2019/COMMITHASH

There are also BRANCH and VERSION but they currently don’t provide additional information as the central build checks out a specific commit ID and then builds it.

Deprecated Provided Interfaces

The following URLs were valid with the previous application. Old links are forwarded to the new links.

All links assume that you have prepend the base URL. For your convenience a link to the latest build of this software is stated here.

/feedback.html

Links to feedback
https://latest.dukecon.org/javaland/2019/feedback.html

/schedule.html

Links to schedule
https://latest.dukecon.org/javaland/2019/schedule.html

/speakers.html

Links to all speakers
https://latest.dukecon.org/javaland/2019/speakers.html

/talk.html#talk?talkId=<talkId>

Links to a specific talk
https://latest.dukecon.org/javaland/2019/talk.html#talk?talkId=548978

/speaker.html#speaker?speakerId=<speakerId>

Links to a specific speaker
https://latest.dukecon.org/javaland/2019/speaker.html#speaker?speakerId=378511

/…​?search=<term>

Hand over a search term as a query parameter. Note that the new API always starts with a /#/ before the search term.
https://latest.dukecon.org/javaland/2019/?search=L%C3%B6sung

Consumed Interfaces

This list of consumed interfaces provides a guide for those who setup an environment for a new conference or a new server in general.

All links assume that you have prepend the base URL. For your convenience a link to the latest build of this software is stated here.

rest/init.json

Base conference information, provides i.e. the conferenceId for the following calls.
https://latest.dukecon.org/javaland/2019/rest/init.json

rest/conferences/<conferenceId>/styles.css

Styles for a specific conference https://latest.dukecon.org/javaland/2019/rest/conferences/javaland2018/styles.css

rest/conferences/<conferenceId>

All events, speakers and metadata (rooms, tracks)
https://latest.dukecon.org/javaland/2019/rest/conferences/javaland2018

rest/image-resources.json

Icons for the conference, i.e. for each track
https://latest.dukecon.org/javaland/2019/rest/image-resources.json

rest/speaker/images/<photoId>

Photo of a specific speaker.
https://latest.dukecon.org/javaland/2019/rest/speaker/images/54b7e39e34aabbdf3c6a6e10e24c7821

rest/eventsBooking/<conferenceId>

Current number of favorites and fully booked settings.
https://latest.dukecon.org/javaland/2019/rest/eventsBooking/javaland2018

img/favicon.ico

Fav-Icon of the conference for the browser tab and also for bookmarks. https://latest.dukecon.org/javaland/2019/img/favicon.ico

rest/preferences

Get preferences (favorites) of current user. Requires login. Authentication can be done with a session (when called from a browser directly) or via access token (when used via AJAX from the app). When you call the URL with the browser you’ll be redirected to a login page. To update the preferences for a user we use POST to send a full set of preferences.
https://latest.dukecon.org/javaland/2019/rest/preferences

rest/feedback/event/<conferenceId>/<eventId>

Save the feedback for a given conference and event using PUT

$ curl 'https://latest.dukecon.org/javaland/2019/rest/feedback/event/javaland2018/548938' -X PUT -H 'Authorization: bearer ey...Gw' --data-binary '{"comment":"test","rating":3}'