sync config documentation
This commit is contained in:
parent
1a2f051bdd
commit
9208e09dd2
3 changed files with 542 additions and 173 deletions
|
@ -6,17 +6,19 @@
|
|||
{
|
||||
/*
|
||||
"annotations" configures the annotation panel.
|
||||
- showUsers: If true, include list of users in menu, so that
|
||||
"showUsers": If true, include list of users in menu, so that
|
||||
annotations by specific users can be turned on and off
|
||||
*/
|
||||
"annotations": {
|
||||
"showUsers": false
|
||||
},
|
||||
/*
|
||||
"cantPlay" sets the UI for videos that a user is not allowed to play.
|
||||
icon: symbol name (see https://oxjs.org/#examples/symbols/live)
|
||||
link: loaded on click
|
||||
text: shown on hover
|
||||
"cantPlay" specifies the UI for clips or videos that a user is not allowed
|
||||
to play.
|
||||
"icon": Symbol name (see https://oxjs.org/#examples/symbols/live)
|
||||
"link": URL loaded on click (for example "/rights", if "rights" is
|
||||
defined in "sitePages")
|
||||
"text": Text shown on mouseover
|
||||
*/
|
||||
"cantPlay": {
|
||||
"icon": "NoCopyright",
|
||||
|
@ -24,12 +26,12 @@
|
|||
"text": "This part of this video is not available in<br/>your part of your country. Sorry for that."
|
||||
},
|
||||
/*
|
||||
Capabilities are per user level.
|
||||
They can either be general:
|
||||
{level: true} means a user of that level has the capability)
|
||||
or related to items:
|
||||
{level: x} means a user of that level has the capability
|
||||
for items of a rights level up to and including x
|
||||
"capabilities" are permissions per user level.
|
||||
Depending on the capability, this is either global:
|
||||
{level: true} means a user of that level has the capability
|
||||
or related to the rights levels of items or texts:
|
||||
{level: x} means a user of that level has the capability for items or
|
||||
texts of a rights level up to and including x
|
||||
*/
|
||||
"capabilities": {
|
||||
"canAddItems": {"staff": true, "admin": true},
|
||||
|
@ -68,8 +70,9 @@
|
|||
"canSendMail": {"staff": true, "admin": true}
|
||||
},
|
||||
/*
|
||||
clipKeys are the properties that clips can be sorted by.
|
||||
If sortOperator is not specified, it will be + for strings and - for numbers.
|
||||
"clipKeys" are the properties that clips can be sorted by (the values are
|
||||
populated automatically). If "sortOperator" is not specified, it will be
|
||||
"+" (ascending) for strings and "-" (descending) for numbers.
|
||||
*/
|
||||
"clipKeys": [
|
||||
{"id": "text", "title": "Text", "type": "string"},
|
||||
|
@ -81,15 +84,32 @@
|
|||
{"id": "volume", "title": "Volume", "type": "float"}
|
||||
],
|
||||
/*
|
||||
clipLayers is the ordered list of public layers that will appear as the
|
||||
text of clips. Excluding a layer from this list means it will not be
|
||||
included in find annotations.
|
||||
"clipLayers" is the ordered list of public layers that will appear as the
|
||||
text of clips (in grid view, below the icon). Excluding a layer from this
|
||||
list means it will not be included in find annotations.
|
||||
*/
|
||||
"clipLayers": ["subtitles"],
|
||||
/*
|
||||
"entities" can be used to store arbitrary data. They can be referenced in
|
||||
annotations, info view, or elsewhere. Each entry defines a specific class
|
||||
of entity object, its properties and their types (for example an "actor"
|
||||
with "name", "biography", "portrait" etc). The HTML representation for
|
||||
entities can be customized by adding "/static/js/entity.SITENAME.js".
|
||||
Each entity has the following properties:
|
||||
"id": Unique internal ID (can be referenced in "layers")
|
||||
"title": Human-readable title
|
||||
"keys": List of properties
|
||||
"sortType": Optional. If set to "person" or "title", then the sort
|
||||
order can be configured in "Manage Names" or "Manage Titles"
|
||||
Each key has the properties "id", "title" and "type". "type" can be
|
||||
"boolean", "number", "string", "text", "document" (reference to the id of a
|
||||
document added via "Manage Documents") or ["string"] (list of strings).
|
||||
"id" and "name" keys are required. If "alternativeNames" is present, these
|
||||
will act as synonyms when autocompleting values entered as annotations.
|
||||
*/
|
||||
"entities": [],
|
||||
/*
|
||||
"help" specifies the sections of the help dialog.
|
||||
There isn't much of a point in making changes to this.
|
||||
*/
|
||||
"help": [
|
||||
{"id": "help", "title": "Help"},
|
||||
|
@ -112,27 +132,52 @@
|
|||
{"id": "embeds", "title": "Embeds"}
|
||||
],
|
||||
/*
|
||||
"itemKeys" defines the metadata associated with each item. Required keys
|
||||
are "*", "id" and "title". Annotation layers can be referenced too, which
|
||||
makes them available in the find element. Adding a key with "annotations"
|
||||
as id adds a "find in any annotation layer" option. Further, adding a key
|
||||
with "random" as id can be used for a random sort order.
|
||||
An itemKey must have the following properties:
|
||||
id: The id of the key (as known by the server)
|
||||
title: The title of the key (as displayed by the client)
|
||||
type: text, string, float, integer, or array of any of these
|
||||
"id": The unique id of the key (as used by the server)
|
||||
"title": The title of the key (as displayed by the client)
|
||||
"type": Can be "boolean", "date", "enum", "float", "hue", "integer",
|
||||
"layer", "string", "text", "time" or ["..."] (list of values of
|
||||
this type). If type is "layer", this is a reference to the
|
||||
annotations layer with the same id.
|
||||
and can have any of the following properties:
|
||||
autocomplete: If true, find element will autocomplete
|
||||
autocompleteSort: Sort order of autocomplete suggestions
|
||||
capability: A capability required to see this key
|
||||
columnRequired: If true, the column can't be removed
|
||||
columnWidth: Default column width in px
|
||||
filter: If true, one can filter results by this key
|
||||
find: If true, this key will appear as a find option
|
||||
format: {type: "...", args: [...]}, for special formatting
|
||||
(Ox.formatType(args) will be called)
|
||||
secondaryId: If true, loading /value will redirect to the item
|
||||
sort: If true, one can sort results by this key
|
||||
sortOperator: sort operator (+, -), in case it differs from the
|
||||
default for the key's type (+ for strings, - for numbers)
|
||||
sortType: special sort type (title, person)
|
||||
value: {key: "...", type: "..."}, for keys that are derived
|
||||
from other keys (like number of actors), or "capability"
|
||||
"additionalSort": Ordered list of {key, operator} objects, where key is
|
||||
another itemKey and operator is "+" or "-". This can be used to
|
||||
override user.ui.listSort when results are sorted by this key.
|
||||
"autocomplete": If true, the find element will provide autocomplete
|
||||
"autocompleteSort": Sort order of autocomplete suggestions
|
||||
"capability": A capability required to see data for this key
|
||||
"columnRequired": If true, the column can't be removed from list view
|
||||
"columnWidth": Default column width in px. If absent, no column for
|
||||
this key can be added in list view.
|
||||
"filter": If true, one can filter results by this key
|
||||
"find": If true, this key will appear as an option in the find element
|
||||
"flag": Can be "country" or "language". If set (and filter is true), a
|
||||
flag icon corresponding to the field's value will be displayed.
|
||||
"format": {type: string, args: [value, value, ...]}, used for special
|
||||
formatting. This will invoke Ox.formatType(args). For details, see
|
||||
https://oxjs.org/#doc/Ox.formatArea etc.
|
||||
"secondaryId": If true, loading the URL "/value" will redirect to the
|
||||
corresponding item, in case there is an exact match for this key
|
||||
"sort": If true, one can sort results by this key
|
||||
"sortOperator": Sort order ("+" or "-"), in case it differs from the
|
||||
default for the key's type ("+" for strings, "-" for numbers)
|
||||
"sortType": Special sort type ("person" or "title") which can be
|
||||
further configured in "Manage Names" or "Manage Titles"
|
||||
"value": {key: string, type: string} or {layer: string, type: string},
|
||||
for keys whose value is derived from other keys or layers (like
|
||||
"number of actors" or "words per minute"). Possible values for type
|
||||
are "length", "lengthperminute", "words", and "wordsperminute".
|
||||
Alternatively, "value" can be set to the string "capability", which
|
||||
results in an itemKey whose boolean value indicates the presence or
|
||||
absence of a userLevel-dependent capability. This can be used to
|
||||
create queries and lists like "all items this user can play" etc.
|
||||
"values": [value, value, ...] Ordered list of values, in case "type" is
|
||||
"enum"
|
||||
*/
|
||||
"itemKeys": [
|
||||
{
|
||||
|
@ -631,27 +676,28 @@
|
|||
}
|
||||
],
|
||||
/*
|
||||
itemName specifies how items are being referred to.
|
||||
Anything excessively long may cause layout errors.
|
||||
"itemName" specifies the name of items ("Movies", "Videos" or similar).
|
||||
Note that anything excessively long may cause layout errors.
|
||||
*/
|
||||
"itemName": {
|
||||
"singular": "Movie",
|
||||
"plural": "Movies"
|
||||
},
|
||||
/*
|
||||
"itemRequiresVideo" specifies if items without video can be created.
|
||||
If true, the only way to add an item is to upload a video.
|
||||
"itemRequiresVideo" regulates if items without video can be created. If set
|
||||
to true, the only way to add a new item is to upload a new video.
|
||||
*/
|
||||
"itemRequiresVideo": true,
|
||||
/*
|
||||
"itemTitleKeys" list of itemKeys used to compose the title
|
||||
via pandora.getItemTitle
|
||||
"itemTitleKeys" is a list of itemKeys required to compose the item title
|
||||
displayed at the top of the screen. This title can be customized by adding
|
||||
"/static/js/getItemTitle.SITENAME.js".
|
||||
*/
|
||||
"itemTitleKeys": ["title", "director", "year"],
|
||||
/*
|
||||
"itemViews" is an ordered list of available item views.
|
||||
Implemented views are "info", "documents", "player", "editor",
|
||||
"timeline", "clips", "map", "calendar", "data" and "media".
|
||||
"itemViews" is an ordered list of available item views. Implemented views
|
||||
are "info", "documents", "player", "editor", "timeline", "clips", "map",
|
||||
"calendar", "data" and "media".
|
||||
*/
|
||||
"itemViews": [
|
||||
{"id": "info", "title": "Info"},
|
||||
|
@ -665,20 +711,38 @@
|
|||
{"id": "media", "title": "Media"}
|
||||
],
|
||||
/*
|
||||
"language" is the default language for annotations of type "text".
|
||||
Text in other languages can be added via markup, for example:
|
||||
"language" is the default language for annotations of type "text". Text in
|
||||
other languages can be added via markup, for example:
|
||||
<span lang="fr">Voilà!</span>
|
||||
*/
|
||||
"language": "en",
|
||||
/*
|
||||
"languages" is the list of languages that the interface can be set to.
|
||||
Currently, localization exists for "ar", "el", "en" and "hi". (???)
|
||||
"languages" is the list of languages that the interface can be switched to.
|
||||
Currently, localization exists for "ar", "el", "en" and "hi".
|
||||
*/
|
||||
"languages": ["ar", "el", "en", "hi"],
|
||||
// fixme: should be renamed to annotationLayers
|
||||
/*
|
||||
"layers" define what annotation tracks are present.
|
||||
(...)
|
||||
"layers" defines the types of time-based annotations that can be entered.
|
||||
Required keys are:
|
||||
"id": Internal ID
|
||||
"item": Name of one such annotation (singular)
|
||||
"title": Display title
|
||||
"type": Can be "entity", "string" or "text" (strings cannot contain
|
||||
line breaks, text can contain HTML markup).
|
||||
Optional keys are:
|
||||
"autocomplete": Available if the layer is used as a filter
|
||||
"canAddAnnotations": Permissions per user level
|
||||
"entity": ID of the referenced entity (if type is "entity")
|
||||
"hasEvents": If true, the calendar will be populated with matches from
|
||||
this layer
|
||||
"hasPlaces": If true, the map will be populated with matches from this
|
||||
layer
|
||||
"isSubtitles": If true, this layer will be displayed as subtitles
|
||||
"overlap": If true, overlapping annotations are allowed. Note that
|
||||
enforcement of "overlap": false is not implemented
|
||||
"showInfo": If true, user and creation time will be displayed in the
|
||||
tooltip that appears on mouseover.
|
||||
*/
|
||||
"layers": [
|
||||
{
|
||||
|
@ -712,6 +776,8 @@
|
|||
}
|
||||
],
|
||||
/*
|
||||
"listViews" is an ordered list of available list views. Implemented views
|
||||
are "list", "grid", "timelines", "clips", "clip", "map" and "calendar".
|
||||
*/
|
||||
"listViews": [
|
||||
{"id": "list", "title": "as List"},
|
||||
|
@ -727,12 +793,19 @@
|
|||
{"id": "calendar", "title": "on Calendar"}
|
||||
],
|
||||
/*
|
||||
"media" defines additional media that gets added when importing items.
|
||||
"importPosters": If true, a poster file will be imported (if present)
|
||||
"importFrames": If true, 3 full-resolution frames per file will be
|
||||
imported. This is useful to render high-resolution icons and
|
||||
posters for an instance that has only low-resolution video.
|
||||
*/
|
||||
"media": {
|
||||
"importPosters": true,
|
||||
"importFrames": true
|
||||
},
|
||||
/*
|
||||
"menuExtras" can be used to add extra functionality to the main menu bar.
|
||||
The plug-in architecture is not yet finalized, documentation forthcoming.
|
||||
*/
|
||||
"menuExtras": [
|
||||
"user",
|
||||
|
@ -741,6 +814,12 @@
|
|||
"reload"
|
||||
],
|
||||
/*
|
||||
"personalLists" specifies which pre-defined lists a new member will have
|
||||
after signup. "title" is required. If "query" is present, this defines a
|
||||
smart list. "query" can be any pan.do/ra query object, see /api/find for
|
||||
further documentation. If you need to reference the username (for example
|
||||
in order to include a default "My Videos" list), you can use the syntax
|
||||
{"user": "{username}"}
|
||||
*/
|
||||
"personalLists": [
|
||||
{"title": "Favorites"},
|
||||
|
@ -749,14 +828,20 @@
|
|||
//{"title": "Movies with Clips", "query": {"conditions": [{"key": "canplayclips", "value": "true", "operator": "="}], "operator": "&"}}
|
||||
],
|
||||
/*
|
||||
"posters" contains details about the poster icons. "ratio" is the default
|
||||
ratio (used to display a placeholder while poster icons are loading).
|
||||
*/
|
||||
"posters": {
|
||||
"ratio": 0.625
|
||||
},
|
||||
/*
|
||||
"rightsLevel" defines which initial rights level will be assigned to items
|
||||
and texts created by users of these user levels.
|
||||
*/
|
||||
"rightsLevel": {"member": 4, "staff": 3, "admin": 2},
|
||||
/*
|
||||
"rightsLevels" is an ordered list of rights levels, one of which will be
|
||||
assigned to each item.
|
||||
*/
|
||||
"rightsLevels": [
|
||||
{"name": "Public", "color": [128, 255, 128]},
|
||||
|
@ -766,6 +851,9 @@
|
|||
{"name": "Private", "color": [255, 128, 128]}
|
||||
],
|
||||
/*
|
||||
"site" contains various settings for this instance. In "email", "contact"
|
||||
if the address in the contact form (to), "system" is the address used by
|
||||
the system (from).
|
||||
*/
|
||||
"site": {
|
||||
"description": "0xDB is an experimental - and to some degree imaginary - movie database. It is intended to help us rethink the future of cinema on the Internet, just as it tries to push the boundaries of what we understand as \"web applications\". What 0xDB proposes is an entirely new approach to visualizing and navigating moving images, and we hope that it can serve as a point of reference for individuals and institutions who are dealing with large collections of films.",
|
||||
|
@ -785,6 +873,9 @@
|
|||
"url": "0xDB.org"
|
||||
},
|
||||
/*
|
||||
"sitePages" defines the sections of the main site dialog. If "news" is
|
||||
present, this will add an interface to add news items. If "contact" is
|
||||
present, this will add an interface to contact the site owners.
|
||||
*/
|
||||
"sitePages": [
|
||||
{"id": "about", "title": "About"},
|
||||
|
@ -796,21 +887,30 @@
|
|||
{"id": "contact", "title": "Contact"}
|
||||
],
|
||||
/*
|
||||
"sites" specifies which other pan.do/ra instances, if any, will appear in
|
||||
the user interface for creating embeds. This allows for easier creation of
|
||||
cross-instance references.
|
||||
*/
|
||||
"sites": [
|
||||
{"name": "Indiancine.ma", "url": "indiancine.ma", "https": true},
|
||||
{"name": "Pad.ma", "url": "pad.ma", "https": true}
|
||||
],
|
||||
/*
|
||||
"textRightsLevels" defines a list of rights levels for texts.
|
||||
*/
|
||||
"textRightsLevels": [
|
||||
{"name": "Public", "color": [128, 255, 128]},
|
||||
{"name": "Private", "color": [255, 128, 128]}
|
||||
],
|
||||
/*
|
||||
"themes" is a list of themes that the user interface can be switched to.
|
||||
Currently available themes are "oxlight", "oxmedium" and "oxdark". The
|
||||
default theme can be set in user.ui.theme.
|
||||
*/
|
||||
"themes": ["oxlight", "oxmedium", "oxdark"],
|
||||
/*
|
||||
"timelines" is a list of timeline types. Implemented types are "antialias",
|
||||
"slitscan", "keyframes" and "audio".
|
||||
*/
|
||||
"timelines": [
|
||||
{"id": "antialias", "title": "Anti-Alias"},
|
||||
|
@ -819,6 +919,10 @@
|
|||
{"id": "audio", "title": "Waveform"}
|
||||
],
|
||||
/*
|
||||
"totals" specifies which totals are displayed in the status bar at the
|
||||
bottom of list views. Possible ids are "duration", "files", "items",
|
||||
"pixels" and "size". Adding a capability limits the display of a specific
|
||||
total to users of the corresponding user levels.
|
||||
*/
|
||||
"totals": [
|
||||
{"id": "items"},
|
||||
|
@ -829,11 +933,20 @@
|
|||
{"id": "pixels"}
|
||||
],
|
||||
/*
|
||||
If "tv" is set to true, then in TV mode, the site logo will be displayed in
|
||||
the corner of the screen.
|
||||
*/
|
||||
"tv": {
|
||||
"showLogo": false
|
||||
},
|
||||
/*
|
||||
The "user" object contains the default user settings. "ui" is the default
|
||||
interface state for new users, and after selecting "Reset UI Settings" in
|
||||
Preferences -> Advanced. This is the place to configure various defaults,
|
||||
like the site-wide language and theme, the default list and item views, the
|
||||
default set of filters, etc.
|
||||
Please make sure that in case you rename or remove entries that are
|
||||
referenced in "ui", you update them here as well.
|
||||
*/
|
||||
"user": {
|
||||
"level": "guest",
|
||||
|
@ -980,9 +1093,19 @@
|
|||
},
|
||||
// fixme: this should include colors
|
||||
/*
|
||||
"userLevels" is an ordered list of user classes. The first entry is for
|
||||
unregistered visitors.
|
||||
*/
|
||||
"userLevels": ["guest", "member", "friend", "staff", "admin"],
|
||||
/*
|
||||
"video" contains the video settings.
|
||||
"formats": Supported video formats. Should be ["webm", "mp4"], or
|
||||
["webm"] in case iDevices are not part of the audience
|
||||
"previewRatio": Aspect ratio used in the info panel in the bottom left
|
||||
corner of the screen
|
||||
"resolutions": List of video resolutions. Supported values are 96, 144,
|
||||
240, 288, 360, 432, 480, 720 and 1080.
|
||||
"torrent": If true, video downloads are offered via BitTorrent
|
||||
*/
|
||||
"video": {
|
||||
"torrent": true,
|
||||
|
|
|
@ -7,17 +7,19 @@
|
|||
{
|
||||
/*
|
||||
"annotations" configures the annotation panel.
|
||||
- showUsers: If true, include list of users in menu, so that
|
||||
"showUsers": If true, include list of users in menu, so that
|
||||
annotations by specific users can be turned on and off
|
||||
*/
|
||||
"annotations": {
|
||||
"showUsers": true
|
||||
},
|
||||
/*
|
||||
"cantPlay" sets the UI for videos that a user is not allowed to play.
|
||||
icon: symbol name (see https://oxjs.org/#examples/symbols/live)
|
||||
link: loaded on click
|
||||
text: shown on hover
|
||||
"cantPlay" specifies the UI for clips or videos that a user is not allowed
|
||||
to play.
|
||||
"icon": Symbol name (see https://oxjs.org/#examples/symbols/live)
|
||||
"link": URL loaded on click (for example "/rights", if "rights" is
|
||||
defined in "sitePages")
|
||||
"text": Text shown on mouseover
|
||||
*/
|
||||
"cantPlay": {
|
||||
"icon": "NoCopyright",
|
||||
|
@ -25,12 +27,12 @@
|
|||
"text": "This movie is still under copyright."
|
||||
},
|
||||
/*
|
||||
Capabilities are per user level.
|
||||
They can either be general:
|
||||
{level: true} means a user of that level has the capability)
|
||||
or related to items:
|
||||
{level: x} means a user of that level has the capability
|
||||
for items of a rights level up to and including x
|
||||
"capabilities" are permissions per user level.
|
||||
Depending on the capability, this is either global:
|
||||
{level: true} means a user of that level has the capability
|
||||
or related to the rights levels of items or texts:
|
||||
{level: x} means a user of that level has the capability for items or
|
||||
texts of a rights level up to and including x
|
||||
*/
|
||||
"capabilities": {
|
||||
"canAddItems": {"researcher": true, "staff": true, "admin": true},
|
||||
|
@ -69,8 +71,9 @@
|
|||
"canSendMail": {"staff": true, "admin": true}
|
||||
},
|
||||
/*
|
||||
clipKeys are the properties that clips can be sorted by.
|
||||
If sortOperator is not specified, it will be + for strings and - for numbers.
|
||||
"clipKeys" are the properties that clips can be sorted by (the values are
|
||||
populated automatically). If "sortOperator" is not specified, it will be
|
||||
"+" (ascending) for strings and "-" (descending) for numbers.
|
||||
*/
|
||||
"clipKeys": [
|
||||
{"id": "text", "title": "Text", "type": "string"},
|
||||
|
@ -82,19 +85,36 @@
|
|||
{"id": "volume", "title": "Volume", "type": "float"}
|
||||
],
|
||||
/*
|
||||
clipLayers is the ordered list of public layers that will appear as the
|
||||
text of clips. Excluding a layer from this list means it will not be
|
||||
included in find annotations.
|
||||
"clipLayers" is the ordered list of public layers that will appear as the
|
||||
text of clips (in grid view, below the icon). Excluding a layer from this
|
||||
list means it will not be included in find annotations.
|
||||
*/
|
||||
"clipLayers": ["subtitles", "keywords", "notes"],
|
||||
/*
|
||||
"entities" can be used to store arbitrary data. They can be referenced in
|
||||
annotations, info view, or elsewhere. Each entry defines a specific class
|
||||
of entity object, its properties and their types (for example an "actor"
|
||||
with "name", "biography", "portrait" etc). The HTML representation for
|
||||
entities can be customized by adding "/static/js/entity.SITENAME.js".
|
||||
Each entity has the following properties:
|
||||
"id": Unique internal ID (can be referenced in "layers")
|
||||
"title": Human-readable title
|
||||
"keys": List of properties
|
||||
"sortType": Optional. If set to "person" or "title", then the sort
|
||||
order can be configured in "Manage Names" or "Manage Titles"
|
||||
Each key has the properties "id", "title" and "type". "type" can be
|
||||
"boolean", "number", "string", "text", "document" (reference to the id of a
|
||||
document added via "Manage Documents") or ["string"] (list of strings).
|
||||
"id" and "name" keys are required. If "alternativeNames" is present, these
|
||||
will act as synonyms when autocompleting values entered as annotations.
|
||||
*/
|
||||
"entities": [],
|
||||
/*
|
||||
"flags" sets if in filters, countries and languages have a flag icon.
|
||||
"flags", if set to true, will cause flag icons to appear in filters.
|
||||
*/
|
||||
"flags": false,
|
||||
/*
|
||||
"help" specifies the sections of the help dialog.
|
||||
There isn't much of a point in making changes to this.
|
||||
*/
|
||||
"help": [
|
||||
{"id": "help", "title": "Help"},
|
||||
|
@ -117,27 +137,52 @@
|
|||
{"id": "embeds", "title": "Embeds"}
|
||||
],
|
||||
/*
|
||||
"itemKeys" defines the metadata associated with each item. Required keys
|
||||
are "*", "id" and "title". Annotation layers can be referenced too, which
|
||||
makes them available in the find element. Adding a key with "annotations"
|
||||
as id adds a "find in any annotation layer" option. Further, adding a key
|
||||
with "random" as id can be used for a random sort order.
|
||||
An itemKey must have the following properties:
|
||||
id: The id of the key (as known by the server)
|
||||
title: The title of the key (as displayed by the client)
|
||||
type: text, string, float, integer, or array of any of these
|
||||
"id": The unique id of the key (as used by the server)
|
||||
"title": The title of the key (as displayed by the client)
|
||||
"type": Can be "boolean", "date", "enum", "float", "hue", "integer",
|
||||
"layer", "string", "text", "time" or ["..."] (list of values of
|
||||
this type). If type is "layer", this is a reference to the
|
||||
annotations layer with the same id.
|
||||
and can have any of the following properties:
|
||||
autocomplete: If true, find element will autocomplete
|
||||
autocompleteSort: Sort order of autocomplete suggestions
|
||||
capability: A capability required to see this key
|
||||
columnRequired: If true, the column can't be removed
|
||||
columnWidth: Default column width in px
|
||||
filter: If true, one can filter results by this key
|
||||
find: If true, this key will appear as a find option
|
||||
format: {type: "...", args: [...]}, for special formatting
|
||||
(Ox.formatType(args) will be called)
|
||||
secondaryId: If true, loading /value will redirect to the item
|
||||
sort: If true, one can sort results by this key
|
||||
sortOperator: sort operator (+, -), in case it differs from the
|
||||
default for the key's type (+ for strings, - for numbers)
|
||||
sortType: special sort type (title, person)
|
||||
value: {key: "...", type: "..."}, for keys that are derived
|
||||
from other keys (like number of actors), or "capability"
|
||||
"additionalSort": Ordered list of {key, operator} objects, where key is
|
||||
another itemKey and operator is "+" or "-". This can be used to
|
||||
override user.ui.listSort when results are sorted by this key.
|
||||
"autocomplete": If true, the find element will provide autocomplete
|
||||
"autocompleteSort": Sort order of autocomplete suggestions
|
||||
"capability": A capability required to see data for this key
|
||||
"columnRequired": If true, the column can't be removed from list view
|
||||
"columnWidth": Default column width in px. If absent, no column for
|
||||
this key can be added in list view.
|
||||
"filter": If true, one can filter results by this key
|
||||
"find": If true, this key will appear as an option in the find element
|
||||
"flag": Can be "country" or "language". If set (and filter is true), a
|
||||
flag icon corresponding to the field's value will be displayed.
|
||||
"format": {type: string, args: [value, value, ...]}, used for special
|
||||
formatting. This will invoke Ox.formatType(args). For details, see
|
||||
https://oxjs.org/#doc/Ox.formatArea etc.
|
||||
"secondaryId": If true, loading the URL "/value" will redirect to the
|
||||
corresponding item, in case there is an exact match for this key
|
||||
"sort": If true, one can sort results by this key
|
||||
"sortOperator": Sort order ("+" or "-"), in case it differs from the
|
||||
default for the key's type ("+" for strings, "-" for numbers)
|
||||
"sortType": Special sort type ("person" or "title") which can be
|
||||
further configured in "Manage Names" or "Manage Titles"
|
||||
"value": {key: string, type: string} or {layer: string, type: string},
|
||||
for keys whose value is derived from other keys or layers (like
|
||||
"number of actors" or "words per minute"). Possible values for type
|
||||
are "length", "lengthperminute", "words", and "wordsperminute".
|
||||
Alternatively, "value" can be set to the string "capability", which
|
||||
results in an itemKey whose boolean value indicates the presence or
|
||||
absence of a userLevel-dependent capability. This can be used to
|
||||
create queries and lists like "all items this user can play" etc.
|
||||
"values": [value, value, ...] Ordered list of values, in case "type" is
|
||||
"enum"
|
||||
*/
|
||||
"itemKeys": [
|
||||
{
|
||||
|
@ -649,27 +694,28 @@
|
|||
}
|
||||
],
|
||||
/*
|
||||
itemName specifies how items are being referred to.
|
||||
Anything excessively long may cause layout errors.
|
||||
"itemName" specifies the name of items ("Movies", "Videos" or similar).
|
||||
Note that anything excessively long may cause layout errors.
|
||||
*/
|
||||
"itemName": {
|
||||
"singular": "Movie",
|
||||
"plural": "Movies"
|
||||
},
|
||||
/*
|
||||
"itemRequiresVideo" specifies if items without video can be created.
|
||||
If true, the only way to add an item is to upload a video.
|
||||
"itemRequiresVideo" regulates if items without video can be created. If set
|
||||
to true, the only way to add a new item is to upload a new video.
|
||||
*/
|
||||
"itemRequiresVideo": false,
|
||||
/*
|
||||
"itemTitleKeys" list of itemKeys used to compose the title
|
||||
via pandora.getItemTitle
|
||||
"itemTitleKeys" is a list of itemKeys required to compose the item title
|
||||
displayed at the top of the screen. This title can be customized by adding
|
||||
"/static/js/getItemTitle.SITENAME.js".
|
||||
*/
|
||||
"itemTitleKeys": ["title", "director", "year"],
|
||||
/*
|
||||
"itemViews" is an ordered list of available item views.
|
||||
Implemented views are "info", "documents", "player", "editor",
|
||||
"timeline", "clips", "map", "calendar", "data" and "media".
|
||||
"itemViews" is an ordered list of available item views. Implemented views
|
||||
are "info", "documents", "player", "editor", "timeline", "clips", "map",
|
||||
"calendar", "data" and "media".
|
||||
*/
|
||||
"itemViews": [
|
||||
{"id": "info", "title": "Info"},
|
||||
|
@ -684,20 +730,38 @@
|
|||
{"id": "media", "title": "Media"}
|
||||
],
|
||||
/*
|
||||
"language" is the default language for annotations of type "text".
|
||||
Text in other languages can be added via markup, for example:
|
||||
"language" is the default language for annotations of type "text". Text in
|
||||
other languages can be added via markup, for example:
|
||||
<span lang="fr">Voilà!</span>
|
||||
*/
|
||||
"language": "en",
|
||||
/*
|
||||
"languages" is the list of languages that the interface can be set to.
|
||||
Currently, localization exists for "ar", "el", "en" and "hi". (???)
|
||||
"languages" is the list of languages that the interface can be switched to.
|
||||
Currently, localization exists for "ar", "el", "en" and "hi".
|
||||
*/
|
||||
"languages": ["ar", "el", "en", "hi"],
|
||||
// fixme: should be renamed to annotationLayers
|
||||
/*
|
||||
"layers" define what annotation tracks are present.
|
||||
(...)
|
||||
"layers" defines the types of time-based annotations that can be entered.
|
||||
Required keys are:
|
||||
"id": Internal ID
|
||||
"item": Name of one such annotation (singular)
|
||||
"title": Display title
|
||||
"type": Can be "entity", "string" or "text" (strings cannot contain
|
||||
line breaks, text can contain HTML markup).
|
||||
Optional keys are:
|
||||
"autocomplete": Available if the layer is used as a filter
|
||||
"canAddAnnotations": Permissions per user level
|
||||
"entity": ID of the referenced entity (if type is "entity")
|
||||
"hasEvents": If true, the calendar will be populated with matches from
|
||||
this layer
|
||||
"hasPlaces": If true, the map will be populated with matches from this
|
||||
layer
|
||||
"isSubtitles": If true, this layer will be displayed as subtitles
|
||||
"overlap": If true, overlapping annotations are allowed. Note that
|
||||
enforcement of "overlap": false is not implemented
|
||||
"showInfo": If true, user and creation time will be displayed in the
|
||||
tooltip that appears on mouseover.
|
||||
*/
|
||||
"layers": [
|
||||
{
|
||||
|
@ -733,6 +797,8 @@
|
|||
}
|
||||
],
|
||||
/*
|
||||
"listViews" is an ordered list of available list views. Implemented views
|
||||
are "list", "grid", "timelines", "clips", "clip", "map" and "calendar".
|
||||
*/
|
||||
"listViews": [
|
||||
{"id": "list", "title": "as List"},
|
||||
|
@ -745,12 +811,19 @@
|
|||
{"id": "calendar", "title": "on Calendar"}
|
||||
],
|
||||
/*
|
||||
"media" defines additional media that gets added when importing items.
|
||||
"importPosters": If true, a poster file will be imported (if present)
|
||||
"importFrames": If true, 3 full-resolution frames per file will be
|
||||
imported. This is useful to render high-resolution icons and
|
||||
posters for an instance that has only low-resolution video.
|
||||
*/
|
||||
"media": {
|
||||
"importPosters": false,
|
||||
"importFrames": false
|
||||
},
|
||||
/*
|
||||
"menuExtras" can be used to add extra functionality to the main menu bar.
|
||||
The plug-in architecture is not yet finalized, documentation forthcoming.
|
||||
*/
|
||||
"menuExtras": [
|
||||
"user",
|
||||
|
@ -758,6 +831,12 @@
|
|||
"reload"
|
||||
],
|
||||
/*
|
||||
"personalLists" specifies which pre-defined lists a new member will have
|
||||
after signup. "title" is required. If "query" is present, this defines a
|
||||
smart list. "query" can be any pan.do/ra query object, see /api/find for
|
||||
further documentation. If you need to reference the username (for example
|
||||
in order to include a default "My Videos" list), you can use the syntax
|
||||
{"user": "{username}"}
|
||||
*/
|
||||
"personalLists": [
|
||||
{"title": "Favorites"},
|
||||
|
@ -765,14 +844,20 @@
|
|||
{"title": "Silent Films", "query": {"conditions": [{"key": "language", "value": "None", "operator": "=="}, {"key": "sound", "value": "Silent", "operator": "=="}], "operator": "|"}}
|
||||
],
|
||||
/*
|
||||
"posters" contains details about the poster icons. "ratio" is the default
|
||||
ratio (used to display a placeholder while poster icons are loading).
|
||||
*/
|
||||
"posters": {
|
||||
"ratio": 0.6875
|
||||
},
|
||||
/*
|
||||
"rightsLevel" defines which initial rights level will be assigned to items
|
||||
and texts created by users of these user levels.
|
||||
*/
|
||||
"rightsLevel": {"member": 3, "researcher": 3, "staff": 3, "admin": 3},
|
||||
/*
|
||||
"rightsLevels" is an ordered list of rights levels, one of which will be
|
||||
assigned to each item.
|
||||
*/
|
||||
"rightsLevels": [
|
||||
{"name": "Public", "color": [128, 255, 128]},
|
||||
|
@ -781,6 +866,9 @@
|
|||
{"name": "Private", "color": [255, 128, 128]}
|
||||
],
|
||||
/*
|
||||
"site" contains various settings for this instance. In "email", "contact"
|
||||
if the address in the contact form (to), "system" is the address used by
|
||||
the system (from).
|
||||
*/
|
||||
"site": {
|
||||
"description": "Indiancine.ma is an annotated online archive of Indian film. It is intended to serve as a shared resource for film scholars and enthusiasts in India and beyond.",
|
||||
|
@ -801,6 +889,9 @@
|
|||
"url": "indiancine.ma"
|
||||
},
|
||||
/*
|
||||
"sitePages" defines the sections of the main site dialog. If "news" is
|
||||
present, this will add an interface to add news items. If "contact" is
|
||||
present, this will add an interface to contact the site owners.
|
||||
*/
|
||||
"sitePages": [
|
||||
{"id": "about", "title": "About"},
|
||||
|
@ -811,21 +902,30 @@
|
|||
{"id": "contact", "title": "Contact"}
|
||||
],
|
||||
/*
|
||||
"sites" specifies which other pan.do/ra instances, if any, will appear in
|
||||
the user interface for creating embeds. This allows for easier creation of
|
||||
cross-instance references.
|
||||
*/
|
||||
"sites": [
|
||||
{"name": "Pad.ma", "url": "pad.ma", "https": true},
|
||||
{"name": "OxDB", "url": "0xdb.org", "https": true}
|
||||
],
|
||||
/*
|
||||
"textRightsLevels" defines a list of rights levels for texts.
|
||||
*/
|
||||
"textRightsLevels": [
|
||||
{"name": "Public", "color": [128, 255, 128]},
|
||||
{"name": "Private", "color": [255, 128, 128]}
|
||||
],
|
||||
/*
|
||||
"themes" is a list of themes that the user interface can be switched to.
|
||||
Currently available themes are "oxlight", "oxmedium" and "oxdark". The
|
||||
default theme can be set in user.ui.theme.
|
||||
*/
|
||||
"themes": ["oxlight", "oxmedium", "oxdark"],
|
||||
/*
|
||||
"timelines" is a list of timeline types. Implemented types are "antialias",
|
||||
"slitscan", "keyframes" and "audio".
|
||||
*/
|
||||
"timelines": [
|
||||
{"id": "antialias", "title": "Anti-Alias"},
|
||||
|
@ -834,6 +934,10 @@
|
|||
{"id": "audio", "title": "Waveform"}
|
||||
],
|
||||
/*
|
||||
"totals" specifies which totals are displayed in the status bar at the
|
||||
bottom of list views. Possible ids are "duration", "files", "items",
|
||||
"pixels" and "size". Adding a capability limits the display of a specific
|
||||
total to users of the corresponding user levels.
|
||||
*/
|
||||
"totals": [
|
||||
{"id": "items"},
|
||||
|
@ -844,11 +948,20 @@
|
|||
{"id": "pixels"}
|
||||
],
|
||||
/*
|
||||
If "tv" is set to true, then in TV mode, the site logo will be displayed in
|
||||
the corner of the screen.
|
||||
*/
|
||||
"tv": {
|
||||
"showLogo": false
|
||||
},
|
||||
/*
|
||||
The "user" object contains the default user settings. "ui" is the default
|
||||
interface state for new users, and after selecting "Reset UI Settings" in
|
||||
Preferences -> Advanced. This is the place to configure various defaults,
|
||||
like the site-wide language and theme, the default list and item views, the
|
||||
default set of filters, etc.
|
||||
Please make sure that in case you rename or remove entries that are
|
||||
referenced in "ui", you update them here as well.
|
||||
*/
|
||||
"user": {
|
||||
"level": "guest",
|
||||
|
@ -995,9 +1108,19 @@
|
|||
},
|
||||
// fixme: this should include colors
|
||||
/*
|
||||
"userLevels" is an ordered list of user classes. The first entry is for
|
||||
unregistered visitors.
|
||||
*/
|
||||
"userLevels": ["guest", "member", "researcher", "staff", "admin"],
|
||||
/*
|
||||
"video" contains the video settings.
|
||||
"formats": Supported video formats. Should be ["webm", "mp4"], or
|
||||
["webm"] in case iDevices are not part of the audience
|
||||
"previewRatio": Aspect ratio used in the info panel in the bottom left
|
||||
corner of the screen
|
||||
"resolutions": List of video resolutions. Supported values are 96, 144,
|
||||
240, 288, 360, 432, 480, 720 and 1080.
|
||||
"torrent": If true, video downloads are offered via BitTorrent
|
||||
*/
|
||||
"video": {
|
||||
"torrent": false,
|
||||
|
|
|
@ -6,17 +6,19 @@
|
|||
{
|
||||
/*
|
||||
"annotations" configures the annotation panel.
|
||||
- showUsers: If true, include list of users in menu, so that
|
||||
"showUsers": If true, include list of users in menu, so that
|
||||
annotations by specific users can be turned on and off
|
||||
*/
|
||||
"annotations": {
|
||||
"showUsers": true
|
||||
},
|
||||
/*
|
||||
"cantPlay" sets the UI for videos that a user is not allowed to play.
|
||||
icon: symbol name (see https://oxjs.org/#examples/symbols/live)
|
||||
link: loaded on click
|
||||
text: shown on hover
|
||||
"cantPlay" specifies the UI for clips or videos that a user is not allowed
|
||||
to play.
|
||||
"icon": Symbol name (see https://oxjs.org/#examples/symbols/live)
|
||||
"link": URL loaded on click (for example "/rights", if "rights" is
|
||||
defined in "sitePages")
|
||||
"text": Text shown on mouseover
|
||||
*/
|
||||
"cantPlay": {
|
||||
"icon": "",
|
||||
|
@ -24,12 +26,12 @@
|
|||
"text": ""
|
||||
},
|
||||
/*
|
||||
Capabilities are per user level.
|
||||
They can either be general:
|
||||
{level: true} means a user of that level has the capability)
|
||||
or related to items:
|
||||
{level: x} means a user of that level has the capability
|
||||
for items of a rights level up to and including x
|
||||
"capabilities" are permissions per user level.
|
||||
Depending on the capability, this is either global:
|
||||
{level: true} means a user of that level has the capability
|
||||
or related to the rights levels of items or texts:
|
||||
{level: x} means a user of that level has the capability for items or
|
||||
texts of a rights level up to and including x
|
||||
*/
|
||||
"capabilities": {
|
||||
"canAddItems": {"member": true, "staff": true, "admin": true},
|
||||
|
@ -68,8 +70,9 @@
|
|||
"canSendMail": {"staff": true, "admin": true}
|
||||
},
|
||||
/*
|
||||
clipKeys are the properties that clips can be sorted by.
|
||||
If sortOperator is not specified, it will be + for strings and - for numbers.
|
||||
"clipKeys" are the properties that clips can be sorted by (the values are
|
||||
populated automatically). If "sortOperator" is not specified, it will be
|
||||
"+" (ascending) for strings and "-" (descending) for numbers.
|
||||
*/
|
||||
"clipKeys": [
|
||||
{"id": "text", "title": "Text", "type": "string"},
|
||||
|
@ -81,19 +84,36 @@
|
|||
{"id": "volume", "title": "Volume", "type": "float"}
|
||||
],
|
||||
/*
|
||||
clipLayers is the ordered list of public layers that will appear as the
|
||||
text of clips. Excluding a layer from this list means it will not be
|
||||
included in find annotations. // FIXME: the last bit is not implemented.
|
||||
"clipLayers" is the ordered list of public layers that will appear as the
|
||||
text of clips (in grid view, below the icon). Excluding a layer from this
|
||||
list means it will not be included in find annotations.
|
||||
*/
|
||||
"clipLayers": ["transcripts", "keywords", "places", "events", "descriptions"],
|
||||
/*
|
||||
"entities" can be used to store arbitrary data. They can be referenced in
|
||||
annotations, info view, or elsewhere. Each entry defines a specific class
|
||||
of entity object, its properties and their types (for example an "actor"
|
||||
with "name", "biography", "portrait" etc). The HTML representation for
|
||||
entities can be customized by adding "/static/js/entity.SITENAME.js".
|
||||
Each entity has the following properties:
|
||||
"id": Unique internal ID (can be referenced in "layers")
|
||||
"title": Human-readable title
|
||||
"keys": List of properties
|
||||
"sortType": Optional. If set to "person" or "title", then the sort
|
||||
order can be configured in "Manage Names" or "Manage Titles"
|
||||
Each key has the properties "id", "title" and "type". "type" can be
|
||||
"boolean", "number", "string", "text", "document" (reference to the id of a
|
||||
document added via "Manage Documents") or ["string"] (list of strings).
|
||||
"id" and "name" keys are required. If "alternativeNames" is present, these
|
||||
will act as synonyms when autocompleting values entered as annotations.
|
||||
*/
|
||||
"entities": [],
|
||||
/*
|
||||
"flags" sets if in filters, countries and languages have a flag icon.
|
||||
"flags", if set to true, will cause flag icons to appear in filters.
|
||||
*/
|
||||
"flags": false,
|
||||
/*
|
||||
"help" specifies the sections of the help dialog.
|
||||
There isn't much of a point in making changes to this.
|
||||
*/
|
||||
"help": [
|
||||
{"id": "help", "title": "Help"},
|
||||
|
@ -116,27 +136,52 @@
|
|||
{"id": "embeds", "title": "Embeds"}
|
||||
],
|
||||
/*
|
||||
"itemKeys" defines the metadata associated with each item. Required keys
|
||||
are "*", "id" and "title". Annotation layers can be referenced too, which
|
||||
makes them available in the find element. Adding a key with "annotations"
|
||||
as id adds a "find in any annotation layer" option. Further, adding a key
|
||||
with "random" as id can be used for a random sort order.
|
||||
An itemKey must have the following properties:
|
||||
id: The id of the key (as known by the server)
|
||||
title: The title of the key (as displayed by the client)
|
||||
type: text, string, float, integer, or array of any of these
|
||||
"id": The unique id of the key (as used by the server)
|
||||
"title": The title of the key (as displayed by the client)
|
||||
"type": Can be "boolean", "date", "enum", "float", "hue", "integer",
|
||||
"layer", "string", "text", "time" or ["..."] (list of values of
|
||||
this type). If type is "layer", this is a reference to the
|
||||
annotations layer with the same id.
|
||||
and can have any of the following properties:
|
||||
autocomplete: If true, find element will autocomplete
|
||||
autocompleteSort: Sort order of autocomplete suggestions
|
||||
capability: A capability required to see this key
|
||||
columnRequired: If true, the column can't be removed
|
||||
columnWidth: Default column width in px
|
||||
filter: if true, one can filter results by this key
|
||||
find: If true, this key will appear as a find option
|
||||
format: {type: "...", args: [...]}, for special formatting
|
||||
(Ox.formatType(args) will be called)
|
||||
secondaryId: If true, loading /value will redirect to the item
|
||||
sort: If true, one can sort results by this key
|
||||
sortOperator: sort operator (+, -), in case it differs from the
|
||||
default for the key's type (+ for strings, - for numbers)
|
||||
sortType: special sort type (title, person)
|
||||
value: {key: "...", type: "..."}, for keys that are derived
|
||||
from other keys (like number of actors), or "capability"
|
||||
"additionalSort": Ordered list of {key, operator} objects, where key is
|
||||
another itemKey and operator is "+" or "-". This can be used to
|
||||
override user.ui.listSort when results are sorted by this key.
|
||||
"autocomplete": If true, the find element will provide autocomplete
|
||||
"autocompleteSort": Sort order of autocomplete suggestions
|
||||
"capability": A capability required to see data for this key
|
||||
"columnRequired": If true, the column can't be removed from list view
|
||||
"columnWidth": Default column width in px. If absent, no column for
|
||||
this key can be added in list view.
|
||||
"filter": If true, one can filter results by this key
|
||||
"find": If true, this key will appear as an option in the find element
|
||||
"flag": Can be "country" or "language". If set (and filter is true), a
|
||||
flag icon corresponding to the field's value will be displayed.
|
||||
"format": {type: string, args: [value, value, ...]}, used for special
|
||||
formatting. This will invoke Ox.formatType(args). For details, see
|
||||
https://oxjs.org/#doc/Ox.formatArea etc.
|
||||
"secondaryId": If true, loading the URL "/value" will redirect to the
|
||||
corresponding item, in case there is an exact match for this key
|
||||
"sort": If true, one can sort results by this key
|
||||
"sortOperator": Sort order ("+" or "-"), in case it differs from the
|
||||
default for the key's type ("+" for strings, "-" for numbers)
|
||||
"sortType": Special sort type ("person" or "title") which can be
|
||||
further configured in "Manage Names" or "Manage Titles"
|
||||
"value": {key: string, type: string} or {layer: string, type: string},
|
||||
for keys whose value is derived from other keys or layers (like
|
||||
"number of actors" or "words per minute"). Possible values for type
|
||||
are "length", "lengthperminute", "words", and "wordsperminute".
|
||||
Alternatively, "value" can be set to the string "capability", which
|
||||
results in an itemKey whose boolean value indicates the presence or
|
||||
absence of a userLevel-dependent capability. This can be used to
|
||||
create queries and lists like "all items this user can play" etc.
|
||||
"values": [value, value, ...] Ordered list of values, in case "type" is
|
||||
"enum"
|
||||
*/
|
||||
"itemKeys": [
|
||||
{
|
||||
|
@ -532,7 +577,7 @@
|
|||
}
|
||||
],
|
||||
/*
|
||||
"itemName" specifies the name of items ("movies", "videos", etc).
|
||||
"itemName" specifies the name of items ("Movies", "Videos" or similar).
|
||||
Note that anything excessively long may cause layout errors.
|
||||
*/
|
||||
"itemName": {
|
||||
|
@ -540,19 +585,20 @@
|
|||
"plural": "Videos"
|
||||
},
|
||||
/*
|
||||
"itemRequiresVideo" specifies if items without video can be created.
|
||||
If true, the only way to add an item is to upload a video.
|
||||
"itemRequiresVideo" regulates if items without video can be created. If set
|
||||
to true, the only way to add a new item is to upload a new video.
|
||||
*/
|
||||
"itemRequiresVideo": true,
|
||||
/*
|
||||
"itemTitleKeys" list of itemKeys used to compose the title
|
||||
via pandora.getItemTitle
|
||||
"itemTitleKeys" is a list of itemKeys required to compose the item title
|
||||
displayed at the top of the screen. This title can be customized by adding
|
||||
"/static/js/getItemTitle.SITENAME.js".
|
||||
*/
|
||||
"itemTitleKeys": ["title", "director", "date"],
|
||||
/*
|
||||
"itemViews" is an ordered list of available item views.
|
||||
Implemented views are "info", "documents", "player", "editor",
|
||||
"timeline", "clips", "map", "calendar", "data" and "media".
|
||||
"itemViews" is an ordered list of available item views. Implemented views
|
||||
are "info", "documents", "player", "editor", "timeline", "clips", "map",
|
||||
"calendar", "data" and "media".
|
||||
*/
|
||||
"itemViews": [
|
||||
{"id": "info", "title": "Info"},
|
||||
|
@ -567,19 +613,37 @@
|
|||
{"id": "media", "title": "Media"}
|
||||
],
|
||||
/*
|
||||
"language" is the default language for annotations of type "text".
|
||||
Text in other languages can be added via markup, for example:
|
||||
"language" is the default language for annotations of type "text". Text in
|
||||
other languages can be added via markup, for example:
|
||||
<span lang="fr">Voilà!</span>
|
||||
*/
|
||||
"language": "en",
|
||||
/*
|
||||
"languages" is the list of languages that the interface can be set to.
|
||||
Currently, localization exists for "ar", "el", "en" and "hi". (???)
|
||||
"languages" is the list of languages that the interface can be switched to.
|
||||
Currently, localization exists for "ar", "el", "en" and "hi".
|
||||
*/
|
||||
"languages": ["ar", "el", "en", "hi"],
|
||||
/*
|
||||
"layers" define what annotation tracks are present.
|
||||
(...)
|
||||
"layers" defines the types of time-based annotations that can be entered.
|
||||
Required keys are:
|
||||
"id": Internal ID
|
||||
"item": Name of one such annotation (singular)
|
||||
"title": Display title
|
||||
"type": Can be "entity", "string" or "text" (strings cannot contain
|
||||
line breaks, text can contain HTML markup).
|
||||
Optional keys are:
|
||||
"autocomplete": Available if the layer is used as a filter
|
||||
"canAddAnnotations": Permissions per user level
|
||||
"entity": ID of the referenced entity (if type is "entity")
|
||||
"hasEvents": If true, the calendar will be populated with matches from
|
||||
this layer
|
||||
"hasPlaces": If true, the map will be populated with matches from this
|
||||
layer
|
||||
"isSubtitles": If true, this layer will be displayed as subtitles
|
||||
"overlap": If true, overlapping annotations are allowed. Note that
|
||||
enforcement of "overlap": false is not implemented
|
||||
"showInfo": If true, user and creation time will be displayed in the
|
||||
tooltip that appears on mouseover.
|
||||
*/
|
||||
"layers": [
|
||||
{
|
||||
|
@ -626,6 +690,8 @@
|
|||
}
|
||||
],
|
||||
/*
|
||||
"listViews" is an ordered list of available list views. Implemented views
|
||||
are "list", "grid", "timelines", "clips", "clip", "map" and "calendar".
|
||||
*/
|
||||
"listViews": [
|
||||
{"id": "list", "title": "as List"},
|
||||
|
@ -638,12 +704,19 @@
|
|||
{"id": "calendar", "title": "on Calendar"}
|
||||
],
|
||||
/*
|
||||
"media" defines additional media that gets added when importing items.
|
||||
"importPosters": If true, a poster file will be imported (if present)
|
||||
"importFrames": If true, 3 full-resolution frames per file will be
|
||||
imported. This is useful to render high-resolution icons and
|
||||
posters for an instance that has only low-resolution video.
|
||||
*/
|
||||
"media": {
|
||||
"importPosters": false,
|
||||
"importFrames": false
|
||||
},
|
||||
/*
|
||||
"menuExtras" can be used to add extra functionality to the main menu bar.
|
||||
The plug-in architecture is not yet finalized, documentation forthcoming.
|
||||
*/
|
||||
"menuExtras": [
|
||||
"user",
|
||||
|
@ -651,19 +724,31 @@
|
|||
"reload"
|
||||
],
|
||||
/*
|
||||
"personalLists" specifies which pre-defined lists a new member will have
|
||||
after signup. "title" is required. If "query" is present, this defines a
|
||||
smart list. "query" can be any pan.do/ra query object, see /api/find for
|
||||
further documentation. If you need to reference the username (for example
|
||||
in order to include a default "My Videos" list), you can use the syntax
|
||||
{"user": "{username}"}
|
||||
*/
|
||||
"personalLists": [
|
||||
{"title": "Favorites"}
|
||||
],
|
||||
/*
|
||||
"posters" contains details about the poster icons. "ratio" is the default
|
||||
ratio (used to display a placeholder while poster icons are loading).
|
||||
*/
|
||||
"posters": {
|
||||
"ratio": 0.625
|
||||
},
|
||||
/*
|
||||
"rightsLevel" defines which initial rights level will be assigned to items
|
||||
and texts created by users of these user levels.
|
||||
*/
|
||||
"rightsLevel": {"member": 2, "staff": 2, "admin": 2},
|
||||
/*
|
||||
"rightsLevels" is an ordered list of rights levels, one of which will be
|
||||
assigned to each item.
|
||||
*/
|
||||
"rightsLevels": [
|
||||
{"name": "Public", "color": [128, 255, 128]},
|
||||
|
@ -671,6 +756,9 @@
|
|||
{"name": "Private", "color": [255, 128, 128]}
|
||||
],
|
||||
/*
|
||||
"site" contains various settings for this instance. In "email", "contact"
|
||||
if the address in the contact form (to), "system" is the address used by
|
||||
the system (from).
|
||||
*/
|
||||
"site": {
|
||||
"description": "Pad.ma is an online archive of densely text-annotated video material, primarily footage and not finished films. The entire collection is searchable and viewable online, and is free to download for non-commercial use.",
|
||||
|
@ -689,6 +777,9 @@
|
|||
"url": "pad.ma"
|
||||
},
|
||||
/*
|
||||
"sitePages" defines the sections of the main site dialog. If "news" is
|
||||
present, this will add an interface to add news items. If "contact" is
|
||||
present, this will add an interface to contact the site owners.
|
||||
*/
|
||||
"sitePages": [
|
||||
{"id": "about", "title": "About"},
|
||||
|
@ -700,21 +791,30 @@
|
|||
{"id": "contact", "title": "Contact"}
|
||||
],
|
||||
/*
|
||||
"sites" specifies which other pan.do/ra instances, if any, will appear in
|
||||
the user interface for creating embeds. This allows for easier creation of
|
||||
cross-instance references.
|
||||
*/
|
||||
"sites": [
|
||||
{"name": "Indiancine.ma", "url": "indiancine.ma", "https": true},
|
||||
{"name": "OxDB", "url": "0xdb.org", "https": true}
|
||||
],
|
||||
/*
|
||||
"textRightsLevels" defines a list of rights levels for texts.
|
||||
*/
|
||||
"textRightsLevels": [
|
||||
{"name": "Public", "color": [128, 255, 128]},
|
||||
{"name": "Private", "color": [255, 128, 128]}
|
||||
],
|
||||
/*
|
||||
"themes" is a list of themes that the user interface can be switched to.
|
||||
Currently available themes are "oxlight", "oxmedium" and "oxdark". The
|
||||
default theme can be set in user.ui.theme.
|
||||
*/
|
||||
"themes": ["oxlight", "oxmedium", "oxdark"],
|
||||
/*
|
||||
"timelines" is a list of timeline types. Implemented types are "antialias",
|
||||
"slitscan", "keyframes" and "audio".
|
||||
*/
|
||||
"timelines": [
|
||||
{"id": "antialias", "title": "Anti-Alias"},
|
||||
|
@ -723,6 +823,10 @@
|
|||
{"id": "audio", "title": "Waveform"}
|
||||
],
|
||||
/*
|
||||
"totals" specifies which totals are displayed in the status bar at the
|
||||
bottom of list views. Possible ids are "duration", "files", "items",
|
||||
"pixels" and "size". Adding a capability limits the display of a specific
|
||||
total to users of the corresponding user levels.
|
||||
*/
|
||||
"totals": [
|
||||
{"id": "items"},
|
||||
|
@ -732,11 +836,20 @@
|
|||
{"id": "pixels"}
|
||||
],
|
||||
/*
|
||||
If "tv" is set to true, then in TV mode, the site logo will be displayed in
|
||||
the corner of the screen.
|
||||
*/
|
||||
"tv": {
|
||||
"showLogo": false
|
||||
},
|
||||
/*
|
||||
The "user" object contains the default user settings. "ui" is the default
|
||||
interface state for new users, and after selecting "Reset UI Settings" in
|
||||
Preferences -> Advanced. This is the place to configure various defaults,
|
||||
like the site-wide language and theme, the default list and item views, the
|
||||
default set of filters, etc.
|
||||
Please make sure that in case you rename or remove entries that are
|
||||
referenced in "ui", you update them here as well.
|
||||
*/
|
||||
"user": {
|
||||
"level": "guest",
|
||||
|
@ -880,9 +993,19 @@
|
|||
"volumes": []
|
||||
},
|
||||
/*
|
||||
"userLevels" is an ordered list of user classes. The first entry is for
|
||||
unregistered visitors.
|
||||
*/
|
||||
"userLevels": ["guest", "member", "staff", "admin"],
|
||||
/*
|
||||
"video" contains the video settings.
|
||||
"formats": Supported video formats. Should be ["webm", "mp4"], or
|
||||
["webm"] in case iDevices are not part of the audience
|
||||
"previewRatio": Aspect ratio used in the info panel in the bottom left
|
||||
corner of the screen
|
||||
"resolutions": List of video resolutions. Supported values are 96, 144,
|
||||
240, 288, 360, 432, 480, 720 and 1080.
|
||||
"torrent": If true, video downloads are offered via BitTorrent
|
||||
*/
|
||||
"video": {
|
||||
"torrent": true,
|
||||
|
|
Loading…
Reference in a new issue