For installation instructions, please refer to the README file at: https://github.com/superdesk/superdesk/
npm run install
- Install dependencies.
npm run build && npm run start-client-server
- Build and serve the bundle. Alternatively npm run server
can be used serve the bundle in watch mode.
npm run start-test-server
npm run e2e-compile
OR npm run e2e-compile-watch
- compiles tests from TypeScript to JavaScript.
npm run protractor
- starts the browser and runs the tests.
Before considering contributions to the Superdesk client, please make sure to read our contribution guidelines.
To configure the build, the superdesk.config.js
file must export a function that returns the configuration object. The configuration object can contain the keys described belowed. Dot-notation is used to illustrate the depth and group of a certain key. We use a function instead of a simple JSON object to allow the convenience of using grunt flags, as well as give access to environment variables for more diverse configurations.
server.url
- superdesk rest api server urlserver.ws
- superdesk websocket server url
iframely.key
- iframely api keygoogle.key
- google api keyraven.dsn
- sentry api keyanalytics.ga
- google analytics idanalytics.piwik.url
- piwik analytics urlanalytics.piwik.id
- piwik application id
features.preview
:false
- enables print preview in authoringfeatures.hideLiveSuggestions
:true
- disables live suggestions panel in authoringfeatures.alchemy
:false
- allow alchemy widget for keywordsfeatures.elasticHighlight
:false
- allow highlighting of search terms by elasticsearchfeatures.swimlane
:null
- enables switch view button in monitoring view, which allows to switch between list view or swimlane view. Example:features: {swimlane: {defaultNumberOfColumns: 4}}
will enable switch view button and displays 4 columns when turned ON, set null or keep undefined to disablefeatures.confirmMediaOnUpdate
:true
- Display the user confirmation dialog in the updated story to use the media from the original story.features.nestedItemsInOutputStage
:false
- Display only latest version of published item in output stages.features.showCharacterLimit
:number
- a character limit in the preformatted text field. The number defines the placement of the limiter and is based on the number of characters on one line.
workspace.content
:false
- enable content view in workspace (obsolete)workspace.ingest
:false
- enable ingest view in workspace (obsolete)
editor.toolbar
:object|false
- editor toolbar configuration, set tofalse
to disable toolbareditor.embeds
:true
- enable embedding in article bodyeditor.vidible
:false
- enables Vidible as embed provider
view.dateformat
:'MM/DD/YYYY'
- presented date format for datepickersview.timeformat
:'HH:mm'
- presented time format for timepickersshortTimeFormat
:'hh:mm'
- format for current day in item listshortWeekFormat
:'dddd, hh:mm'
- format for current week in item listshortDateFormat
:'MM/DD'
- format for other days in item listlongDateFormat
:'LLL'
- format with full date and time
previewSubjectFilterKey
:null
- full preview in authoring displays only matching subjects
ui.italicAbstract
:true
- render abstract using italicsui.sendAndPublish
:true
- display the send and publish button.
You can configure what will be displayed in list views, there are 3 areas in list which you can configure:
-
priority
- second box, you can use therepriority
andurgency
, in case you use alsosecondLine
both -
firstLine
- main area - defaults are:wordcount
slugline
headline
versioncreated
-
secondLine
- optional second line - defaults are:profile
state
- workflow statescheduledDateTime
- scheduled date and time where date and time format are taken from view.dateformat and view.timeformat respectivelyembargo
- flag if item is embargoedupdate
- flag if item is an updatetakekey
takepackage
- link to other takessignal
broadcast
flags
- flags for "not for publication", "sms"updated
- flag if an item was updatedcategory
- anpa categoryprovider
- ingest provider infoexpiry
- expiry of spiked itemsdesk
- where an item was fetched for ingested, where an item is for others
-
singleLine
- optional single line which contains elements to be displayed when singleLineView is enabled. -
narrowView
- optional narrow view of 'firstLine' when authoring and preview panes are both open. This is active when singleline:view user preference is also active. -
singleLineView
- optional config to have thinner rows with elements in singleLine displayed. -
relatedItems
- configure the fields to be displayed on the related items field inside the authoring. Defaults are:firstLine
:slugline
headline
versioncreated
secondLine
state
desk
You can disable certain content profile fields. Set value to false
in order to disable it. Fields are:
defaults
- Article defaultslocated
- Dateline locatedphone
- Phone numberjid
- Jabber IDplace
- Default placecategory
- Preferred categoriesdesks
- Preferred desks
You can override default search repos (all set true
by default).
defaultSearch
ingest
archive
published
archived
defaultRoute
- sets the route that the app will go to upon logging in (home route).langOverride
- allows to override some labels in the UI (breaking, not recommended). It should be an object containing keys for language identifier and values as objects mapping labels to their translation. Example value:{'en': {'Category':'Service'}}
would display Service in place of Category for the english (en) version.validatorMediaMetadata
:object
- describes a fields that are required for media items (images/video). If the field is present in the object then it is displayed.infoRemovedFields
:object
- contains fields that should be removed from metadata editingprofileLanguages
- list of languages available in user profile