Themes and Resources

Bedework themes, resources, and other static content

The Bedework web client themes in the quickstart are deployed into and served from JBoss.  They can be left there, or they can be placed on a web server more accessible to your web designers.  Placing the stylesheets and resources on a separate web server (for example, an Apache server on the same host) may make them more convenient to access and manipulate.

For information about customizing the Bedework web client themes, see Theming Bedework.

Copying themes and resources to a separate web server (optional)

Should you choose to copy the themes to a separate web server, the folders to copy are are found in the Bedework source at

bedework/deployment/webadmin/webapp/resources/
bedework/deployment/webpublic/webapp/resources/demoskins/
bedework/deployment/webuser/webapp/resources/demoskins/
bedework/deployment/websubmit/webapp/resources/demoskins

Change the cal.properties file

The destination where you copy these directories is a URL specified in cal.properties inside your configuration directory by the property app.name.cal.suite for the public calendar suites and app.name.root for the other web applications.  The root is where the server discovers and caches the xsl transforms. 

The root should never be served over https.

Given the values in the properties file:

org.bedework.app.UserCal.root=
{nolink:http://somewebserver/bedework-version/ucalrsrc}

org.bedework.app.CalAdmin.root=
{nolink:http://somewebserver/bedework-version/caladminrsrc}

org.bedework.app.Events.root=
{nolink:http://somewebserver/bedework-version/calrsrc}

org.bedework.app.Events.cal.suite=MainCampus

...

the user client and administrative client stylesheets will be found at the url shown.  Bedework will look for the calendar suite stylesheets in a directory that is a concatenation of the root and the calendar suite name. In the example above, the “Events” calendar suite will have its stylesheets located at http://somewebserver/bedework-version/calrsrc.MainCampus ; the “SoeDept” calendar suite at http://somewebserver/bedework-version/calrsrc.SoeDept

Change the cal.options.xml file

Once set in the cal.properties file, you may also need to set the properties <appRoot> and <browserResourceRoot> in cal.options.xml within your configuration directory.  

Look for instances of:  <browserResourceRoot>/name</browserResourceRoot>         

and instances of:  <appRoot>http://localhost:8080/calrsrc</appRoot>

The appRoot property in cal.options.xml is the same as the root property in cal.properties and should be set to exactly the same value.  As noted above, it should not be served over https. 

browserResourceRoot, HTTPS, and mixed content messages

The browserResourceRoot is where the browser will retrieve css, images, javascript, and other theme files after a transform is performed.  If you keep the structure of the theme directories intact, you should not need to change this value.  If you choose to serve the resources from a different host, you should change the  the browserResourceRoot to include the full url to the resources.  If the resources served from a separate host are served over SSL, change the browserResourcesRoot scheme to https as well to avoid mixed content messages (e.g. /caladmin and /ucal). 

Directory browsing and pathname discovery

If directory browsing is disallowed on your web server, be certain to set the <directoryBrowsingDisallowed> option to “true” in the cal.options.xml file, which will cause the filters to search for a marker file called xsltdir.properties.  This allows pathname discovery to continue working.  Pathname discovery allows Bedework to pick appropriate locales and browser types based on browser settings or fall back to default themes.

For more detailed information about Bedework theming and pathname discovery, please see Theming Bedework.

Bedework Enterprise Calendar, version 3.8