Skip to main content

1. General structure

To enable public access to the pages that are build using this, update the policy enablePublicCMSServlet to true.

The public pages are available on /p/[page-url].

You might want to update the policy defaultLangingPage on the server to redirect the user to "p" instead of "login", so that the random user accessing the url directly, will see the public site, instead of the login page.
This feature is available as of version 12793.

Entities

image.png

You can read the specific setup of the 6 entities in this feature on the following 6 pages.

Wrapper

A minimum of one wrapper has to be defined in the designer (Design -> Wrappers).
The ID of the wrappers that should be available to the maintainer of the site, are needed in the Page entity.

The wrapper is where you include all the static files that are needed to make the site work, eg. bootstrap.
You don't need to link the stylesheet, the engine will handle that.

Stylesheet

A minimum of one stylesheet has to be defined in the designer (Design -> Stylesheet).
The ID of the stylesheets that should be available to the maintainer of the site, are needed in the Page entity.

Static files (javascript/css/icons)

If your site requires static files, eg. bootstrap, then these should be uploaded to Media files in the designer (Design -> Media files), not to the entity Media Files.

Upload the javascript and css files as "Other" and link to their public path from your wrapper(s).

System configurations (Static content)

image.pngThe system is quite configurable.
Here is a table of all the available configurations.

NameDescriptionDefault value
Cms.Media.Field.TypeSystemname of field that defines the type of media file (video/image)TYPE
Cms.Media.Field.ImageSystemname of the field that contains the image for the media fileBILLEDE
Cms.Media.Field.VideoSystemname of the field that contains the video for the media fileVIDEO
Cms.Media.Field.PathSystemname of the field that contains the public path for the media filePATH
Cms.Media.Field.AltPathSystemname of the field that contains the thumbnail or alt-image for the media fileALTPATH
Cms.Media.Field.AltImageOptional field.
Systemname of the field that contains the alt image for the media file
BILLEDE1
Cms.Media.Folder.PublicThe public root path where the media files are available/media
Cms.Media.Folder.SystemThe path on the server, where the media files are supposed to be saved/usr/share/tomcat9/webapps/media
Cms.Media.Video.HorizontalResolutionsThe horizontal resolutions that the down-sampled videos should have.
Must be same length as VerticalResolutions and in ascending order.
[1024,1280,1920]
Cms.Media.Video.VerticalResolutionsThe vertical resolutions that the down-sampled videos should have.
Must be same length as in ascending order.
[576,720,1080]
Cms.Media.Video.BitratesThe Mbit rates that the down-samled videos should have.
Must be same length as VerticalResolutions and in ascending order.
[2.0,4.0,8.0]
Cms.Menu.EntitySystem name of the entity containing menu items.
Used by the codeunit com.tsnocode.core.cms.BasicMenu.
menu
Cms.Menu.Field.TitleSystem name of the field containing the shown text in a menu itemTITLE
Cms.Menu.Field.UrlSystem name of the field containing the url that the menu item should link toURL
Cms.Menu.Field.ParentSystem name of the field that points to a parent menu itemCHILDREN
Cms.Menu.Field.ChildrenSystem name of the field that lists sub menu itemsPARENT
Cms.Menu.Html.RootItemEmptyHTML to generate a root menu item, with no children*
Cms.Menu.Html.RootItemHTML to generate a root menu item, with children**
Cms.Menu.Html.ChildItemHTML to generate a sub menu item***
Cms.Page.EntitySystem name of the entity containing the pages, when accessed from the public /ppages
Cms.Page.Field.UrlSystem name of the field containing the page urls, when accessed from the public /p/[page-url]URL
Cms.Redirects.EntitySystem name of the entity containing redirect urls,when accessed from the public /predirects
Cms.Redirect.Field.FromSystem name of the field containing the called urls, when accessed from the public /p/[page-url]FROM_VALUE
Cms.Redirect.Field.ToSystem name of the field containing the urls to redirect to, when accessed from the public /p/[page-url]TO_VALUE

*)

<li class="nav-item{ACTIVE}">
  <a class="nav-link" href="{LINK}">{TITLE}</a>
</li>

**)

<li class="nav-item dropdown{ACTIVE}">
  <a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-expanded="false">{TITLE}</a>
  <div class="dropdown-menu">{CHILDREN}</div>
</li>

***)

<a class="dropdown-item{ACTIVE}" href="{LINK}">{TITLE}</a>