Site Files - Mura Docs v7.0

Site Files

You can host multiple websites under one installation of Mura. Each website can have its own, unique domain, assets, groups, users, etc. That said, one important thing to keep in mind when working with theme development in Mura is to make sure you're working with the right directory.

The "default" Directory

Every Mura installation has a directory labeled "default." This directory name should never be modified, under any circumstances. The directories and files located under the "default" directory comprise the "site" files for the "Default" site.

In addition to holding all of the "site" files for the "Default" site, the directory label is also the "Site ID," also referred to "SiteID" (no space). To verify a site's SiteID, you may follow the steps below.

  1. From the back-end administrator area of Mura, select Site Settings, then click Edit Settings.
  2. On the Site Settings screen, the first field located under the Basic tab is labeled "Site ID."
  3. The "Site ID" field is a "read only" field, and cannot be modified. This is intentionally designed to work this way.
  4. When creating a new site in Mura, you specify the Site ID. This is important, because whatever you enter into that field will become the directory name. So, do not use any punctuation, special characters, etc. when doing so. We'll cover creating a new site in another section.

The key to remember here is each site in Mura has a unique SiteID which also matches the directory name. So, the path to any particular site you desire to work with can be notated as {context}/{SiteID}/.

Note: Whenever you create a new site in Mura, all of the files located under the "default" directory are copied over to the new site.

{context}/{SiteID}/

As a Mura theme developer, you'll be spending most of your time working with files located within your theme. However, knowing what areas you can and should not modify is important so that you can keep your installation on the worry-free upgrade path.

The top-level directory structure of a Mura site is detailed below.

Directory or File Editable Description
{context}/{SiteID}/assets/ Yes* The "assets" directory stores any files uploaded through Mura's web file manager, currently CKFinder, when editing content via the user interface. It's best to simply use the web file manager itself to manage these files. However, we understand you may want, or need, to perform a bulk upload of files to a specific directory. When doing so, please be sure not to alter the primary directory structure, as you could potentially break links to files referenced here.
{context}/{SiteID}/cache/ No You should not touch this directory. Any images, files, etc. uploaded as actual content or primary associated files are renamed and stored here. References to all files are also stored in Mura's database.
{context}/{SiteID}/css/ No The stylesheet files stored in this directory provide base styling for Mura generated output such as primary navigation and display objects. You can optionally include these stylesheets in your own theme to have a base starting point, and then provide your own custom styling via your own stylesheets.
{context}/{SiteID}/images/ No The files located here are referenced vis Mura's stylesheets.
{context}/{SiteID}/includes/ Yes* This directory contains display objects, resource bundles, and themes. See additional information below.
{context}/{SiteID}/js/ No This directory contains JavaScript files required by Mura. The specific files included can be found under the "dist" directory.
{context}/{SiteID}/.gitignore No The Mura Team uses Git for distributed version control, and this is the site .gitignore file used to specify intentionally untracked files.
{context}/{SiteID}/index.cfm No This is the site's "start" file, and should not be modified.
{context}/{SiteID}/version.cfm No As you'll see in another section, Mura offers a way to keep your site up-to-date with the latest version. This file contains the current version number of the site itself.

{context}/{SiteID}/includes/

The "includes" directory contains some of the most important directories and files for theme developers.

Directory or File Editable Description
{context}/{SiteID}/includes/display_objects/ No This directory contains the files Mura uses to render display objects in the browser. See The "display_objects" Directory section for more information.
{context}/{SiteID}/includes/resourceBundles/ No This directory contains ".properties" files containing locale-specific data as a way of internationalising Mura. See The "resourceBundles" Directory section for more information.
{context}/{SiteID}/includes/themes/ Yes This directory contains a site's themes. See The "themes" Directory section for more information.
{context}/{SiteID}/includes/Application.cfc Yes This file is used by experienced ColdFusion/CFML developers, and is covered in the Mura Developer Guide.
{context}/{SiteID}/includes/contentRenderer.cfc Yes This is the Site contentRenderer.cfc file. You can add site-specific methods here. This is covered in the Mura Developer Guide.
{context}/{SiteID}/includes/eventHandler.cfc Yes This is the Site eventHandler.cfc file. You can add site-specific event handlers/listeners here. This is covered in the Mura Developer Guide.