Author: jleroux
Date: Thu Mar 8 10:42:54 2018
New Revision: 1826200
URL: http://svn.apache.org/viewvc?rev=1826200&view=rev
Log:
I locally updated Pandoc and it now generates HTML5 code
So when using the -s argument it now generates this warning
[WARNING] This document format requires a nonempty <title> element
Please specify either 'title' or 'pagetitle' in the metadata.
Falling back to 'README'
This means that since HTML5 requires a title Pandoc generates it using the file
name
There are 2 options:
* add the -quiet option to hide the warning (lazy/easy)
* add the 'title' or 'pagetitle' in the metadata a bit heavy, default is OK with
me
I decided to not change anything since this will anyway certainly changed with
our new way of documenting
So here are new generated HTML5 pages, also fixes a typo in Creating reports.md
Modified:
ofbiz/ofbiz-plugins/trunk/birt/documents/Creating reports.md
ofbiz/tools/wiki-files/BuildBot/BuildBot.md.html
ofbiz/tools/wiki-files/README.md.html
ofbiz/tools/wiki-files/birt/Creating reports.md.html
ofbiz/tools/wiki-files/birt/How to use flexible reports.md.html
ofbiz/tools/wiki-files/birt/Report master creation.md.html
ofbiz/tools/wiki-files/birt/Using the Birt Report Designer.md.html
ofbiz/tools/wiki-files/data-model/DATAMODEL_CHANGES.md.html
ofbiz/tools/wiki-files/demos/README.md.html
ofbiz/tools/wiki-files/themes/README.md.html
Modified: ofbiz/ofbiz-plugins/trunk/birt/documents/Creating reports.md
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-plugins/trunk/birt/documents/Creating%20reports.md?rev=1826200&r1=1826199&r2=1826200&view=diff
==============================================================================
--- ofbiz/ofbiz-plugins/trunk/birt/documents/Creating reports.md (original)
+++ ofbiz/ofbiz-plugins/trunk/birt/documents/Creating reports.md Thu Mar 8
10:42:54 2018
@@ -27,7 +27,7 @@ Once the form is validated, OFBiz will s
## Report information ##
This first panel allows you to change the report description and status. Actually it does not make sense changing the status to published before
having downloaded the .rptdesign file (Birt Report Designer file) from the server (in database), edited and uploaded it back to the server. This is
explained in the section below. Changing the status allows users to use your reports. But if you publish without any change the report will render
as empty.
-## The .rptdesign report file: donwload, edit, upload and publish it ##
+## The .rptdesign report file: download, edit, upload and publish it ##
To really use the report you need to download the .rptdesign file from the server in a location from where you can edit it with the BIRT Report
Designer. So you need to install first the BIRT Report Designer. Then you can edit the .rptdesign file in the BIRT Report Designer. For that refer
to the ["Using the Birt Report Designer.md.html"
file](https://svn.apache.org/repos/asf/ofbiz/ofbiz-plugins/trunk/birt/documents/Using%20the%20Birt%20Report%20Designer.md.html). You can also find
the Markdonw version in the same directory: ofbiz-framework/plugins/birt/documents
### Editing the downloaded file ###
Once you installed the BIRT Report Designer and have downloaded the .rptdesign file, you can edit it with the Birt Report Designer. When you have
edited it suiting your needs you must upload it to the server for your changes to be taken into account by OFBiz.
Modified: ofbiz/tools/wiki-files/BuildBot/BuildBot.md.html
URL:
http://svn.apache.org/viewvc/ofbiz/tools/wiki-files/BuildBot/BuildBot.md.html?rev=1826200&r1=1826199&r2=1826200&view=diff
==============================================================================
--- ofbiz/tools/wiki-files/BuildBot/BuildBot.md.html (original)
+++ ofbiz/tools/wiki-files/BuildBot/BuildBot.md.html Thu Mar 8 10:42:54 2018
@@ -1,11 +1,19 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta http-equiv="Content-Style-Type" content="text/css" />
+ <meta charset="utf-8" />
<meta name="generator" content="pandoc" />
- <title></title>
- <style type="text/css">code{white-space: pre;}</style>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0,
user-scalable=yes" />
+ <title>BuildBot</title>
+ <style type="text/css">
+ code{white-space: pre-wrap;}
+ span.smallcaps{font-variant: small-caps;}
+ span.underline{text-decoration: underline;}
+ div.column{display: inline-block; vertical-align: top; width: 50%;}
+ </style>
+ <!--[if lt IE 9]>
+ <script
src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+ <![endif]-->
</head>
<body>
<!--
@@ -32,20 +40,20 @@ under the License.
<p><a href="https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/ofbiz.conf">Here is the OFBiz BuildBot
script</a>. If you are interested on modifying it, please understand its content and read the BuildBot documentation. Note that the Infra team is
always there to help you.</p>
<h3 id="schedulers-and-builders">Schedulers and Builders</h3>
<p>BuildBot uses schedulers and builders. Schedulers decide which builders to
trigger on svn commits.</p>
-<p>You can see the OFBiz builders and their states in the <a href="https://ci.apache.org/waterfall">common Buildbot waterfall view</a> (look for
"ofb").</p>
+<p>You can see the OFBiz builders and their states in the <a href="https://ci.apache.org/waterfall">common Buildbot waterfall view</a> (look for
âofbâ).</p>
<p>The <a href="https://ci.apache.org/builders/ofbizTrunkFramework">ofbizTrunkFramework</a> builder is triggered on commits in the trunk
framework branch. Then only the framework integration tests are run. This also triggers the <a
href="https://ci.apache.org/builders/ofbizTrunkFrameworkPlugins">ofbizTrunkFrameworkPlugins</a> and then the whole integration tests are run. To
check that a commit in the framework puts no regressions in plugins and especially because the dependencies of ofbiz-framework without
ofbiz-plugins is different from the dependencies of ofbiz-framework + ofbiz-plugins (plugins components are Gradle sub-projects). So testing needs
to happen in both scenarios because you might face library version bugs. Of course a commit into the trunk plugins also triggers the
ofbizTrunkFrameworkPlugins.</p>
<p>The same apply to the <a href="https://ci.apache.org/builders/ofbizBranch17Framework">ofbizBranch17Framework</a> and the <a
href="https://ci.apache.org/builders/ofbizBranch17FrameworkPlugins">ofbizBranch17FrameworkPlugins</a> and next releases branches, they follows the
same structure than the trunk now.</p>
<p>The current stable branch R16.12 has only <a href="https://ci.apache.org/builders/ofbizBranch16">one builder</a>. This will be gone in future.
All new releases needs 2 builders.</p>
-<p>In an OFBiz builder page you can see <a href="https://ci.apache.org/builders/ofbizTrunkFramework">an history of the builds up to 100+</a>.
OFBiz randomly uses 3 servers (except for RAT which always only uses lares_ubuntu) to build as you can see at the bottom of this page. You may want
to explore more to get acquainted with the tool...</p>
+<p>In an OFBiz builder page you can see <a href="https://ci.apache.org/builders/ofbizTrunkFramework">an history of the builds up to 100+</a>.
OFBiz randomly uses 3 servers (except for RAT which always only uses lares_ubuntu) to build as you can see at the bottom of this page. You may want
to explore more to get acquainted with the toolâ¦</p>
<p>There is also the <a href="https://ci.apache.org/builders/ofbizTrunkFrameworkRat">RAT builder</a>. It checks the licenses in OFBiz. You can
find the result <a href="https://ci.apache.org/projects/ofbiz/rat-output.html">here</a></p>
<h3 id="tests-results">tests results</h3>
<p>Here are the <a href="ci.apache.org/projects/ofbiz/logs/">test results</a>. The
folders structure reflects the current svn repo structure.</p>
<h3 id="technical-information">Technical information</h3>
-<p>When you create a new branch you need to let know BuildBot about it. This because BuildBot uses svn hooks to triggers builds on commits. <a
href="https://github.com/apache/infrastructure-puppet/blob/deployment/modules/subversion_server/files/hooks/buildbot_project_paths">The file to
change is here</a> You can't make commit in infrastructure-puppet if you are not an infra committer. So you need to clone the repo and make a Pull
Request.</p>
+<p>When you create a new branch you need to let know BuildBot about it. This because BuildBot uses svn hooks to triggers builds on commits. <a
href="https://github.com/apache/infrastructure-puppet/blob/deployment/modules/subversion_server/files/hooks/buildbot_project_paths">The file to
change is here</a> You canât make commit in infrastructure-puppet if you are not an infra committer. So you need to clone the repo and make a
Pull Request.</p>
<h2 id="handling-issues">Handling issues</h2>
-<p>Sometimes (rarely) you can get transient tests errors in BuildBot. This mean tests don't all pass in BuildBot, though they pass in your local
instance. In such case, it's most certainly an issue with servers. Those are hard workers and make errors from time to time, which shows that not
only human make errors.</p>
-<p>Before doing anything it's best to check which BuildBot step is impacted, and if
it exists have a look at the logfile (stdio)</p>
-<p>Some other errors may happen, like * svn not updating * upload not working * you
name it...</p>
+<p>Sometimes (rarely) you can get transient tests errors in BuildBot. This mean tests donât all pass in BuildBot, though they pass in your local
instance. In such case, itâs most certainly an issue with servers. Those are hard workers and make errors from time to time, which shows that not
only human make errors.</p>
+<p>Before doing anything itâs best to check which BuildBot step is impacted, and
if it exists have a look at the logfile (stdio)</p>
+<p>Some other errors may happen, like * svn not updating * upload not working * you
name itâ¦</p>
<p>In such case you can trigger a build from IRC to see if the problem resolves by itself. Most of the time tests and svn issues are resolved
this way. If it does not then the best is to ask Infra help, either on <a href="https://apache.hipchat.com/chat/room/669587">HipChat infra room</a>
or through the <a href="https://issues.apache.org/jira/servicedesk/customer/portal/1/create/3">service desk</a></p>
<p>When something like that happens, I get to IRC (using https://webchat.freenode.net). There using a recognisable username (I use jleroux) I get
to the ofbiz channel. I wait for ofbiz-bot to appear, click on it, click on query and then I can make a request in the chat line to restart a
scheduler. A request is of the form</p>
<pre><code>force build ofbizTrunkFramework</code></pre>
@@ -53,8 +61,8 @@ under the License.
<pre><code>forces manual build after weird error</code></pre>
<p>So the whole request is of the form</p>
<pre><code>force build ofbizTrunkFramework forces manual build after weird
error</code></pre>
-<p>Note though that with our last config (see <a href="https://issues.apache.org/jira/browse/INFRA-15394">INFRA-15394</a>) the
ofbizTrunkFrameworkPlugins and ofbizBranch17FrameworkPlugins builders are dependent and respectively automatically launched by the
ofbizTrunkFramework and ofbizBranch17Framework builders but only on commits. So if you use an IRC command like <code>force build
ofbizTrunkFramework</code> only this builder will be launched not the dependent ofbizTrunkFrameworkPlugins. We can't call a scheduler from IRC. It
needs a svn commit.</p>
+<p>Note though that with our last config (see <a href="https://issues.apache.org/jira/browse/INFRA-15394">INFRA-15394</a>) the
ofbizTrunkFrameworkPlugins and ofbizBranch17FrameworkPlugins builders are dependent and respectively automatically launched by the
ofbizTrunkFramework and ofbizBranch17Framework builders but only on commits. So if you use an IRC command like <code>force build
ofbizTrunkFramework</code> only this builder will be launched not the dependent ofbizTrunkFrameworkPlugins. We canât call a scheduler from IRC.
It needs a svn commit.</p>
<h3 id="randon-conflicts-on-port-8080-during-tests">Randon conflicts on port 8080
during tests</h3>
-<p>One case which comes back from time to time is a conflit on port 8080 due to the automatic startup of tomcat. It's due to security patches
being applied on Silvanus (one of 3 the servers BuildBot uses for OFBiz, hence the random aspect, only Sylvanus is concerned). In such case we need
to ask infra to manually disable Tomcat on Silvanus. This happened 4th already, last case was <a
href="https://issues.apache.org/jira/browse/INFRA-15829">INFRA-15829</a>) where things are best explained.</p>
+<p>One case which comes back from time to time is a conflit on port 8080 due to the automatic startup of tomcat. Itâs due to security patches
being applied on Silvanus (one of 3 the servers BuildBot uses for OFBiz, hence the random aspect, only Sylvanus is concerned). In such case we need
to ask infra to manually disable Tomcat on Silvanus. This happened 4th already, last case was <a
href="https://issues.apache.org/jira/browse/INFRA-15829">INFRA-15829</a>) where things are best explained.</p>
</body>
</html>
Modified: ofbiz/tools/wiki-files/README.md.html
URL:
http://svn.apache.org/viewvc/ofbiz/tools/wiki-files/README.md.html?rev=1826200&r1=1826199&r2=1826200&view=diff
==============================================================================
--- ofbiz/tools/wiki-files/README.md.html (original)
+++ ofbiz/tools/wiki-files/README.md.html Thu Mar 8 10:42:54 2018
@@ -1,11 +1,19 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta http-equiv="Content-Style-Type" content="text/css" />
+ <meta charset="utf-8" />
<meta name="generator" content="pandoc" />
- <title></title>
- <style type="text/css">code{white-space: pre;}</style>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0,
user-scalable=yes" />
+ <title>README</title>
+ <style type="text/css">
+ code{white-space: pre-wrap;}
+ span.smallcaps{font-variant: small-caps;}
+ span.underline{text-decoration: underline;}
+ div.column{display: inline-block; vertical-align: top; width: 50%;}
+ </style>
+ <!--[if lt IE 9]>
+ <script
src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+ <![endif]-->
</head>
<body>
<!--
@@ -32,16 +40,16 @@ under the License.
<p><a href="http://ofbiz.apache.org/documentation.html">OFBiz
documentation</a></p>
<p><a href="http://www.apache.org/licenses/LICENSE-2.0">OFBiz License</a></p>
<blockquote>
-<p><em>Note</em>: If you want to use Eclipse, read the "Setup eclipse project for
OFBiz" section to set it up.</p>
+<p><em>Note</em>: If you want to use Eclipse, read the âSetup eclipse project for
OFBizâ section to set it up.</p>
</blockquote>
<blockquote>
-<p><em>Note</em>: If you want to use an external database like MySQL or PostgreSQL, read the "Setup an external database" section to set
it up.</p>
+<p><em>Note</em>: If you want to use an external database like MySQL or PostgreSQL, read the âSetup an external databaseâ section to set it
up.</p>
</blockquote>
<blockquote>
-<p><em>Note</em>: If you want to run OFBiz without an internet connection, read the "Running gradle tasks without an internet
connection" section.</p>
+<p><em>Note</em>: If you want to run OFBiz without an internet connection, read the âRunning gradle tasks without an internet connectionâ
section.</p>
</blockquote>
<blockquote>
-<p><em>Note</em>: The directory structure and repositories have changed. For more information read the "Repository and directory
structure" section.</p>
+<p><em>Note</em>: The directory structure and repositories have changed. For more information read the âRepository and directory structureâ
section.</p>
</blockquote>
<h2 id="system-requirements">System requirements</h2>
<p>The only requirement to run OFBiz is to have the Java Development Kit (JDK) version 8 installed on your system (not just the JRE, but the full
JDK) which you can download from the below link. Make sure of setting the $JAVA_HOME environment variable.</p>
@@ -83,14 +91,16 @@ under the License.
<p>There are two types of tasks designed for OFBiz in Gradle:</p>
<ul>
<li><p><strong>Standard tasks</strong>: To execute general standard Gradle
tasks</p></li>
-<li><strong>OFBiz server tasks</strong>: To execute OFBiz startup commands. These
tasks start with one of the following words:</li>
+<li><strong>OFBiz server tasks</strong>: To execute OFBiz startup commands.
These tasks start with one of the following words:
+<ul>
<li><strong>ofbiz</strong> : standard server commands</li>
<li><strong>ofbizDebug</strong> : server commands running in remote debug
mode</li>
-<li><p><strong>ofbizBackground</strong> ; server commands running in a background forked
process</p></li>
+<li><strong>ofbizBackground</strong> ; server commands running in a background
forked process</li>
+</ul></li>
</ul>
<p>Tips:</p>
<ul>
-<li><p>OFBiz <strong>server commands</strong> require <strong>"quoting"</strong> the commands. For example: <code>gradlew "ofbiz
--help"</code></p></li>
+<li><p>OFBiz <strong>server commands</strong> require <strong>âquotingâ</strong> the commands. For example: <code>gradlew "ofbiz
--help"</code></p></li>
<li><p>Shortcuts to task names can be used by writing the first letter of every word in a task name. However, you cannot use the shortcut form
for OFBiz server tasks. Example: <code>gradlew loadAdminUserLogin -PuserLoginId=myadmin</code> = <code>gradlew lAUL
-PuserLoginId=myadmin</code></p></li>
<li><p>Dependent tasks can be skipped with the -x switch. Example: <code>gradlew build -x test</code> does not run the tests within the
build.</p></li>
</ul>
@@ -102,7 +112,7 @@ under the License.
<p><code>gradlew "ofbizDebug --test"</code></p>
<p><code>gradlew "ofbizBackground --start --portoffset
10000"</code></p>
<p><code>gradlew "ofbiz --shutdown --portoffset 10000"</code></p>
-<p><code>gradlew ofbiz</code> (default is --start)</p>
+<p><code>gradlew ofbiz</code> (default is âstart)</p>
<h4 id="example-mixed-tasks-standard-and-ofbiz-server">Example mixed tasks
(standard and OFBiz server)</h4>
<p><code>gradlew cleanAll loadAll "ofbiz --start --portoffset
10000"</code></p>
<hr />
@@ -133,7 +143,7 @@ under the License.
<h4 id="get-ofbiz-status">Get OFBiz status</h4>
<p><code>gradlew "ofbiz --status"</code></p>
<h4 id="force-ofbiz-shutdown">Force OFBiz shutdown</h4>
-<p>Terminate all running OFBiz server instances by calling the appropriate operating system kill command. Use this command to force OFBiz
termination if the --shutdown command does not work. Usually this is needed when in the middle of data loading or testing in OFBiz.</p>
+<p>Terminate all running OFBiz server instances by calling the appropriate operating system kill command. Use this command to force OFBiz
termination if the âshutdown command does not work. Usually this is needed when in the middle of data loading or testing in OFBiz.</p>
<p>Warning: Be careful in using this command as force termination might lead to
inconsistent state / data</p>
<p><code>gradlew terminateOfbiz</code></p>
<h4 id="start-ofbiz-in-remote-debug-mode">Start OFBiz in remote debug
mode</h4>
@@ -142,7 +152,7 @@ under the License.
<p>OR</p>
<p><code>gradlew ofbizDebug</code></p>
<h4 id="start-ofbiz-on-a-different-port">Start OFBiz on a different port</h4>
-<p>Start OFBiz of the network port offsetted by the range provided in the argument
to --portoffset</p>
+<p>Start OFBiz of the network port offsetted by the range provided in the argument
to âportoffset</p>
<p><code>gradlew "ofbiz --start --portoffset 10000"</code></p>
<h4 id="start-ofbiz-in-the-background">Start OFBiz in the background</h4>
<p>Start OFBiz in the background by forking it to a new process and redirecting the output to
<strong>runtime/logs/console.log</strong></p>
@@ -161,16 +171,16 @@ under the License.
<li><strong>ext</strong>: External General Data (custom)</li>
<li><strong>ext-test</strong>: External Test Data (custom)</li>
<li><strong>ext-demo</strong>: External Demo Data (custom)</li>
-<li><strong>tenant</strong>: Data to load into the master tenants database "ofbiztenant". This data is required to identify where a
tenant's database is located. For more information you can review the relevant <a
href="https://cwiki.apache.org/confluence/display/OFBIZ/Multitenancy+support">tenant documentation</a></li>
+<li><strong>tenant</strong>: Data to load into the master tenants database âofbiztenantâ. This data is required to identify where a tenantâs
database is located. For more information you can review the relevant <a
href="https://cwiki.apache.org/confluence/display/OFBIZ/Multitenancy+support">tenant documentation</a></li>
</ul>
-<p>Available options for the --load-data server command are the following:</p>
+<p>Available options for the âload-data server command are the following:</p>
<ul>
-<li><strong>readers=[name]</strong>: only load data from certain readers separated
by comma. e.g. seed,seed-initial,ext</li>
+<li><strong>readers=[name]</strong>: only load data from certain readers separated
by comma. e.g. seed,seed-initial,ext</li>
<li><strong>file=[path]</strong>: load a single file from location or several files
separated by commas. e.g. /my/file/1,/my/file/2</li>
<li><strong>dir=[path]</strong>: load all data files found in directory</li>
-<li><strong>component=[name]</strong>: only load data from a specific component.
e.g. base</li>
-<li><strong>delegator=[name]</strong>: use the defined delegator. Default is "default". If the value passed is
<strong>"all-tenants"</strong> then OFBiz will load the data for all defined tenants in the system.</li>
-<li><strong>group=[name]</strong>: override the entity group (org.apache.ofbiz).
e.g. com.example.something</li>
+<li><strong>component=[name]</strong>: only load data from a specific component.
e.g. base</li>
+<li><strong>delegator=[name]</strong>: use the defined delegator. Default is âdefaultâ. If the value passed is
<strong>âall-tenantsâ</strong> then OFBiz will load the data for all defined tenants in the system.</li>
+<li><strong>group=[name]</strong>: override the entity group (org.apache.ofbiz).
e.g. com.example.something</li>
<li><strong>timeout=[millis]</strong>: timeout in milliseconds</li>
<li><strong>create-pks</strong>: create primary keys</li>
<li><strong>drop-pks</strong>: drop primary keys</li>
@@ -221,8 +231,8 @@ under the License.
<p><code>gradlew createTenant -PtenantId=mytenant -PtenantName="My Name" -PdomainName=com.example -PtenantReaders=seed,seed-initial,ext
-PdbPlatform=M -PdbIp=127.0.0.1 -PdbUser=mydbuser -PdbPassword=mydbpass</code></p>
<p>If run successfully, the system creates a new tenant having:</p>
<ul>
-<li>delegator: default#${tenandId} (e.g. default#mytenant)</li>
-<li>admin user: ${tenantId}-admin (e.g. mytenant-admin)</li>
+<li>delegator: default#${tenandId} (e.g. default#mytenant)</li>
+<li>admin user: ${tenantId}-admin (e.g. mytenant-admin)</li>
<li>admin user password: ofbiz</li>
</ul>
<h4 id="load-data-for-a-specific-tenant">load data for a specific tenant</h4>
@@ -256,7 +266,7 @@ under the License.
</ul>
<p><code>gradlew "ofbiz --test loglevel=fatal"</code></p>
<h4 id="execute-an-integration-test-case">Execute an integration test
case</h4>
-<p>run a test case, in this example the component is "entity" and the case name is
"entity-tests"</p>
+<p>run a test case, in this example the component is âentityâ and the case name
is âentity-testsâ</p>
<p><code>gradlew "ofbiz --test component=entity --test suitename=entitytests --test
case=entity-query-tests"</code></p>
<h4 id="execute-an-integration-test-case-in-debug-mode-with-verbose-log">Execute an
integration test case in debug mode with verbose log</h4>
<p>listens on port <strong>5005</strong></p>
@@ -275,7 +285,7 @@ under the License.
<h4 id="refresh-the-generated-artifacts">Refresh the generated artifacts</h4>
<p><code>gradlew clean build</code></p>
<h4 id="create-an-admin-user-account">Create an admin user account</h4>
-<p>Create an admin user with login name MyUserName and default password with value "ofbiz". Upon first login OFBiz will request changing
the default password</p>
+<p>Create an admin user with login name MyUserName and default password with value âofbizâ. Upon first login OFBiz will request changing the
default password</p>
<p><code>gradlew loadAdminUserLogin -PuserLoginId=MyUserName</code></p>
<h4 id="compile-java-using-xlint-output">Compile Java using Xlint output</h4>
<p>Xlint prints output of all warnings detected by the compiler</p>
@@ -284,7 +294,7 @@ under the License.
<p>The below command activates a gradle plugin (OWASP) and Identifies and reports known vulnerabilities (CVEs) in OFBiz library dependencies. The
task takes time to complete, and once done, a report will be generated in $OFBIZ_HOME/build/reports/dependency-check-report.html</p>
<p><code>gradlew -PenableOwasp dependencyCheckAnalyze</code></p>
<h4 id="setup-eclipse-project-for-ofbiz">Setup eclipse project for OFBiz</h4>
-<p>Setting up OFBiz on eclipse is done by simply running the below command and then importing the project to eclipse. This command will generate
the necessary <strong>.classpath</strong> and <strong>.project</strong> files for eclipse and it will also make the source code for external
libraries available in eclipse (i.e. you can view source through Ctrl + Click)</p>
+<p>Setting up OFBiz on eclipse is done by simply running the below command and then importing the project to eclipse. This command will generate
the necessary <strong>.classpath</strong> and <strong>.project</strong> files for eclipse and it will also make the source code for external
libraries available in eclipse (i.e. you can view source through Ctrl + Click)</p>
<p>The first time you run this command it will take a long time to execute because it will download source packages available for project
dependencies.</p>
<p><code>gradlew eclipse</code></p>
<hr />
@@ -301,16 +311,16 @@ under the License.
<p>If you need username and password to access the custom repository:</p>
<p><code>gradlew pullPlugin -PrepoUrl="http://www.example.com/custom-maven" -PrepoUser=myuser -PrepoPassword=mypassword
-PdependencyId="org.apache.ofbiz.plugin:myplugin:0.1.0"</code></p>
<h3 id="pull-an-official-plugin-from-source-control">Pull an official plugin from
source control</h3>
-<p>Download an official plugin from source control (currently subversion) and place it in the plugins directory. In addition, this task also
executes the "install" task if it is defined for the plugin being downloaded.</p>
+<p>Download an official plugin from source control (currently subversion) and place it in the plugins directory. In addition, this task also
executes the âinstallâ task if it is defined for the plugin being downloaded.</p>
<p>This task is mostly useful when working on the trunk branch as it pulls in the
latest version of a plugin.</p>
<p><code>gradlew pullPluginSource -PpluginId=ecommerce</code></p>
<blockquote>
<p><em>Note</em>: This plugin will have its own .svn directory placed inside the
plugin directory.</p>
</blockquote>
<h3 id="pull-all-official-plugins-from-source-control">Pull all official plugins
from source control</h3>
-<p>Download all officially supported plugins from source control (currently subversion) and place them inclusive of their ".svn"
directory in /plugins. WARNING! This task deletes the /plugins directory and replaces it with the official plugins.</p>
+<p>Download all officially supported plugins from source control (currently subversion) and place them inclusive of their â.svnâ directory in
/plugins. WARNING! This task deletes the /plugins directory and replaces it with the official plugins.</p>
<p><code>gradlew pullAllPluginsSource</code></p>
-<p>This task makes it easy to download and develop officially supported plugins. It is mostly used by developers or individuals working on the
trunk branch. We do not recommend using this task on releases of OFBiz, instead consider using the "pullPlugin" task to get the correct
version of a plugin compatible with your release.</p>
+<p>This task makes it easy to download and develop officially supported plugins. It is mostly used by developers or individuals working on the
trunk branch. We do not recommend using this task on releases of OFBiz, instead consider using the âpullPluginâ task to get the correct version
of a plugin compatible with your release.</p>
<blockquote>
<p><em>Note</em>: All the plugins will share a .svn directory placed in the plugins
directory.</p>
</blockquote>
@@ -322,11 +332,11 @@ under the License.
<li>Run the below command</li>
</ul>
<p><code>gradlew installPlugin -PpluginId=myplugin</code></p>
-<p>The above commands executes the task "install" in the plugin's
build.gradle file if it exists</p>
+<p>The above commands executes the task âinstallâ in the pluginâs build.gradle
file if it exists</p>
<h3 id="uninstall-a-plugin">Uninstall a plugin</h3>
<p>If you have an existing plugin called mycustomplugin and you wish to uninstall
run the below command</p>
<p><code>gradlew uninstallPlugin -PpluginId=myplugin</code></p>
-<p>The above command executes the task "uninstall" in the plugin's
build.gradle file if it exists</p>
+<p>The above command executes the task âuninstallâ in the pluginâs
build.gradle file if it exists</p>
<h3 id="remove-a-plugin">Remove a plugin</h3>
<p>Calls <strong>uninstallPlugin</strong> on an existing plugin and then delete it
from the file-system</p>
<p><code>gradlew removePlugin -PpluginId=myplugin</code></p>
@@ -347,7 +357,7 @@ under the License.
<li>pluginId: mandatory</li>
<li>groupId: optional, defaults to org.apache.ofbiz.plugin</li>
<li>pluginVersion: optional, defaults to 0.1.0-SNAPSHOT</li>
-<li>pluginDescription: optional, defaults to "Publication of OFBiz plugin
${pluginId}"</li>
+<li>pluginDescription: optional, defaults to âPublication of OFBiz plugin
${pluginId}â</li>
</ul>
<p><code>gradlew pushPlugin -PpluginId=myplugin</code></p>
<p><code>gradlew pushPlugin -PpluginId=mycompany -PpluginGroup=com.mycompany.ofbiz.plugin -PpluginVersion=1.2.3
-PpluginDescription="Introduce special functionality X"</code></p>
@@ -361,9 +371,9 @@ under the License.
<p>OFBiz is split into two repositories:</p>
<ul>
<li><p><strong>ofbiz-framework</strong>: Contains the core framework and main applications
in the system like accounting, party, order, etc</p></li>
-<li><p><strong>ofbiz-plugins</strong>: Renamed from "special-purpose" and contains optional components that are officially supported by
the community</p></li>
+<li><p><strong>ofbiz-plugins</strong>: Renamed from âspecial-purposeâ and contains optional components that are officially supported by the
community</p></li>
</ul>
-<p>Furthermore, the hot-deploy directory is removed as the plugins directory works as a replacement for both "special-purpose" and
"hot-deploy".</p>
+<p>Furthermore, the hot-deploy directory is removed as the plugins directory works as a replacement for both âspecial-purposeâ and
âhot-deployâ.</p>
<p>If you need to load the components in the plugins directory in a specific order place a component-load.xml file in the plugins directory
listing the order.</p>
<p>To check out a plugin from source control use the <strong>pullPluginSource</strong> Gradle task. To check out all plugins from source control
use the <strong>pullAllPluginsSource</strong>. <strong>Beware</strong> this deletes a previously existing plugins directory.</p>
<h3 id="running-gradle-tasks-without-an-internet-connection">Running gradle tasks
without an internet connection</h3>
@@ -372,7 +382,7 @@ under the License.
<p>If any dependencies are missing from the cache and you pass
<code>--offline</code> switch then the build execution will fail.</p>
<h3 id="setup-an-external-database-like-mysql-postgresql-etc">Setup an external
database like MySQL, PostgreSQL, etc</h3>
<p>To setup an external database instead of the default embedded Apache Derby, you
will need to follow the following instructions:</p>
-<ol style="list-style-type: decimal">
+<ol type="1">
<li>Find the JDBC driver suitable for your database using one of the following
options:</li>
</ol>
<ul>
@@ -380,7 +390,7 @@ under the License.
<p>OR</p></li>
<li><p>Download the JDBC driver jar and place it in $OFBIZ_HOME/lib or the lib
sub-directory of any component</p></li>
</ul>
-<ol start="2" style="list-style-type: decimal">
+<ol start="2" type="1">
<li>Modify the entityengine.xml file located in $OFBIZ_HOME/framework/entity/config to switch the default database to the one you selected. For
more details you can read the relevant section in the <a
href="https://cwiki.apache.org/confluence/display/OFBIZ/Apache+OFBiz+Technical+Production+Setup+Guide">technical setup guide</a></li>
</ol>
<h3 id="setup-gradle-tab-completion-on-unix-like-systems">Setup gradle
tab-completion on Unix-like systems:</h3>
@@ -390,7 +400,7 @@ under the License.
<p><code>sudo curl -L -s https://edub.me/gradle-completion-bash -o
/etc/bash_completion.d/gradle-tab-completion.bash</code></p>
<hr />
<h2 id="crypto-notice">Crypto notice</h2>
-<p>This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession,
use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws,
regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See <a
href="http://www.wassenaar.org/" class="uri">http://www.wassenaar.org/</a> for more information.</p>
+<p>This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession,
use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your countryâs laws,
regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See <a
href="http://www.wassenaar.org/" class="uri">http://www.wassenaar.org/</a> for more information.</p>
<p>The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control
Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The
form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software
Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.</p>
<p>The following provides more details on the included cryptographic
software:</p>
<ul>
Modified: ofbiz/tools/wiki-files/birt/Creating reports.md.html
URL:
http://svn.apache.org/viewvc/ofbiz/tools/wiki-files/birt/Creating%20reports.md.html?rev=1826200&r1=1826199&r2=1826200&view=diff
==============================================================================
--- ofbiz/tools/wiki-files/birt/Creating reports.md.html (original)
+++ ofbiz/tools/wiki-files/birt/Creating reports.md.html Thu Mar 8 10:42:54
2018
@@ -1,11 +1,19 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta http-equiv="Content-Style-Type" content="text/css" />
+ <meta charset="utf-8" />
<meta name="generator" content="pandoc" />
- <title></title>
- <style type="text/css">code{white-space: pre;}</style>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0,
user-scalable=yes" />
+ <title>Creating reports</title>
+ <style type="text/css">
+ code{white-space: pre-wrap;}
+ span.smallcaps{font-variant: small-caps;}
+ span.underline{text-decoration: underline;}
+ div.column{display: inline-block; vertical-align: top; width: 50%;}
+ </style>
+ <!--[if lt IE 9]>
+ <script
src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+ <![endif]-->
</head>
<body>
<h1 id="report-creation---adminsuper-user">Report creation -
Admin/Super-User</h1>
@@ -18,30 +26,30 @@
<li>The BIRT Report Designer</li>
</ul>
<h2 id="report-creation">Report creation</h2>
-<ol style="list-style-type: decimal">
+<ol type="1">
<li>Get to Birt component in OFBiz <img src="https://cwiki.apache.org/confluence/download/attachments/68720496/Birt%20Menus.png?api=v2" alt="Birt
menus" /></li>
-<li>Click on the "Flexible Report" menu (varies depending on
themes)</li>
-<li>Click on the "Generate report" button, you get to this
screen:</li>
+<li>Click on the âFlexible Reportâ menu (varies depending on themes)</li>
+<li>Click on the âGenerate reportâ button, you get to this screen:</li>
<li>Fill the form: <img src="https://cwiki.apache.org/confluence/download/attachments/68720496/Example%20Report.png?api=v2" alt="Example Report"
/></li>
</ol>
<ul>
-<li>The list "Choose report topic" will let you choose among predefined
report masters your topic of interest.</li>
+<li>The list âChoose report topicâ will let you choose among predefined report
masters your topic of interest.</li>
<li>The report name is a simple short name from which the file name will be
generated.</li>
<li>The description is a short description which will allow you to recognise the
report and its topic.</li>
-<li>The box "Generate filters in design" will add in the design the
visualisation of the filters filled in the filtering form.</li>
+<li>The box âGenerate filters in designâ will add in the design the
visualisation of the filters filled in the filtering form.</li>
</ul>
-<p>Finally, if you don't find what you want, you will need to create a new Report
Master...</p>
-<p>Once the form is validated, OFBiz will show you the "Edit Report" screen. <img
src="https://cwiki.apache.org/confluence/download/attachments/68720496/Edit%20Report%20screen.png?api=v2" alt="Edit Report screen" /></p>
+<p>Finally, if you donât find what you want, you will need to create a new Report
Masterâ¦</p>
+<p>Once the form is validated, OFBiz will show you the âEdit Reportâ screen. <img
src="https://cwiki.apache.org/confluence/download/attachments/68720496/Edit%20Report%20screen.png?api=v2" alt="Edit Report screen" /></p>
<h2 id="report-information">Report information</h2>
<p>This first panel allows you to change the report description and status. Actually it does not make sense changing the status to published
before having downloaded the .rptdesign file (Birt Report Designer file) from the server (in database), edited and uploaded it back to the server.
This is explained in the section below. Changing the status allows users to use your reports. But if you publish without any change the report will
render as empty.</p>
-<h2 id="the-.rptdesign-report-file-donwload-edit-upload-and-publish-it">The
.rptdesign report file: donwload, edit, upload and publish it</h2>
-<p>To really use the report you need to download the .rptdesign file from the server in a location from where you can edit it with the BIRT Report
Designer. So you need to install first the BIRT Report Designer. Then you can edit the .rptdesign file in the BIRT Report Designer. For that refer
to the <a
href="https://svn.apache.org/repos/asf/ofbiz/ofbiz-plugins/trunk/birt/documents/Using%20the%20Birt%20Report%20Designer.md.html">"Using the
Birt Report Designer.md.html" file</a>. You can also find the Markdonw version in the same directory: ofbiz-framework/plugins/birt/documents
### Editing the downloaded file ### Once you installed the BIRT Report Designer and have downloaded the .rptdesign file, you can edit it with the
Birt Report Designer. When you have edited it suiting your needs you must upload it to the server for your changes to be taken into account by
OFBiz.</p>
-<p><span style="color:red"><strong>This is when things begin to be really interesting</strong>.</span> You can then test your report using the
"Preview" panel. There you can temporarily filter the result, and use the export format you prefer, once done click "Send". You
can then decide to change the report content in the Birt Report Designer again or keep your changes. Once done in the Birt Report Designer, simply
select the changed file to upload, and upload it again. You can re-test your changes and continue until you really get what you want! You can then
publish the report to allow users to select and use it. There are 2 ways to publish a report from the "Manage reports" screen or directly
in the "Report information" panel. We will see the "Manage reports" screen below.</p>
+<h2 id="the-.rptdesign-report-file-download-edit-upload-and-publish-it">The
.rptdesign report file: download, edit, upload and publish it</h2>
+<p>To really use the report you need to download the .rptdesign file from the server in a location from where you can edit it with the BIRT Report
Designer. So you need to install first the BIRT Report Designer. Then you can edit the .rptdesign file in the BIRT Report Designer. For that refer
to the <a href="https://svn.apache.org/repos/asf/ofbiz/ofbiz-plugins/trunk/birt/documents/Using%20the%20Birt%20Report%20Designer.md.html">âUsing
the Birt Report Designer.md.htmlâ file</a>. You can also find the Markdonw version in the same directory: ofbiz-framework/plugins/birt/documents
### Editing the downloaded file ### Once you installed the BIRT Report Designer and have downloaded the .rptdesign file, you can edit it with the
Birt Report Designer. When you have edited it suiting your needs you must upload it to the server for your changes to be taken into account by
OFBiz.</p>
+<p><span style="color:red"><strong>This is when things begin to be really interesting</strong>.</span> You can then test your report using the
âPreviewâ panel. There you can temporarily filter the result, and use the export format you prefer, once done click âSendâ. You can then
decide to change the report content in the Birt Report Designer again or keep your changes. Once done in the Birt Report Designer, simply select
the changed file to upload, and upload it again. You can re-test your changes and continue until you really get what you want! You can then publish
the report to allow users to select and use it. There are 2 ways to publish a report from the âManage reportsâ screen or directly in the
âReport informationâ panel. We will see the âManage reportsâ screen below.</p>
<h2 id="filters-overriding">Filters Overriding</h2>
-<p>You may want to overide the default filters. You can then use the Xml "Override filters" panel to override and personnalize the form,
once done click "Save". If you ignore that step, it will <strong>NOT</strong> prevent the report creation, <strong>it is already
done</strong>, it will just be with the generic filtering form inherited from the master from. ><em>Note</em>: if no preview is available, it is
usually due to a mistake in the master form code. You can edit it in the database.</p>
+<p>You may want to overide the default filters. You can then use the Xml âOverride filtersâ panel to override and personnalize the form, once
done click âSaveâ. If you ignore that step, it will <strong>NOT</strong> prevent the report creation, <strong>it is already done</strong>, it
will just be with the generic filtering form inherited from the master from. ><em>Note</em>: if no preview is available, it is usually due to a
mistake in the master form code. You can edit it in the database.</p>
<h2 id="manage-reports">Manage reports</h2>
-<p>The "Manage reports" button get you to a screen which allows to edit
(get back to current page), publish or delete a report.</p>
+<p>The âManage reportsâ button get you to a screen which allows to edit (get
back to current page), publish or delete a report.</p>
<h2 id="use-a-report">Use a report</h2>
-<p>Users can select and use any published report from that screen. When they select a report they then get the same "Preview" Panel and
can do the same things than in the "Edit Report" screen. Refer users to</p>
+<p>Users can select and use any published report from that screen. When they select a report they then get the same âPreviewâ Panel and can do
the same things than in the âEdit Reportâ screen. Refer users to</p>
</body>
</html>
Modified: ofbiz/tools/wiki-files/birt/How to use flexible reports.md.html
URL:
http://svn.apache.org/viewvc/ofbiz/tools/wiki-files/birt/How%20to%20use%20flexible%20reports.md.html?rev=1826200&r1=1826199&r2=1826200&view=diff
==============================================================================
--- ofbiz/tools/wiki-files/birt/How to use flexible reports.md.html (original)
+++ ofbiz/tools/wiki-files/birt/How to use flexible reports.md.html Thu Mar 8
10:42:54 2018
@@ -1,11 +1,19 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta http-equiv="Content-Style-Type" content="text/css" />
+ <meta charset="utf-8" />
<meta name="generator" content="pandoc" />
- <title></title>
- <style type="text/css">code{white-space: pre;}</style>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0,
user-scalable=yes" />
+ <title>How to use flexible reports</title>
+ <style type="text/css">
+ code{white-space: pre-wrap;}
+ span.smallcaps{font-variant: small-caps;}
+ span.underline{text-decoration: underline;}
+ div.column{display: inline-block; vertical-align: top; width: 50%;}
+ </style>
+ <!--[if lt IE 9]>
+ <script
src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+ <![endif]-->
</head>
<body>
<h1 id="using-a-flexible-report---user">Using a flexible report - User</h1>
@@ -18,10 +26,10 @@
<li>Pre-published reports created from report masters</li>
</ul>
<h2 id="using-the-report">Using the report</h2>
-<ol style="list-style-type: decimal">
+<ol type="1">
<li>go to the Birt component or to another page harboring reports.</li>
-<li>In the Birt component, click "Use a report".</li>
-<li>Select your report and hit "Send".</li>
+<li>In the Birt component, click âUse a reportâ.</li>
+<li>Select your report and hit âSendâ.</li>
<li>The next screen will allow you to filter your data through a set of pre-defined criteria. Should you leave it empty, you will retrieve
unfiltered data.</li>
<li>Select the desired export format</li>
<li>Upon validation, your report is now loaded and can be saved.</li>
Modified: ofbiz/tools/wiki-files/birt/Report master creation.md.html
URL:
http://svn.apache.org/viewvc/ofbiz/tools/wiki-files/birt/Report%20master%20creation.md.html?rev=1826200&r1=1826199&r2=1826200&view=diff
==============================================================================
--- ofbiz/tools/wiki-files/birt/Report master creation.md.html (original)
+++ ofbiz/tools/wiki-files/birt/Report master creation.md.html Thu Mar 8
10:42:54 2018
@@ -1,48 +1,84 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta http-equiv="Content-Style-Type" content="text/css" />
+ <meta charset="utf-8" />
<meta name="generator" content="pandoc" />
- <title></title>
- <style type="text/css">code{white-space: pre;}</style>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0,
user-scalable=yes" />
+ <title>Report master creation</title>
<style type="text/css">
-div.sourceCode { overflow-x: auto; }
-table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode {
- margin: 0; padding: 0; vertical-align: baseline; border: none; }
-table.sourceCode { width: 100%; line-height: 100%; }
-td.lineNumbers { text-align: right; padding-right: 4px; padding-left: 4px;
color: #aaaaaa; border-right: 1px solid #aaaaaa; }
-td.sourceCode { padding-left: 5px; }
-code > span.kw { color: #007020; font-weight: bold; } /* Keyword */
-code > span.dt { color: #902000; } /* DataType */
-code > span.dv { color: #40a070; } /* DecVal */
-code > span.bn { color: #40a070; } /* BaseN */
-code > span.fl { color: #40a070; } /* Float */
-code > span.ch { color: #4070a0; } /* Char */
-code > span.st { color: #4070a0; } /* String */
-code > span.co { color: #60a0b0; font-style: italic; } /* Comment */
-code > span.ot { color: #007020; } /* Other */
-code > span.al { color: #ff0000; font-weight: bold; } /* Alert */
-code > span.fu { color: #06287e; } /* Function */
-code > span.er { color: #ff0000; font-weight: bold; } /* Error */
-code > span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /*
Warning */
-code > span.cn { color: #880000; } /* Constant */
-code > span.sc { color: #4070a0; } /* SpecialChar */
-code > span.vs { color: #4070a0; } /* VerbatimString */
-code > span.ss { color: #bb6688; } /* SpecialString */
-code > span.im { } /* Import */
-code > span.va { color: #19177c; } /* Variable */
-code > span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
-code > span.op { color: #666666; } /* Operator */
-code > span.bu { } /* BuiltIn */
-code > span.ex { } /* Extension */
-code > span.pp { color: #bc7a00; } /* Preprocessor */
-code > span.at { color: #7d9029; } /* Attribute */
-code > span.do { color: #ba2121; font-style: italic; } /* Documentation */
-code > span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /*
Annotation */
-code > span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /*
CommentVar */
-code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /*
Information */
+ code{white-space: pre-wrap;}
+ span.smallcaps{font-variant: small-caps;}
+ span.underline{text-decoration: underline;}
+ div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
+ <style type="text/css">
+a.sourceLine { display: inline-block; line-height: 1.25; }
+a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit;
}
+a.sourceLine:empty { height: 1.2em; position: absolute; }
+.sourceCode { overflow: visible; }
+code.sourceCode { white-space: pre; position: relative; }
+div.sourceCode { margin: 1em 0; }
+pre.sourceCode { margin: 0; }
+@media screen {
+div.sourceCode { overflow: auto; }
+}
+@media print {
+code.sourceCode { white-space: pre-wrap; }
+a.sourceLine { text-indent: -1em; padding-left: 1em; }
+}
+pre.numberSource a.sourceLine
+ { position: relative; }
+pre.numberSource a.sourceLine:empty
+ { position: absolute; }
+pre.numberSource a.sourceLine::before
+ { content: attr(data-line-number);
+ position: absolute; left: -5em; text-align: right; vertical-align:
baseline;
+ border: none; pointer-events: all;
+ -webkit-touch-callout: none; -webkit-user-select: none;
+ -khtml-user-select: none; -moz-user-select: none;
+ -ms-user-select: none; user-select: none;
+ padding: 0 4px; width: 4em;
+ color: #aaaaaa;
+ }
+pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;
padding-left: 4px; }
+div.sourceCode
+ { }
+@media screen {
+a.sourceLine::before { text-decoration: underline; }
+}
+code span.al { color: #ff0000; font-weight: bold; } /* Alert */
+code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /*
Annotation */
+code span.at { color: #7d9029; } /* Attribute */
+code span.bn { color: #40a070; } /* BaseN */
+code span.bu { } /* BuiltIn */
+code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
+code span.ch { color: #4070a0; } /* Char */
+code span.cn { color: #880000; } /* Constant */
+code span.co { color: #60a0b0; font-style: italic; } /* Comment */
+code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /*
CommentVar */
+code span.do { color: #ba2121; font-style: italic; } /* Documentation */
+code span.dt { color: #902000; } /* DataType */
+code span.dv { color: #40a070; } /* DecVal */
+code span.er { color: #ff0000; font-weight: bold; } /* Error */
+code span.ex { } /* Extension */
+code span.fl { color: #40a070; } /* Float */
+code span.fu { color: #06287e; } /* Function */
+code span.im { } /* Import */
+code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /*
Information */
+code span.kw { color: #007020; font-weight: bold; } /* Keyword */
+code span.op { color: #666666; } /* Operator */
+code span.ot { color: #007020; } /* Other */
+code span.pp { color: #bc7a00; } /* Preprocessor */
+code span.sc { color: #4070a0; } /* SpecialChar */
+code span.ss { color: #bb6688; } /* SpecialString */
+code span.st { color: #4070a0; } /* String */
+code span.va { color: #19177c; } /* Variable */
+code span.vs { color: #4070a0; } /* VerbatimString */
+code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /*
Warning */
+ </style>
+ <!--[if lt IE 9]>
+ <script
src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+ <![endif]-->
</head>
<body>
<h1 id="report-master-creation">Report master creation</h1>
@@ -54,86 +90,86 @@ code > span.in { color: #60a0b0; font-we
<li>Birt plugin</li>
</ul>
<h2 id="report-master-based-on-an-entityview">Report Master based on an
entity/view</h2>
-<ol style="list-style-type: decimal">
+<ol type="1">
<li>Create or choice a database entity or view</li>
<li>Create the general filtering form within the file plugins/birt/widget/birt/BirtMasterForms.xml. The only informations to be changed are
entity-name and form name.</li>
</ol>
-<div class="sourceCode"><pre class="sourceCode xml"><code class="sourceCode xml"> <span class="kw"><form</span><span class="ot">
name=</span><span class="st">"CTNT_MASTER_EXAMPLE"</span><span class="ot"> type=</span><span class="st">"single"</span><span
class="ot"> extends=</span><span class="st">"AbstractFlexibleReportSearchForm"</span><span class="kw">></span>
- <span class="kw"><auto-fields-entity</span><span class="ot"> entity-name=</span><span class="st">"Example"</span><span
class="ot"> default-field-type=</span><span class="st">"find"</span><span class="kw">/></span>
- <span class="kw"></form></span></code></pre></div>
-<ol start="3" style="list-style-type: decimal">
+<div class="sourceCode" id="cb1"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb1-1"
data-line-number="1"> <span class="kw"><form</span><span class="ot"> name=</span><span class="st">"CTNT_MASTER_EXAMPLE"</span><span
class="ot"> type=</span><span class="st">"single"</span><span class="ot"> extends=</span><span
class="st">"AbstractFlexibleReportSearchForm"</span><span class="kw">></span> </a>
+<a class="sourceLine" id="cb1-2" data-line-number="2"> <span class="kw"><auto-fields-entity</span><span class="ot">
entity-name=</span><span class="st">"Example"</span><span class="ot"> default-field-type=</span><span
class="st">"find"</span><span class="kw">/></span></a>
+<a class="sourceLine" id="cb1-3" data-line-number="3"> <span
class="kw"></form></span></a></code></pre></div>
+<ol start="3" type="1">
<li>Add the informations about this Master in the database using the file
plugins/birt/data/BirtMasterData.xml</li>
</ol>
-<div class="sourceCode"><pre class="sourceCode xml"><code class="sourceCode xml"> <span class="kw"><DataResource</span><span class="ot">
dataResourceId=</span><span class="st">"DR_MASTER_EXAMPLE"</span><span class="ot"> dataResourceTypeId=</span><span
class="st">"ELECTRONIC_TEXT"</span><span class="ot"> dataTemplateTypeId=</span><span class="st">"FORM_COMBINED"</span> <span
class="kw">/></span>
- <span class="kw"><ElectronicText</span><span class="ot"> dataResourceId=</span><span class="st">"DR_MASTER_EXAMPLE"</span><span
class="kw">></span>
- <span class="kw"><textData></span><span
class="bn"><![CDATA[</span><!--default domain form-->
- <form name="${masterContentId}_${contentId}" type="single" extends="${masterContentId}" extends-
resource="component://birt/widget/birt/BirtMasterForms.xml">
- </form><span class="bn">]]></span>
- <span class="kw"></textData></span>
- <span class="kw"></ElectronicText></span>
- <span class="kw"><Content</span><span class="ot"> contentId=</span><span class="st">"CTNT_MASTER_EXAMPLE"</span><span class="ot">
contentTypeId=</span><span class="st">"REPORT_MASTER"</span><span class="ot"> dataResourceId=</span><span
class="st">"DR_MASTER_EXAMPLE"</span><span class="ot"> statusId=</span><span class="st">"CTNT_PUBLISHED"</span><span
class="ot"> contentName=</span><span class="st">"Example"</span><span class="ot"> description=</span><span class="st">"Master
Content for Example"</span> <span class="kw">/></span>
- <span class="co"><!-- Data retrieval will be done using perform find on entity
Example--></span>
- <span class="kw"><ContentAttribute</span><span class="ot"> contentId=</span><span class="st">"CTNT_MASTER_EXAMPLE"</span><span
class="ot"> attrName=</span><span class="st">"Entity"</span><span class="ot"> attrValue=</span><span
class="st">"Example"</span><span class="kw">/></span></code></pre></div>
+<div class="sourceCode" id="cb2"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb2-1"
data-line-number="1"> <span class="kw"><DataResource</span><span class="ot"> dataResourceId=</span><span
class="st">"DR_MASTER_EXAMPLE"</span><span class="ot"> dataResourceTypeId=</span><span class="st">"ELECTRONIC_TEXT"</span><span
class="ot"> dataTemplateTypeId=</span><span class="st">"FORM_COMBINED"</span> <span class="kw">/></span></a>
+<a class="sourceLine" id="cb2-2" data-line-number="2"> <span class="kw"><ElectronicText</span><span class="ot"> dataResourceId=</span><span
class="st">"DR_MASTER_EXAMPLE"</span><span class="kw">></span></a>
+<a class="sourceLine" id="cb2-3" data-line-number="3"> <span class="kw"><textData></span><span
class="bn"><![CDATA[</span><!--default domain form--></a>
+<a class="sourceLine" id="cb2-4" data-line-number="4"> <form name="${masterContentId}_${contentId}"
type="single" extends="${masterContentId}" extends- resource="component://birt/widget/birt/BirtMasterForms.xml"></a>
+<a class="sourceLine" id="cb2-5" data-line-number="5"> </form><span
class="bn">]]></span></a>
+<a class="sourceLine" id="cb2-6" data-line-number="6"> <span
class="kw"></textData></span></a>
+<a class="sourceLine" id="cb2-7" data-line-number="7"> <span
class="kw"></ElectronicText></span></a>
+<a class="sourceLine" id="cb2-8" data-line-number="8"> <span class="kw"><Content</span><span class="ot"> contentId=</span><span
class="st">"CTNT_MASTER_EXAMPLE"</span><span class="ot"> contentTypeId=</span><span class="st">"REPORT_MASTER"</span><span
class="ot"> dataResourceId=</span><span class="st">"DR_MASTER_EXAMPLE"</span><span class="ot"> statusId=</span><span
class="st">"CTNT_PUBLISHED"</span><span class="ot"> contentName=</span><span class="st">"Example"</span><span class="ot">
description=</span><span class="st">"Master Content for Example"</span> <span class="kw">/></span></a>
+<a class="sourceLine" id="cb2-9" data-line-number="9"> <span class="co"><!-- Data retrieval will be done using perform find on entity
Example--></span></a>
+<a class="sourceLine" id="cb2-10" data-line-number="10"> <span class="kw"><ContentAttribute</span><span class="ot"> contentId=</span><span
class="st">"CTNT_MASTER_EXAMPLE"</span><span class="ot"> attrName=</span><span class="st">"Entity"</span><span class="ot">
attrValue=</span><span class="st">"Example"</span><span class="kw">/></span></a></code></pre></div>
<p>The form in the database is the form that will allow users to change form parameters. You can add any field you desire. Some field names are
though reserved: reportContentId, overrideFilters, entityViewName, birtContentType.</p>
-<ol start="4" style="list-style-type: decimal">
+<ol start="4" type="1">
<li>Add in the file content/config/contentEntityLabels.xml the Property that will
allow translation for your report master description.</li>
</ol>
-<div class="sourceCode"><pre class="sourceCode xml"><code class="sourceCode xml"> <span class="kw"><property</span><span class="ot">
key=</span><span class="st">"Content.description.CTNT_MASTER_EXAMPLE"</span><span class="kw">></span>
- <span class="kw"><value</span><span class="ot"> xml:lang=</span><span class="st">"en"</span><span
class="kw">></span>Example<span class="kw"></value></span>
- <span class="kw"><value</span><span class="ot"> xml:lang=</span><span class="st">"fr"</span><span
class="kw">></span>Exemple<span class="kw"></value></span>
- <span class="kw"></property></span></code></pre></div>
+<div class="sourceCode" id="cb3"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb3-1"
data-line-number="1"> <span class="kw"><property</span><span class="ot"> key=</span><span
class="st">"Content.description.CTNT_MASTER_EXAMPLE"</span><span class="kw">></span></a>
+<a class="sourceLine" id="cb3-2" data-line-number="2"> <span class="kw"><value</span><span class="ot"> xml:lang=</span><span
class="st">"en"</span><span class="kw">></span>Example<span class="kw"></value></span></a>
+<a class="sourceLine" id="cb3-3" data-line-number="3"> <span class="kw"><value</span><span class="ot"> xml:lang=</span><span
class="st">"fr"</span><span class="kw">></span>Exemple<span class="kw"></value></span></a>
+<a class="sourceLine" id="cb3-4" data-line-number="4"> <span
class="kw"></property></span></a></code></pre></div>
<p>Your Report Master is created ! You can now create reports using it.</p>
<h2 id="report-master-based-on-a-service">Report Master based on a
service</h2>
<p>Create in plugins/birt/src/org/ofbiz/birt/birt/BirtMasterReportServices.java 2
dedicated services (see examples there)</p>
-<ol style="list-style-type: decimal">
+<ol type="1">
<li>The first one, which name will return 4 items:</li>
</ol>
<ul>
-<li>an object of type Map<String, String> called dataMap. <strong>Keys</strong>: data field names. <strong>Values</strong>: data types (OFBiz
types).</li>
-<li>an object of type Map<String, String> called fieldDisplayLabels. <strong>Keys</strong>: data field names. <strong>Values</strong>: the names
displayed to the user. This output is optional, should it be missing, the keys will be displayed.</li>
-<li>an object of type Map<String, String> called filterMap. <strong>Keys</strong>: data filtering field names (exact names used for the form
fields). <strong>Values</strong>: data type (OFBiz type). This output is optional, if missing, filters can not be displayed on the report.</li>
-<li>an object of type Map<String, String> called filterDisplayLabels. <strong>Keys</strong>: data filtering field names (exact names used for the
form fields). <strong>Values</strong>: names to be displayed to the user. This output is optional, should it be missing, the keys will be
displayed.</li>
+<li>an object of type Map<String, String> called dataMap. <strong>Keys</strong>: data field names. <strong>Values</strong>: data types
(OFBiz types).</li>
+<li>an object of type Map<String, String> called fieldDisplayLabels. <strong>Keys</strong>: data field names. <strong>Values</strong>: the
names displayed to the user. This output is optional, should it be missing, the keys will be displayed.</li>
+<li>an object of type Map<String, String> called filterMap. <strong>Keys</strong>: data filtering field names (exact names used for the form
fields). <strong>Values</strong>: data type (OFBiz type). This output is optional, if missing, filters can not be displayed on the report.</li>
+<li>an object of type Map<String, String> called filterDisplayLabels. <strong>Keys</strong>: data filtering field names (exact names used
for the form fields). <strong>Values</strong>: names to be displayed to the user. This output is optional, should it be missing, the keys will be
displayed.</li>
</ul>
-<ol start="2" style="list-style-type: decimal">
+<ol start="2" type="1">
<li>The second service will actually get the data. It receives an object (Object type) called reportContext. From this object, you can obtain the
map parameters using the following code:</li>
</ol>
-<div class="sourceCode"><pre class="sourceCode java"><code class="sourceCode java"> Map<String, Object> parameters = (Map<String,
Object>) reportContext.<span class="fu">getParameterValue</span>(<span class="st">"parameters"</span>);</code></pre></div>
-<p>This Map will give access fields of the filtering form. This service will return a list called list of type List<GenericValue>, containing the
data. A Map<String, Object> would also do.</p>
-<ol start="3" style="list-style-type: decimal">
+<div class="sourceCode" id="cb4"><pre class="sourceCode java"><code class="sourceCode java"><a class="sourceLine" id="cb4-1"
data-line-number="1"> <span class="bu">Map</span><<span class="bu">String</span>, <span class="bu">Object</span>> parameters = (<span
class="bu">Map</span><<span class="bu">String</span>, <span class="bu">Object</span>>) reportContext.<span
class="fu">getParameterValue</span>(<span class="st">"parameters"</span>);</a></code></pre></div>
+<p>This Map will give access fields of the filtering form. This service will return a list called list of type List<GenericValue>, containing the
data. A Map<String, Object> would also do.</p>
+<ol start="3" type="1">
<li>create the parent form in the file plugins/birt/widget/birt/BirtMasterForms.xml. Field names created here must be then names used on the Map
parameters of the previous service, and also corresponding to the map filterMap.</li>
</ol>
-<div class="sourceCode"><pre class="sourceCode xml"><code class="sourceCode xml"> <span class="kw"><form</span><span class="ot">
name=</span><span class="st">"CTNT_MASTER_TURNOVER"</span><span class="ot"> type=</span><span class="st">"single"</span><span
class="ot"> extends=</span><span class="st">"AbstractFlexibleReportSearchForm"</span><span class="kw">></span>
- <span class="kw"><field</span><span class="ot"> name=</span><span class="st">"fromDate"</span><span
class="kw">><date-time</span><span class="ot"> type=</span><span class="st">"date"</span><span class="kw">/></field></span>
- <span class="kw"><field</span><span class="ot"> name=</span><span class="st">"thruDate"</span><span
class="kw">><date-time</span><span class="ot"> type=</span><span class="st">"date"</span><span class="kw">/></field></span>
- <span class="kw"><field</span><span class="ot"> name=</span><span class="st">"productCategoryId"</span><span
class="kw">><lookup</span><span class="ot"> target-form-name=</span><span class="st">"LookupProductCategory"</span><span
class="kw">/></field></span>
- <span class="kw"><field</span><span class="ot"> name=</span><span class="st">"productStoreId"</span><span
class="kw">><lookup</span><span class="ot"> target-form-name=</span><span class="st">"LookupProductStore"</span><span
class="kw">/></field></span>
- <span class="kw"></form></span></code></pre></div>
-<ol start="4" style="list-style-type: decimal">
+<div class="sourceCode" id="cb5"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb5-1"
data-line-number="1"> <span class="kw"><form</span><span class="ot"> name=</span><span
class="st">"CTNT_MASTER_TURNOVER"</span><span class="ot"> type=</span><span class="st">"single"</span><span class="ot">
extends=</span><span class="st">"AbstractFlexibleReportSearchForm"</span><span class="kw">></span></a>
+<a class="sourceLine" id="cb5-2" data-line-number="2"> <span class="kw"><field</span><span class="ot"> name=</span><span
class="st">"fromDate"</span><span class="kw">><date-time</span><span class="ot"> type=</span><span
class="st">"date"</span><span class="kw">/></field></span></a>
+<a class="sourceLine" id="cb5-3" data-line-number="3"> <span class="kw"><field</span><span class="ot"> name=</span><span
class="st">"thruDate"</span><span class="kw">><date-time</span><span class="ot"> type=</span><span
class="st">"date"</span><span class="kw">/></field></span></a>
+<a class="sourceLine" id="cb5-4" data-line-number="4"> <span class="kw"><field</span><span class="ot"> name=</span><span
class="st">"productCategoryId"</span><span class="kw">><lookup</span><span class="ot"> target-form-name=</span><span
class="st">"LookupProductCategory"</span><span class="kw">/></field></span></a>
+<a class="sourceLine" id="cb5-5" data-line-number="5"> <span class="kw"><field</span><span class="ot"> name=</span><span
class="st">"productStoreId"</span><span class="kw">><lookup</span><span class="ot"> target-form-name=</span><span
class="st">"LookupProductStore"</span><span class="kw">/></field></span></a>
+<a class="sourceLine" id="cb5-6" data-line-number="6"> <span
class="kw"></form></span></a></code></pre></div>
+<ol start="4" type="1">
<li>Create the master in database following.</li>
</ol>
-<div class="sourceCode"><pre class="sourceCode xml"><code class="sourceCode xml"> <span class="kw"><CustomMethod</span><span class="ot">
customMethodId=</span><span class="st">"CM_FB_TURNOVER"</span><span class="ot"> customMethodTypeId=</span><span
class="st">"FLEXIBLE_BIRT"</span><span class="ot"> customMethodName=</span><span
class="st">"flexibleReportTurnOver"</span><span class="ot"> description=</span><span class="st">"service to resolve invoice for
turnover report domain"</span><span class="kw">/></span>
- <span class="kw"><DataResource</span><span class="ot"> dataResourceId=</span><span class="st">"DR_MASTER_TURNOVER"</span><span
class="ot"> dataResourceTypeId=</span><span class="st">"ELECTRONIC_TEXT"</span><span class="ot"> dataTemplateTypeId=</span><span
class="st">"FORM_COMBINED"</span> <span class="kw">/></span>
- <span class="kw"><ElectronicText</span><span class="ot"> dataResourceId=</span><span class="st">"DR_MASTER_TURNOVER"</span><span
class="kw">></span>
- <span class="kw"><textData></span><span
class="bn"><![CDATA[</span><!--default domain form-->
- <form name="${masterContentId}_${contentId}" type="single" extends="${masterContentId}"
extends-resource="component://birt/widget/birt/BirtMasterForms.xml">
- </form><span class="bn">]]></span>
- <span class="kw"></textData></span>
- <span class="kw"></ElectronicText></span>
- <span class="kw"><Content</span><span class="ot"> contentId=</span><span class="st">"CTNT_MASTER_TURNOVER"</span><span
class="ot"> customMethodId=</span><span class="st">"CM_FB_TURNOVER"</span><span class="ot"> contentTypeId=</span><span
class="st">"REPORT_MASTER"</span><span class="ot"> dataResourceId=</span><span class="st">"DR_MASTER_TURNOVER"</span><span
class="ot"> statusId=</span><span class="st">"CTNT_PUBLISHED"</span><span class="ot"> contentName=</span><span
class="st">"Turnover"</span><span class="ot"> description=</span><span class="st">"Master Content for TURNOVER domain"</span>
<span class="kw">/></span>
- <span class="co"><!-- Data retrieval will be done using two service calls. First the contentAttribute Service gives the service that will
define which data and label will be retrieved,</span>
-<span class="co"> and which filter and label are supported by the report design (default value will call the second service with
"prepareField" suffix).</span>
-<span class="co"> Second, the custom method gives the service to retrieve all
data in the report design.</span>
-<span class="co"> Here : flexibleReportTurnOverPrepareFields (customMethodName + "prepareFields") then
flexibleReportTurnOver--></span>
- <span class="kw"><ContentAttribute</span><span class="ot"> contentId=</span><span class="st">"CTNT_MASTER_TURNOVER"</span><span
class="ot"> attrName=</span><span class="st">"Service"</span><span class="ot"> attrValue=</span><span
class="st">"default"</span><span class="kw">/></span></code></pre></div>
+<div class="sourceCode" id="cb6"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb6-1"
data-line-number="1"> <span class="kw"><CustomMethod</span><span class="ot"> customMethodId=</span><span
class="st">"CM_FB_TURNOVER"</span><span class="ot"> customMethodTypeId=</span><span class="st">"FLEXIBLE_BIRT"</span><span
class="ot"> customMethodName=</span><span class="st">"flexibleReportTurnOver"</span><span class="ot"> description=</span><span
class="st">"service to resolve invoice for turnover report domain"</span><span class="kw">/></span></a>
+<a class="sourceLine" id="cb6-2" data-line-number="2"> <span class="kw"><DataResource</span><span class="ot"> dataResourceId=</span><span
class="st">"DR_MASTER_TURNOVER"</span><span class="ot"> dataResourceTypeId=</span><span
class="st">"ELECTRONIC_TEXT"</span><span class="ot"> dataTemplateTypeId=</span><span class="st">"FORM_COMBINED"</span> <span
class="kw">/></span></a>
+<a class="sourceLine" id="cb6-3" data-line-number="3"> <span class="kw"><ElectronicText</span><span class="ot"> dataResourceId=</span><span
class="st">"DR_MASTER_TURNOVER"</span><span class="kw">></span></a>
+<a class="sourceLine" id="cb6-4" data-line-number="4"> <span class="kw"><textData></span><span
class="bn"><![CDATA[</span><!--default domain form--></a>
+<a class="sourceLine" id="cb6-5" data-line-number="5"> <form name="${masterContentId}_${contentId}"
type="single" extends="${masterContentId}" extends-resource="component://birt/widget/birt/BirtMasterForms.xml"></a>
+<a class="sourceLine" id="cb6-6" data-line-number="6"> </form><span
class="bn">]]></span></a>
+<a class="sourceLine" id="cb6-7" data-line-number="7"> <span
class="kw"></textData></span></a>
+<a class="sourceLine" id="cb6-8" data-line-number="8"> <span
class="kw"></ElectronicText></span></a>
+<a class="sourceLine" id="cb6-9" data-line-number="9"> <span class="kw"><Content</span><span class="ot"> contentId=</span><span
class="st">"CTNT_MASTER_TURNOVER"</span><span class="ot"> customMethodId=</span><span class="st">"CM_FB_TURNOVER"</span><span
class="ot"> contentTypeId=</span><span class="st">"REPORT_MASTER"</span><span class="ot"> dataResourceId=</span><span
class="st">"DR_MASTER_TURNOVER"</span><span class="ot"> statusId=</span><span class="st">"CTNT_PUBLISHED"</span><span
class="ot"> contentName=</span><span class="st">"Turnover"</span><span class="ot"> description=</span><span class="st">"Master
Content for TURNOVER domain"</span> <span class="kw">/></span></a>
+<a class="sourceLine" id="cb6-10" data-line-number="10"> <span class="co"><!-- Data retrieval will be done using two service calls. First
the contentAttribute Service gives the service that will define which data and label will be retrieved,</span></a>
+<a class="sourceLine" id="cb6-11" data-line-number="11"><span class="co"> and which filter and label are supported by the report design
(default value will call the second service with "prepareField" suffix).</span></a>
+<a class="sourceLine" id="cb6-12" data-line-number="12"><span class="co"> Second, the custom method gives the service to retrieve all data in
the report design.</span></a>
+<a class="sourceLine" id="cb6-13" data-line-number="13"><span class="co"> Here : flexibleReportTurnOverPrepareFields (customMethodName +
"prepareFields") then flexibleReportTurnOver--></span></a>
+<a class="sourceLine" id="cb6-14" data-line-number="14"> <span class="kw"><ContentAttribute</span><span class="ot"> contentId=</span><span
class="st">"CTNT_MASTER_TURNOVER"</span><span class="ot"> attrName=</span><span class="st">"Service"</span><span class="ot">
attrValue=</span><span class="st">"default"</span><span class="kw">/></span></a></code></pre></div>
<p>The form in the database is the form that will allow users to change form parameters. You can add any field you desire. Some field names are
reserved: reportContentId, overrideFilters, entityViewName, birtContentType.</p>
-<ol start="5" style="list-style-type: decimal">
-<li>Import these data in the base using Webtools XML import (or the longer
"gradlew 'ofbiz -l readers=seed,ext' command).</li>
+<ol start="5" type="1">
+<li>Import these data in the base using Webtools XML import (or the longer
âgradlew âofbiz -l readers=seed,extâ command).</li>
<li>Add in the file content/config/contentEntityLabels.xml the Property which will
translate your report Master description.</li>
</ol>
-<div class="sourceCode"><pre class="sourceCode xml"><code class="sourceCode xml"> <span class="kw"><property</span><span class="ot">
key=</span><span class="st">"Content.description.CTNT_MASTER_TURNOVER"</span><span class="kw">></span>
- <span class="kw"><value</span><span class="ot"> xml:lang=</span><span class="st">"en"</span><span
class="kw">></span>Turnover (product)<span class="kw"></value></span>
- <span class="kw"><value</span><span class="ot"> xml:lang=</span><span class="st">"fr"</span><span
class="kw">></span>Rotation (des stocks)<span class="kw"></value></span>
- <span class="kw"></property></span></code></pre></div>
+<div class="sourceCode" id="cb7"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb7-1"
data-line-number="1"> <span class="kw"><property</span><span class="ot"> key=</span><span
class="st">"Content.description.CTNT_MASTER_TURNOVER"</span><span class="kw">></span></a>
+<a class="sourceLine" id="cb7-2" data-line-number="2"> <span class="kw"><value</span><span class="ot"> xml:lang=</span><span
class="st">"en"</span><span class="kw">></span>Turnover (product)<span class="kw"></value></span></a>
+<a class="sourceLine" id="cb7-3" data-line-number="3"> <span class="kw"><value</span><span class="ot"> xml:lang=</span><span
class="st">"fr"</span><span class="kw">></span>Rotation (des stocks)<span class="kw"></value></span></a>
+<a class="sourceLine" id="cb7-4" data-line-number="4"> <span
class="kw"></property></span></a></code></pre></div>
<h2 id="entities-diagram">Entities diagram</h2>
<p>The following diagram shows the Entities linked with Content to store report_master/report. <img
src="https://cwiki.apache.org/confluence/download/attachments/68720496/Report_Master.png?api=v2" alt="Report_Master" /></p>
</body>