API The Cloud CMS API consists of an HTTP/HTTPS endpoint that uses OAuth 2.0 authentication. It supports both REST concepts and asynchronous data operations. You can access this API using any of our drivers as well as curl or any HTTP client library. Our API provides functionality that covers all aspects of content production, publishing and presentation. 100% of the functionality of Cloud CMS is accessible from the API, including: Content Models, Creation and Editing Workflow, Scheduled Publish

Releases Releases allow you to set up collaborative workspaces where future sets of content can be worked on in real-time. Content can be created, edited and deleted in the workspace and then scheduled for publishing at a future date. Scheduled publishing allows your content to "go live" automatically - merging your content changes back into the mainline while triggering release actions for things like: Email Notifications CDN Synchronization Web Hook Calls Releases give your content team the ab

Getting Started Welcome to the Cloud CMS Documentation center. Cloud CMS is an API-first content management system that provides everything you need on the back end to power web sites and mobile applications. Cloud CMS makes it easy for your business users to create, manage and publish amazing content to your users! You are reading the Getting Started guide. To learn more about Cloud CMS and what it does, select from the links provided below or use the tree on the left-hand side. We offer severa

API Server The Cloud CMS API Server is a Java application that launches inside of a Java Servlet Container. The Java application surfaces a REST API as well as backend services and DAOs to support connectivity to Mongo DB, Elastic Search and a slew of Amazon services including S3, SNS, SQS, Route 53, Cloud Front and more. Properties File Cloud CMS is primarily configured via a properties file that is auto-detected and loaded when the underlying Spring Framework starts up. This properties file is

Actions Cloud CMS provides an Action framework that lets you kick off Actions that perform content operations on your behalf. Actions are units of work that are typically fired off as a result of an event handler or listener. For example, you might register an Action that triggers when a piece of content is updated or when a workflow task transitions. The Action might do something like Send an Email or Fire off a Web Hook. The Cloud CMS Action framework aspires to provide complete units of work

Tree Content that is organized into folders can be retrieved using the Tree API. The Tree API lets you pull back an entire path-based folder and file structure of content within a single API call. The API call lets you specify a root node, a maximum depth to traverse down the path structure, paths that should be automatically expanded and query terms for filtering of root nodes. The Tree API is deal to support a variety of cases including: retrieval of multiple deeply-nested paths within a singl

Releases Releases allow you to set up collaborative workspaces where future sets of content can be worked on in real-time. Content can be created, edited and deleted in the workspace and then scheduled for publishing at a future date. Scheduled publishing allows your content to "go live" automatically - merging your content changes back into the mainline while triggering release actions for things like: Email Notifications CDN Synchronization Web Hook Calls Releases give your content team the ab

Locking Cloud CMS locking is a "data lock" approach which is a transactional lock is taken out when the write of multiple documents begins. This is a transactional lock in the sense that it blocks other write operations against those documents and fails entirely with rollback if any of the documents fail individually. We have transactional writes for multiple documents. We have a changeset-driven versioning model where each transaction writes onto it's own changeset. N number of documents may wr

Actions Cloud CMS provides a large number of actions that can be bound to links sections within configuration blocks. This allows you to customize dropdowns, button toolbars and action links at various places within the user interface. It also provides a way for you to override action implementation classes for your own users. For a list of these actions, see Actions on the lower left-hand menu. account change-password addon install-addon uninstall-addon applications delete_applications new_appl

There are a few places where this either occurs automatically if you're using our hosted service or can occur optionally if you're either running within Docker containers on your own or integrating to custom CDN endpoints. First, the API itself can be fronted by a CDN that supports fallback lookup to an origin server. In this case, we recommend Amazon CloudFront with short-lived TTLs on cache headers. More specifically, you can use Amazon's API Gateway to get caching coverage across multiple geo

Multilingual When applied to a node, this indicates that you wish to have the contents of this node support multilingual behavior and translated content. This node then serves as the "master node" for translation support. Master nodes have a:has_translation associations to translation nodes that hold copies of the content (JSON and any attachments) in the target locale Marking a node as f:multilingual does not automatically produce translations for you. However, once marked, the Cloud CMS user i

There are two levels of locking which usually come into play in a scenario like this. One is a "UI lock" which is taken out when a user begins editing something within the user interface. This lock is released when they finished editing (either by hitting save or canceling). The other lock is a "data lock" which is a transactional lock taken out when the write of multiple documents begins. This is a transactional lock in the sense that it blocks other write operations against those documents and

Cloud CMS provides a range of options for making content available to your presentation tier. The most common scenarios are: 1) Use an attribute on your Type Quick and easy to implement. Just add an attribute to mark instances as published by defining within the type's JSON: “published”: {
"type": "boolean",
"title": "Published?”
}
You can then filter out items where this value is False. 2) Create a Feature for consistency Of course, if you have several content Types, you'll want to avoid re

Type Pages The type-pages key lets you define routes that serve as landing pages for entity types. Specific pages within Cloud CMS serve as landing pages for an entity that is being viewed. Type Page configurations allow you to specify which URI should be dispatched to when viewing. Each type page has a very simple binding like this: {
"uri": "{uri}"
} Example - Dispatching a Workflow Task to the Overview Page {
"evaluator": "entity-is-type",
"condition": "Gitana.WorkflowTask",
"

Your Task Dashboards Tasks assigned to you in a Workflow process can be seen in your Platform Dashboard, Project Dashboard, or an email may have been sent to you with the Task link Platform Dashboard - Tasks asigned to you for all Projects will be listed Project Dashboard - Tasks asigned to you for the Project only will be listed Task Overview If you click on a task, or open the Task link in the email, the Task Overview page is opened - From here you can perform the following actions on the task

View/Create a Workflow Model Switch to Platform level Click 'Workflow Models' (left Nav). Note: You will need to have admin or owner permissions to see the Workflow options. If you select a Workflow model you can Deploy, Undeploy, delete a Workflow model View/Edit Workflow Model Click on the Workflow name, eg Adhoc Approval, to view the Workflow Model To view/edit the Workflow click JSON Manage Active Workflow To see active instances of the workflow model click on Workflow option Note: you can s

Create/Edit Content In a Project you can find your content a number of ways: Content (left Nav) - Content listed under Content Types Folders (left Nav) - Folder/File view of the content Search (left Nav for a detailed search or top right for a keyword search) Viewing a Content item With any of the options above, to find or list the content, click on the 'title' of the content item to open the 'Document Overview': Note: your tenant may be configured such that the options available in the left nav

OEM The OEM kit provides a way for developers, integrators, partners and those who are embedded Cloud CMS in custom solutions to build and test extensions. These extensions include UI extensions as well as API extensions in the form of Java / Spring beans. The kit consists of the following services: ui api mongodb elasticsearch These are connected like this: Running Use the following commands: docker-compose build --force-rm
docker-compose up And then open a browser to: http://localhost To acces

Our definitions are based on JSON schema and, as such, the default is to use strings for dates. The date controls in our forms engine let you customize the format string so that you can store ISO 8601 or other formats (perhaps simplified formats) as per your preference. The advantage here is simplicity with these controls and compatibility with JSON schema. The disadvantage is that MongoDB provides a lot of very powerful capabilities for range query and sorting that do not play as nicely with th

Node Picker ID: node-picker The node-picker field type renders a modal picker for a node. The modal picker allows you to filter nodes as well as paginate, sort and inspect nodes. The picker supports single node and multi-node selection depending on how the field is configured. Sample configuration: {
"type": "node-picker"
} The node picker should be modeled on top of either an object or an array field. The former is used for selection of a single node whereas the latter is used for selection