<definitiondir>.\bodef\</definitiondir>
<uidefinitiondir>.\uidef\default</uidefinitiondir>
<webcontextroot>/xeo</webcontextroot>
<encoding>UTF-8</encoding>
<deployment> <class_dir>.\.build\classes\</class_dir> <src_dir>.\.build\src\</src_dir> <obj_dir>.\.build\bodef-deployment</obj_dir> <obj_compiler>C:/jdk1.6.0_14/bin/javac.exe</obj_compiler> <obj_templates>.\.templates</obj_templates> <obj_deployjspdir>.\.build\webresources\default\</obj_deployjspdir> <obj_moduleswebdir>.\base_lib\modules_web\</obj_moduleswebdir> <lib_dir>.\lib\</lib_dir> <tablespace>USERS</tablespace> </deployment>_
<threads type="userThreads"> <thread interval="15000" ejb-name="ejb/boTextIndexAgent" name="boTextIndex Agent"/> </threads>_
<DataSources> <DataSource boql="true" name="DATA"> <Driver>netgest.bo.data.oracle.OracleDriver</Driver> <DML>jdbc/xeo</DML> <DDL>jdbc/xeo_nojta</DDL> </DataSource> <DataSource boql="true" name="SYS"> <Driver>netgest.bo.data.oracle.OracleDriver</Driver> <DML>jdbc/xeo_nojta</DML> <DDL>jdbc/xeo_nojta</DDL> </DataSource> </DataSources>At the moment there are three driver implementations (MySQL, Oracle and SQL Server). XEO Studio will generate the approriate boConfig when you configure the database connection but the three driver implementations are as follows:
<mail> <smtphost>smtp.host.domain</smtphost> </mail>If you have your own mail sending mechanism you can also use boConfig just to keep your configuration values. The boConfig.xml file is read and made available by a wrapper class (netgest.bo.system.boApplicationConfig) which can be accessed through class boApplication. The boApplicationConfig class has a method getMailConfig which returns a Properties instance. By default the only property will be "smtphost" but if you in the boconfig file you include additional elements, those elements will be transformed to properties, as follows:
<mail> <smtphost>smtp.host.domain</smtphost> <defaultuser>SUPERUSER</defaultuser> <serverPort>338</serverPort> <myVeryCustomConfiguration></myVeryCustomConfiguration> </mail>If you used this configuration, when retrieving the Properties from the getMailConfig method you would have four properties (smtphost, defaultuser, serverPort and myVeryCustomConfiguration).
<themes> <theme name='blue' description='Default Blue Theme' default='true'> </theme> <theme name='gray' description='Gray Theme'> <files> <file path='extjs/resources/css/xtheme-gray.css' description='Gray Theme' id='css_gray'></file> </files> </theme> <theme name='slate' description='Slate Theme' > <files> <file path='extjs/resources/css/xtheme-slate.css' description='Slate Theme' id='css_slate'></file> </files> </theme> <theme name='green' description='Green Theme'> <files> <file path='themes/css/xtheme-green.css' description='Green Theme' id='css_green'></file> </files> </theme> <theme name='olive' description='Olive Theme'> <files> <file path='themes/css/xtheme-olive.css' description='Olive Theme' id='css_olive'></file> </files> </theme> <theme name='pink' description='Pink Theme'> <files> <file path='themes/css/xtheme-pink.css' description='Pink Theme' id='css_pink'></file> </files> </theme> <theme name='purple' description='Purple Theme'> <files> <file path='themes/css/xtheme-purple.css' description='Purple Theme' id='css_purple'></file> </files> </theme> </themes>To add a new theme to the Application you can use the Administration Interface to create a new Theme, or add a new theme in the boconfig.xml file and issue a build command to let the builder create the new theme. Each theme is identified by a name and a description and a set of files. Each file must have a unique identifier, if you need three files included for a given theme, do the following:
<theme name='multiple' description='Theme'> <files> <file path='themes/css/file1.css' description='File1' id='css_1'></file> <file path='themes/css/file2.css' description='File2' id='css_2'></file> </files> </theme>Note: Changing a configuration for a Theme after it's been created by the builder will have no effect. If you want to change the Theme settings you'll have to use the Administration Interface. Also, it's possible for each user to select its own theme (independently of the application theme). It's done either by editing the user or by changing the user properties (accessible from the Tree Menu)
Property Name | Type | Description | XML declaration | Notes |
---|---|---|---|---|
repositoryConnection | XML element | Parameters to be passed to the connection class (see classConnection property) this is done automatically when instatianting the class. | <repositoryConnection> <parameters> <parameter name='foo' value='bar'> <parameter name='bar' value='foo'> </parameters> </repositoryConnection> |
|
classConnection | String | The fully qualified name of a class that implemets the netgest.io.jcr.ECMRepositoryConnection interface which is responsible for creating a JCR Session with the repository | classConnection='netgest.io.jcr.JackRabbitXEO' | |
name | String | The repository identifier | name='JackRabbitXEO' | |
showAllProperties | boolean | Whether the visual layer should try to display all properties of files/folders or only the ones declared in the File/Folder/Metadata nodes (see bellow) | showAllProperties='false' | |
default | boolean | Whether this is the default repository or not | default = 'true' | If a repository is not specified when saving/reading, etc... the default repository is used |
<system> <!-- System Properties that we don't want to display in forms and etc.. --> <properties> <property name='jcr:createdBy'></property> <property name='jcr:uuid'></property> <property name='jcr:primaryType'></property> </properties> </system>_ File Node Configuration The file node configuration allows you to specify the nodes that will represent files (for the XEO Application) in the repository. You can specify:
<fileNode type="nt:file" binaryProperty="jcr:data" createDate="jcr:created" updateDate='jcr:lastModified' mimeType="jcr:mimeType"> <properties> <property label='Create Date' name="jcr:created" type='attributeDate' mainNode='true'/> <property label='File' name='jcr:data' type='binary'></property> <property label='Encoding' name="jcr:encoding" type='attributeText' /> <property label='MimeType' name='jcr:mimeType' type='attributeText'></property> <property label='Date Update' name='jcr:lastModified' type='attributeDate'></property> </properties> <childNodes> <childNode name="jcr:content" type="nt:resource"> <properties> <property label='MimeType' name="jcr:mimeType" type="string"></property> <property label='Encoding' name="jcr:encoding" type="string"></property> <property label='File' name="jcr:data" type="binary"></property> <property label='Date Update' name="jcr:lastModified" type="date"></property> </properties> <childNode /> </childNodes> </fileNode>And another when using a repository that has the nodes declared by default by the XEO framework
<fileNode type="xeo:file" binaryProperty="xeo:data" createDate="" updateDate="" mimeType=""> <properties> <property label='File' name='xeo:data' type='binary' mainNode='true'></property> </properties> <childNodes> </childNodes> </fileNode>_ Folder Node Configuration The file node configuration allows you to specify the nodes that will represent folders (for the XEO Application) in the repository. You can specify:
<folderNode type="nt:folder" createDate="jcr:created" updateDate="" childFilesType='nt:hierarchyNode'> <properties> <property label='Create Date' name="jcr:created" type='date' mainNode='true'/> </properties> <childNodes /> </folderNode>And a configuration to XEO default folder nodes:
<folderNode type="xeo:folder" createDate="" updateDate="" childFilesType='xeo:hierarchyNode'> <properties /> <childNodes /> </folderNode>Metadata Node Properties You can also declare several different types of metadata nodes which can be associated to File and Folder Nodes. When declaring a metadata node you can define the following:
<metadataNodes> <metadataNode type="xeo:metadata" name="metadata" canCreate="true" default="true"> <queryToReach>metadata/categories</queryToReach> <parent></parent> <properties /> <children /> </metadataNode> </metadataNodes>_ Sample XML (for a complete configuration of one repository):
_<?xml version="1.0" encoding="UTF-8"?> <ecmRepositories> <ecmRepository name='JackRabbitXEO' default='true' fileConnector='netgest.io.jcr.FileConnector' classConnection='netgest.io.jcr.JackRabbitXEOConnection' showAllProperties='false'> <repositoryConnection> <parameters> <parameter name='exampleParameter' value='bar'></parameter> </parameters> </repositoryConnection> <system> <!-- System Properties that we don't want to display in forms and etc.. --> <properties> <property name='jcr:createdBy'></property> <property name='jcr:uuid'></property> <property name='jcr:primaryType'></property> </properties> </system> <fileNode type="xeo:file" binaryProperty="xeo:data" createDate="" updateDate="" mimeType=""> <properties> <property label='File' name='xeo:data' type='binary' mainNode='true'></property> </properties> <childNodes> </childNodes> </fileNode> <folderNode type="xeo:folder" createDate="" updateDate="" childFilesType='xeo:hierarchyNode'> <properties> </properties> <childNodes /> </folderNode> <metadataNodes> <metadataNode type="xeo:metadata" name="metadata" canCreate="true" default="true"> <queryToReach>metadata/categories</queryToReach> <parent></parent> <properties> </properties> <children></children> </metadataNode> </metadataNodes> </ecmRepository> </ecmRepositories>
<Repositories> <Repository> <Name>default</Name> <UserName></UserName> <Password></Password> <DataSource>DATA</DataSource> <DataSourceDef>DATA</DataSourceDef> <Schema>_DATABASE_NAME_OR_SCHEMA</Schema> <Parent></Parent> </Repository> </Repositories>The DATABASE_NAME_OR_SCHEMA value should be replaced with the name of the database (MySQL, SQLServer) used by the application, or the schema name (Oracle). Also, it's the only value you need to change.
<languages> <ApplicationLanguage>PT</ApplicationLanguage> <availableLanguages> <language> <code>EN</code> <description>English</description> </language> <language> <code>PT</code> <description>Português</description> </language> </availableLanguages> </languages>
_<Content_Manager> <Contents_Type>XEOCM_Contents;XEOAG_Contents;XEOCM_Noticias;XEOCM_Contents_Link;XEOCM_Document;XEOCM_Map</Contents_Type> <Images_Type>XEOCM_Image</Images_Type> </Content_Manager>