Output format
This document provides some basic explanation about the production of output in a service or servlet response.
XML
PageSeeder services and servlets will all return XML by default. The documentation for the specific service or servlet will list the objects returned but for a detailed description of these objects, see the Element reference.
For example the URL /service/groups/acme-specs/members
will return:
<memberships count="1"> <group id="178" name="acme-specs" description="ACME project specifications" owner="acme" access="member" common="false"/> <membership id="397" email-listed="true" notification="none" status="normal" role="manager" created="2015-08-20T11:59:36+10:00"> <member id="1" firstname="John" surname="Joans" username="jjones" email="jjones@allette.com.au" status="activated"> <fullname>John Joans</fullname> </member> </membership> </memberships>
The details of the membership
object are shown in the element reference.
JSON
If a service or servlet has JSON listed as one of the outputs at the top of it's documentation then adding .json
to the end of it's URL or the HTTP header Accept:application/json
will return JSON format. This returns exactly the same information as the XML but in a different format.
For example the URL /service/groups/acme-specs/members.json
will return:
{ "count":1, "group": {"id":178,"name":"acme-specs","type":"group","description":"ACME project specifications", "owner":"acme","access":"member","common":false }, "memberships":[ {"id":397,"emailListed":true,"notification":"none", "status":"normal","role":"manager","created":"2015-08-20T11:59:36+10:00", "member": {"id":1,"firstname":"John","surname":"Joans","username":"jjones", "email":"jjones@allette.com.au","status":"activated", "fullname":"John Joans" } } ] }
If an XML attribute contains a hyphen then in JSON the hyphen will be removed and the letter following it will be Capitalized (e.g. `email-listed` becomes `emailListed`).
CSV
If a service or servlet has CSV listed as one of the outputs at the top of its documentation, then adding .csv
to the end of its URL or the HTTP header Accept:text/csv
will return CSV format. This generally returns only a subset of the information returned by the other formats.
For example the URL /service/groups/acme-specs/members.json
will return:
Member ID,First name,Surname,Email,Username,Status,Notification,Role,Created 1,John,Joans,jjones@allette.com.au,jjones,normal,none,manager,2015-08-20 11:59:36
For CSV output, the ‘T’ and the timezone have been removed from date fields for compatibility with Microsoft Excel. If any field values begin with '-' Excel will interpret them as formulas. One way to fix this is to replace all '=' with '' after opening the CSV in Excel.