As an author, you will need to organize your content within Sites. This involves creating and naming your content pages so that:
- you can easily find them in the Burdy
- consumers of the API such as Websites, Mobile Apps, etc can easily access the content in a predictable way
Burdy Sites allows you to navigate and manage your content with ease.
The structure of the Sites can be thought of as a tree structure that holds your content nodes. The Slugs of these content nodes are used to form the URLs (slugPath), whereas the Name is more a descriptive property giving context to the node.
Burdy Sites displays 5 main types of content:
- Page - e.g. Home Page, About Page...
- Folder - noneditable hierarchical nodes whose main purpose is to help organize content. Folders should be used for the Omni-Channel experience.
- Fragment - Similar to Pages but used for managing Components content such as Header, Footer etc
- Hierarchical Post - Holders of the Repeatable content such as Blogs, Docs, and more. Hierarchical posts can have different main content types from the children nodes.
- Post - children of the Hierarchical Post and are not displayed in the Column's view
NOTE: Each content type is stored in a Table in a single table called POST. There are more types that are not directly accessible from the UI and are used for purposes such as creating versions 'post_version' and others.
Creating New Content
After a user selects a folder or a page where new content will be stored, creating is done by pressing the New button in the Toolbar and selecting the desired type.
Only 4 types can be directly created from the menu and pressing on the desired type a dialog will appear prompting the user to add details:
- Folder - name, slug
- Page - name, slug, content type
- Fragment - name, slug, content type
- Hierarchical Post - name, slug, content type, post content type
Example of the Create Page dialog:
Name and the slug are mandatory fields for all posts.
By creating a post and adding a slug each post will get a unique slugPath that consists of a parent's slugPath + new content slug. In case there is no parent such as creating content in the root. Your new
slugPath will equal
In the case of a hierarchy, if we create a Page
sites/en page, the new page slugPath will be
SlugPath is the most important property automatically generated as it will allow us to access content in a predictable way by knowing exactly where we can fetch content. On the other side, it allows us to enable omnichannel and localization capabilities by organizing content in different folders.
To update Name, Slug, or Tag a certain Post directly from Sites Console author needs to select a post first and press the Settings button in the toolbar.
The update is done by simply changing values and pressing updates.
Please note, changing a slug will result in updating slugPath of the current post as well as updating slugPath of any children of the post we are updating. For example if current post with slugPath
sites/fr/aboutand we update fr to
france. Current post slugPath will become
sites/franceand children will become
Sites also allow the author to add tags to the post type allowing even further grouping and organization of the content.
By pressing action, a new Tag Selector popup will appear prompting the author to select tags.
Upon selecting tags, they will appear in the Update Dialog:
Similar to other actions delete is done by selecting any Post and clicking a Delete action from the toolbar.
Deleting a Post that has children Posts will delete all direct and indirect children of that node. It is suggested that Delete option is disabled for authors through the groups and permissions. This action is currently not reversable and it is also suggested to backup your content from time to time using Backup management functionality from the settings.
Copy functionality enables us to duplicate the content tree onto the different slugPath. It is also one of the crucial functionalities in the multi-language environment as it gives us the capability to copy the entire language tree.
For example, if we would like to roll out a new Spanish market (
sites/es) we would first choose already set the language for example
sites/en, and press copy from the toolbar.
In the dialog we will need to select destination, in this case
sites, update Name and Slug, tick Include Children and press Copy. Upon finishing we will see new Spanish node under sites:
We can use this functionality to easily rollout new languages and markets.
Publishing / Unpublishing content
By default every content that we create, copy, or import is unpublished which means it is not visible using Content API unless Security tokens are provided.
Once you have created and reviewed your content, the goal is to make it available on your public website / mobile app.
This is referred to as publishing content. When you want to remove content from your website it is referred to as unpublishing.
You can also publish/unpublish content immediately or at a predefined date/time in the future.
Publishing can be done from the Sites console by selecting a node and pressing Publish in the toolbar.
We can choose to publish only selected items or items plus all its descendants by selecting include children tickbox.
To Schedule content for the publishing at same later date in the same Publish dialog, we will need to tick Schedule at date.
New options will appear allowing us to select the date from which selected content item(s) should be published and until they should be published.
By pressing calendar we are able to select a date using date picker
We can also choose to unpublish a content item(s) or content item(s) and all descendants by selecting an item and clicking Unpublish from the toolbar.