Re: svn commit: r1826200 [1/3] - in /ofbiz: ofbiz-plugins/trunk/birt/documents/ tools/wiki-files/ tools/wiki-files/BuildBot/ tools/wiki-files/birt/ tools/wiki-files/data-model/ tools/wiki-files/demos/ tools/wiki-files/themes/

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r1826200 [1/3] - in /ofbiz: ofbiz-plugins/trunk/birt/documents/ tools/wiki-files/ tools/wiki-files/BuildBot/ tools/wiki-files/birt/ tools/wiki-files/data-model/ tools/wiki-files/demos/ tools/wiki-files/themes/

Michael Brohl-3
Please stick to the commit message template, thanks.

Am 08.03.18 um 11:42 schrieb [hidden email]:

> 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 &quot;ofb&quot;).</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 &quot;Setup eclipse project for OFBiz&quot; 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 &quot;Setup an external database&quot; 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 &quot;Running gradle tasks without an internet connection&quot; 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 &quot;Repository and directory structure&quot; 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>&quot;quoting&quot;</strong> the commands. For example: <code>gradlew &quot;ofbiz --help&quot;</code></p></li>
> +<li><p>OFBiz <strong>server commands</strong> require <strong>“quoting”</strong> the commands. For example: <code>gradlew &quot;ofbiz --help&quot;</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 &quot;ofbizDebug --test&quot;</code></p>
>   <p><code>gradlew &quot;ofbizBackground --start --portoffset 10000&quot;</code></p>
>   <p><code>gradlew &quot;ofbiz --shutdown --portoffset 10000&quot;</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 &quot;ofbiz --start --portoffset 10000&quot;</code></p>
>   <hr />
> @@ -133,7 +143,7 @@ under the License.
>   <h4 id="get-ofbiz-status">Get OFBiz status</h4>
>   <p><code>gradlew &quot;ofbiz --status&quot;</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 &quot;ofbiz --start --portoffset 10000&quot;</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 &quot;ofbiztenant&quot;. 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 &quot;default&quot;. If the value passed is <strong>&quot;all-tenants&quot;</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=&quot;My Name&quot; -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 &quot;ofbiz --test loglevel=fatal&quot;</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 &quot;entity&quot; and the case name is &quot;entity-tests&quot;</p>
> +<p>run a test case, in this example the component is “entity” and the case name is “entity-tests”</p>
>   <p><code>gradlew &quot;ofbiz --test component=entity --test suitename=entitytests --test case=entity-query-tests&quot;</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 &quot;ofbiz&quot;. 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=&quot;http://www.example.com/custom-maven&quot; -PrepoUser=myuser -PrepoPassword=mypassword -PdependencyId=&quot;org.apache.ofbiz.plugin:myplugin:0.1.0&quot;</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 &quot;install&quot; 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 &quot;.svn&quot; 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 &quot;pullPlugin&quot; 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 &quot;install&quot; 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 &quot;uninstall&quot; 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 &quot;Publication of OFBiz plugin ${pluginId}&quot;</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=&quot;Introduce special functionality X&quot;</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 &quot;special-purpose&quot; 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 &quot;special-purpose&quot; and &quot;hot-deploy&quot;.</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 &quot;Flexible Report&quot; menu (varies depending on themes)</li>
> -<li>Click on the &quot;Generate report&quot; 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 &quot;Choose report topic&quot; 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 &quot;Generate filters in design&quot; 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 &quot;Edit Report&quot; 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">&quot;Using the Birt Report Designer.md.html&quot; 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 &quot;Preview&quot; panel. There you can temporarily filter the result, and use the export format you prefer, once done click &quot;Send&quot;. 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 &quot;Manage reports&quot; screen or directly in the &quot;Report information&quot; panel. We will see the &quot;Manage reports&quot; 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 &quot;Override filters&quot; panel to override and personnalize the form, once done click &quot;Save&quot;. 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. &gt;<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. &gt;<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 &quot;Manage reports&quot; 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 &quot;Preview&quot; Panel and can do the same things than in the &quot;Edit Report&quot; 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 &quot;Use a report&quot;.</li>
> -<li>Select your report and hit &quot;Send&quot;.</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">&lt;form</span><span class="ot"> name=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> type=</span><span class="st">&quot;single&quot;</span><span class="ot"> extends=</span><span class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span class="kw">&gt;</span>
> -        <span class="kw">&lt;auto-fields-entity</span><span class="ot"> entity-name=</span><span class="st">&quot;Example&quot;</span><span class="ot"> default-field-type=</span><span class="st">&quot;find&quot;</span><span class="kw">/&gt;</span>
> -    <span class="kw">&lt;/form&gt;</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">&lt;form</span><span class="ot"> name=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> type=</span><span class="st">&quot;single&quot;</span><span class="ot"> extends=</span><span class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span class="kw">&gt;</span>    </a>
> +<a class="sourceLine" id="cb1-2" data-line-number="2">        <span class="kw">&lt;auto-fields-entity</span><span class="ot"> entity-name=</span><span class="st">&quot;Example&quot;</span><span class="ot"> default-field-type=</span><span class="st">&quot;find&quot;</span><span class="kw">/&gt;</span></a>
> +<a class="sourceLine" id="cb1-3" data-line-number="3">    <span class="kw">&lt;/form&gt;</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">&lt;DataResource</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot"> dataResourceTypeId=</span><span class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot"> dataTemplateTypeId=</span><span class="st">&quot;FORM_COMBINED&quot;</span> <span class="kw">/&gt;</span>
> -    <span class="kw">&lt;ElectronicText</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="kw">&gt;</span>
> -        <span class="kw">&lt;textData&gt;</span><span class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;
> -            &lt;form name=&quot;${masterContentId}_${contentId}&quot; type=&quot;single&quot; extends=&quot;${masterContentId}&quot; extends-    resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;
> -            &lt;/form&gt;<span class="bn">]]&gt;</span>
> -        <span class="kw">&lt;/textData&gt;</span>
> -    <span class="kw">&lt;/ElectronicText&gt;</span>
> -    <span class="kw">&lt;Content</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> contentTypeId=</span><span class="st">&quot;REPORT_MASTER&quot;</span><span class="ot">  dataResourceId=</span><span class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot"> statusId=</span><span class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot"> contentName=</span><span class="st">&quot;Example&quot;</span><span class="ot"> description=</span><span class="st">&quot;Master Content for Example&quot;</span> <span class="kw">/&gt;</span>
> -    <span class="co">&lt;!-- Data retrieval will be done using perform find on entity Example--&gt;</span>
> -    <span class="kw">&lt;ContentAttribute</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> attrName=</span><span class="st">&quot;Entity&quot;</span><span class="ot"> attrValue=</span><span class="st">&quot;Example&quot;</span><span class="kw">/&gt;</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">&lt;DataResource</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot"> dataResourceTypeId=</span><span class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot"> dataTemplateTypeId=</span><span class="st">&quot;FORM_COMBINED&quot;</span> <span class="kw">/&gt;</span></a>
> +<a class="sourceLine" id="cb2-2" data-line-number="2">    <span class="kw">&lt;ElectronicText</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="kw">&gt;</span></a>
> +<a class="sourceLine" id="cb2-3" data-line-number="3">        <span class="kw">&lt;textData&gt;</span><span class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;</a>
> +<a class="sourceLine" id="cb2-4" data-line-number="4">            &lt;form name=&quot;${masterContentId}_${contentId}&quot; type=&quot;single&quot; extends=&quot;${masterContentId}&quot; extends-    resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;</a>
> +<a class="sourceLine" id="cb2-5" data-line-number="5">            &lt;/form&gt;<span class="bn">]]&gt;</span></a>
> +<a class="sourceLine" id="cb2-6" data-line-number="6">        <span class="kw">&lt;/textData&gt;</span></a>
> +<a class="sourceLine" id="cb2-7" data-line-number="7">    <span class="kw">&lt;/ElectronicText&gt;</span></a>
> +<a class="sourceLine" id="cb2-8" data-line-number="8">    <span class="kw">&lt;Content</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> contentTypeId=</span><span class="st">&quot;REPORT_MASTER&quot;</span><span class="ot">  dataResourceId=</span><span class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot"> statusId=</span><span class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot"> contentName=</span><span class="st">&quot;Example&quot;</span><span class="ot"> description=</span><span class="st">&quot;Master Content for Example&quot;</span> <span class="kw">/&gt;</span></a>
> +<a class="sourceLine" id="cb2-9" data-line-number="9">    <span class="co">&lt;!-- Data retrieval will be done using perform find on entity Example--&gt;</span></a>
> +<a class="sourceLine" id="cb2-10" data-line-number="10">    <span class="kw">&lt;ContentAttribute</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> attrName=</span><span class="st">&quot;Entity&quot;</span><span class="ot"> attrValue=</span><span class="st">&quot;Example&quot;</span><span class="kw">/&gt;</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">&lt;property</span><span class="ot"> key=</span><span class="st">&quot;Content.description.CTNT_MASTER_EXAMPLE&quot;</span><span class="kw">&gt;</span>
> -        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;en&quot;</span><span class="kw">&gt;</span>Example<span class="kw">&lt;/value&gt;</span>
> -        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;fr&quot;</span><span class="kw">&gt;</span>Exemple<span class="kw">&lt;/value&gt;</span>
> -    <span class="kw">&lt;/property&gt;</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">&lt;property</span><span class="ot"> key=</span><span class="st">&quot;Content.description.CTNT_MASTER_EXAMPLE&quot;</span><span class="kw">&gt;</span></a>
> +<a class="sourceLine" id="cb3-2" data-line-number="2">        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;en&quot;</span><span class="kw">&gt;</span>Example<span class="kw">&lt;/value&gt;</span></a>
> +<a class="sourceLine" id="cb3-3" data-line-number="3">        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;fr&quot;</span><span class="kw">&gt;</span>Exemple<span class="kw">&lt;/value&gt;</span></a>
> +<a class="sourceLine" id="cb3-4" data-line-number="4">    <span class="kw">&lt;/property&gt;</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&lt;String, String&gt; called dataMap. <strong>Keys</strong>: data field names. <strong>Values</strong>: data types (OFBiz types).</li>
> +<li>an object of type Map&lt;String, String&gt; 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&lt;String, String&gt; 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&lt;String, String&gt; 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&lt;String, Object&gt; parameters = (Map&lt;String, Object&gt;) reportContext.<span class="fu">getParameterValue</span>(<span class="st">&quot;parameters&quot;</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>&lt;<span class="bu">String</span>, <span class="bu">Object</span>&gt; parameters = (<span class="bu">Map</span>&lt;<span class="bu">String</span>, <span class="bu">Object</span>&gt;) reportContext.<span class="fu">getParameterValue</span>(<span class="st">&quot;parameters&quot;</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&lt;String, Object&gt; 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">&lt;form</span><span class="ot"> name=</span><span class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> type=</span><span class="st">&quot;single&quot;</span><span class="ot"> extends=</span><span class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span class="kw">&gt;</span>
> -        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;fromDate&quot;</span><span class="kw">&gt;&lt;date-time</span><span class="ot"> type=</span><span class="st">&quot;date&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span>
> -        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;thruDate&quot;</span><span class="kw">&gt;&lt;date-time</span><span class="ot"> type=</span><span class="st">&quot;date&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span>
> -        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;productCategoryId&quot;</span><span class="kw">&gt;&lt;lookup</span><span class="ot"> target-form-name=</span><span class="st">&quot;LookupProductCategory&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span>
> -        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;productStoreId&quot;</span><span class="kw">&gt;&lt;lookup</span><span class="ot"> target-form-name=</span><span class="st">&quot;LookupProductStore&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span>
> -    <span class="kw">&lt;/form&gt;</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">&lt;form</span><span class="ot"> name=</span><span class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> type=</span><span class="st">&quot;single&quot;</span><span class="ot"> extends=</span><span class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span class="kw">&gt;</span></a>
> +<a class="sourceLine" id="cb5-2" data-line-number="2">        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;fromDate&quot;</span><span class="kw">&gt;&lt;date-time</span><span class="ot"> type=</span><span class="st">&quot;date&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span></a>
> +<a class="sourceLine" id="cb5-3" data-line-number="3">        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;thruDate&quot;</span><span class="kw">&gt;&lt;date-time</span><span class="ot"> type=</span><span class="st">&quot;date&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span></a>
> +<a class="sourceLine" id="cb5-4" data-line-number="4">        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;productCategoryId&quot;</span><span class="kw">&gt;&lt;lookup</span><span class="ot"> target-form-name=</span><span class="st">&quot;LookupProductCategory&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span></a>
> +<a class="sourceLine" id="cb5-5" data-line-number="5">        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;productStoreId&quot;</span><span class="kw">&gt;&lt;lookup</span><span class="ot"> target-form-name=</span><span class="st">&quot;LookupProductStore&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span></a>
> +<a class="sourceLine" id="cb5-6" data-line-number="6">    <span class="kw">&lt;/form&gt;</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">&lt;CustomMethod</span><span class="ot"> customMethodId=</span><span class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot"> customMethodTypeId=</span><span class="st">&quot;FLEXIBLE_BIRT&quot;</span><span class="ot"> customMethodName=</span><span class="st">&quot;flexibleReportTurnOver&quot;</span><span class="ot"> description=</span><span class="st">&quot;service to resolve invoice for turnover report domain&quot;</span><span class="kw">/&gt;</span>
> -    <span class="kw">&lt;DataResource</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot"> dataResourceTypeId=</span><span class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot"> dataTemplateTypeId=</span><span class="st">&quot;FORM_COMBINED&quot;</span> <span class="kw">/&gt;</span>
> -    <span class="kw">&lt;ElectronicText</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="kw">&gt;</span>
> -        <span class="kw">&lt;textData&gt;</span><span class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;
> -            &lt;form name=&quot;${masterContentId}_${contentId}&quot; type=&quot;single&quot; extends=&quot;${masterContentId}&quot; extends-resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;
> -            &lt;/form&gt;<span class="bn">]]&gt;</span>
> -        <span class="kw">&lt;/textData&gt;</span>
> -    <span class="kw">&lt;/ElectronicText&gt;</span>
> -    <span class="kw">&lt;Content</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> customMethodId=</span><span class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot"> contentTypeId=</span><span class="st">&quot;REPORT_MASTER&quot;</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot"> statusId=</span><span class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot"> contentName=</span><span class="st">&quot;Turnover&quot;</span><span class="ot"> description=</span><span class="st">&quot;Master Content for TURNOVER domain&quot;</span> <span class="kw">/&gt;</span>
> -    <span class="co">&lt;!-- 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 &quot;prepareField&quot; 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 + &quot;prepareFields&quot;) then flexibleReportTurnOver--&gt;</span>
> -    <span class="kw">&lt;ContentAttribute</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> attrName=</span><span class="st">&quot;Service&quot;</span><span class="ot"> attrValue=</span><span class="st">&quot;default&quot;</span><span class="kw">/&gt;</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">&lt;CustomMethod</span><span class="ot"> customMethodId=</span><span class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot"> customMethodTypeId=</span><span class="st">&quot;FLEXIBLE_BIRT&quot;</span><span class="ot"> customMethodName=</span><span class="st">&quot;flexibleReportTurnOver&quot;</span><span class="ot"> description=</span><span class="st">&quot;service to resolve invoice for turnover report domain&quot;</span><span class="kw">/&gt;</span></a>
> +<a class="sourceLine" id="cb6-2" data-line-number="2">    <span class="kw">&lt;DataResource</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot"> dataResourceTypeId=</span><span class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot"> dataTemplateTypeId=</span><span class="st">&quot;FORM_COMBINED&quot;</span> <span class="kw">/&gt;</span></a>
> +<a class="sourceLine" id="cb6-3" data-line-number="3">    <span class="kw">&lt;ElectronicText</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="kw">&gt;</span></a>
> +<a class="sourceLine" id="cb6-4" data-line-number="4">        <span class="kw">&lt;textData&gt;</span><span class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;</a>
> +<a class="sourceLine" id="cb6-5" data-line-number="5">            &lt;form name=&quot;${masterContentId}_${contentId}&quot; type=&quot;single&quot; extends=&quot;${masterContentId}&quot; extends-resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;</a>
> +<a class="sourceLine" id="cb6-6" data-line-number="6">            &lt;/form&gt;<span class="bn">]]&gt;</span></a>
> +<a class="sourceLine" id="cb6-7" data-line-number="7">        <span class="kw">&lt;/textData&gt;</span></a>
> +<a class="sourceLine" id="cb6-8" data-line-number="8">    <span class="kw">&lt;/ElectronicText&gt;</span></a>
> +<a class="sourceLine" id="cb6-9" data-line-number="9">    <span class="kw">&lt;Content</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> customMethodId=</span><span class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot"> contentTypeId=</span><span class="st">&quot;REPORT_MASTER&quot;</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot"> statusId=</span><span class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot"> contentName=</span><span class="st">&quot;Turnover&quot;</span><span class="ot"> description=</span><span class="st">&quot;Master Content for TURNOVER domain&quot;</span> <span class="kw">/&gt;</span></a>
> +<a class="sourceLine" id="cb6-10" data-line-number="10">    <span class="co">&lt;!-- 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 &quot;prepareField&quot; 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 + &quot;prepareFields&quot;) then flexibleReportTurnOver--&gt;</span></a>
> +<a class="sourceLine" id="cb6-14" data-line-number="14">    <span class="kw">&lt;ContentAttribute</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> attrName=</span><span class="st">&quot;Service&quot;</span><span class="ot"> attrValue=</span><span class="st">&quot;default&quot;</span><span class="kw">/&gt;</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 &quot;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">&lt;property</span><span class="ot"> key=</span><span class="st">&quot;Content.description.CTNT_MASTER_TURNOVER&quot;</span><span class="kw">&gt;</span>
> -        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;en&quot;</span><span class="kw">&gt;</span>Turnover (product)<span class="kw">&lt;/value&gt;</span>
> -        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;fr&quot;</span><span class="kw">&gt;</span>Rotation (des stocks)<span class="kw">&lt;/value&gt;</span>
> -    <span class="kw">&lt;/property&gt;</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">&lt;property</span><span class="ot"> key=</span><span class="st">&quot;Content.description.CTNT_MASTER_TURNOVER&quot;</span><span class="kw">&gt;</span></a>
> +<a class="sourceLine" id="cb7-2" data-line-number="2">        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;en&quot;</span><span class="kw">&gt;</span>Turnover (product)<span class="kw">&lt;/value&gt;</span></a>
> +<a class="sourceLine" id="cb7-3" data-line-number="3">        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;fr&quot;</span><span class="kw">&gt;</span>Rotation (des stocks)<span class="kw">&lt;/value&gt;</span></a>
> +<a class="sourceLine" id="cb7-4" data-line-number="4">    <span class="kw">&lt;/property&gt;</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>
>
>


smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r1826200 [1/3] - in /ofbiz: ofbiz-plugins/trunk/birt/documents/ tools/wiki-files/ tools/wiki-files/BuildBot/ tools/wiki-files/birt/ tools/wiki-files/data-model/ tools/wiki-files/demos/ tools/wiki-files/themes/

Jacques Le Roux
Administrator
I don't think it's needed here, it's only files in tools for the wiki but a small typo in ofbiz/ofbiz-plugins/trunk/birt/documents/Creating reports.md

Or do you mean that you will also use it for your list in the monthly blog post? I thought it was only about Jira issues related to OFBiz code.

That's why I don't use the commit template for such commits, I did plenty of such in the past (since we use the commit template)

Jacques


Le 08/03/2018 à 18:34, Michael Brohl a écrit :

> Please stick to the commit message template, thanks.
>
> Am 08.03.18 um 11:42 schrieb [hidden email]:
>> 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
>> &quot;ofb&quot;).</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 &quot;Setup eclipse project for OFBiz&quot; 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 &quot;Setup an external database&quot; 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 &quot;Running gradle tasks without an internet
>> connection&quot; 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 &quot;Repository and directory
>> structure&quot; 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>&quot;quoting&quot;</strong> the commands. For example: <code>gradlew &quot;ofbiz
>> --help&quot;</code></p></li>
>> +<li><p>OFBiz <strong>server commands</strong> require <strong>“quoting”</strong> the commands. For example: <code>gradlew &quot;ofbiz
>> --help&quot;</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 &quot;ofbizDebug --test&quot;</code></p>
>>   <p><code>gradlew &quot;ofbizBackground --start --portoffset 10000&quot;</code></p>
>>   <p><code>gradlew &quot;ofbiz --shutdown --portoffset 10000&quot;</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 &quot;ofbiz --start --portoffset 10000&quot;</code></p>
>>   <hr />
>> @@ -133,7 +143,7 @@ under the License.
>>   <h4 id="get-ofbiz-status">Get OFBiz status</h4>
>>   <p><code>gradlew &quot;ofbiz --status&quot;</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 &quot;ofbiz --start --portoffset 10000&quot;</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 &quot;ofbiztenant&quot;. 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 &quot;default&quot;. If the value passed is
>> <strong>&quot;all-tenants&quot;</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=&quot;My Name&quot; -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 &quot;ofbiz --test loglevel=fatal&quot;</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 &quot;entity&quot; and the case name is &quot;entity-tests&quot;</p>
>> +<p>run a test case, in this example the component is “entity” and the case name is “entity-tests”</p>
>>   <p><code>gradlew &quot;ofbiz --test component=entity --test suitename=entitytests --test case=entity-query-tests&quot;</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 &quot;ofbiz&quot;. 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=&quot;http://www.example.com/custom-maven&quot; -PrepoUser=myuser -PrepoPassword=mypassword
>> -PdependencyId=&quot;org.apache.ofbiz.plugin:myplugin:0.1.0&quot;</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 &quot;install&quot; 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 &quot;.svn&quot;
>> 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 &quot;pullPlugin&quot; 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 &quot;install&quot; 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 &quot;uninstall&quot; 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 &quot;Publication of OFBiz plugin ${pluginId}&quot;</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=&quot;Introduce special functionality X&quot;</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 &quot;special-purpose&quot; 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 &quot;special-purpose&quot; and
>> &quot;hot-deploy&quot;.</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 &quot;Flexible Report&quot; menu (varies depending on themes)</li>
>> -<li>Click on the &quot;Generate report&quot; 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 &quot;Choose report topic&quot; 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 &quot;Generate filters in design&quot; 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 &quot;Edit Report&quot; 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">&quot;Using the
>> Birt Report Designer.md.html&quot; 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
>> &quot;Preview&quot; panel. There you can temporarily filter the result, and use the export format you prefer, once done click &quot;Send&quot;. 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 &quot;Manage reports&quot; screen or directly
>> in the &quot;Report information&quot; panel. We will see the &quot;Manage reports&quot; 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 &quot;Override filters&quot; panel to override and personnalize the form,
>> once done click &quot;Save&quot;. 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. &gt;<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. &gt;<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 &quot;Manage reports&quot; 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 &quot;Preview&quot; Panel and
>> can do the same things than in the &quot;Edit Report&quot; 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 &quot;Use a report&quot;.</li>
>> -<li>Select your report and hit &quot;Send&quot;.</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">&lt;form</span><span class="ot">
>> name=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> type=</span><span class="st">&quot;single&quot;</span><span
>> class="ot"> extends=</span><span class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span class="kw">&gt;</span>
>> -        <span class="kw">&lt;auto-fields-entity</span><span class="ot"> entity-name=</span><span class="st">&quot;Example&quot;</span><span
>> class="ot"> default-field-type=</span><span class="st">&quot;find&quot;</span><span class="kw">/&gt;</span>
>> -    <span class="kw">&lt;/form&gt;</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">&lt;form</span><span class="ot"> name=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span
>> class="ot"> type=</span><span class="st">&quot;single&quot;</span><span class="ot"> extends=</span><span
>> class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span class="kw">&gt;</span>    </a>
>> +<a class="sourceLine" id="cb1-2" data-line-number="2">        <span class="kw">&lt;auto-fields-entity</span><span class="ot">
>> entity-name=</span><span class="st">&quot;Example&quot;</span><span class="ot"> default-field-type=</span><span
>> class="st">&quot;find&quot;</span><span class="kw">/&gt;</span></a>
>> +<a class="sourceLine" id="cb1-3" data-line-number="3"> <span class="kw">&lt;/form&gt;</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">&lt;DataResource</span><span class="ot">
>> dataResourceId=</span><span class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot"> dataResourceTypeId=</span><span
>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot"> dataTemplateTypeId=</span><span class="st">&quot;FORM_COMBINED&quot;</span> <span
>> class="kw">/&gt;</span>
>> -    <span class="kw">&lt;ElectronicText</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span
>> class="kw">&gt;</span>
>> -        <span class="kw">&lt;textData&gt;</span><span class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;
>> -            &lt;form name=&quot;${masterContentId}_${contentId}&quot; type=&quot;single&quot; extends=&quot;${masterContentId}&quot; extends-
>> resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;
>> -            &lt;/form&gt;<span class="bn">]]&gt;</span>
>> -        <span class="kw">&lt;/textData&gt;</span>
>> -    <span class="kw">&lt;/ElectronicText&gt;</span>
>> -    <span class="kw">&lt;Content</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>> contentTypeId=</span><span class="st">&quot;REPORT_MASTER&quot;</span><span class="ot">  dataResourceId=</span><span
>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot"> statusId=</span><span class="st">&quot;CTNT_PUBLISHED&quot;</span><span
>> class="ot"> contentName=</span><span class="st">&quot;Example&quot;</span><span class="ot"> description=</span><span class="st">&quot;Master
>> Content for Example&quot;</span> <span class="kw">/&gt;</span>
>> -    <span class="co">&lt;!-- Data retrieval will be done using perform find on entity Example--&gt;</span>
>> -    <span class="kw">&lt;ContentAttribute</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span
>> class="ot"> attrName=</span><span class="st">&quot;Entity&quot;</span><span class="ot"> attrValue=</span><span
>> class="st">&quot;Example&quot;</span><span class="kw">/&gt;</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">&lt;DataResource</span><span class="ot"> dataResourceId=</span><span
>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot"> dataResourceTypeId=</span><span class="st">&quot;ELECTRONIC_TEXT&quot;</span><span
>> class="ot"> dataTemplateTypeId=</span><span class="st">&quot;FORM_COMBINED&quot;</span> <span class="kw">/&gt;</span></a>
>> +<a class="sourceLine" id="cb2-2" data-line-number="2"> <span class="kw">&lt;ElectronicText</span><span class="ot"> dataResourceId=</span><span
>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="kw">&gt;</span></a>
>> +<a class="sourceLine" id="cb2-3" data-line-number="3">        <span class="kw">&lt;textData&gt;</span><span
>> class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;</a>
>> +<a class="sourceLine" id="cb2-4" data-line-number="4">            &lt;form name=&quot;${masterContentId}_${contentId}&quot;
>> type=&quot;single&quot; extends=&quot;${masterContentId}&quot; extends- resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;</a>
>> +<a class="sourceLine" id="cb2-5" data-line-number="5"> &lt;/form&gt;<span class="bn">]]&gt;</span></a>
>> +<a class="sourceLine" id="cb2-6" data-line-number="6">        <span class="kw">&lt;/textData&gt;</span></a>
>> +<a class="sourceLine" id="cb2-7" data-line-number="7"> <span class="kw">&lt;/ElectronicText&gt;</span></a>
>> +<a class="sourceLine" id="cb2-8" data-line-number="8"> <span class="kw">&lt;Content</span><span class="ot"> contentId=</span><span
>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> contentTypeId=</span><span class="st">&quot;REPORT_MASTER&quot;</span><span
>> class="ot">  dataResourceId=</span><span class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot"> statusId=</span><span
>> class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot"> contentName=</span><span class="st">&quot;Example&quot;</span><span class="ot">
>> description=</span><span class="st">&quot;Master Content for Example&quot;</span> <span class="kw">/&gt;</span></a>
>> +<a class="sourceLine" id="cb2-9" data-line-number="9"> <span class="co">&lt;!-- Data retrieval will be done using perform find on entity
>> Example--&gt;</span></a>
>> +<a class="sourceLine" id="cb2-10" data-line-number="10">    <span class="kw">&lt;ContentAttribute</span><span class="ot"> contentId=</span><span
>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> attrName=</span><span class="st">&quot;Entity&quot;</span><span class="ot">
>> attrValue=</span><span class="st">&quot;Example&quot;</span><span class="kw">/&gt;</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">&lt;property</span><span class="ot">
>> key=</span><span class="st">&quot;Content.description.CTNT_MASTER_EXAMPLE&quot;</span><span class="kw">&gt;</span>
>> -        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;en&quot;</span><span
>> class="kw">&gt;</span>Example<span class="kw">&lt;/value&gt;</span>
>> -        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;fr&quot;</span><span
>> class="kw">&gt;</span>Exemple<span class="kw">&lt;/value&gt;</span>
>> -    <span class="kw">&lt;/property&gt;</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">&lt;property</span><span class="ot"> key=</span><span
>> class="st">&quot;Content.description.CTNT_MASTER_EXAMPLE&quot;</span><span class="kw">&gt;</span></a>
>> +<a class="sourceLine" id="cb3-2" data-line-number="2">        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span
>> class="st">&quot;en&quot;</span><span class="kw">&gt;</span>Example<span class="kw">&lt;/value&gt;</span></a>
>> +<a class="sourceLine" id="cb3-3" data-line-number="3">        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span
>> class="st">&quot;fr&quot;</span><span class="kw">&gt;</span>Exemple<span class="kw">&lt;/value&gt;</span></a>
>> +<a class="sourceLine" id="cb3-4" data-line-number="4"> <span class="kw">&lt;/property&gt;</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&lt;String, String&gt; called dataMap. <strong>Keys</strong>: data field names. <strong>Values</strong>: data types
>> (OFBiz types).</li>
>> +<li>an object of type Map&lt;String, String&gt; 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&lt;String, String&gt; 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&lt;String, String&gt; 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&lt;String, Object&gt; parameters = (Map&lt;String,
>> Object&gt;) reportContext.<span class="fu">getParameterValue</span>(<span class="st">&quot;parameters&quot;</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>&lt;<span class="bu">String</span>, <span class="bu">Object</span>&gt; parameters = (<span
>> class="bu">Map</span>&lt;<span class="bu">String</span>, <span class="bu">Object</span>&gt;) reportContext.<span
>> class="fu">getParameterValue</span>(<span class="st">&quot;parameters&quot;</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&lt;String, Object&gt; 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">&lt;form</span><span class="ot">
>> name=</span><span class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> type=</span><span class="st">&quot;single&quot;</span><span
>> class="ot"> extends=</span><span class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span class="kw">&gt;</span>
>> -        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;fromDate&quot;</span><span
>> class="kw">&gt;&lt;date-time</span><span class="ot"> type=</span><span class="st">&quot;date&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span>
>> -        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;thruDate&quot;</span><span
>> class="kw">&gt;&lt;date-time</span><span class="ot"> type=</span><span class="st">&quot;date&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span>
>> -        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;productCategoryId&quot;</span><span
>> class="kw">&gt;&lt;lookup</span><span class="ot"> target-form-name=</span><span class="st">&quot;LookupProductCategory&quot;</span><span
>> class="kw">/&gt;&lt;/field&gt;</span>
>> -        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;productStoreId&quot;</span><span
>> class="kw">&gt;&lt;lookup</span><span class="ot"> target-form-name=</span><span class="st">&quot;LookupProductStore&quot;</span><span
>> class="kw">/&gt;&lt;/field&gt;</span>
>> -    <span class="kw">&lt;/form&gt;</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">&lt;form</span><span class="ot"> name=</span><span
>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> type=</span><span class="st">&quot;single&quot;</span><span class="ot">
>> extends=</span><span class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span class="kw">&gt;</span></a>
>> +<a class="sourceLine" id="cb5-2" data-line-number="2">        <span class="kw">&lt;field</span><span class="ot"> name=</span><span
>> class="st">&quot;fromDate&quot;</span><span class="kw">&gt;&lt;date-time</span><span class="ot"> type=</span><span
>> class="st">&quot;date&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span></a>
>> +<a class="sourceLine" id="cb5-3" data-line-number="3">        <span class="kw">&lt;field</span><span class="ot"> name=</span><span
>> class="st">&quot;thruDate&quot;</span><span class="kw">&gt;&lt;date-time</span><span class="ot"> type=</span><span
>> class="st">&quot;date&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span></a>
>> +<a class="sourceLine" id="cb5-4" data-line-number="4">        <span class="kw">&lt;field</span><span class="ot"> name=</span><span
>> class="st">&quot;productCategoryId&quot;</span><span class="kw">&gt;&lt;lookup</span><span class="ot"> target-form-name=</span><span
>> class="st">&quot;LookupProductCategory&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span></a>
>> +<a class="sourceLine" id="cb5-5" data-line-number="5">        <span class="kw">&lt;field</span><span class="ot"> name=</span><span
>> class="st">&quot;productStoreId&quot;</span><span class="kw">&gt;&lt;lookup</span><span class="ot"> target-form-name=</span><span
>> class="st">&quot;LookupProductStore&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span></a>
>> +<a class="sourceLine" id="cb5-6" data-line-number="6"> <span class="kw">&lt;/form&gt;</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">&lt;CustomMethod</span><span class="ot">
>> customMethodId=</span><span class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot"> customMethodTypeId=</span><span
>> class="st">&quot;FLEXIBLE_BIRT&quot;</span><span class="ot"> customMethodName=</span><span
>> class="st">&quot;flexibleReportTurnOver&quot;</span><span class="ot"> description=</span><span class="st">&quot;service to resolve invoice for
>> turnover report domain&quot;</span><span class="kw">/&gt;</span>
>> -    <span class="kw">&lt;DataResource</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span
>> class="ot"> dataResourceTypeId=</span><span class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot"> dataTemplateTypeId=</span><span
>> class="st">&quot;FORM_COMBINED&quot;</span> <span class="kw">/&gt;</span>
>> -    <span class="kw">&lt;ElectronicText</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span
>> class="kw">&gt;</span>
>> -        <span class="kw">&lt;textData&gt;</span><span class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;
>> -            &lt;form name=&quot;${masterContentId}_${contentId}&quot; type=&quot;single&quot; extends=&quot;${masterContentId}&quot;
>> extends-resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;
>> -            &lt;/form&gt;<span class="bn">]]&gt;</span>
>> -        <span class="kw">&lt;/textData&gt;</span>
>> -    <span class="kw">&lt;/ElectronicText&gt;</span>
>> -    <span class="kw">&lt;Content</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span
>> class="ot"> customMethodId=</span><span class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot"> contentTypeId=</span><span
>> class="st">&quot;REPORT_MASTER&quot;</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span
>> class="ot"> statusId=</span><span class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot"> contentName=</span><span
>> class="st">&quot;Turnover&quot;</span><span class="ot"> description=</span><span class="st">&quot;Master Content for TURNOVER domain&quot;</span>
>> <span class="kw">/&gt;</span>
>> -    <span class="co">&lt;!-- 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
>> &quot;prepareField&quot; 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 + &quot;prepareFields&quot;) then
>> flexibleReportTurnOver--&gt;</span>
>> -    <span class="kw">&lt;ContentAttribute</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span
>> class="ot"> attrName=</span><span class="st">&quot;Service&quot;</span><span class="ot"> attrValue=</span><span
>> class="st">&quot;default&quot;</span><span class="kw">/&gt;</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">&lt;CustomMethod</span><span class="ot"> customMethodId=</span><span
>> class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot"> customMethodTypeId=</span><span class="st">&quot;FLEXIBLE_BIRT&quot;</span><span
>> class="ot"> customMethodName=</span><span class="st">&quot;flexibleReportTurnOver&quot;</span><span class="ot"> description=</span><span
>> class="st">&quot;service to resolve invoice for turnover report domain&quot;</span><span class="kw">/&gt;</span></a>
>> +<a class="sourceLine" id="cb6-2" data-line-number="2"> <span class="kw">&lt;DataResource</span><span class="ot"> dataResourceId=</span><span
>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot"> dataResourceTypeId=</span><span
>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot"> dataTemplateTypeId=</span><span class="st">&quot;FORM_COMBINED&quot;</span> <span
>> class="kw">/&gt;</span></a>
>> +<a class="sourceLine" id="cb6-3" data-line-number="3"> <span class="kw">&lt;ElectronicText</span><span class="ot"> dataResourceId=</span><span
>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="kw">&gt;</span></a>
>> +<a class="sourceLine" id="cb6-4" data-line-number="4">        <span class="kw">&lt;textData&gt;</span><span
>> class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;</a>
>> +<a class="sourceLine" id="cb6-5" data-line-number="5">            &lt;form name=&quot;${masterContentId}_${contentId}&quot;
>> type=&quot;single&quot; extends=&quot;${masterContentId}&quot; extends-resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;</a>
>> +<a class="sourceLine" id="cb6-6" data-line-number="6"> &lt;/form&gt;<span class="bn">]]&gt;</span></a>
>> +<a class="sourceLine" id="cb6-7" data-line-number="7">        <span class="kw">&lt;/textData&gt;</span></a>
>> +<a class="sourceLine" id="cb6-8" data-line-number="8"> <span class="kw">&lt;/ElectronicText&gt;</span></a>
>> +<a class="sourceLine" id="cb6-9" data-line-number="9"> <span class="kw">&lt;Content</span><span class="ot"> contentId=</span><span
>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> customMethodId=</span><span class="st">&quot;CM_FB_TURNOVER&quot;</span><span
>> class="ot"> contentTypeId=</span><span class="st">&quot;REPORT_MASTER&quot;</span><span class="ot"> dataResourceId=</span><span
>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot"> statusId=</span><span class="st">&quot;CTNT_PUBLISHED&quot;</span><span
>> class="ot"> contentName=</span><span class="st">&quot;Turnover&quot;</span><span class="ot"> description=</span><span class="st">&quot;Master
>> Content for TURNOVER domain&quot;</span> <span class="kw">/&gt;</span></a>
>> +<a class="sourceLine" id="cb6-10" data-line-number="10">    <span class="co">&lt;!-- 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 &quot;prepareField&quot; 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 +
>> &quot;prepareFields&quot;) then flexibleReportTurnOver--&gt;</span></a>
>> +<a class="sourceLine" id="cb6-14" data-line-number="14">    <span class="kw">&lt;ContentAttribute</span><span class="ot"> contentId=</span><span
>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> attrName=</span><span class="st">&quot;Service&quot;</span><span class="ot">
>> attrValue=</span><span class="st">&quot;default&quot;</span><span class="kw">/&gt;</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 &quot;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">&lt;property</span><span class="ot">
>> key=</span><span class="st">&quot;Content.description.CTNT_MASTER_TURNOVER&quot;</span><span class="kw">&gt;</span>
>> -        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;en&quot;</span><span
>> class="kw">&gt;</span>Turnover (product)<span class="kw">&lt;/value&gt;</span>
>> -        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;fr&quot;</span><span
>> class="kw">&gt;</span>Rotation (des stocks)<span class="kw">&lt;/value&gt;</span>
>> -    <span class="kw">&lt;/property&gt;</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">&lt;property</span><span class="ot"> key=</span><span
>> class="st">&quot;Content.description.CTNT_MASTER_TURNOVER&quot;</span><span class="kw">&gt;</span></a>
>> +<a class="sourceLine" id="cb7-2" data-line-number="2">        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span
>> class="st">&quot;en&quot;</span><span class="kw">&gt;</span>Turnover (product)<span class="kw">&lt;/value&gt;</span></a>
>> +<a class="sourceLine" id="cb7-3" data-line-number="3">        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span
>> class="st">&quot;fr&quot;</span><span class="kw">&gt;</span>Rotation (des stocks)<span class="kw">&lt;/value&gt;</span></a>
>> +<a class="sourceLine" id="cb7-4" data-line-number="4"> <span class="kw">&lt;/property&gt;</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>
>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r1826200 [1/3] - in /ofbiz: ofbiz-plugins/trunk/birt/documents/ tools/wiki-files/ tools/wiki-files/BuildBot/ tools/wiki-files/birt/ tools/wiki-files/data-model/ tools/wiki-files/demos/ tools/wiki-files/themes/

