blob: 0a3da5700f8a9e47d30260bee7aa8e2904fa90d8 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="5.0" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
xsi:schemaLocation="http://docbook.org/ns/docbook"
xmlns="http://docbook.org/ns/docbook">
<title>The Apache OFBiz documentation system</title>
<section>
<title>Overview</title>
<para>
The OFBiz documentation system consist out of a number of DocBook xml
files. In general the files are stored within the subject
component either in the 'documents' or data/helpdata
directories.
The docbook schemas are stored in the applications/content/dtd
directory and the stylesheets are
stored in the applications/content/templates/docbook directory.
</para>
<para>
The definition of the content and dataresource records can be found in
the application/content/data/ContentType.xml file at the
bottom. They are in this file because the documentation and
helpfile are considered 'seed' data: essential for the operation of OFBiz.
</para>
<para>
If you are looking for docbook files format examples, please
look at the following files:
<orderedlist>
<listitem><para>An example for a chapter of a component at:
applications/accounting/documents/Accounting.xml</para></listitem>
<listitem><para>An example of a help screen:
applications/accounting/data/helpdata/HELP_ACCOUNTING_main.xml</para></listitem>
<listitem><para>An example of content creation:
applications/accounting/data/AccountingHelpData.xml</para></listitem>
</orderedlist>
</para>
</section>
<section>
<title>Contributing a new help screen, a few steps.</title>
<para>
There is a difference between portlets and 'normal' screens. If a
page contains a portlet, the general help of the myportal component is shown with
at the bottom a list of the portlets used at that page. Help can be obtained by clicking on
the relevant portlet.
</para>
<section>
<title>Normal pages.</title>
<para>
So if you would like to create a new help menu for a certain
screen, you need to do the following:
<orderedlist>
<listitem>
<para>In the helplink.ftl un-comment the ${helpTopic} variable so it will appear at the
top right hand of your screen.
</para>
</listitem>
<listitem>
<para>
In the specific component data/helpData create the HELP_${helpTopic}.xml file. you can find an
example in the HELP_ACCOUNTING_main.xml file.
</para>
</listitem>
<listitem>
<para>
Update/create the data/${componentName}HelpData.xml, an example can be found in the
AccountingHelpData.xml. If new make also an entry in the ofbiz-component.xml
</para>
</listitem>
<listitem>
<para>
Load the HelpDataFile and the file should show up when you click on the help button.
</para>
</listitem>
<listitem>
<para>
Submit the change to the svn repository or create a diff file and attach it to a jira issue.
</para>
</listitem>
<listitem>
<para>
If the help text is useful in the ofbiz document include it in the files in the document directory.
</para>
</listitem>
</orderedlist>
</para>
</section>
<section>
<title>Contributing a new Portlet help screen.</title>
<para>
Portlets are normally defined and explained in the ${component name}PortletData.xml files. An example
of an portlet with an existing help screen have a look at WorkEffortPortletData.xml
</para>
<para>
The content records for the help file is defined together with the portlet definition and the actual help
file is store in the related component /data/helpdata directory with the name HELP_PORTLET_${portletId}.xml.
</para>
</section>
</section>
<section>
<title><anchor xml:id="helpInternationalization"/>Internationalization of the help system</title>
<para>
Because the help system is making use of the content component, internationalization of the help files is very easy because
it is a basic function of the content component. If you want to make a translation of an existing help file, make a copy in the same directory
and make it unique by attaching the "_languageCode" at the end.
</para>
<para>
Create, as also was done for the english version a dataresource and content record in the data/${componentName}HelpData.xml file.
Then create an ContentAssoc record in data/${componentName}HelpData.xml file to associate this new file with the english file with the type
ALTERNATE_LOCALE. Please find below an example from the ContentHelpData.xml for a Dutch version of the root help file.
<programlisting>
&amp;lt;!-- how to create alternative locales -->
&amp;lt;DataResource dataResourceId="HELP_ROOT_NL" localeString="nl" dataResourceTypeId="OFBIZ_FILE"
objectInfo="applications/content/data/helpdata/HELP_ROOT_NL.xml" dataTemplateTypeId="NONE" statusId="CTNT_IN_PROGRESS"
dataResourceName="Help system root" mimeTypeId="text/xml" isPublic="Y" />
&amp;lt;Content contentId="HELP_ROOT_NL" contentTypeId="DOCUMENT" templateDataResourceId="HELP_TEMPL"
dataResourceId="HELP_ROOT_NL" localeString="nl" statusId="CTNT_IN_PROGRESS"
contentName="Help system root in dutch" mimeTypeId="text/html"/>
&amp;lt;ContentAssoc contentId="HELP_ROOT" contentIdTo="HELP_ROOT_NL"
contentAssocTypeId="ALTERNATE_LOCALE" fromDate="2006-01-12 01:01:01"/>
</programlisting>
The switching between locales is from then on completely automatic.
</para>
</section>
</section>