Core Files - Mura Docs v7.0

Core Files

Once you've determined where Mura has been installed, you'll want to be able to identify Mura's "core" files. This is important to know, because the last thing you want to do is modify a file you shouldn't have touched to begin with.

As you'll see later, Mura offers an easy way to keep your installation of Mura up-to-date, and if you're modifying "core" files, there's a very good chance your changes would be overwritten. So, in this section, we'll cover where "core" files reside, and which ones you can safely modify, to stay on the upgrade path.

Mura Directory Structure

There are a few primary directories and files you'll want to be aware of in Mura. The image below displays the directory structure of Mura, highlighting the "core" directories and files.

Note: Unless explicitly stated to the contrary, none of the highlighted directories and files listed below should be modified.

Directory or File Editable Description
{context}/admin/ No These files should never be modified. The files located here comprise the view and much of the functionality used for the administrative features of Mura.
{context}/config/ No* This directory contains the majority of Mura's configuration files. See additional information below.
{context}/requirements/ No These file should never be modified. The files located here are essentially the beating heart of Mura. We'll discuss a few files specific to Theme Developers in other sections. That said, it's best to simply leave the files in this directory alone.
{context}/.gitignore No The Mura Team uses Git for distributed version control, and this is the root .gitignore file used to specify intentionally untracked files.
{context}/.travis.yml No This file is used by Travis CI for automated testing.
{context}/Application.cfc No This file contains Mura's application-specific variables and settings.
{context}/box.json No This file is used by the Mura Team to run various tests using CommandBox and TestBox.
{context}/index.cfm No This is Mura's "start" file, and should not be modified.
{context}/installation.txt No This file outlines the basic steps to get up and running with Mura CMS.
{context}/license.txt No This is the GNU General Public License, Version 2, with exceptions.
{context}/Mura_CMS_
contribution_agreement.pdf
No* This file shouldn't be modified per se, but rather completed. For developers or development teams who wish to contribute to Mura, please complete this document and return it to matt.levine@blueriver.com.
{context}/README.md No A simple README file. When viewed on Github, a badge from Travis CI will display whether or not the current build is passing its required tests.
{context}/htaccess.txt No This is a sample .htaccess file for experienced web server administrators using Apache HTTP Server, and are looking for an example of how to eliminate the "index.cfm" from the URL.
{context}/web.config.txt No This is a sample web.config file for experienced web server administrators using Microsoft IIS, and are looking for an example of how to eliminate the "index.cfm" from the URL.

{context}/config/

This directory contains the majority of Mura's configuration files. There are a handful of editable files outlined below.

Directory Editable Description
{context}/config/cfapplication.cfm Yes Experienced developers may add custom Application.cfc variables here.
{context}/config/mappings.cfm Yes Experienced developers may add custom ColdFusion/CFML mappings here.
{context}/config/settings.ini.cfm Yes This is an extremely important file, and contains many of the default settings for Mura. A detailed reference is available in the Mura Developer Guide.

Other Directories and Files in the Mura Root

You may have noticed there were a few other directories and files we haven't covered yet. We'll be covering the "default" directory in the next section, where we'll learn about "site" files. In the mean time, here's a brief description of the other root directories and files.

Directory Editable Description
{context}/.git No The Mura team uses Git for distributed version control. This directory is created and used specifically by Git. You can safely ignore this directory.
{context}/default/ No* This directory will be covered in the next section, where we'll learn about "site" files.
{context}/plugins/ Yes* This directory is used by experienced developers when creating Mura plugins.
{context}/temp/ Yes This directory is not part of a typical Mura installation. We sometimes use this directory to store files when working locally, so they don't get included into the repository since our .gitignore file explicitly ignores it. You can safely ignore this directory too.
{context}/robots.txt Yes This file is used to give instructions about their site to web robots. You can safely modify this file.
{context}/web.config Yes This file is used by Microsoft IIS. You can safely modify this file. However, it is recommended that only experienced web server administrators do so.