Michael Brohl-3
Jacques,

this commit was partly for plugins so it matters here.

One of the reasons we use the commit message template is that we can
easily sort out the different change types *automatically*.

When you do not use the template, these commits have to be handled
manually. So you do us a favor if you use a simple "Improved:" for
improvements like this.

We agreed to use this template and it is not up to every single
committer to decide himself if he wants to use it or not. The fact that
you "did plenty of such in the past" on purpose just shows that you
don't respect this agreement.

It is remarkable that others are not arguing if they do not follow the
template by accident but just amend their commit message and show up to
be collaborative. It would be nice if you would do the same.

Thanks,

Michael


Am 08.03.18 um 19:01 schrieb Jacques Le Roux:

> I don't think it's needed here, it's only files in tools for the wiki
> but a small typo in ofbiz/ofbiz-plugins/trunk/birt/documents/Creating
> reports.md
>
> Or do you mean that you will also use it for your list in the monthly
> blog post? I thought it was only about Jira issues related to OFBiz code.
>
> That's why I don't use the commit template for such commits, I did
> plenty of such in the past (since we use the commit template)
>
> Jacques
>
>
> Le 08/03/2018 à 18:34, Michael Brohl a écrit :
>> Please stick to the commit message template, thanks.
>>
>> Am 08.03.18 um 11:42 schrieb [hidden email]:
>>> 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 &quot;ofb&quot;).</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 &quot;Setup
>>> eclipse project for OFBiz&quot; 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 &quot;Setup an external database&quot;
>>> 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 &quot;Running gradle tasks without an internet
>>> connection&quot; 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 &quot;Repository and
>>> directory structure&quot; 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>&quot;quoting&quot;</strong> the commands. For example:
>>> <code>gradlew &quot;ofbiz --help&quot;</code></p></li>
>>> +<li><p>OFBiz <strong>server commands</strong> require
>>> <strong>“quoting”</strong> the commands. For example:
>>> <code>gradlew &quot;ofbiz --help&quot;</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 &quot;ofbizDebug --test&quot;</code></p>
>>>   <p><code>gradlew &quot;ofbizBackground --start --portoffset
>>> 10000&quot;</code></p>
>>>   <p><code>gradlew &quot;ofbiz --shutdown --portoffset
>>> 10000&quot;</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 &quot;ofbiz --start --portoffset
>>> 10000&quot;</code></p>
>>>   <hr />
>>> @@ -133,7 +143,7 @@ under the License.
>>>   <h4 id="get-ofbiz-status">Get OFBiz status</h4>
>>>   <p><code>gradlew &quot;ofbiz --status&quot;</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 &quot;ofbiz --start --portoffset
>>> 10000&quot;</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 &quot;ofbiztenant&quot;. 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 &quot;default&quot;. If the value passed is
>>> <strong>&quot;all-tenants&quot;</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=&quot;My Name&quot; -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 &quot;ofbiz --test loglevel=fatal&quot;</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
>>> &quot;entity&quot; and the case name is &quot;entity-tests&quot;</p>
>>> +<p>run a test case, in this example the component is “entity”
>>> and the case name is “entity-tests”</p>
>>>   <p><code>gradlew &quot;ofbiz --test component=entity --test
>>> suitename=entitytests --test case=entity-query-tests&quot;</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 &quot;ofbiz&quot;. 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=&quot;http://www.example.com/custom-maven&quot; 
>>> -PrepoUser=myuser -PrepoPassword=mypassword
>>> -PdependencyId=&quot;org.apache.ofbiz.plugin:myplugin:0.1.0&quot;</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 &quot;install&quot; 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
>>> &quot;.svn&quot; 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 &quot;pullPlugin&quot;
>>> 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 &quot;install&quot; 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 &quot;uninstall&quot; 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 &quot;Publication of
>>> OFBiz plugin ${pluginId}&quot;</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=&quot;Introduce special functionality
>>> X&quot;</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
>>> &quot;special-purpose&quot; 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
>>> &quot;special-purpose&quot; and &quot;hot-deploy&quot;.</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 &quot;Flexible Report&quot; menu (varies depending
>>> on themes)</li>
>>> -<li>Click on the &quot;Generate report&quot; 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 &quot;Choose report topic&quot; 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 &quot;Generate filters in design&quot; 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 &quot;Edit
>>> Report&quot; 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">&quot;Using
>>> the Birt Report Designer.md.html&quot; 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 &quot;Preview&quot; panel. There you can temporarily
>>> filter the result, and use the export format you prefer, once done
>>> click &quot;Send&quot;. 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 &quot;Manage reports&quot; screen or
>>> directly in the &quot;Report information&quot; panel. We will see
>>> the &quot;Manage reports&quot; 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 &quot;Override filters&quot; panel to override and
>>> personnalize the form, once done click &quot;Save&quot;. 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.
>>> &gt;<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. &gt;<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 &quot;Manage reports&quot; 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 &quot;Preview&quot;
>>> Panel and can do the same things than in the &quot;Edit Report&quot;
>>> 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 &quot;Use a report&quot;.</li>
>>> -<li>Select your report and hit &quot;Send&quot;.</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">&lt;form</span><span
>>> class="ot"> name=</span><span
>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>>> type=</span><span class="st">&quot;single&quot;</span><span
>>> class="ot"> extends=</span><span
>>> class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span
>>> class="kw">&gt;</span>
>>> -        <span class="kw">&lt;auto-fields-entity</span><span
>>> class="ot"> entity-name=</span><span
>>> class="st">&quot;Example&quot;</span><span class="ot">
>>> default-field-type=</span><span
>>> class="st">&quot;find&quot;</span><span class="kw">/&gt;</span>
>>> -    <span class="kw">&lt;/form&gt;</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">&lt;form</span><span
>>> class="ot"> name=</span><span
>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>>> type=</span><span class="st">&quot;single&quot;</span><span
>>> class="ot"> extends=</span><span
>>> class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span
>>> class="kw">&gt;</span>    </a>
>>> +<a class="sourceLine" id="cb1-2" data-line-number="2">        <span
>>> class="kw">&lt;auto-fields-entity</span><span class="ot">
>>> entity-name=</span><span class="st">&quot;Example&quot;</span><span
>>> class="ot"> default-field-type=</span><span
>>> class="st">&quot;find&quot;</span><span class="kw">/&gt;</span></a>
>>> +<a class="sourceLine" id="cb1-3" data-line-number="3"> <span
>>> class="kw">&lt;/form&gt;</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">&lt;DataResource</span><span class="ot">
>>> dataResourceId=</span><span
>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot">
>>> dataResourceTypeId=</span><span
>>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot">
>>> dataTemplateTypeId=</span><span
>>> class="st">&quot;FORM_COMBINED&quot;</span> <span
>>> class="kw">/&gt;</span>
>>> -    <span class="kw">&lt;ElectronicText</span><span class="ot">
>>> dataResourceId=</span><span
>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span
>>> class="kw">&gt;</span>
>>> -        <span class="kw">&lt;textData&gt;</span><span
>>> class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;
>>> -            &lt;form
>>> name=&quot;${masterContentId}_${contentId}&quot;
>>> type=&quot;single&quot; extends=&quot;${masterContentId}&quot;
>>> extends-
>>> resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;
>>> -            &lt;/form&gt;<span class="bn">]]&gt;</span>
>>> -        <span class="kw">&lt;/textData&gt;</span>
>>> -    <span class="kw">&lt;/ElectronicText&gt;</span>
>>> -    <span class="kw">&lt;Content</span><span class="ot">
>>> contentId=</span><span
>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>>> contentTypeId=</span><span
>>> class="st">&quot;REPORT_MASTER&quot;</span><span class="ot"> 
>>> dataResourceId=</span><span
>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot">
>>> statusId=</span><span
>>> class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot">
>>> contentName=</span><span class="st">&quot;Example&quot;</span><span
>>> class="ot"> description=</span><span class="st">&quot;Master Content
>>> for Example&quot;</span> <span class="kw">/&gt;</span>
>>> -    <span class="co">&lt;!-- Data retrieval will be done using
>>> perform find on entity Example--&gt;</span>
>>> -    <span class="kw">&lt;ContentAttribute</span><span class="ot">
>>> contentId=</span><span
>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>>> attrName=</span><span class="st">&quot;Entity&quot;</span><span
>>> class="ot"> attrValue=</span><span
>>> class="st">&quot;Example&quot;</span><span
>>> class="kw">/&gt;</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">&lt;DataResource</span><span class="ot">
>>> dataResourceId=</span><span
>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot">
>>> dataResourceTypeId=</span><span
>>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot">
>>> dataTemplateTypeId=</span><span
>>> class="st">&quot;FORM_COMBINED&quot;</span> <span
>>> class="kw">/&gt;</span></a>
>>> +<a class="sourceLine" id="cb2-2" data-line-number="2"> <span
>>> class="kw">&lt;ElectronicText</span><span class="ot">
>>> dataResourceId=</span><span
>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span
>>> class="kw">&gt;</span></a>
>>> +<a class="sourceLine" id="cb2-3" data-line-number="3">        <span
>>> class="kw">&lt;textData&gt;</span><span
>>> class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;</a>
>>> +<a class="sourceLine" id="cb2-4" data-line-number="4">           
>>> &lt;form name=&quot;${masterContentId}_${contentId}&quot;
>>> type=&quot;single&quot; extends=&quot;${masterContentId}&quot;
>>> extends-
>>> resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;</a>
>>> +<a class="sourceLine" id="cb2-5" data-line-number="5">
>>> &lt;/form&gt;<span class="bn">]]&gt;</span></a>
>>> +<a class="sourceLine" id="cb2-6" data-line-number="6">        <span
>>> class="kw">&lt;/textData&gt;</span></a>
>>> +<a class="sourceLine" id="cb2-7" data-line-number="7"> <span
>>> class="kw">&lt;/ElectronicText&gt;</span></a>
>>> +<a class="sourceLine" id="cb2-8" data-line-number="8"> <span
>>> class="kw">&lt;Content</span><span class="ot">
>>> contentId=</span><span
>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>>> contentTypeId=</span><span
>>> class="st">&quot;REPORT_MASTER&quot;</span><span class="ot"> 
>>> dataResourceId=</span><span
>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot">
>>> statusId=</span><span
>>> class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot">
>>> contentName=</span><span class="st">&quot;Example&quot;</span><span
>>> class="ot"> description=</span><span class="st">&quot;Master Content
>>> for Example&quot;</span> <span class="kw">/&gt;</span></a>
>>> +<a class="sourceLine" id="cb2-9" data-line-number="9"> <span
>>> class="co">&lt;!-- Data retrieval will be done using perform find on
>>> entity Example--&gt;</span></a>
>>> +<a class="sourceLine" id="cb2-10" data-line-number="10">    <span
>>> class="kw">&lt;ContentAttribute</span><span class="ot">
>>> contentId=</span><span
>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>>> attrName=</span><span class="st">&quot;Entity&quot;</span><span
>>> class="ot"> attrValue=</span><span
>>> class="st">&quot;Example&quot;</span><span
>>> class="kw">/&gt;</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">&lt;property</span><span
>>> class="ot"> key=</span><span
>>> class="st">&quot;Content.description.CTNT_MASTER_EXAMPLE&quot;</span><span
>>> class="kw">&gt;</span>
>>> -        <span class="kw">&lt;value</span><span class="ot">
>>> xml:lang=</span><span class="st">&quot;en&quot;</span><span
>>> class="kw">&gt;</span>Example<span class="kw">&lt;/value&gt;</span>
>>> -        <span class="kw">&lt;value</span><span class="ot">
>>> xml:lang=</span><span class="st">&quot;fr&quot;</span><span
>>> class="kw">&gt;</span>Exemple<span class="kw">&lt;/value&gt;</span>
>>> -    <span class="kw">&lt;/property&gt;</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">&lt;property</span><span
>>> class="ot"> key=</span><span
>>> class="st">&quot;Content.description.CTNT_MASTER_EXAMPLE&quot;</span><span
>>> class="kw">&gt;</span></a>
>>> +<a class="sourceLine" id="cb3-2" data-line-number="2">        <span
>>> class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span
>>> class="st">&quot;en&quot;</span><span
>>> class="kw">&gt;</span>Example<span class="kw">&lt;/value&gt;</span></a>
>>> +<a class="sourceLine" id="cb3-3" data-line-number="3">        <span
>>> class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span
>>> class="st">&quot;fr&quot;</span><span
>>> class="kw">&gt;</span>Exemple<span class="kw">&lt;/value&gt;</span></a>
>>> +<a class="sourceLine" id="cb3-4" data-line-number="4"> <span
>>> class="kw">&lt;/property&gt;</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&lt;String, String&gt; called dataMap.
>>> <strong>Keys</strong>: data field names. <strong>Values</strong>:
>>> data types (OFBiz types).</li>
>>> +<li>an object of type Map&lt;String, String&gt; 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&lt;String, String&gt; 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&lt;String, String&gt; 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&lt;String, Object&gt; parameters =
>>> (Map&lt;String, Object&gt;) reportContext.<span
>>> class="fu">getParameterValue</span>(<span
>>> class="st">&quot;parameters&quot;</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>&lt;<span
>>> class="bu">String</span>, <span class="bu">Object</span>&gt;
>>> parameters = (<span class="bu">Map</span>&lt;<span
>>> class="bu">String</span>, <span class="bu">Object</span>&gt;)
>>> reportContext.<span class="fu">getParameterValue</span>(<span
>>> class="st">&quot;parameters&quot;</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&lt;String, Object&gt; 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">&lt;form</span><span
>>> class="ot"> name=</span><span
>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot">
>>> type=</span><span class="st">&quot;single&quot;</span><span
>>> class="ot"> extends=</span><span
>>> class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span
>>> class="kw">&gt;</span>
>>> -        <span class="kw">&lt;field</span><span class="ot">
>>> name=</span><span class="st">&quot;fromDate&quot;</span><span
>>> class="kw">&gt;&lt;date-time</span><span class="ot">
>>> type=</span><span class="st">&quot;date&quot;</span><span
>>> class="kw">/&gt;&lt;/field&gt;</span>
>>> -        <span class="kw">&lt;field</span><span class="ot">
>>> name=</span><span class="st">&quot;thruDate&quot;</span><span
>>> class="kw">&gt;&lt;date-time</span><span class="ot">
>>> type=</span><span class="st">&quot;date&quot;</span><span
>>> class="kw">/&gt;&lt;/field&gt;</span>
>>> -        <span class="kw">&lt;field</span><span class="ot">
>>> name=</span><span
>>> class="st">&quot;productCategoryId&quot;</span><span
>>> class="kw">&gt;&lt;lookup</span><span class="ot">
>>> target-form-name=</span><span
>>> class="st">&quot;LookupProductCategory&quot;</span><span
>>> class="kw">/&gt;&lt;/field&gt;</span>
>>> -        <span class="kw">&lt;field</span><span class="ot">
>>> name=</span><span class="st">&quot;productStoreId&quot;</span><span
>>> class="kw">&gt;&lt;lookup</span><span class="ot">
>>> target-form-name=</span><span
>>> class="st">&quot;LookupProductStore&quot;</span><span
>>> class="kw">/&gt;&lt;/field&gt;</span>
>>> -    <span class="kw">&lt;/form&gt;</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">&lt;form</span><span
>>> class="ot"> name=</span><span
>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot">
>>> type=</span><span class="st">&quot;single&quot;</span><span
>>> class="ot"> extends=</span><span
>>> class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span
>>> class="kw">&gt;</span></a>
>>> +<a class="sourceLine" id="cb5-2" data-line-number="2">        <span
>>> class="kw">&lt;field</span><span class="ot"> name=</span><span
>>> class="st">&quot;fromDate&quot;</span><span
>>> class="kw">&gt;&lt;date-time</span><span class="ot">
>>> type=</span><span class="st">&quot;date&quot;</span><span
>>> class="kw">/&gt;&lt;/field&gt;</span></a>
>>> +<a class="sourceLine" id="cb5-3" data-line-number="3">        <span
>>> class="kw">&lt;field</span><span class="ot"> name=</span><span
>>> class="st">&quot;thruDate&quot;</span><span
>>> class="kw">&gt;&lt;date-time</span><span class="ot">
>>> type=</span><span class="st">&quot;date&quot;</span><span
>>> class="kw">/&gt;&lt;/field&gt;</span></a>
>>> +<a class="sourceLine" id="cb5-4" data-line-number="4">        <span
>>> class="kw">&lt;field</span><span class="ot"> name=</span><span
>>> class="st">&quot;productCategoryId&quot;</span><span
>>> class="kw">&gt;&lt;lookup</span><span class="ot">
>>> target-form-name=</span><span
>>> class="st">&quot;LookupProductCategory&quot;</span><span
>>> class="kw">/&gt;&lt;/field&gt;</span></a>
>>> +<a class="sourceLine" id="cb5-5" data-line-number="5">        <span
>>> class="kw">&lt;field</span><span class="ot"> name=</span><span
>>> class="st">&quot;productStoreId&quot;</span><span
>>> class="kw">&gt;&lt;lookup</span><span class="ot">
>>> target-form-name=</span><span
>>> class="st">&quot;LookupProductStore&quot;</span><span
>>> class="kw">/&gt;&lt;/field&gt;</span></a>
>>> +<a class="sourceLine" id="cb5-6" data-line-number="6"> <span
>>> class="kw">&lt;/form&gt;</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">&lt;CustomMethod</span><span class="ot">
>>> customMethodId=</span><span
>>> class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot">
>>> customMethodTypeId=</span><span
>>> class="st">&quot;FLEXIBLE_BIRT&quot;</span><span class="ot">
>>> customMethodName=</span><span
>>> class="st">&quot;flexibleReportTurnOver&quot;</span><span
>>> class="ot"> description=</span><span class="st">&quot;service to
>>> resolve invoice for turnover report domain&quot;</span><span
>>> class="kw">/&gt;</span>
>>> -    <span class="kw">&lt;DataResource</span><span class="ot">
>>> dataResourceId=</span><span
>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot">
>>> dataResourceTypeId=</span><span
>>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot">
>>> dataTemplateTypeId=</span><span
>>> class="st">&quot;FORM_COMBINED&quot;</span> <span
>>> class="kw">/&gt;</span>
>>> -    <span class="kw">&lt;ElectronicText</span><span class="ot">
>>> dataResourceId=</span><span
>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span
>>> class="kw">&gt;</span>
>>> -        <span class="kw">&lt;textData&gt;</span><span
>>> class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;
>>> -            &lt;form
>>> name=&quot;${masterContentId}_${contentId}&quot;
>>> type=&quot;single&quot; extends=&quot;${masterContentId}&quot;
>>> extends-resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;
>>> -            &lt;/form&gt;<span class="bn">]]&gt;</span>
>>> -        <span class="kw">&lt;/textData&gt;</span>
>>> -    <span class="kw">&lt;/ElectronicText&gt;</span>
>>> -    <span class="kw">&lt;Content</span><span class="ot">
>>> contentId=</span><span
>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot">
>>> customMethodId=</span><span
>>> class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot">
>>> contentTypeId=</span><span
>>> class="st">&quot;REPORT_MASTER&quot;</span><span class="ot">
>>> dataResourceId=</span><span
>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot">
>>> statusId=</span><span
>>> class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot">
>>> contentName=</span><span class="st">&quot;Turnover&quot;</span><span
>>> class="ot"> description=</span><span class="st">&quot;Master Content
>>> for TURNOVER domain&quot;</span> <span class="kw">/&gt;</span>
>>> -    <span class="co">&lt;!-- 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
>>> &quot;prepareField&quot; 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 + &quot;prepareFields&quot;) then
>>> flexibleReportTurnOver--&gt;</span>
>>> -    <span class="kw">&lt;ContentAttribute</span><span class="ot">
>>> contentId=</span><span
>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot">
>>> attrName=</span><span class="st">&quot;Service&quot;</span><span
>>> class="ot"> attrValue=</span><span
>>> class="st">&quot;default&quot;</span><span
>>> class="kw">/&gt;</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">&lt;CustomMethod</span><span class="ot">
>>> customMethodId=</span><span
>>> class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot">
>>> customMethodTypeId=</span><span
>>> class="st">&quot;FLEXIBLE_BIRT&quot;</span><span class="ot">
>>> customMethodName=</span><span
>>> class="st">&quot;flexibleReportTurnOver&quot;</span><span
>>> class="ot"> description=</span><span class="st">&quot;service to
>>> resolve invoice for turnover report domain&quot;</span><span
>>> class="kw">/&gt;</span></a>
>>> +<a class="sourceLine" id="cb6-2" data-line-number="2"> <span
>>> class="kw">&lt;DataResource</span><span class="ot">
>>> dataResourceId=</span><span
>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot">
>>> dataResourceTypeId=</span><span
>>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot">
>>> dataTemplateTypeId=</span><span
>>> class="st">&quot;FORM_COMBINED&quot;</span> <span
>>> class="kw">/&gt;</span></a>
>>> +<a class="sourceLine" id="cb6-3" data-line-number="3"> <span
>>> class="kw">&lt;ElectronicText</span><span class="ot">
>>> dataResourceId=</span><span
>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span
>>> class="kw">&gt;</span></a>
>>> +<a class="sourceLine" id="cb6-4" data-line-number="4">        <span
>>> class="kw">&lt;textData&gt;</span><span
>>> class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;</a>
>>> +<a class="sourceLine" id="cb6-5" data-line-number="5">           
>>> &lt;form name=&quot;${masterContentId}_${contentId}&quot;
>>> type=&quot;single&quot; extends=&quot;${masterContentId}&quot;
>>> extends-resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;</a>
>>> +<a class="sourceLine" id="cb6-6" data-line-number="6">
>>> &lt;/form&gt;<span class="bn">]]&gt;</span></a>
>>> +<a class="sourceLine" id="cb6-7" data-line-number="7">        <span
>>> class="kw">&lt;/textData&gt;</span></a>
>>> +<a class="sourceLine" id="cb6-8" data-line-number="8"> <span
>>> class="kw">&lt;/ElectronicText&gt;</span></a>
>>> +<a class="sourceLine" id="cb6-9" data-line-number="9"> <span
>>> class="kw">&lt;Content</span><span class="ot">
>>> contentId=</span><span
>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot">
>>> customMethodId=</span><span
>>> class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot">
>>> contentTypeId=</span><span
>>> class="st">&quot;REPORT_MASTER&quot;</span><span class="ot">
>>> dataResourceId=</span><span
>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot">
>>> statusId=</span><span
>>> class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot">
>>> contentName=</span><span class="st">&quot;Turnover&quot;</span><span
>>> class="ot"> description=</span><span class="st">&quot;Master Content
>>> for TURNOVER domain&quot;</span> <span class="kw">/&gt;</span></a>
>>> +<a class="sourceLine" id="cb6-10" data-line-number="10">    <span
>>> class="co">&lt;!-- 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
>>> &quot;prepareField&quot; 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 + &quot;prepareFields&quot;) then
>>> flexibleReportTurnOver--&gt;</span></a>
>>> +<a class="sourceLine" id="cb6-14" data-line-number="14">    <span
>>> class="kw">&lt;ContentAttribute</span><span class="ot">
>>> contentId=</span><span
>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot">
>>> attrName=</span><span class="st">&quot;Service&quot;</span><span
>>> class="ot"> attrValue=</span><span
>>> class="st">&quot;default&quot;</span><span
>>> class="kw">/&gt;</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 &quot;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">&lt;property</span><span
>>> class="ot"> key=</span><span
>>> class="st">&quot;Content.description.CTNT_MASTER_TURNOVER&quot;</span><span
>>> class="kw">&gt;</span>
>>> -        <span class="kw">&lt;value</span><span class="ot">
>>> xml:lang=</span><span class="st">&quot;en&quot;</span><span
>>> class="kw">&gt;</span>Turnover (product)<span
>>> class="kw">&lt;/value&gt;</span>
>>> -        <span class="kw">&lt;value</span><span class="ot">
>>> xml:lang=</span><span class="st">&quot;fr&quot;</span><span
>>> class="kw">&gt;</span>Rotation (des stocks)<span
>>> class="kw">&lt;/value&gt;</span>
>>> -    <span class="kw">&lt;/property&gt;</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">&lt;property</span><span
>>> class="ot"> key=</span><span
>>> class="st">&quot;Content.description.CTNT_MASTER_TURNOVER&quot;</span><span
>>> class="kw">&gt;</span></a>
>>> +<a class="sourceLine" id="cb7-2" data-line-number="2">        <span
>>> class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span
>>> class="st">&quot;en&quot;</span><span class="kw">&gt;</span>Turnover
>>> (product)<span class="kw">&lt;/value&gt;</span></a>
>>> +<a class="sourceLine" id="cb7-3" data-line-number="3">        <span
>>> class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span
>>> class="st">&quot;fr&quot;</span><span class="kw">&gt;</span>Rotation
>>> (des stocks)<span class="kw">&lt;/value&gt;</span></a>
>>> +<a class="sourceLine" id="cb7-4" data-line-number="4"> <span
>>> class="kw">&lt;/property&gt;</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>
>>>
>>>
>>
>>
>


smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r1826200 [1/3] - in /ofbiz: ofbiz-plugins/trunk/birt/documents/ tools/wiki-files/ tools/wiki-files/BuildBot/ tools/wiki-files/birt/ tools/wiki-files/data-model/ tools/wiki-files/demos/ tools/wiki-files/themes/

Jacques Le Roux
Administrator
OK done (but no Jira referenced, I'll not create a Jira to move a letter in a word), sincerely I still don't understand the purpose in this case.

Apart as you say that "When you do not use the template, these commits have to be handled manually." That I can understand, but I then believe the
process is flawed. IMO, it should be the contrary: no template => ignore. But I guess we both better stop here...

Jacques


Le 08/03/2018 à 20:03, Michael Brohl a écrit :

> Jacques,
>
> this commit was partly for plugins so it matters here.
>
> One of the reasons we use the commit message template is that we can easily sort out the different change types *automatically*.
>
> When you do not use the template, these commits have to be handled manually. So you do us a favor if you use a simple "Improved:" for improvements
> like this.
>
> We agreed to use this template and it is not up to every single committer to decide himself if he wants to use it or not. The fact that you "did
> plenty of such in the past" on purpose just shows that you don't respect this agreement.
>
> It is remarkable that others are not arguing if they do not follow the template by accident but just amend their commit message and show up to be
> collaborative. It would be nice if you would do the same.
>
> Thanks,
>
> Michael
>
>
> Am 08.03.18 um 19:01 schrieb Jacques Le Roux:
>> I don't think it's needed here, it's only files in tools for the wiki but a small typo in ofbiz/ofbiz-plugins/trunk/birt/documents/Creating reports.md
>>
>> Or do you mean that you will also use it for your list in the monthly blog post? I thought it was only about Jira issues related to OFBiz code.
>>
>> That's why I don't use the commit template for such commits, I did plenty of such in the past (since we use the commit template)
>>
>> Jacques
>>
>>
>> Le 08/03/2018 à 18:34, Michael Brohl a écrit :
>>> Please stick to the commit message template, thanks.
>>>
>>> Am 08.03.18 um 11:42 schrieb [hidden email]:
>>>> 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
>>>> &quot;ofb&quot;).</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 &quot;Setup eclipse project for OFBiz&quot; 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 &quot;Setup an external database&quot; 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 &quot;Running gradle tasks without an internet
>>>> connection&quot; 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 &quot;Repository and directory
>>>> structure&quot; 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>&quot;quoting&quot;</strong> the commands. For example: <code>gradlew &quot;ofbiz
>>>> --help&quot;</code></p></li>
>>>> +<li><p>OFBiz <strong>server commands</strong> require <strong>“quoting”</strong> the commands. For example: <code>gradlew &quot;ofbiz
>>>> --help&quot;</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 &quot;ofbizDebug --test&quot;</code></p>
>>>>   <p><code>gradlew &quot;ofbizBackground --start --portoffset 10000&quot;</code></p>
>>>>   <p><code>gradlew &quot;ofbiz --shutdown --portoffset 10000&quot;</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 &quot;ofbiz --start --portoffset 10000&quot;</code></p>
>>>>   <hr />
>>>> @@ -133,7 +143,7 @@ under the License.
>>>>   <h4 id="get-ofbiz-status">Get OFBiz status</h4>
>>>>   <p><code>gradlew &quot;ofbiz --status&quot;</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 &quot;ofbiz --start --portoffset 10000&quot;</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 &quot;ofbiztenant&quot;. 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 &quot;default&quot;. If the value passed is
>>>> <strong>&quot;all-tenants&quot;</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=&quot;My Name&quot; -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 &quot;ofbiz --test loglevel=fatal&quot;</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 &quot;entity&quot; and the case name is &quot;entity-tests&quot;</p>
>>>> +<p>run a test case, in this example the component is “entity” and the case name is “entity-tests”</p>
>>>>   <p><code>gradlew &quot;ofbiz --test component=entity --test suitename=entitytests --test case=entity-query-tests&quot;</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 &quot;ofbiz&quot;. 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=&quot;http://www.example.com/custom-maven&quot; -PrepoUser=myuser -PrepoPassword=mypassword
>>>> -PdependencyId=&quot;org.apache.ofbiz.plugin:myplugin:0.1.0&quot;</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 &quot;install&quot; 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 &quot;.svn&quot;
>>>> 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 &quot;pullPlugin&quot; 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 &quot;install&quot; 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 &quot;uninstall&quot; 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 &quot;Publication of OFBiz plugin ${pluginId}&quot;</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=&quot;Introduce special functionality X&quot;</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 &quot;special-purpose&quot; 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 &quot;special-purpose&quot; and
>>>> &quot;hot-deploy&quot;.</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 &quot;Flexible Report&quot; menu (varies depending on themes)</li>
>>>> -<li>Click on the &quot;Generate report&quot; 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 &quot;Choose report topic&quot; 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 &quot;Generate filters in design&quot; 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 &quot;Edit Report&quot; 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">&quot;Using the
>>>> Birt Report Designer.md.html&quot; 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
>>>> &quot;Preview&quot; panel. There you can temporarily filter the result, and use the export format you prefer, once done click &quot;Send&quot;.
>>>> 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 &quot;Manage reports&quot; screen
>>>> or directly in the &quot;Report information&quot; panel. We will see the &quot;Manage reports&quot; 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 &quot;Override filters&quot; panel to override and personnalize the
>>>> form, once done click &quot;Save&quot;. 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. &gt;<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. &gt;<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 &quot;Manage reports&quot; 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 &quot;Preview&quot; Panel
>>>> and can do the same things than in the &quot;Edit Report&quot; 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 &quot;Use a report&quot;.</li>
>>>> -<li>Select your report and hit &quot;Send&quot;.</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">&lt;form</span><span class="ot">
>>>> name=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> type=</span><span class="st">&quot;single&quot;</span><span
>>>> class="ot"> extends=</span><span class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span class="kw">&gt;</span>
>>>> -        <span class="kw">&lt;auto-fields-entity</span><span class="ot"> entity-name=</span><span class="st">&quot;Example&quot;</span><span
>>>> class="ot"> default-field-type=</span><span class="st">&quot;find&quot;</span><span class="kw">/&gt;</span>
>>>> -    <span class="kw">&lt;/form&gt;</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">&lt;form</span><span class="ot"> name=</span><span
>>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> type=</span><span class="st">&quot;single&quot;</span><span class="ot">
>>>> extends=</span><span class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span class="kw">&gt;</span>    </a>
>>>> +<a class="sourceLine" id="cb1-2" data-line-number="2">        <span class="kw">&lt;auto-fields-entity</span><span class="ot">
>>>> entity-name=</span><span class="st">&quot;Example&quot;</span><span class="ot"> default-field-type=</span><span
>>>> class="st">&quot;find&quot;</span><span class="kw">/&gt;</span></a>
>>>> +<a class="sourceLine" id="cb1-3" data-line-number="3"> <span class="kw">&lt;/form&gt;</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">&lt;DataResource</span><span class="ot">
>>>> dataResourceId=</span><span class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot"> dataResourceTypeId=</span><span
>>>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot"> dataTemplateTypeId=</span><span class="st">&quot;FORM_COMBINED&quot;</span> <span
>>>> class="kw">/&gt;</span>
>>>> -    <span class="kw">&lt;ElectronicText</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span
>>>> class="kw">&gt;</span>
>>>> -        <span class="kw">&lt;textData&gt;</span><span class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;
>>>> -            &lt;form name=&quot;${masterContentId}_${contentId}&quot; type=&quot;single&quot; extends=&quot;${masterContentId}&quot; extends-
>>>> resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;
>>>> -            &lt;/form&gt;<span class="bn">]]&gt;</span>
>>>> -        <span class="kw">&lt;/textData&gt;</span>
>>>> -    <span class="kw">&lt;/ElectronicText&gt;</span>
>>>> -    <span class="kw">&lt;Content</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span
>>>> class="ot"> contentTypeId=</span><span class="st">&quot;REPORT_MASTER&quot;</span><span class="ot">  dataResourceId=</span><span
>>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot"> statusId=</span><span class="st">&quot;CTNT_PUBLISHED&quot;</span><span
>>>> class="ot"> contentName=</span><span class="st">&quot;Example&quot;</span><span class="ot"> description=</span><span class="st">&quot;Master
>>>> Content for Example&quot;</span> <span class="kw">/&gt;</span>
>>>> -    <span class="co">&lt;!-- Data retrieval will be done using perform find on entity Example--&gt;</span>
>>>> -    <span class="kw">&lt;ContentAttribute</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span
>>>> class="ot"> attrName=</span><span class="st">&quot;Entity&quot;</span><span class="ot"> attrValue=</span><span
>>>> class="st">&quot;Example&quot;</span><span class="kw">/&gt;</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">&lt;DataResource</span><span class="ot"> dataResourceId=</span><span
>>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot"> dataResourceTypeId=</span><span
>>>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot"> dataTemplateTypeId=</span><span class="st">&quot;FORM_COMBINED&quot;</span> <span
>>>> class="kw">/&gt;</span></a>
>>>> +<a class="sourceLine" id="cb2-2" data-line-number="2"> <span class="kw">&lt;ElectronicText</span><span class="ot"> dataResourceId=</span><span
>>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="kw">&gt;</span></a>
>>>> +<a class="sourceLine" id="cb2-3" data-line-number="3">        <span class="kw">&lt;textData&gt;</span><span
>>>> class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;</a>
>>>> +<a class="sourceLine" id="cb2-4" data-line-number="4">            &lt;form name=&quot;${masterContentId}_${contentId}&quot;
>>>> type=&quot;single&quot; extends=&quot;${masterContentId}&quot; extends- resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;</a>
>>>> +<a class="sourceLine" id="cb2-5" data-line-number="5"> &lt;/form&gt;<span class="bn">]]&gt;</span></a>
>>>> +<a class="sourceLine" id="cb2-6" data-line-number="6">        <span class="kw">&lt;/textData&gt;</span></a>
>>>> +<a class="sourceLine" id="cb2-7" data-line-number="7"> <span class="kw">&lt;/ElectronicText&gt;</span></a>
>>>> +<a class="sourceLine" id="cb2-8" data-line-number="8"> <span class="kw">&lt;Content</span><span class="ot"> contentId=</span><span
>>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> contentTypeId=</span><span class="st">&quot;REPORT_MASTER&quot;</span><span
>>>> class="ot">  dataResourceId=</span><span class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot"> statusId=</span><span
>>>> class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot"> contentName=</span><span class="st">&quot;Example&quot;</span><span class="ot">
>>>> description=</span><span class="st">&quot;Master Content for Example&quot;</span> <span class="kw">/&gt;</span></a>
>>>> +<a class="sourceLine" id="cb2-9" data-line-number="9"> <span class="co">&lt;!-- Data retrieval will be done using perform find on entity
>>>> Example--&gt;</span></a>
>>>> +<a class="sourceLine" id="cb2-10" data-line-number="10">    <span class="kw">&lt;ContentAttribute</span><span class="ot"> contentId=</span><span
>>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot"> attrName=</span><span class="st">&quot;Entity&quot;</span><span class="ot">
>>>> attrValue=</span><span class="st">&quot;Example&quot;</span><span class="kw">/&gt;</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">&lt;property</span><span class="ot">
>>>> key=</span><span class="st">&quot;Content.description.CTNT_MASTER_EXAMPLE&quot;</span><span class="kw">&gt;</span>
>>>> -        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;en&quot;</span><span
>>>> class="kw">&gt;</span>Example<span class="kw">&lt;/value&gt;</span>
>>>> -        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;fr&quot;</span><span
>>>> class="kw">&gt;</span>Exemple<span class="kw">&lt;/value&gt;</span>
>>>> -    <span class="kw">&lt;/property&gt;</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">&lt;property</span><span class="ot"> key=</span><span
>>>> class="st">&quot;Content.description.CTNT_MASTER_EXAMPLE&quot;</span><span class="kw">&gt;</span></a>
>>>> +<a class="sourceLine" id="cb3-2" data-line-number="2">        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span
>>>> class="st">&quot;en&quot;</span><span class="kw">&gt;</span>Example<span class="kw">&lt;/value&gt;</span></a>
>>>> +<a class="sourceLine" id="cb3-3" data-line-number="3">        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span
>>>> class="st">&quot;fr&quot;</span><span class="kw">&gt;</span>Exemple<span class="kw">&lt;/value&gt;</span></a>
>>>> +<a class="sourceLine" id="cb3-4" data-line-number="4"> <span class="kw">&lt;/property&gt;</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&lt;String, String&gt; called dataMap. <strong>Keys</strong>: data field names. <strong>Values</strong>: data types
>>>> (OFBiz types).</li>
>>>> +<li>an object of type Map&lt;String, String&gt; 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&lt;String, String&gt; 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&lt;String, String&gt; 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&lt;String, Object&gt; parameters = (Map&lt;String,
>>>> Object&gt;) reportContext.<span class="fu">getParameterValue</span>(<span class="st">&quot;parameters&quot;</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>&lt;<span class="bu">String</span>, <span class="bu">Object</span>&gt; parameters = (<span
>>>> class="bu">Map</span>&lt;<span class="bu">String</span>, <span class="bu">Object</span>&gt;) reportContext.<span
>>>> class="fu">getParameterValue</span>(<span class="st">&quot;parameters&quot;</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&lt;String, Object&gt; 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">&lt;form</span><span class="ot">
>>>> name=</span><span class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> type=</span><span class="st">&quot;single&quot;</span><span
>>>> class="ot"> extends=</span><span class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span class="kw">&gt;</span>
>>>> -        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;fromDate&quot;</span><span
>>>> class="kw">&gt;&lt;date-time</span><span class="ot"> type=</span><span class="st">&quot;date&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span>
>>>> -        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;thruDate&quot;</span><span
>>>> class="kw">&gt;&lt;date-time</span><span class="ot"> type=</span><span class="st">&quot;date&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span>
>>>> -        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;productCategoryId&quot;</span><span
>>>> class="kw">&gt;&lt;lookup</span><span class="ot"> target-form-name=</span><span class="st">&quot;LookupProductCategory&quot;</span><span
>>>> class="kw">/&gt;&lt;/field&gt;</span>
>>>> -        <span class="kw">&lt;field</span><span class="ot"> name=</span><span class="st">&quot;productStoreId&quot;</span><span
>>>> class="kw">&gt;&lt;lookup</span><span class="ot"> target-form-name=</span><span class="st">&quot;LookupProductStore&quot;</span><span
>>>> class="kw">/&gt;&lt;/field&gt;</span>
>>>> -    <span class="kw">&lt;/form&gt;</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">&lt;form</span><span class="ot"> name=</span><span
>>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> type=</span><span class="st">&quot;single&quot;</span><span class="ot">
>>>> extends=</span><span class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span class="kw">&gt;</span></a>
>>>> +<a class="sourceLine" id="cb5-2" data-line-number="2">        <span class="kw">&lt;field</span><span class="ot"> name=</span><span
>>>> class="st">&quot;fromDate&quot;</span><span class="kw">&gt;&lt;date-time</span><span class="ot"> type=</span><span
>>>> class="st">&quot;date&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span></a>
>>>> +<a class="sourceLine" id="cb5-3" data-line-number="3">        <span class="kw">&lt;field</span><span class="ot"> name=</span><span
>>>> class="st">&quot;thruDate&quot;</span><span class="kw">&gt;&lt;date-time</span><span class="ot"> type=</span><span
>>>> class="st">&quot;date&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span></a>
>>>> +<a class="sourceLine" id="cb5-4" data-line-number="4">        <span class="kw">&lt;field</span><span class="ot"> name=</span><span
>>>> class="st">&quot;productCategoryId&quot;</span><span class="kw">&gt;&lt;lookup</span><span class="ot"> target-form-name=</span><span
>>>> class="st">&quot;LookupProductCategory&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span></a>
>>>> +<a class="sourceLine" id="cb5-5" data-line-number="5">        <span class="kw">&lt;field</span><span class="ot"> name=</span><span
>>>> class="st">&quot;productStoreId&quot;</span><span class="kw">&gt;&lt;lookup</span><span class="ot"> target-form-name=</span><span
>>>> class="st">&quot;LookupProductStore&quot;</span><span class="kw">/&gt;&lt;/field&gt;</span></a>
>>>> +<a class="sourceLine" id="cb5-6" data-line-number="6"> <span class="kw">&lt;/form&gt;</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">&lt;CustomMethod</span><span class="ot">
>>>> customMethodId=</span><span class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot"> customMethodTypeId=</span><span
>>>> class="st">&quot;FLEXIBLE_BIRT&quot;</span><span class="ot"> customMethodName=</span><span
>>>> class="st">&quot;flexibleReportTurnOver&quot;</span><span class="ot"> description=</span><span class="st">&quot;service to resolve invoice for
>>>> turnover report domain&quot;</span><span class="kw">/&gt;</span>
>>>> -    <span class="kw">&lt;DataResource</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span
>>>> class="ot"> dataResourceTypeId=</span><span class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot"> dataTemplateTypeId=</span><span
>>>> class="st">&quot;FORM_COMBINED&quot;</span> <span class="kw">/&gt;</span>
>>>> -    <span class="kw">&lt;ElectronicText</span><span class="ot"> dataResourceId=</span><span
>>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="kw">&gt;</span>
>>>> -        <span class="kw">&lt;textData&gt;</span><span class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;
>>>> -            &lt;form name=&quot;${masterContentId}_${contentId}&quot; type=&quot;single&quot; extends=&quot;${masterContentId}&quot;
>>>> extends-resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;
>>>> -            &lt;/form&gt;<span class="bn">]]&gt;</span>
>>>> -        <span class="kw">&lt;/textData&gt;</span>
>>>> -    <span class="kw">&lt;/ElectronicText&gt;</span>
>>>> -    <span class="kw">&lt;Content</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span
>>>> class="ot"> customMethodId=</span><span class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot"> contentTypeId=</span><span
>>>> class="st">&quot;REPORT_MASTER&quot;</span><span class="ot"> dataResourceId=</span><span class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span
>>>> class="ot"> statusId=</span><span class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot"> contentName=</span><span
>>>> class="st">&quot;Turnover&quot;</span><span class="ot"> description=</span><span class="st">&quot;Master Content for TURNOVER domain&quot;</span>
>>>> <span class="kw">/&gt;</span>
>>>> -    <span class="co">&lt;!-- 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
>>>> &quot;prepareField&quot; 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 + &quot;prepareFields&quot;) then
>>>> flexibleReportTurnOver--&gt;</span>
>>>> -    <span class="kw">&lt;ContentAttribute</span><span class="ot"> contentId=</span><span class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span
>>>> class="ot"> attrName=</span><span class="st">&quot;Service&quot;</span><span class="ot"> attrValue=</span><span
>>>> class="st">&quot;default&quot;</span><span class="kw">/&gt;</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">&lt;CustomMethod</span><span class="ot"> customMethodId=</span><span
>>>> class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot"> customMethodTypeId=</span><span class="st">&quot;FLEXIBLE_BIRT&quot;</span><span
>>>> class="ot"> customMethodName=</span><span class="st">&quot;flexibleReportTurnOver&quot;</span><span class="ot"> description=</span><span
>>>> class="st">&quot;service to resolve invoice for turnover report domain&quot;</span><span class="kw">/&gt;</span></a>
>>>> +<a class="sourceLine" id="cb6-2" data-line-number="2"> <span class="kw">&lt;DataResource</span><span class="ot"> dataResourceId=</span><span
>>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot"> dataResourceTypeId=</span><span
>>>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot"> dataTemplateTypeId=</span><span class="st">&quot;FORM_COMBINED&quot;</span> <span
>>>> class="kw">/&gt;</span></a>
>>>> +<a class="sourceLine" id="cb6-3" data-line-number="3"> <span class="kw">&lt;ElectronicText</span><span class="ot"> dataResourceId=</span><span
>>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="kw">&gt;</span></a>
>>>> +<a class="sourceLine" id="cb6-4" data-line-number="4">        <span class="kw">&lt;textData&gt;</span><span
>>>> class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;</a>
>>>> +<a class="sourceLine" id="cb6-5" data-line-number="5">            &lt;form name=&quot;${masterContentId}_${contentId}&quot;
>>>> type=&quot;single&quot; extends=&quot;${masterContentId}&quot; extends-resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;</a>
>>>> +<a class="sourceLine" id="cb6-6" data-line-number="6"> &lt;/form&gt;<span class="bn">]]&gt;</span></a>
>>>> +<a class="sourceLine" id="cb6-7" data-line-number="7">        <span class="kw">&lt;/textData&gt;</span></a>
>>>> +<a class="sourceLine" id="cb6-8" data-line-number="8"> <span class="kw">&lt;/ElectronicText&gt;</span></a>
>>>> +<a class="sourceLine" id="cb6-9" data-line-number="9"> <span class="kw">&lt;Content</span><span class="ot"> contentId=</span><span
>>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> customMethodId=</span><span class="st">&quot;CM_FB_TURNOVER&quot;</span><span
>>>> class="ot"> contentTypeId=</span><span class="st">&quot;REPORT_MASTER&quot;</span><span class="ot"> dataResourceId=</span><span
>>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot"> statusId=</span><span class="st">&quot;CTNT_PUBLISHED&quot;</span><span
>>>> class="ot"> contentName=</span><span class="st">&quot;Turnover&quot;</span><span class="ot"> description=</span><span class="st">&quot;Master
>>>> Content for TURNOVER domain&quot;</span> <span class="kw">/&gt;</span></a>
>>>> +<a class="sourceLine" id="cb6-10" data-line-number="10">    <span class="co">&lt;!-- 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 &quot;prepareField&quot; 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 +
>>>> &quot;prepareFields&quot;) then flexibleReportTurnOver--&gt;</span></a>
>>>> +<a class="sourceLine" id="cb6-14" data-line-number="14">    <span class="kw">&lt;ContentAttribute</span><span class="ot"> contentId=</span><span
>>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span class="ot"> attrName=</span><span class="st">&quot;Service&quot;</span><span class="ot">
>>>> attrValue=</span><span class="st">&quot;default&quot;</span><span class="kw">/&gt;</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 &quot;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">&lt;property</span><span class="ot">
>>>> key=</span><span class="st">&quot;Content.description.CTNT_MASTER_TURNOVER&quot;</span><span class="kw">&gt;</span>
>>>> -        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;en&quot;</span><span
>>>> class="kw">&gt;</span>Turnover (product)<span class="kw">&lt;/value&gt;</span>
>>>> -        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span class="st">&quot;fr&quot;</span><span
>>>> class="kw">&gt;</span>Rotation (des stocks)<span class="kw">&lt;/value&gt;</span>
>>>> -    <span class="kw">&lt;/property&gt;</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">&lt;property</span><span class="ot"> key=</span><span
>>>> class="st">&quot;Content.description.CTNT_MASTER_TURNOVER&quot;</span><span class="kw">&gt;</span></a>
>>>> +<a class="sourceLine" id="cb7-2" data-line-number="2">        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span
>>>> class="st">&quot;en&quot;</span><span class="kw">&gt;</span>Turnover (product)<span class="kw">&lt;/value&gt;</span></a>
>>>> +<a class="sourceLine" id="cb7-3" data-line-number="3">        <span class="kw">&lt;value</span><span class="ot"> xml:lang=</span><span
>>>> class="st">&quot;fr&quot;</span><span class="kw">&gt;</span>Rotation (des stocks)<span class="kw">&lt;/value&gt;</span></a>
>>>> +<a class="sourceLine" id="cb7-4" data-line-number="4"> <span class="kw">&lt;/property&gt;</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>
>>>>
>>>>
>>>
>>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r1826200 [1/3] - in /ofbiz: ofbiz-plugins/trunk/birt/documents/ tools/wiki-files/ tools/wiki-files/BuildBot/ tools/wiki-files/birt/ tools/wiki-files/data-model/ tools/wiki-files/demos/ tools/wiki-files/themes/

