Quite a few updates have been made to the BibServer code over the last week. Here is a rundown:
It is now possible to login to a BibServer instance. This is not required to view, but is required longer term to manage uploads to real people.
User login is still rudimentary – no checks are performed on the values provided, and user accounts will be deleted when we do updates. So just pick something simple for now.
Upload restricted to logged in users
Upload can now only be performed by a user who has signed up for an account. This is in order to restrict spam and other such activities, and also enables someone to show that a collection is “theirs”. This does not imply restrictions to access to the collections. Collections still appear at the “/collection” URL, but are also available under a “/username” URL.
Uploading remotely/ programmatically via GET / POST – API keys
To upload remotely via GET or POST, it is necessary to provide an API key. With no API key, a request will be ignored. Has this been enabled? Must check with Rufus.
Collection records separated from actual records
Every collection has a metadata record which were previously all stored in the same index with the collection records. These have now been separated out, so that collection records do not appear in normal search results. Collection metadata is still shown on result pages, and is available in the JSON responses. Collection metadata records are available at “/collection”.
Collection metadata in the JSON responses
A request for a JSON response will now include metadata, such as information about the collection the records belong to, where such metadata is available. This means the returned value will be a JSON object with various metadata keys, and the records will be available as objects in a list identified by the “records” key. To retrieve the records alone, metadata can be suppressed by appending the “meta” query parameter, e.g. “&meta=false”.
Facet information in the JSON responses
Where facet information is available underlying a particular page, it too can be included in the JSON response. This requires that metadata has not been explicitly turned off, and also that the “facet” query parameter is appended, e.g. “&facet=true”. The facet values will be available under the “facets” key in the JSON response object.