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