Michael Brohl-3
Thank you, Jacques.

Regards,

Michael


Am 08.03.18 um 20:15 schrieb Jacques Le Roux:

> OK done (but no Jira referenced, I'll not create a Jira to move a
> letter in a word), sincerely I still don't understand the purpose in
> this case.
>
> Apart as you say that "When you do not use the template, these commits
> have to be handled manually." That I can understand, but I then
> believe the process is flawed. IMO, it should be the contrary: no
> template => ignore. But I guess we both better stop here...
>
> Jacques
>
>
> Le 08/03/2018 à 20:03, Michael Brohl a écrit :
>> Jacques,
>>
>> this commit was partly for plugins so it matters here.
>>
>> One of the reasons we use the commit message template is that we can
>> easily sort out the different change types *automatically*.
>>
>> When you do not use the template, these commits have to be handled
>> manually. So you do us a favor if you use a simple "Improved:" for
>> improvements like this.
>>
>> We agreed to use this template and it is not up to every single
>> committer to decide himself if he wants to use it or not. The fact
>> that you "did plenty of such in the past" on purpose just shows that
>> you don't respect this agreement.
>>
>> It is remarkable that others are not arguing if they do not follow
>> the template by accident but just amend their commit message and show
>> up to be collaborative. It would be nice if you would do the same.
>>
>> Thanks,
>>
>> Michael
>>
>>
>> Am 08.03.18 um 19:01 schrieb Jacques Le Roux:
>>> I don't think it's needed here, it's only files in tools for the
>>> wiki but a small typo in
>>> ofbiz/ofbiz-plugins/trunk/birt/documents/Creating reports.md
>>>
>>> Or do you mean that you will also use it for your list in the
>>> monthly blog post? I thought it was only about Jira issues related
>>> to OFBiz code.
>>>
>>> That's why I don't use the commit template for such commits, I did
>>> plenty of such in the past (since we use the commit template)
>>>
>>> Jacques
>>>
>>>
>>> Le 08/03/2018 à 18:34, Michael Brohl a écrit :
>>>> Please stick to the commit message template, thanks.
>>>>
>>>> Am 08.03.18 um 11:42 schrieb [hidden email]:
>>>>> 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 &quot;ofb&quot;).</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
>>>>> &quot;Setup eclipse project for OFBiz&quot; 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 &quot;Setup an external
>>>>> database&quot; 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 &quot;Running gradle tasks without an
>>>>> internet connection&quot; 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 &quot;Repository and
>>>>> directory structure&quot; 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>&quot;quoting&quot;</strong> the commands. For example:
>>>>> <code>gradlew &quot;ofbiz --help&quot;</code></p></li>
>>>>> +<li><p>OFBiz <strong>server commands</strong> require
>>>>> <strong>“quoting”</strong> the commands. For example:
>>>>> <code>gradlew &quot;ofbiz --help&quot;</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 &quot;ofbizDebug --test&quot;</code></p>
>>>>>   <p><code>gradlew &quot;ofbizBackground --start --portoffset
>>>>> 10000&quot;</code></p>
>>>>>   <p><code>gradlew &quot;ofbiz --shutdown --portoffset
>>>>> 10000&quot;</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 &quot;ofbiz --start
>>>>> --portoffset 10000&quot;</code></p>
>>>>>   <hr />
>>>>> @@ -133,7 +143,7 @@ under the License.
>>>>>   <h4 id="get-ofbiz-status">Get OFBiz status</h4>
>>>>>   <p><code>gradlew &quot;ofbiz --status&quot;</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 &quot;ofbiz --start --portoffset
>>>>> 10000&quot;</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 &quot;ofbiztenant&quot;. 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 &quot;default&quot;. If the value passed is
>>>>> <strong>&quot;all-tenants&quot;</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=&quot;My Name&quot; -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 &quot;ofbiz --test loglevel=fatal&quot;</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
>>>>> &quot;entity&quot; and the case name is &quot;entity-tests&quot;</p>
>>>>> +<p>run a test case, in this example the component is “entity”
>>>>> and the case name is “entity-tests”</p>
>>>>>   <p><code>gradlew &quot;ofbiz --test component=entity --test
>>>>> suitename=entitytests --test case=entity-query-tests&quot;</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 &quot;ofbiz&quot;. 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=&quot;http://www.example.com/custom-maven&quot; 
>>>>> -PrepoUser=myuser -PrepoPassword=mypassword
>>>>> -PdependencyId=&quot;org.apache.ofbiz.plugin:myplugin:0.1.0&quot;</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 &quot;install&quot; 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
>>>>> &quot;.svn&quot; 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
>>>>> &quot;pullPlugin&quot; 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 &quot;install&quot; 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 &quot;uninstall&quot; 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 &quot;Publication of
>>>>> OFBiz plugin ${pluginId}&quot;</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=&quot;Introduce special functionality
>>>>> X&quot;</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
>>>>> &quot;special-purpose&quot; 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
>>>>> &quot;special-purpose&quot; and &quot;hot-deploy&quot;.</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 &quot;Flexible Report&quot; menu (varies
>>>>> depending on themes)</li>
>>>>> -<li>Click on the &quot;Generate report&quot; 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 &quot;Choose report topic&quot; 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 &quot;Generate filters in design&quot; 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 &quot;Edit
>>>>> Report&quot; 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">&quot;Using
>>>>> the Birt Report Designer.md.html&quot; 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 &quot;Preview&quot; panel. There you can
>>>>> temporarily filter the result, and use the export format you
>>>>> prefer, once done click &quot;Send&quot;. 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 &quot;Manage
>>>>> reports&quot; screen or directly in the &quot;Report
>>>>> information&quot; panel. We will see the &quot;Manage
>>>>> reports&quot; 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 &quot;Override filters&quot; panel to override and
>>>>> personnalize the form, once done click &quot;Save&quot;. 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.
>>>>> &gt;<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. &gt;<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 &quot;Manage reports&quot; 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
>>>>> &quot;Preview&quot; Panel and can do the same things than in the
>>>>> &quot;Edit Report&quot; 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 &quot;Use a report&quot;.</li>
>>>>> -<li>Select your report and hit &quot;Send&quot;.</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">&lt;form</span><span
>>>>> class="ot"> name=</span><span
>>>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>>>>> type=</span><span class="st">&quot;single&quot;</span><span
>>>>> class="ot"> extends=</span><span
>>>>> class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span
>>>>> class="kw">&gt;</span>
>>>>> -        <span class="kw">&lt;auto-fields-entity</span><span
>>>>> class="ot"> entity-name=</span><span
>>>>> class="st">&quot;Example&quot;</span><span class="ot">
>>>>> default-field-type=</span><span
>>>>> class="st">&quot;find&quot;</span><span class="kw">/&gt;</span>
>>>>> -    <span class="kw">&lt;/form&gt;</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">&lt;form</span><span
>>>>> class="ot"> name=</span><span
>>>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>>>>> type=</span><span class="st">&quot;single&quot;</span><span
>>>>> class="ot"> extends=</span><span
>>>>> class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span
>>>>> class="kw">&gt;</span>    </a>
>>>>> +<a class="sourceLine" id="cb1-2" data-line-number="2">       
>>>>> <span class="kw">&lt;auto-fields-entity</span><span class="ot">
>>>>> entity-name=</span><span
>>>>> class="st">&quot;Example&quot;</span><span class="ot">
>>>>> default-field-type=</span><span
>>>>> class="st">&quot;find&quot;</span><span class="kw">/&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb1-3" data-line-number="3"> <span
>>>>> class="kw">&lt;/form&gt;</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">&lt;DataResource</span><span class="ot">
>>>>> dataResourceId=</span><span
>>>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot">
>>>>> dataResourceTypeId=</span><span
>>>>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot">
>>>>> dataTemplateTypeId=</span><span
>>>>> class="st">&quot;FORM_COMBINED&quot;</span> <span
>>>>> class="kw">/&gt;</span>
>>>>> -    <span class="kw">&lt;ElectronicText</span><span class="ot">
>>>>> dataResourceId=</span><span
>>>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span
>>>>> class="kw">&gt;</span>
>>>>> -        <span class="kw">&lt;textData&gt;</span><span
>>>>> class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;
>>>>> -            &lt;form
>>>>> name=&quot;${masterContentId}_${contentId}&quot;
>>>>> type=&quot;single&quot; extends=&quot;${masterContentId}&quot;
>>>>> extends-
>>>>> resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;
>>>>> -            &lt;/form&gt;<span class="bn">]]&gt;</span>
>>>>> -        <span class="kw">&lt;/textData&gt;</span>
>>>>> -    <span class="kw">&lt;/ElectronicText&gt;</span>
>>>>> -    <span class="kw">&lt;Content</span><span class="ot">
>>>>> contentId=</span><span
>>>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>>>>> contentTypeId=</span><span
>>>>> class="st">&quot;REPORT_MASTER&quot;</span><span class="ot"> 
>>>>> dataResourceId=</span><span
>>>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot">
>>>>> statusId=</span><span
>>>>> class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot">
>>>>> contentName=</span><span
>>>>> class="st">&quot;Example&quot;</span><span class="ot">
>>>>> description=</span><span class="st">&quot;Master Content for
>>>>> Example&quot;</span> <span class="kw">/&gt;</span>
>>>>> -    <span class="co">&lt;!-- Data retrieval will be done using
>>>>> perform find on entity Example--&gt;</span>
>>>>> -    <span class="kw">&lt;ContentAttribute</span><span class="ot">
>>>>> contentId=</span><span
>>>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>>>>> attrName=</span><span class="st">&quot;Entity&quot;</span><span
>>>>> class="ot"> attrValue=</span><span
>>>>> class="st">&quot;Example&quot;</span><span
>>>>> class="kw">/&gt;</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">&lt;DataResource</span><span class="ot">
>>>>> dataResourceId=</span><span
>>>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot">
>>>>> dataResourceTypeId=</span><span
>>>>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot">
>>>>> dataTemplateTypeId=</span><span
>>>>> class="st">&quot;FORM_COMBINED&quot;</span> <span
>>>>> class="kw">/&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb2-2" data-line-number="2"> <span
>>>>> class="kw">&lt;ElectronicText</span><span class="ot">
>>>>> dataResourceId=</span><span
>>>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span
>>>>> class="kw">&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb2-3" data-line-number="3">       
>>>>> <span class="kw">&lt;textData&gt;</span><span
>>>>> class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;</a>
>>>>> +<a class="sourceLine" id="cb2-4" data-line-number="4">           
>>>>> &lt;form name=&quot;${masterContentId}_${contentId}&quot;
>>>>> type=&quot;single&quot; extends=&quot;${masterContentId}&quot;
>>>>> extends-
>>>>> resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;</a>
>>>>> +<a class="sourceLine" id="cb2-5" data-line-number="5">
>>>>> &lt;/form&gt;<span class="bn">]]&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb2-6" data-line-number="6">       
>>>>> <span class="kw">&lt;/textData&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb2-7" data-line-number="7"> <span
>>>>> class="kw">&lt;/ElectronicText&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb2-8" data-line-number="8"> <span
>>>>> class="kw">&lt;Content</span><span class="ot">
>>>>> contentId=</span><span
>>>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>>>>> contentTypeId=</span><span
>>>>> class="st">&quot;REPORT_MASTER&quot;</span><span class="ot"> 
>>>>> dataResourceId=</span><span
>>>>> class="st">&quot;DR_MASTER_EXAMPLE&quot;</span><span class="ot">
>>>>> statusId=</span><span
>>>>> class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot">
>>>>> contentName=</span><span
>>>>> class="st">&quot;Example&quot;</span><span class="ot">
>>>>> description=</span><span class="st">&quot;Master Content for
>>>>> Example&quot;</span> <span class="kw">/&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb2-9" data-line-number="9"> <span
>>>>> class="co">&lt;!-- Data retrieval will be done using perform find
>>>>> on entity Example--&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb2-10" data-line-number="10">    <span
>>>>> class="kw">&lt;ContentAttribute</span><span class="ot">
>>>>> contentId=</span><span
>>>>> class="st">&quot;CTNT_MASTER_EXAMPLE&quot;</span><span class="ot">
>>>>> attrName=</span><span class="st">&quot;Entity&quot;</span><span
>>>>> class="ot"> attrValue=</span><span
>>>>> class="st">&quot;Example&quot;</span><span
>>>>> class="kw">/&gt;</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">&lt;property</span><span class="ot"> key=</span><span
>>>>> class="st">&quot;Content.description.CTNT_MASTER_EXAMPLE&quot;</span><span
>>>>> class="kw">&gt;</span>
>>>>> -        <span class="kw">&lt;value</span><span class="ot">
>>>>> xml:lang=</span><span class="st">&quot;en&quot;</span><span
>>>>> class="kw">&gt;</span>Example<span class="kw">&lt;/value&gt;</span>
>>>>> -        <span class="kw">&lt;value</span><span class="ot">
>>>>> xml:lang=</span><span class="st">&quot;fr&quot;</span><span
>>>>> class="kw">&gt;</span>Exemple<span class="kw">&lt;/value&gt;</span>
>>>>> -    <span class="kw">&lt;/property&gt;</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">&lt;property</span><span
>>>>> class="ot"> key=</span><span
>>>>> class="st">&quot;Content.description.CTNT_MASTER_EXAMPLE&quot;</span><span
>>>>> class="kw">&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb3-2" data-line-number="2">       
>>>>> <span class="kw">&lt;value</span><span class="ot">
>>>>> xml:lang=</span><span class="st">&quot;en&quot;</span><span
>>>>> class="kw">&gt;</span>Example<span
>>>>> class="kw">&lt;/value&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb3-3" data-line-number="3">       
>>>>> <span class="kw">&lt;value</span><span class="ot">
>>>>> xml:lang=</span><span class="st">&quot;fr&quot;</span><span
>>>>> class="kw">&gt;</span>Exemple<span
>>>>> class="kw">&lt;/value&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb3-4" data-line-number="4"> <span
>>>>> class="kw">&lt;/property&gt;</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&lt;String, String&gt; called dataMap.
>>>>> <strong>Keys</strong>: data field names. <strong>Values</strong>:
>>>>> data types (OFBiz types).</li>
>>>>> +<li>an object of type Map&lt;String, String&gt; 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&lt;String, String&gt; 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&lt;String, String&gt; 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&lt;String, Object&gt; parameters =
>>>>> (Map&lt;String, Object&gt;) reportContext.<span
>>>>> class="fu">getParameterValue</span>(<span
>>>>> class="st">&quot;parameters&quot;</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>&lt;<span class="bu">String</span>, <span
>>>>> class="bu">Object</span>&gt; parameters = (<span
>>>>> class="bu">Map</span>&lt;<span class="bu">String</span>, <span
>>>>> class="bu">Object</span>&gt;) reportContext.<span
>>>>> class="fu">getParameterValue</span>(<span
>>>>> class="st">&quot;parameters&quot;</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&lt;String, Object&gt; 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">&lt;form</span><span
>>>>> class="ot"> name=</span><span
>>>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span
>>>>> class="ot"> type=</span><span
>>>>> class="st">&quot;single&quot;</span><span class="ot">
>>>>> extends=</span><span
>>>>> class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span
>>>>> class="kw">&gt;</span>
>>>>> -        <span class="kw">&lt;field</span><span class="ot">
>>>>> name=</span><span class="st">&quot;fromDate&quot;</span><span
>>>>> class="kw">&gt;&lt;date-time</span><span class="ot">
>>>>> type=</span><span class="st">&quot;date&quot;</span><span
>>>>> class="kw">/&gt;&lt;/field&gt;</span>
>>>>> -        <span class="kw">&lt;field</span><span class="ot">
>>>>> name=</span><span class="st">&quot;thruDate&quot;</span><span
>>>>> class="kw">&gt;&lt;date-time</span><span class="ot">
>>>>> type=</span><span class="st">&quot;date&quot;</span><span
>>>>> class="kw">/&gt;&lt;/field&gt;</span>
>>>>> -        <span class="kw">&lt;field</span><span class="ot">
>>>>> name=</span><span
>>>>> class="st">&quot;productCategoryId&quot;</span><span
>>>>> class="kw">&gt;&lt;lookup</span><span class="ot">
>>>>> target-form-name=</span><span
>>>>> class="st">&quot;LookupProductCategory&quot;</span><span
>>>>> class="kw">/&gt;&lt;/field&gt;</span>
>>>>> -        <span class="kw">&lt;field</span><span class="ot">
>>>>> name=</span><span
>>>>> class="st">&quot;productStoreId&quot;</span><span
>>>>> class="kw">&gt;&lt;lookup</span><span class="ot">
>>>>> target-form-name=</span><span
>>>>> class="st">&quot;LookupProductStore&quot;</span><span
>>>>> class="kw">/&gt;&lt;/field&gt;</span>
>>>>> -    <span class="kw">&lt;/form&gt;</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">&lt;form</span><span
>>>>> class="ot"> name=</span><span
>>>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span
>>>>> class="ot"> type=</span><span
>>>>> class="st">&quot;single&quot;</span><span class="ot">
>>>>> extends=</span><span
>>>>> class="st">&quot;AbstractFlexibleReportSearchForm&quot;</span><span
>>>>> class="kw">&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb5-2" data-line-number="2">       
>>>>> <span class="kw">&lt;field</span><span class="ot">
>>>>> name=</span><span class="st">&quot;fromDate&quot;</span><span
>>>>> class="kw">&gt;&lt;date-time</span><span class="ot">
>>>>> type=</span><span class="st">&quot;date&quot;</span><span
>>>>> class="kw">/&gt;&lt;/field&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb5-3" data-line-number="3">       
>>>>> <span class="kw">&lt;field</span><span class="ot">
>>>>> name=</span><span class="st">&quot;thruDate&quot;</span><span
>>>>> class="kw">&gt;&lt;date-time</span><span class="ot">
>>>>> type=</span><span class="st">&quot;date&quot;</span><span
>>>>> class="kw">/&gt;&lt;/field&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb5-4" data-line-number="4">       
>>>>> <span class="kw">&lt;field</span><span class="ot">
>>>>> name=</span><span
>>>>> class="st">&quot;productCategoryId&quot;</span><span
>>>>> class="kw">&gt;&lt;lookup</span><span class="ot">
>>>>> target-form-name=</span><span
>>>>> class="st">&quot;LookupProductCategory&quot;</span><span
>>>>> class="kw">/&gt;&lt;/field&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb5-5" data-line-number="5">       
>>>>> <span class="kw">&lt;field</span><span class="ot">
>>>>> name=</span><span
>>>>> class="st">&quot;productStoreId&quot;</span><span
>>>>> class="kw">&gt;&lt;lookup</span><span class="ot">
>>>>> target-form-name=</span><span
>>>>> class="st">&quot;LookupProductStore&quot;</span><span
>>>>> class="kw">/&gt;&lt;/field&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb5-6" data-line-number="6"> <span
>>>>> class="kw">&lt;/form&gt;</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">&lt;CustomMethod</span><span class="ot">
>>>>> customMethodId=</span><span
>>>>> class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot">
>>>>> customMethodTypeId=</span><span
>>>>> class="st">&quot;FLEXIBLE_BIRT&quot;</span><span class="ot">
>>>>> customMethodName=</span><span
>>>>> class="st">&quot;flexibleReportTurnOver&quot;</span><span
>>>>> class="ot"> description=</span><span class="st">&quot;service to
>>>>> resolve invoice for turnover report domain&quot;</span><span
>>>>> class="kw">/&gt;</span>
>>>>> -    <span class="kw">&lt;DataResource</span><span class="ot">
>>>>> dataResourceId=</span><span
>>>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot">
>>>>> dataResourceTypeId=</span><span
>>>>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot">
>>>>> dataTemplateTypeId=</span><span
>>>>> class="st">&quot;FORM_COMBINED&quot;</span> <span
>>>>> class="kw">/&gt;</span>
>>>>> -    <span class="kw">&lt;ElectronicText</span><span class="ot">
>>>>> dataResourceId=</span><span
>>>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span
>>>>> class="kw">&gt;</span>
>>>>> -        <span class="kw">&lt;textData&gt;</span><span
>>>>> class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;
>>>>> -            &lt;form
>>>>> name=&quot;${masterContentId}_${contentId}&quot;
>>>>> type=&quot;single&quot; extends=&quot;${masterContentId}&quot;
>>>>> extends-resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;
>>>>> -            &lt;/form&gt;<span class="bn">]]&gt;</span>
>>>>> -        <span class="kw">&lt;/textData&gt;</span>
>>>>> -    <span class="kw">&lt;/ElectronicText&gt;</span>
>>>>> -    <span class="kw">&lt;Content</span><span class="ot">
>>>>> contentId=</span><span
>>>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span
>>>>> class="ot"> customMethodId=</span><span
>>>>> class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot">
>>>>> contentTypeId=</span><span
>>>>> class="st">&quot;REPORT_MASTER&quot;</span><span class="ot">
>>>>> dataResourceId=</span><span
>>>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot">
>>>>> statusId=</span><span
>>>>> class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot">
>>>>> contentName=</span><span
>>>>> class="st">&quot;Turnover&quot;</span><span class="ot">
>>>>> description=</span><span class="st">&quot;Master Content for
>>>>> TURNOVER domain&quot;</span> <span class="kw">/&gt;</span>
>>>>> -    <span class="co">&lt;!-- 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
>>>>> &quot;prepareField&quot; 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 + &quot;prepareFields&quot;) then
>>>>> flexibleReportTurnOver--&gt;</span>
>>>>> -    <span class="kw">&lt;ContentAttribute</span><span class="ot">
>>>>> contentId=</span><span
>>>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span
>>>>> class="ot"> attrName=</span><span
>>>>> class="st">&quot;Service&quot;</span><span class="ot">
>>>>> attrValue=</span><span class="st">&quot;default&quot;</span><span
>>>>> class="kw">/&gt;</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">&lt;CustomMethod</span><span class="ot">
>>>>> customMethodId=</span><span
>>>>> class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot">
>>>>> customMethodTypeId=</span><span
>>>>> class="st">&quot;FLEXIBLE_BIRT&quot;</span><span class="ot">
>>>>> customMethodName=</span><span
>>>>> class="st">&quot;flexibleReportTurnOver&quot;</span><span
>>>>> class="ot"> description=</span><span class="st">&quot;service to
>>>>> resolve invoice for turnover report domain&quot;</span><span
>>>>> class="kw">/&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb6-2" data-line-number="2"> <span
>>>>> class="kw">&lt;DataResource</span><span class="ot">
>>>>> dataResourceId=</span><span
>>>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot">
>>>>> dataResourceTypeId=</span><span
>>>>> class="st">&quot;ELECTRONIC_TEXT&quot;</span><span class="ot">
>>>>> dataTemplateTypeId=</span><span
>>>>> class="st">&quot;FORM_COMBINED&quot;</span> <span
>>>>> class="kw">/&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb6-3" data-line-number="3"> <span
>>>>> class="kw">&lt;ElectronicText</span><span class="ot">
>>>>> dataResourceId=</span><span
>>>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span
>>>>> class="kw">&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb6-4" data-line-number="4">       
>>>>> <span class="kw">&lt;textData&gt;</span><span
>>>>> class="bn">&lt;![CDATA[</span>&lt;!--default domain form--&gt;</a>
>>>>> +<a class="sourceLine" id="cb6-5" data-line-number="5">           
>>>>> &lt;form name=&quot;${masterContentId}_${contentId}&quot;
>>>>> type=&quot;single&quot; extends=&quot;${masterContentId}&quot;
>>>>> extends-resource=&quot;component://birt/widget/birt/BirtMasterForms.xml&quot;&gt;</a>
>>>>> +<a class="sourceLine" id="cb6-6" data-line-number="6">
>>>>> &lt;/form&gt;<span class="bn">]]&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb6-7" data-line-number="7">       
>>>>> <span class="kw">&lt;/textData&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb6-8" data-line-number="8"> <span
>>>>> class="kw">&lt;/ElectronicText&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb6-9" data-line-number="9"> <span
>>>>> class="kw">&lt;Content</span><span class="ot">
>>>>> contentId=</span><span
>>>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span
>>>>> class="ot"> customMethodId=</span><span
>>>>> class="st">&quot;CM_FB_TURNOVER&quot;</span><span class="ot">
>>>>> contentTypeId=</span><span
>>>>> class="st">&quot;REPORT_MASTER&quot;</span><span class="ot">
>>>>> dataResourceId=</span><span
>>>>> class="st">&quot;DR_MASTER_TURNOVER&quot;</span><span class="ot">
>>>>> statusId=</span><span
>>>>> class="st">&quot;CTNT_PUBLISHED&quot;</span><span class="ot">
>>>>> contentName=</span><span
>>>>> class="st">&quot;Turnover&quot;</span><span class="ot">
>>>>> description=</span><span class="st">&quot;Master Content for
>>>>> TURNOVER domain&quot;</span> <span class="kw">/&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb6-10" data-line-number="10">    <span
>>>>> class="co">&lt;!-- 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
>>>>> &quot;prepareField&quot; 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 + &quot;prepareFields&quot;) then
>>>>> flexibleReportTurnOver--&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb6-14" data-line-number="14">    <span
>>>>> class="kw">&lt;ContentAttribute</span><span class="ot">
>>>>> contentId=</span><span
>>>>> class="st">&quot;CTNT_MASTER_TURNOVER&quot;</span><span
>>>>> class="ot"> attrName=</span><span
>>>>> class="st">&quot;Service&quot;</span><span class="ot">
>>>>> attrValue=</span><span class="st">&quot;default&quot;</span><span
>>>>> class="kw">/&gt;</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 &quot;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">&lt;property</span><span class="ot"> key=</span><span
>>>>> class="st">&quot;Content.description.CTNT_MASTER_TURNOVER&quot;</span><span
>>>>> class="kw">&gt;</span>
>>>>> -        <span class="kw">&lt;value</span><span class="ot">
>>>>> xml:lang=</span><span class="st">&quot;en&quot;</span><span
>>>>> class="kw">&gt;</span>Turnover (product)<span
>>>>> class="kw">&lt;/value&gt;</span>
>>>>> -        <span class="kw">&lt;value</span><span class="ot">
>>>>> xml:lang=</span><span class="st">&quot;fr&quot;</span><span
>>>>> class="kw">&gt;</span>Rotation (des stocks)<span
>>>>> class="kw">&lt;/value&gt;</span>
>>>>> -    <span class="kw">&lt;/property&gt;</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">&lt;property</span><span
>>>>> class="ot"> key=</span><span
>>>>> class="st">&quot;Content.description.CTNT_MASTER_TURNOVER&quot;</span><span
>>>>> class="kw">&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb7-2" data-line-number="2">       
>>>>> <span class="kw">&lt;value</span><span class="ot">
>>>>> xml:lang=</span><span class="st">&quot;en&quot;</span><span
>>>>> class="kw">&gt;</span>Turnover (product)<span
>>>>> class="kw">&lt;/value&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb7-3" data-line-number="3">       
>>>>> <span class="kw">&lt;value</span><span class="ot">
>>>>> xml:lang=</span><span class="st">&quot;fr&quot;</span><span
>>>>> class="kw">&gt;</span>Rotation (des stocks)<span
>>>>> class="kw">&lt;/value&gt;</span></a>
>>>>> +<a class="sourceLine" id="cb7-4" data-line-number="4"> <span
>>>>> class="kw">&lt;/property&gt;</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>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>
>
>


smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r1826200 [1/3] - in /ofbiz: ofbiz-plugins/trunk/birt/documents/ tools/wiki-files/ tools/wiki-files/BuildBot/ tools/wiki-files/birt/ tools/wiki-files/data-model/ tools/wiki-files/demos/ tools/wiki-files/themes/

taher
I don't understand the purpose of this documentation file? And why are
we adding more markdown files when we are preparing for the new
documentation system?

On Thu, Mar 8, 2018 at 10:30 PM, Michael Brohl <[hidden email]> wrote:

> Thank you, Jacques.
>
> Regards,
>
> Michael
>
>
> Am 08.03.18 um 20:15 schrieb Jacques Le Roux:
>>
>> OK done (but no Jira referenced, I'll not create a Jira to move a letter
>> in a word), sincerely I still don't understand the purpose in this case.
>>
>> Apart as you say that "When you do not use the template, these commits
>> have to be handled manually." That I can understand, but I then believe the
>> process is flawed. IMO, it should be the contrary: no template => ignore.
>> But I guess we both better stop here...
>>
>> Jacques
>>
>>
>> Le 08/03/2018 à 20:03, Michael Brohl a écrit :
>>>
>>> Jacques,
>>>
>>> this commit was partly for plugins so it matters here.
>>>
>>> One of the reasons we use the commit message template is that we can
>>> easily sort out the different change types *automatically*.
>>>
>>> When you do not use the template, these commits have to be handled
>>> manually. So you do us a favor if you use a simple "Improved:" for
>>> improvements like this.
>>>
>>> We agreed to use this template and it is not up to every single committer
>>> to decide himself if he wants to use it or not. The fact that you "did
>>> plenty of such in the past" on purpose just shows that you don't respect
>>> this agreement.
>>>
>>> It is remarkable that others are not arguing if they do not follow the
>>> template by accident but just amend their commit message and show up to be
>>> collaborative. It would be nice if you would do the same.
>>>
>>> Thanks,
>>>
>>> Michael
>>>
>>>
>>> Am 08.03.18 um 19:01 schrieb Jacques Le Roux:
>>>>
>>>> I don't think it's needed here, it's only files in tools for the wiki
>>>> but a small typo in ofbiz/ofbiz-plugins/trunk/birt/documents/Creating
>>>> reports.md
>>>>
>>>> Or do you mean that you will also use it for your list in the monthly
>>>> blog post? I thought it was only about Jira issues related to OFBiz code.
>>>>
>>>> That's why I don't use the commit template for such commits, I did
>>>> plenty of such in the past (since we use the commit template)
>>>>
>>>> Jacques
>>>>
>>>>
>>>> Le 08/03/2018 à 18:34, Michael Brohl a écrit :
>>>>>
>>>>> Please stick to the commit message template, thanks.
>>>>>
>>>>> Am 08.03.18 um 11:42 schrieb [hidden email]:
>>>>>>
>>>>>> 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 &quot;ofb&quot;).</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 &quot;Setup
>>>>>> eclipse project for OFBiz&quot; 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 &quot;Setup an external database&quot; 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 &quot;Running gradle tasks without an internet
>>>>>> connection&quot; 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 &quot;Repository and directory
>>>>>> structure&quot; 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>&quot;quoting&quot;</strong> the commands. For example:
>>>>>> <code>gradlew &quot;ofbiz --help&quot;</code></p></li>
>>>>>> +<li><p>OFBiz <strong>server commands</strong> require
>>>>>> <strong>“quoting†</strong> the commands. For example: <code>gradlew
>>>>>> &quot;ofbiz --help&quot;</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 &quot;ofbizDebug --test&quot;</code></p>
>>>>>>   <p><code>gradlew &quot;ofbizBackground --start --portoffset
>>>>>> 10000&quot;</code></p>
>>>>>>   <p><code>gradlew &quot;ofbiz --shutdown --portoffset
>>>>>> 10000&quot;</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 &quot;ofbiz --start --portoffset
>>>>>> 10000&quot;</code></p>
>>>>>>   <hr />
>>>>>> @@ -133,7 +143,7 @@ under the License.
>>>>>>   <h4 id="get-ofbiz-status">Get OFBiz status</h4>
>>>>>>   <p><code>gradlew &quot;ofbiz --status&quot;</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 &quot;ofbiz --start --portoffset
>>>>>> 10000&quot;</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 &quot;ofbiztenant&quot;. 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 &quot;default&quot;. If the value passed is
>>>>>> <strong>&quot;all-tenants&quot;</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=&quot;My Name&quot; -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 &quot;ofbiz --test loglevel=fatal&quot;</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
>>>>>> &quot;entity&quot; and the case name is &quot;entity-tests&quot;</p>
>>>>>> +<p>run a test case, in this example the component is “entity† and
>>>>>> the case name is “entity-tests†</p>
>>>>>>   <p><code>gradlew &quot;ofbiz --test component=entity --test
>>>>>> suitename=entitytests --test case=entity-query-tests&quot;</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 &quot;ofbiz&quot;. 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=&quot;http://www.example.com/custom-maven&quot; -PrepoUser=myuser
>>>>>> -PrepoPassword=mypassword
>>>>>> -PdependencyId=&quot;org.apache.ofbiz.plugin:myplugin:0.1.0&quot;</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 &quot;install&quot; 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 &quot;.svn&quot;
>>>>>> 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 &quot;pullPlugin&quot; 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 &quot;install&quot; 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 &quot;uninstall&quot; 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 &quot;Publication of
>>>>>> OFBiz plugin ${pluginId}&quot;</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=&quot;Introduce special functionality X&quot;</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
>>>>>> &quot;special-purpose&quot; 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 &quot;special-purpose&quot; and
>>>>>> &quot;hot-deploy&quot;.</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 &quot;Flexible Report&quot; menu (varies depending
>>>>>> on themes)</li>
>>>>>> -<li>Click on the &quot;Generate report&quot; 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 &quot;Choose report topic&quot; 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 &quot;Generate filters in design&quot; 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 &quot;Edit
>>>>>> Report&quot; 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">&quot;Using
>>>>>> the Birt Report Designer.md.html&quot; 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
>>>>>> &quot;Preview&quot; panel. There you can temporarily filter the result, and
>>>>>> use the export format you prefer, once done click &quot;Send&quot;. 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 &quot;Manage reports&quot; screen or directly in
>>>>>> the &quot;Report information&quot; panel. We will see the &quot;Manage
>>>>>> reports&quot; 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 &quot;Override filters&quot; panel to override and personnalize the
>>>>>> form, once done click &quot;Save&quot;. 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. &gt;<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.
>>>>>> &gt;<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 &quot;Manage reports&quot; 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 &quot;Preview&quot; Panel
>>>>>> and can do the same things than in the &quot;Edit Report&quot; 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 &quot;Use a report&quot;.</li>
>>>>>> -<li>Select your report and hit &quot;Send&quot;.</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 */
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r1826200 [1/3] - in /ofbiz: ofbiz-plugins/trunk/birt/documents/ tools/wiki-files/ tools/wiki-files/BuildBot/ tools/wiki-files/birt/ tools/wiki-files/data-model/ tools/wiki-files/demos/ tools/wiki-files/themes/

