How do I setup MachBlog as a module?
Table of Contents
Introduction
MachBlog is a open-source blogging application for Mach-II and is easily setup as a module of your Mach-II application. Customization is accomplished by defining override XML which nested between the module node. Override XML allows Mach-II to apply the override section on top of the elements defined in the module's configuration file. This allows you to make basic customizations or make settings without having to edit the MachBlog's configuration file.
Example XML for MachBlog 1.0
The overrideAction attribute shown below is used to indicate to Mach-II to use an element that is defined in a particular place. In this case, we indicate to use an element that is defined in the parent. For example, the value of the property named titleSuffix is going to come from a property named titleSuffix that is defined in the property section of the base application configuration file.
<module name="blog" file="/machblog/config/mach-ii.xml.cfm">
<mach-ii version="1.6">
<!-- PROPERTIES -->
<properties>
<property name="applicationRoot" value="/machblog/"/>
<property name="defaultEvent" value="showHome"/>
<property name="blogUrl" value="http://www.mach-ii.com" />
<property name="blogDescription" value="Team Mach-II Blog" />
<property name="skinsPath" value="/XXXXXX/modules/blog/views" />
<property name="skin" value=""/>
<property name="devMode" value="false"/>
<property name="allowBlogSubscriptions" value="false" />
<property name="useGoogleAnalytics" value="true"/>
<property name="googleAnalyticsAccountNumber" overrideAction="useParent"/>
<property name="useCaptcha" value="true" />
<property name="coldspringConfigFile" value="/machblog/config/services.xml"/>
<property name="captchaConfigFile" value="/machblog/config/captcha.xml"/>
<property name="blogHeaderTitle" value="Team Mach-II Blog"/>
<property name="blogSubHeaderText" value="A Mach-II Blog"/>
<property name="titleSuffix" overrideAction="useParent"/>
<property name="numDaysOnHomePage" value="60" />
<property name="numEntriesPerPage" value="10" />
<property name="smtpMailerID" value="Mach-II Mail Server"/>
<property name="smtpServer" value="mail.example.com"/>
<property name="emailAuthor" value="info@mach-ii.com"/>
<property name="emailComments" value="info@mach-ii.com"/>
<property name="emailError" value="info@mach-ii.com"/>
<property name="emailWebmaster" value="webmaster@mach-ii.com"/>
</properties>
<event-handlers>
<event-handler event="exception" overrideAction="useParent"/>
</event-handlers>
<subroutines>
<subroutine name="mainLayout">
<notify listener="categoryListener" method="getActiveCategories" resultArg="categories"/>
<view-page name="layout.header" contentArg="layout.header"/>
<view-page name="layout.info" contentArg="layout.side" append="true"/>
<view-page name="layout.search" contentArg="layout.side" append="true"/>
<view-page name="layout.categories" contentArg="layout.side" append="true"/>
<view-page name="layout.archives" contentArg="layout.side" append="true"/>
<view-page name="layout.adminMenu" contentArg="layout.side" append="true"/>
<view-page name="layout.footer" contentArg="layout.footer"/>
<view-page name="layout.analytics" contentArg="layout.analytics"/>
<view-page name="layout.snapPreview" contentArg="layout.snapPreview"/>
<view-page name="layout.mainTemplate"/>
</subroutine>
<subroutine name="popupTemplate">
<view-page name="layout.footer" contentArg="layout.footer"/>
<view-page name="layout.analytics" contentArg="layout.analytics"/>
<view-page name="layout.popupTemplate"/>
</subroutine>
</subroutines>
<page-views>
<page-view name="layout.info" page="/modules/blog/views/layout/info.cfm" useParentAppRoot="true"/>
<page-view name="layout.search" page="/modules/blog/views/layout/search.cfm" useParentAppRoot="true"/>
<page-view name="layout.header" overrideAction="useParent"/>
<page-view name="layout.footer" overrideAction="useParent"/>
</page-views>
</mach-ii>
</module>
