Ok, one more task for the documentation team then. On Mar 10, 2018 11:41 AM, "Michael Brohl" <[email protected]> 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 <[email protected]> > 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 [email protected]: >>>>>> >>>>>>> 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 "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">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 "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.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 "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> >>>>>>> +<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 "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-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 "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/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="http://www.example.com/custom-maven" >>>>>>> -PrepoUser=myuser >>>>>>> -PrepoPassword=mypassword >>>>>>> -PdependencyId="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 "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/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 "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/attachment >>>>>>> s/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/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 >>>>>>> ">"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-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 "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/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 "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/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 */ >>>>>>> >>>>>>
