My favorites | Sign in
Project Home Wiki Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
Bootstraping  
Updated Oct 15, 2010 by denis.ha...@gmail.com

Bootstrapping is the process which occurs on server start up. It allows clear decoupling of Core module from other installed modules. During this process different components and resources are injected into the Core module which effectively changes behavior of Core module itself. In the rest of the text we will describe which resources and components could be injected.

Before we begin, let's shortly review an example of bootstrapping xml

<bean class="org.jibeframework.core.app.bootstrap.BootstrapWorker" init-method="init" depends-on="core.Bootstrap">
	<property name="configFiles">
		<list>
			<value>/alfresco/module/org.jibeframework.contentmanager/config/configuration-config.xml</value>
			<value>/alfresco/module/org.jibeframework.contentmanager/config/repo-properties-config.xml</value>
			<value>/alfresco/module/org.jibeframework.contentmanager/config/repo-versions-config.xml</value>
			<value>/alfresco/module/org.jibeframework.contentmanager/config/repo-viewport-config.xml</value>
			<value>/alfresco/module/org.jibeframework.contentmanager/config/web-client-config-actions.xml</value>
		</list>
	</property>
	<property name="javaScriptFiles">
		<list>
			<value>alfresco/module/org.jibeframework.contentmanager/scripts/breadcrumbs.js</value>
			<value>alfresco/module/org.jibeframework.contentmanager/scripts/categories.js</value>
			<value>alfresco/module/org.jibeframework.contentmanager/scripts/component-initializers.js</value>
			<value>alfresco/module/org.jibeframework.contentmanager/scripts/components.js</value>
			<value>alfresco/module/org.jibeframework.contentmanager/scripts/contentGrid-dndsupport.js</value>
			<value>alfresco/module/org.jibeframework.contentmanager/scripts/permissions-management.js</value>
		</list>
	</property>
	<property name="templatesPath">
		<value>/alfresco/module/org.jibeframework.contentmanager/template</value>
	</property>
	<property name="cssPath">
		<value>alfresco/module/org.jibeframework.contentmanager/css</value>
	</property>
	<property name="messageBootstrapDescriptor">
		<bean class="org.jibeframework.core.app.bootstrap.MessagesBootstrapDescriptor">
			<property name="serverBundles">
				<list>
					<value>alfresco/module/org.jibeframework.contentmanager/messages/bundle</value>
					<value>alfresco/module/org.jibeframework.contentmanager/messages/model</value>
					<value>alfresco/module/org.jibeframework.contentmanager/messages/exception</value>
				</list>
			</property>
		</bean>
	</property>
	<property name="groovyClassesPath">
		<value>alfresco/module/org.jibeframework.contentmanager/groovy</value>
	</property>
</bean>

configFiles

Type of the property is java.util.List<String>. Content of XML configuration files listed in this property will be analyzed.

<property name="configFiles">
	<list>
		<value>/alfresco/module/org.jibeframework.contentmanager/config/configuration-config.xml</value>
		<value>/alfresco/module/org.jibeframework.contentmanager/config/repo-properties-config.xml</value>
		<value>/alfresco/module/org.jibeframework.contentmanager/config/repo-versions-config.xml</value>
		<value>/alfresco/module/org.jibeframework.contentmanager/config/repo-viewport-config.xml</value>
		<value>/alfresco/module/org.jibeframework.contentmanager/config/web-client-config-actions.xml</value>
	</list>
</property>

javaScriptFiles

Type of the property is java.util.List<String>. Content of JavaScript files listed in this property will be merged, minimized, cached and downloaded to client together with ExtJs distribution on page load.

<property name="javaScriptFiles">
	<list>
		<value>alfresco/module/org.jibeframework.contentmanager/scripts/breadcrumbs.js</value>
		<value>alfresco/module/org.jibeframework.contentmanager/scripts/categories.js</value>
		<value>alfresco/module/org.jibeframework.contentmanager/scripts/component-initializers.js</value>
		<value>alfresco/module/org.jibeframework.contentmanager/scripts/components.js</value>
	</list>
</property>

templatesPath

Type of the property is java.lang.String. It defines the root folder of hierarchy of Freemarker templates.

<property name="templatesPath">
	<value>/alfresco/module/org.jibeframework.contentmanager/template</value>
</property>

cssPath

Type of the property is java.lang.String. It defines the folder where CSS Stylesheet files are stored.

<property name="cssFiles">
	<value>/alfresco/module/org.jibeframework.contentmanager/css</value>
</property>

messageBootstrapDescriptor

Type of the property is org.jibeframework.core.app.bootstrap.MessagesBootstrapDescriptor. It defines server and client message bundles. Client message bundles will be available from JavaScript on the client.

<property name="messageBootstrapDescriptor">
	<bean class="org.jibeframework.core.app.bootstrap.MessagesBootstrapDescriptor">
		<property name="serverBundles">
			<list>
				<value>alfresco/module/org.jibeframework.contentmanager/messages/bundle</value>
				<value>alfresco/module/org.jibeframework.contentmanager/messages/model</value>
			</list>
		</property>
		<property name="clientBundles">
			<list>
				<value>alfresco/module/org.jibeframework.contentmanager/messages/client</value>
			</list>
		</property>
	</bean>
</property>

groovyClassesPath

Type of the property is java.lang.String. It defines root folder from which Groovy classes will be loaded.

<property name="groovyClassesPath">
	<value>alfresco/module/org.jibeframework.contentmanager/groovy</value>
</property>

applicationInitializedListeners

Type of property is java.util.List<org.jibeframework.core.app.ApplicationInitializedListener>. Beans listed in this property will be invoked on application start up.

<property name="applicationInitializedListeners">
	<list>
		<ref bean="jibe.ConfigStore" />
		<ref bean="jibe.JavascriptStore" />
		<ref bean="jibe.CssStore" />
		<ref bean="jibe.MethodStore" />
	</list>
</property>

authenticator

Type of property is org.jibeframework.core.app.authentication.Authenticator. Beans injected with this property will be used to authorize user of the applications.

<property name="authenticator">
	<bean class="org.jibeframework.alfresco.authentication.AlfrescoAuthenticator">
		<property name="authenticationService" ref="AuthenticationService" />
		<property name="serviceRegistry" ref="ServiceRegistry" />
	</bean>
</property>

candidatesForReloading

Type of the property is java.util.List<org.jibeframework.core.app.Reloadable> Beans listed in this property will be checked periodically in the background if reloading is required.

<property name="candidatesForReloading">
	<list>
     	        <ref bean="jibe.ConfigStore" />
		<ref bean="jibe.MessagesStore" />
		<ref bean="jibe.MethodStore" />
	</list>
</property>

requestHandlers

Type of the property is java.util.List<org.jibeframework.core.app.request.RequestHandler> With this property custom request handlers could be added to the request serving pipeline.

<property name="requestHandlers">
	<list>
		<bean class="org.jibeframework.core.app.request.UIComponentRequestHandler" />
	</list>
</property>

applications

dictionaryAdapters

Powered by Google Project Hosting