Michael Brohl-3
I didn't recognized that and think that we indeed should not add new
markdown files.

In this case, it just seems to be a small correction in an existing file
so it should be ok.

Regards,

Michael


Am 09.03.18 um 11:55 schrieb Taher Alkhateeb:

> I don't understand the purpose of this documentation file? And why are
> we adding more markdown files when we are preparing for the new
> documentation system?
>
> On Thu, Mar 8, 2018 at 10:30 PM, Michael Brohl <[hidden email]> wrote:
>> Thank you, Jacques.
>>
>> Regards,
>>
>> Michael
>>
>>
>> Am 08.03.18 um 20:15 schrieb Jacques Le Roux:
>>> OK done (but no Jira referenced, I'll not create a Jira to move a letter
>>> in a word), sincerely I still don't understand the purpose in this case.
>>>
>>> Apart as you say that "When you do not use the template, these commits
>>> have to be handled manually." That I can understand, but I then believe the
>>> process is flawed. IMO, it should be the contrary: no template => ignore.
>>> But I guess we both better stop here...
>>>
>>> Jacques
>>>
>>>
>>> Le 08/03/2018 à 20:03, Michael Brohl a écrit :
>>>> Jacques,
>>>>
>>>> this commit was partly for plugins so it matters here.
>>>>
>>>> One of the reasons we use the commit message template is that we can
>>>> easily sort out the different change types *automatically*.
>>>>
>>>> When you do not use the template, these commits have to be handled
>>>> manually. So you do us a favor if you use a simple "Improved:" for
>>>> improvements like this.
>>>>
>>>> We agreed to use this template and it is not up to every single committer
>>>> to decide himself if he wants to use it or not. The fact that you "did
>>>> plenty of such in the past" on purpose just shows that you don't respect
>>>> this agreement.
>>>>
>>>> It is remarkable that others are not arguing if they do not follow the
>>>> template by accident but just amend their commit message and show up to be
>>>> collaborative. It would be nice if you would do the same.
>>>>
>>>> Thanks,
>>>>
>>>> Michael
>>>>
>>>>
>>>> Am 08.03.18 um 19:01 schrieb Jacques Le Roux:
>>>>> I don't think it's needed here, it's only files in tools for the wiki
>>>>> but a small typo in ofbiz/ofbiz-plugins/trunk/birt/documents/Creating
>>>>> reports.md
>>>>>
>>>>> Or do you mean that you will also use it for your list in the monthly
>>>>> blog post? I thought it was only about Jira issues related to OFBiz code.
>>>>>
>>>>> That's why I don't use the commit template for such commits, I did
>>>>> plenty of such in the past (since we use the commit template)
>>>>>
>>>>> Jacques
>>>>>
>>>>>
>>>>> Le 08/03/2018 à 18:34, Michael Brohl a écrit :
>>>>>> Please stick to the commit message template, thanks.
>>>>>>
>>>>>> Am 08.03.18 um 11:42 schrieb [hidden email]:
>>>>>>> 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 &quot;ofb&quot;).</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 &quot;Setup
>>>>>>> eclipse project for OFBiz&quot; 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 &quot;Setup an external database&quot; 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 &quot;Running gradle tasks without an internet
>>>>>>> connection&quot; 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 &quot;Repository and directory
>>>>>>> structure&quot; 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>&quot;quoting&quot;</strong> the commands. For example:
>>>>>>> <code>gradlew &quot;ofbiz --help&quot;</code></p></li>
>>>>>>> +<li><p>OFBiz <strong>server commands</strong> require
>>>>>>> <strong>“quoting†</strong> the commands. For example: <code>gradlew
>>>>>>> &quot;ofbiz --help&quot;</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 &quot;ofbizDebug --test&quot;</code></p>
>>>>>>>    <p><code>gradlew &quot;ofbizBackground --start --portoffset
>>>>>>> 10000&quot;</code></p>
>>>>>>>    <p><code>gradlew &quot;ofbiz --shutdown --portoffset
>>>>>>> 10000&quot;</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 &quot;ofbiz --start --portoffset
>>>>>>> 10000&quot;</code></p>
>>>>>>>    <hr />
>>>>>>> @@ -133,7 +143,7 @@ under the License.
>>>>>>>    <h4 id="get-ofbiz-status">Get OFBiz status</h4>
>>>>>>>    <p><code>gradlew &quot;ofbiz --status&quot;</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 &quot;ofbiz --start --portoffset
>>>>>>> 10000&quot;</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 &quot;ofbiztenant&quot;. 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 &quot;default&quot;. If the value passed is
>>>>>>> <strong>&quot;all-tenants&quot;</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=&quot;My Name&quot; -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 &quot;ofbiz --test loglevel=fatal&quot;</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
>>>>>>> &quot;entity&quot; and the case name is &quot;entity-tests&quot;</p>
>>>>>>> +<p>run a test case, in this example the component is “entity† and
>>>>>>> the case name is “entity-tests†</p>
>>>>>>>    <p><code>gradlew &quot;ofbiz --test component=entity --test
>>>>>>> suitename=entitytests --test case=entity-query-tests&quot;</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 &quot;ofbiz&quot;. 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=&quot;http://www.example.com/custom-maven&quot; -PrepoUser=myuser
>>>>>>> -PrepoPassword=mypassword
>>>>>>> -PdependencyId=&quot;org.apache.ofbiz.plugin:myplugin:0.1.0&quot;</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 &quot;install&quot; 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 &quot;.svn&quot;
>>>>>>> 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 &quot;pullPlugin&quot; 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 &quot;install&quot; 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 &quot;uninstall&quot; 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 &quot;Publication of
>>>>>>> OFBiz plugin ${pluginId}&quot;</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=&quot;Introduce special functionality X&quot;</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
>>>>>>> &quot;special-purpose&quot; 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 &quot;special-purpose&quot; and
>>>>>>> &quot;hot-deploy&quot;.</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 &quot;Flexible Report&quot; menu (varies depending
>>>>>>> on themes)</li>
>>>>>>> -<li>Click on the &quot;Generate report&quot; 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 &quot;Choose report topic&quot; 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 &quot;Generate filters in design&quot; 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 &quot;Edit
>>>>>>> Report&quot; 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">&quot;Using
>>>>>>> the Birt Report Designer.md.html&quot; 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
>>>>>>> &quot;Preview&quot; panel. There you can temporarily filter the result, and
>>>>>>> use the export format you prefer, once done click &quot;Send&quot;. 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 &quot;Manage reports&quot; screen or directly in
>>>>>>> the &quot;Report information&quot; panel. We will see the &quot;Manage
>>>>>>> reports&quot; 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 &quot;Override filters&quot; panel to override and personnalize the
>>>>>>> form, once done click &quot;Save&quot;. 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. &gt;<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.
>>>>>>> &gt;<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 &quot;Manage reports&quot; 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 &quot;Preview&quot; Panel
>>>>>>> and can do the same things than in the &quot;Edit Report&quot; 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 &quot;Use a report&quot;.</li>
>>>>>>> -<li>Select your report and hit &quot;Send&quot;.</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 */


smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r1826200 [1/3] - in /ofbiz: ofbiz-plugins/trunk/birt/documents/ tools/wiki-files/ tools/wiki-files/BuildBot/ tools/wiki-files/birt/ tools/wiki-files/data-model/ tools/wiki-files/demos/ tools/wiki-files/themes/

taher
Ok, one more task for the documentation team then.

On Mar 10, 2018 11:41 AM, "Michael Brohl" <[hidden email]> wrote:

I didn't recognized that and think that we indeed should not add new
markdown files.

In this case, it just seems to be a small correction in an existing file so
it should be ok.

Regards,

Michael


Am 09.03.18 um 11:55 schrieb Taher Alkhateeb:

I don't understand the purpose of this documentation file? And why are

> we adding more markdown files when we are preparing for the new
> documentation system?
>
> On Thu, Mar 8, 2018 at 10:30 PM, Michael Brohl <[hidden email]>
> wrote:
>
>> Thank you, Jacques.
>>
>> Regards,
>>
>> Michael
>>
>>
>> Am 08.03.18 um 20:15 schrieb Jacques Le Roux:
>>
>>> OK done (but no Jira referenced, I'll not create a Jira to move a letter
>>> in a word), sincerely I still don't understand the purpose in this case.
>>>
>>> Apart as you say that "When you do not use the template, these commits
>>> have to be handled manually." That I can understand, but I then believe
>>> the
>>> process is flawed. IMO, it should be the contrary: no template => ignore.
>>> But I guess we both better stop here...
>>>
>>> Jacques
>>>
>>>
>>> Le 08/03/2018 à 20:03, Michael Brohl a écrit :
>>>
>>>> Jacques,
>>>>
>>>> this commit was partly for plugins so it matters here.
>>>>
>>>> One of the reasons we use the commit message template is that we can
>>>> easily sort out the different change types *automatically*.
>>>>
>>>> When you do not use the template, these commits have to be handled
>>>> manually. So you do us a favor if you use a simple "Improved:" for
>>>> improvements like this.
>>>>
>>>> We agreed to use this template and it is not up to every single
>>>> committer
>>>> to decide himself if he wants to use it or not. The fact that you "did
>>>> plenty of such in the past" on purpose just shows that you don't respect
>>>> this agreement.
>>>>
>>>> It is remarkable that others are not arguing if they do not follow the
>>>> template by accident but just amend their commit message and show up to
>>>> be
>>>> collaborative. It would be nice if you would do the same.
>>>>
>>>> Thanks,
>>>>
>>>> Michael
>>>>
>>>>
>>>> Am 08.03.18 um 19:01 schrieb Jacques Le Roux:
>>>>
>>>>> I don't think it's needed here, it's only files in tools for the wiki
>>>>> but a small typo in ofbiz/ofbiz-plugins/trunk/birt/documents/Creating
>>>>> reports.md
>>>>>
>>>>> Or do you mean that you will also use it for your list in the monthly
>>>>> blog post? I thought it was only about Jira issues related to OFBiz
>>>>> code.
>>>>>
>>>>> That's why I don't use the commit template for such commits, I did
>>>>> plenty of such in the past (since we use the commit template)
>>>>>
>>>>> Jacques
>>>>>
>>>>>
>>>>> Le 08/03/2018 à 18:34, Michael Brohl a écrit :
>>>>>
>>>>>> Please stick to the commit message template, thanks.
>>>>>>
>>>>>> Am 08.03.18 um 11:42 schrieb [hidden email]:
>>>>>>
>>>>>>> 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/t
>>>>>>> runk/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/html5s
>>>>>>> hiv-printshiv.min.js"></script>
>>>>>>> +  <![endif]-->
>>>>>>>    </head>
>>>>>>>    <body>
>>>>>>>    <!--
>>>>>>> @@ -32,20 +40,20 @@ under the License.
>>>>>>>    <p><a
>>>>>>> href="https://svn.apache.org/repos/infra/infrastructure/buil
>>>>>>> dbot/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 &quot;ofb&quot;).</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">of
>>>>>>> bizTrunkFramework</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/po
>>>>>>> rtal/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">INF
>>>>>>> RA-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">INF
>>>>>>> RA-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">INF
>>>>>>> RA-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">INF
>>>>>>> RA-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.m
>>>>>>> d.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/html5s
>>>>>>> hiv-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 &quot;Setup
>>>>>>> eclipse project for OFBiz&quot; 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 &quot;Setup an external database&quot;
>>>>>>> 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 &quot;Running gradle tasks without an internet
>>>>>>> connection&quot; 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 &quot;Repository and directory
>>>>>>> structure&quot; 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>&quot;quoting&quot;</strong> the commands. For example:
>>>>>>> <code>gradlew &quot;ofbiz --help&quot;</code></p></li>
>>>>>>> +<li><p>OFBiz <strong>server commands</strong> require
>>>>>>> <strong>“quoting†</strong> the commands. For example:
>>>>>>> <code>gradlew
>>>>>>> &quot;ofbiz --help&quot;</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 &quot;ofbizDebug --test&quot;</code></p>
>>>>>>>    <p><code>gradlew &quot;ofbizBackground --start --portoffset
>>>>>>> 10000&quot;</code></p>
>>>>>>>    <p><code>gradlew &quot;ofbiz --shutdown --portoffset
>>>>>>> 10000&quot;</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 &quot;ofbiz --start --portoffset
>>>>>>> 10000&quot;</code></p>
>>>>>>>    <hr />
>>>>>>> @@ -133,7 +143,7 @@ under the License.
>>>>>>>    <h4 id="get-ofbiz-status">Get OFBiz status</h4>
>>>>>>>    <p><code>gradlew &quot;ofbiz --status&quot;</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 &quot;ofbiz --start --portoffset
>>>>>>> 10000&quot;</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.l
>>>>>>> og</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 &quot;ofbiztenant&quot;. 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/Mult
>>>>>>> itenancy+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/Mult
>>>>>>> itenancy+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 &quot;default&quot;. If the value passed is
>>>>>>> <strong>&quot;all-tenants&quot;</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=&quot;My Name&quot; -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 &quot;ofbiz --test loglevel=fatal&quot;</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
>>>>>>> &quot;entity&quot; and the case name is &quot;entity-tests&quot;</p>
>>>>>>> +<p>run a test case, in this example the component is “entityâ€
>>>>>>> and
>>>>>>> the case name is “entity-tests†</p>
>>>>>>>    <p><code>gradlew &quot;ofbiz --test component=entity --test
>>>>>>> suitename=entitytests --test case=entity-query-tests&quot;<
>>>>>>> /code></p>
>>>>>>>    <h4
>>>>>>> id="execute-an-integration-test-case-in-debug-mode-with-verb
>>>>>>> ose-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 &quot;ofbiz&quot;. 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/depe
>>>>>>> ndency-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=&quot;http://www.example.com/custom-maven&quot;
>>>>>>> -PrepoUser=myuser
>>>>>>> -PrepoPassword=mypassword
>>>>>>> -PdependencyId=&quot;org.apache.ofbiz.plugin:myplugin:0.1.0&
>>>>>>> quot;</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 &quot;install&quot; 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
>>>>>>> &quot;.svn&quot;
>>>>>>> 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 &quot;pullPlugin&quot; 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 &quot;install&quot; 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 &quot;uninstall&quot; 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 &quot;Publication of
>>>>>>> OFBiz plugin ${pluginId}&quot;</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=&quot;Introduce special functionality
>>>>>>> X&quot;</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
>>>>>>> &quot;special-purpose&quot; 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
>>>>>>> &quot;special-purpose&quot; and
>>>>>>> &quot;hot-deploy&quot;.</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/Apac
>>>>>>> he+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.wassena
>>>>>>> ar.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.wassena
>>>>>>> ar.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/Cre
>>>>>>> ating%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/html5s
>>>>>>> hiv-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/attachment
>>>>>>> s/68720496/Birt%20Menus.png?api=v2"
>>>>>>> alt="Birt menus" /></li>
>>>>>>> -<li>Click on the &quot;Flexible Report&quot; menu (varies depending
>>>>>>> on themes)</li>
>>>>>>> -<li>Click on the &quot;Generate report&quot; 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/attachment
>>>>>>> s/68720496/Example%20Report.png?api=v2"
>>>>>>> alt="Example Report" /></li>
>>>>>>>    </ol>
>>>>>>>    <ul>
>>>>>>> -<li>The list &quot;Choose report topic&quot; 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 &quot;Generate filters in design&quot; 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 &quot;Edit
>>>>>>> Report&quot; screen. <img
>>>>>>> src="https://cwiki.apache.org/confluence/download/attachment
>>>>>>> s/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/attachment
>>>>>>> s/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-publ
>>>>>>> ish-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/t
>>>>>>> runk/birt/documents/Using%20the%20Birt%20Report%20Designer.md.html
>>>>>>> ">&quot;Using
>>>>>>> the Birt Report Designer.md.html&quot; 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
>>>>>>> &quot;Preview&quot; panel. There you can temporarily filter the
>>>>>>> result, and
>>>>>>> use the export format you prefer, once done click &quot;Send&quot;.
>>>>>>> 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 &quot;Manage reports&quot; screen or
>>>>>>> directly in
>>>>>>> the &quot;Report information&quot; panel. We will see the
>>>>>>> &quot;Manage
>>>>>>> reports&quot; screen below.</p>
>>>>>>> +<h2
>>>>>>> id="the-.rptdesign-report-file-download-edit-upload-and-publ
>>>>>>> ish-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/t
>>>>>>> runk/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 &quot;Override filters&quot; panel to override and personnalize
>>>>>>> the
>>>>>>> form, once done click &quot;Save&quot;. 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. &gt;<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.
>>>>>>> &gt;<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 &quot;Manage reports&quot; 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 &quot;Preview&quot;
>>>>>>> Panel
>>>>>>> and can do the same things than in the &quot;Edit Report&quot;
>>>>>>> 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/html5s
>>>>>>> hiv-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 &quot;Use a report&quot;.</li>
>>>>>>> -<li>Select your report and hit &quot;Send&quot;.</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/Rep
>>>>>>> ort%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 */
>>>>>>>
>>>>>>