May 28, 2021
LISS is a protocol allowing two different applications to exchange data using a standard format.
LISS supports two different modes, “PUSH” and “PULL”. This results in the protocol having four different flavours:
- Pushing data to some other application
- Receiving data that has been pushed from some other application
- Pull data from some other application
- Pass data to some other application that has requested it
SOBS supports a number of different options depending on the data. These will be listed later.
Click on your school name (bottom left) and then on “School configuration”. This will display the configuration menu (pictured).
Select the “LISS” entry from this menu.
This will display any current LISS configuration options. Use the menu at the top right of the table to add new LISS connection details.
To configure your first LISS connection begin by determining how the data will be transferred. Will you be pushing data to SOBS, pushing data from SOBS, pulling data from SOBS or pulling data to SOBS?
Select the appropriate option from the first pull down. These four options relate to those four different flavours.
The second pull down will define the direction of the data and the type of data that is being processed. These are predefined LISS structures.
Some of these are valid for SOBS, and some of them are not. For example, in your school you would typically go to a single source for a list of staff. This is most likely an Active Directory or similar user authentication system. So to update the SOBS list of staff you would use a “liss.getTeachers” call from SOBS to the Active Directory system. The Active Directory would support this call and return the list of staff data to SOBS. On the other hand, I would not expect SOBS to support being called with the “liss.getTeachers” request, nor would I expect it to issue “liss.publishTeachers”. However, SOBS may respond to the Active Directory issung a “liss.publishTeachers” to SOBS, ie Active Directory is sending SOBS a list of staff.
SOBS currently supports the following:
- liss.getTeachers : eg Retrieving a list of staff from another application
- liss.publishTeachers : eg TimeTabler sending a list of staff
- liss.publishRooms : eg Edval sending a list of bookable rooms
- liss.publishTimetable : eg Edval sending timetable data
In the instance we are pushing data (or publishing data) to another application you can add the URL for the other application here (screen shot below). Otherwise you can add a description of the other application that will be using this LISS connection.
Currently SOBS is only support JSON connections. XML is a legacy option. All new LISS implementations will be using JSON.
When we configure a LISS connection we are essentially allowing another computer somewhere to send data into our application. In order to maintain security we will require the other application to pass through the username and password specified on our connection. If the username or password are not valid then the request will be rejected.
Lastly the “Process immediately” option instructs SOBS to process the incoming request, for example a “liss.publishTimetable” from Edval will be processed as soon as the data is received.
The other option is to store the data that was provided and process it interactively at a later time. In the following screen shot you can see there is some data that has been received and stored and is awaiting processing.
A simple example
As an example let’s assume you were wanting to transfer timetable data from Edval to SOBS.
Configure the LISS connection as follows:
When creating this LISS connection I entered the following detail:
This username and password are then entered into the LISS connection details on the Edval end. When Edval sends the data it will include this username and password. When the data arrives at SOBS we will confirm the username and password are correct.
Lastly, Edval will also require a URL for SOBS. The URL to use is:
Replace “X” with your SOBS schoolid.
Now you should be able to publish your Edval timetable directly into SOBS.