Equivalent Steps for Creating Sample Data

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

Equivalent Steps for Creating Sample Data

stimits
Hi,
 
I'm wondering about what individual steps are equivalent to loading the sample data?
 
Some steps I've tried (perhaps I used seeds I didn't need...however, I configured for PostgreSQL so I assume "ext" for that):
...build, load default demo data, browse...
./gradlew cleanAll
./gradlew "ofbiz --load-data readers=seed,seed-initial,ext"
 
That much seems to work. This step fails (I have PostgreSQL set up with user/pass ofbiz/ofbiz and config has been set up and was working with this so entityengine.xml is tested as correct):
./gradlew createTenant -PtenantId=admin -PtenantName="admin" -PdomainName=com.example -PtenantReaders=seed,seed-initial,ext -PdbPlatform=P -PdbIp=127.0.0.1 -PdbUser=ofbiz -PdbPassword=ofbiz
 
Since this latter step fails, should I do something else before creating an admin user, or is the issue one of an error in my syntax?
 
I'm essentially trying to get to a point where I can reach this URL and add Company and other items manually:
https://localhost:8443/ofbizsetup/control/initialsetup
 
Thanks!
Reply | Threaded
Open this post in threaded view
|

Re: Equivalent Steps for Creating Sample Data

taher
Are you trying to setup a single or multi-tenant environment?

On Mar 24, 2017 11:21 PM, <[hidden email]> wrote:

> Hi,
>
> I'm wondering about what individual steps are equivalent to loading the
> sample data?
>
> Some steps I've tried (perhaps I used seeds I didn't need...however, I
> configured for PostgreSQL so I assume "ext" for that):
> ...build, load default demo data, browse...
> ./gradlew cleanAll
> ./gradlew "ofbiz --load-data readers=seed,seed-initial,ext"
>
> That much seems to work. This step fails (I have PostgreSQL set up with
> user/pass ofbiz/ofbiz and config has been set up and was working with this
> so entityengine.xml is tested as correct):
> ./gradlew createTenant -PtenantId=admin -PtenantName="admin"
> -PdomainName=com.example -PtenantReaders=seed,seed-initial,ext
> -PdbPlatform=P -PdbIp=127.0.0.1 -PdbUser=ofbiz -PdbPassword=ofbiz
>
> Since this latter step fails, should I do something else before creating
> an admin user, or is the issue one of an error in my syntax?
>
> I'm essentially trying to get to a point where I can reach this URL and
> add Company and other items manually:
> https://localhost:8443/ofbizsetup/control/initialsetup
>
> Thanks!
Reply | Threaded
Open this post in threaded view
|

Re: Equivalent Steps for Creating Sample Data

stimits
Hi,
 
I'm just learning the lingo, but this is just for one company, so I think that is single tenant. I'm wanting to put together the steps for manually bringing up a small sample for a single company with a single retail store and no remote warehouse. Presumably with in store POS and online sales...just a very simple case. I might add 2 or 3 customers and 2 or 3 sample products in a single category.
 
Btw, I'd also like to find an explanation anywhere on the "-PdbPlatform=P" option during createTenant. I'm only guessing "P" is for PostgreSQL and "M" is for "MySQL".  I have been unable to google for the meaning of the possible values in dbPlatform. Since I plan to use PostgreSQL this is of interest, and I've had to guess that "P" is for PostgreSQL, and probably "M" for MySQL. Perhaps there is something equivalent to a man page somewhere for these arguments (beyond the gradlew help output which does not seem to explain such details)?
 
Thanks!
 
----- Original Message -----From: Taher Alkhateeb <[hidden email]>To: [hidden email]: Sat, 25 Mar 2017 08:22:37 -0000 (UTC)Subject: Re: Equivalent Steps for Creating Sample Data

Are you trying to setup a single or multi-tenant environment?

On Mar 24, 2017 11:21 PM, <[hidden email]> wrote:

> Hi,>> I'm wondering about what individual steps are equivalent to loading the> sample data?>> Some steps I've tried (perhaps I used seeds I didn't need...however, I> configured for PostgreSQL so I assume "ext" for that):> ...build, load default demo data, browse...> ./gradlew cleanAll> ./gradlew "ofbiz --load-data readers=seed,seed-initial,ext">> That much seems to work. This step fails (I have PostgreSQL set up with> user/pass ofbiz/ofbiz and config has been set up and was working with this> so entityengine.xml is tested as correct):> ./gradlew createTenant -PtenantId=admin -PtenantName="admin"> -PdomainName=com.example -PtenantReaders=seed,seed-initial,ext> -PdbPlatform=P -PdbIp=127.0.0.1 -PdbUser=ofbiz -PdbPassword=ofbiz>> Since this latter step fails, should I do something else before creating> an admin user, or is the issue one of an error in my syntax?>> I'm essentially trying to get to a point where I can reach this URL and> add Company and other items manually:> https://localhost:8443/ofbizsetup/control/initialsetup>> Thanks!
Reply | Threaded
Open this post in threaded view
|

Re: Equivalent Steps for Creating Sample Data

taher
Okay, so the problem you're facing is that you're using the wrong command.
You should avoid completely using the createTenant task and instead just do
the following to load the system demo data:

./gradlew cleanAll loadDefault

After the data loading is complete you can start OFBiz and login to check
out what happened.

./gradlew ofbiz

As for the rest of your questions, everything is described in detail in the
README.md file. So take a look over there.

On Sat, Mar 25, 2017 at 5:42 PM, <[hidden email]> wrote:

> Hi,
>
> I'm just learning the lingo, but this is just for one company, so I think
> that is single tenant. I'm wanting to put together the steps for manually
> bringing up a small sample for a single company with a single retail store
> and no remote warehouse. Presumably with in store POS and online
> sales...just a very simple case. I might add 2 or 3 customers and 2 or 3
> sample products in a single category.
>
> Btw, I'd also like to find an explanation anywhere on the "-PdbPlatform=P"
> option during createTenant. I'm only guessing "P" is for PostgreSQL and "M"
> is for "MySQL".  I have been unable to google for the meaning of the
> possible values in dbPlatform. Since I plan to use PostgreSQL this is of
> interest, and I've had to guess that "P" is for PostgreSQL, and probably
> "M" for MySQL. Perhaps there is something equivalent to a man page
> somewhere for these arguments (beyond the gradlew help output which does
> not seem to explain such details)?
>
> Thanks!
>
> ----- Original Message -----From: Taher Alkhateeb <
> [hidden email]>To: [hidden email]: Sat, 25 Mar
> 2017 08:22:37 -0000 (UTC)Subject: Re: Equivalent Steps for Creating Sample
> Data
>
> Are you trying to setup a single or multi-tenant environment?
>
> On Mar 24, 2017 11:21 PM, <[hidden email]> wrote:
>
> > Hi,>> I'm wondering about what individual steps are equivalent to
> loading the> sample data?>> Some steps I've tried (perhaps I used seeds I
> didn't need...however, I> configured for PostgreSQL so I assume "ext" for
> that):> ...build, load default demo data, browse...> ./gradlew cleanAll>
> ./gradlew "ofbiz --load-data readers=seed,seed-initial,ext">> That much
> seems to work. This step fails (I have PostgreSQL set up with> user/pass
> ofbiz/ofbiz and config has been set up and was working with this> so
> entityengine.xml is tested as correct):> ./gradlew createTenant
> -PtenantId=admin -PtenantName="admin"> -PdomainName=com.example
> -PtenantReaders=seed,seed-initial,ext> -PdbPlatform=P -PdbIp=127.0.0.1
> -PdbUser=ofbiz -PdbPassword=ofbiz>> Since this latter step fails, should I
> do something else before creating> an admin user, or is the issue one of an
> error in my syntax?>> I'm essentially trying to get to a point where I can
> reach this URL and> add Company and other items manually:>
> https://localhost:8443/ofbizsetup/control/initialsetup>> Thanks!
>
Reply | Threaded
Open this post in threaded view
|

Re: Equivalent Steps for Creating Sample Data

stimits
Hi,
 
I was wanting to break down the steps equivalent to cleanAll and loadDefault...if I want to manually load my own data, and not demo data (instead of expiring demo products and catalogs I'd like to start with nothing and create my own catalog, company, admin user, and products):

How do I clean everything out and prepare it for adding everything? This is fairly obvious with "cleanAll", but I'd like to confirm if this removes both the admin user and demo data.
If I have no admin user (which I assume is the case if cleanAll was run without a loadDefault), how would I add account "admin" with password "ofbiz"? What steps would be needed to add the admin user without loadDefault? Can this be done right after cleanAll using createTenant?
If I want the ofbiz app to start up but have no products, and just seeded to where I could use this URL to add things in, what would I need to do for seed (I assume I need admin user set up first via createTenant or else I'd have no way to log in as an admin to do those things)?
https://localhost:8443/ofbizsetup/control/initialsetup

 
Is it correct that createTenant on a setup with no demo data (no loadDefault) would be used to add the admin user? Regardless, I am interested in knowing where I can look up all possible arguments which are valid to the "-PdbPlatform=" parameter during a createTenant. Does loadDefault do anything other than setting up demo data I would need to be aware of?
 
Thanks!
 
----- Original Message -----From: Taher Alkhateeb <[hidden email]>To: [hidden email]: Sat, 25 Mar 2017 15:45:36 -0000 (UTC)Subject: Re: Equivalent Steps for Creating Sample Data

Okay, so the problem you're facing is that you're using the wrong command.You should avoid completely using the createTenant task and instead just dothe following to load the system demo data:

./gradlew cleanAll loadDefault

After the data loading is complete you can start OFBiz and login to checkout what happened.

./gradlew ofbiz

As for the rest of your questions, everything is described in detail in theREADME.md file. So take a look over there.

On Sat, Mar 25, 2017 at 5:42 PM, <[hidden email]> wrote:

> Hi,>> I'm just learning the lingo, but this is just for one company, so I think> that is single tenant. I'm wanting to put together the steps for manually> bringing up a small sample for a single company with a single retail store> and no remote warehouse. Presumably with in store POS and online> sales...just a very simple case. I might add 2 or 3 customers and 2 or 3> sample products in a single category.>> Btw, I'd also like to find an explanation anywhere on the "-PdbPlatform=P"> option during createTenant. I'm only guessing "P" is for PostgreSQL and "M"> is for "MySQL". I have been unable to google for the meaning of the> possible values in dbPlatform. Since I plan to use PostgreSQL this is of> interest, and I've had to guess that "P" is for PostgreSQL, and probably> "M" for MySQL. Perhaps there is something equivalent to a man page> somewhere for these arguments (beyond the gradlew help output which does> not seem to explain such details)?>> Thanks!>> ----- Original Message -----From: Taher Alkhateeb <> [hidden email]>To: [hidden email]: Sat, 25 Mar> 2017 08:22:37 -0000 (UTC)Subject: Re: Equivalent Steps for Creating Sample> Data>> Are you trying to setup a single or multi-tenant environment?>> On Mar 24, 2017 11:21 PM, <[hidden email]> wrote:>> > Hi,>> I'm wondering about what individual steps are equivalent to> loading the> sample data?>> Some steps I've tried (perhaps I used seeds I> didn't need...however, I> configured for PostgreSQL so I assume "ext" for> that):> ...build, load default demo data, browse...> ./gradlew cleanAll>> ./gradlew "ofbiz --load-data readers=seed,seed-initial,ext">> That much> seems to work. This step fails (I have PostgreSQL set up with> user/pass> ofbiz/ofbiz and config has been set up and was working with this> so> entityengine.xml is tested as correct):> ./gradlew createTenant> -PtenantId=admin -PtenantName="admin"> -PdomainName=com.example> -PtenantReaders=seed,seed-initial,ext> -PdbPlatform=P -PdbIp=127.0.0.1> -PdbUser=ofbiz -PdbPassword=ofbiz>> Since this latter step fails, should I> do something else before creating> an admin user, or is the issue one of an> error in my syntax?>> I'm essentially trying to get to a point where I can> reach this URL and> add Company and other items manually:>> https://localhost:8443/ofbizsetup/control/initialsetup>> Thanks!>
Reply | Threaded
Open this post in threaded view
|

Re: Equivalent Steps for Creating Sample Data

taher
Inline ...

On Mar 25, 2017 9:13 PM, <[hidden email]> wrote:

Hi,

I was wanting to break down the steps equivalent to cleanAll and
loadDefault...if I want to manually load my own data, and not demo data
(instead of expiring demo products and catalogs I'd like to start with
nothing and create my own catalog, company, admin user, and products):


You would use load data custom command of the form:
./gradlew cleanAll "ofbiz --load-data
readers=seed-initial,seed,ext,whatever"

Again this is well documented in README.md and explains the difference
between these readers


How do I clean everything out and prepare it for adding everything? This is
fairly obvious with "cleanAll", but I'd like to confirm if this removes
both the admin user and demo data.


cleanAll deletes everything as long as you are using an embedded database
(default) otherwise you have to clean itup yourself.

If I have no admin user (which I assume is the case if cleanAll was run
without a loadDefault), how would I add account "admin" with password
"ofbiz"?

What steps would be needed to add the admin user without loadDefault?



You would use the task loadAdminUserLogin which is again mentioned in
README.md

Can this be done right after cleanAll using createTenant?


createTenant is for multi-tenancy so you should not use it.

If I want the ofbiz app to start up but have no products, and just seeded
to where I could use this URL to add things in, what would I need to do for
seed (I assume I need admin user set up first via createTenant or else I'd
have no way to log in as an admin to do those things)?

Explained above

https://localhost:8443/ofbizsetup/control/initialsetup


Is it correct that createTenant on a setup with no demo data (no
loadDefault) would be used to add the admin user? Regardless, I am
interested in knowing where I can look up all possible arguments which are
valid to the "-PdbPlatform=" parameter during a createTenant. Does
loadDefault do anything other than setting up demo data I would need to be
aware of?


Again you are confusing between two different concepts: admin user and
tenant.

A tenant is a new database for a separate instance of OFBiz. An admin user
is simply a new record in an existing database.


Thanks!

----- Original Message -----From: Taher Alkhateeb <
[hidden email]>To: [hidden email]: Sat, 25 Mar 2017
15:45:36 -0000 (UTC)Subject: Re: Equivalent Steps for Creating Sample Data

Okay, so the problem you're facing is that you're using the wrong
command.You should avoid completely using the createTenant task and instead
just dothe following to load the system demo data:

./gradlew cleanAll loadDefault

After the data loading is complete you can start OFBiz and login to
checkout what happened.

./gradlew ofbiz

As for the rest of your questions, everything is described in detail in
theREADME.md file. So take a look over there.

On Sat, Mar 25, 2017 at 5:42 PM, <[hidden email]> wrote:

> Hi,>> I'm just learning the lingo, but this is just for one company, so I
think> that is single tenant. I'm wanting to put together the steps for
manually> bringing up a small sample for a single company with a single
retail store> and no remote warehouse. Presumably with in store POS and
online> sales...just a very simple case. I might add 2 or 3 customers and 2
or 3> sample products in a single category.>> Btw, I'd also like to find an
explanation anywhere on the "-PdbPlatform=P"> option during createTenant.
I'm only guessing "P" is for PostgreSQL and "M"> is for "MySQL". I have
been unable to google for the meaning of the> possible values in
dbPlatform. Since I plan to use PostgreSQL this is of> interest, and I've
had to guess that "P" is for PostgreSQL, and probably> "M" for MySQL.
Perhaps there is something equivalent to a man page> somewhere for these
arguments (beyond the gradlew help output which does> not seem to explain
such details)?>> Thanks!>> ----- Original Message -----From: Taher
Alkhateeb <> [hidden email]>To: [hidden email]: Sat,
25 Mar> 2017 08:22:37 -0000 (UTC)Subject: Re: Equivalent Steps for Creating
Sample> Data>> Are you trying to setup a single or multi-tenant
environment?>> On Mar 24, 2017 11:21 PM, <[hidden email]> wrote:>> >
Hi,>> I'm wondering about what individual steps are equivalent to> loading
the> sample data?>> Some steps I've tried (perhaps I used seeds I> didn't
need...however, I> configured for PostgreSQL so I assume "ext" for> that):>
...build, load default demo data, browse...> ./gradlew cleanAll>> ./gradlew
"ofbiz --load-data readers=seed,seed-initial,ext">> That much> seems to
work. This step fails (I have PostgreSQL set up with> user/pass>
ofbiz/ofbiz and config has been set up and was working with this> so>
entityengine.xml is tested as correct):> ./gradlew createTenant>
-PtenantId=admin -PtenantName="admin"> -PdomainName=com.example>
-PtenantReaders=seed,seed-initial,ext> -PdbPlatform=P -PdbIp=127.0.0.1>
-PdbUser=ofbiz -PdbPassword=ofbiz>> Since this latter step fails, should I>
do something else before creating> an admin user, or is the issue one of
an> error in my syntax?>> I'm essentially trying to get to a point where I
can> reach this URL and> add Company and other items manually:>>
https://localhost:8443/ofbizsetup/control/initialsetup>> Thanks!>
Reply | Threaded
Open this post in threaded view
|

Re: Equivalent Steps for Creating Sample Data

stimits
...
> cleanAll deletes everything as long as you are using an embedded database> (default) otherwise you have to clean itup yourself.
...
 
This is the reason why I'm trying to better understand if loadDefault and cleanAll have a series of smaller commands which are equivalent...I am not using the embedded database, and those commands leave a non-working ofbiz while not clearing out or resetting data in PostgreSQL. The README.md does not say much about PostgreSQL.
 
When configured to use PostgreSQL running "gradlew cleanAll loadDefault" leaves ofbiz in a non-working state. Clearing out the ofbiz install, running it with Derby and the default data makes ofbiz work again; reconfiguring to once again use PostgreSQL succeeds, but the previous experimental data changes are there, not the fresh demo data. This is expected since gradlew commands have no concept of the XML database configuration...only commands going through ofbiz itself would have any way of talking to the database as configured in entityengine.xml. If I know exactly what sub-steps cleanAll and loadDefault take I might be able to clean out my PostgreSQL tables and load default sample data in PostgreSQL with a standard mechanism which is repeatable. Manually dropping and recreating a database or wiping out my install and starting from scratch (but pointing back at the original PostgreSQL database) does not give me confidence that I understand enough about the process to put this in place in a real store depending on the software (hard drives die, machines die, networks change, various software versions migrate to newer versions, so on). I'd like to understand what goes on under cleanAll and loadDefault and equivalents if working through ofbiz instead of gradlew.
 
An alternate view of my question might read: Does "gradlew cleanAll loadDefault" have an equivalent using ofbiz's interface which might work in a uniform way regardless of which database is used? The information in README.md is minimal with regard to the right way to modify procedures when using a non-Derby DB.
 
Thanks!
Reply | Threaded
Open this post in threaded view
|

Re: Equivalent Steps for Creating Sample Data

Pierre Smits
Hi Dan,

You're absolutely right in wanting to understand OFBiz functionalties and
processes better. As you will go through the learning curve of getting to
know OFBiz you'll find that, while we can say it has everything to be used
in a modern day enterprise in any industry sector and of any size, OOTB it
is more geared towards showing the demo capabilities/setup than towards
easy implementation. One could also say that it is also more focused on
facilitating project code contributors and committers with respect to the
projects needs and wants.

There are many elements in the OFBiz code base that support such claims,
e.g. the whole Gradle/Gradlew implementation that - by origin - is intended
(suited) more for build/CI processes than for running lean production
setups, or the code elements for generating the projects documentation
pages and the demo site. The ./gradlew cleanAll/cleanData are only suited
for the demo (not production grade) embedded Apache Derby rdbms and the
loadDefault command always loads demo data as well (I have created a JIRA
issue for that, see [1], for which I also provided a patch you can use).
You get it all when you download OFBiz.

Nevertheless, despite this and such the OFBiz solution does not restrict
you to augment any part for your own purposes.

With OFBiz, as with any solution intended for business processes/domains
(whether that is CRM, SCM, webshop, WMS, etc. or ERP), one has to take the
aspects of technical risks into account when starting an implementation
project. That is a factor for every size of company in any sector. Downtime
is costly and needs to be addressed in contingency plans. Implementing a
business solution on a single hardware box, without any failover and
recovery mechanisms in place is putting your company at risk.

We have taken such aspect very seriously in our ORRTIZ: BMS solutions for
Manufacturing, Professional Services, and Trade, which we offer also as a
SaaS service. We have spent numerous hours on perfecting the startup
process for onboarding new tenants against enterprise grade rdbms
solutions. Should you want to know more, feel free to contact me directly.

Maybe not mentioned before or in other threads you started, I thank you for
posting your questions and insight here as I feel confident that these will
lead towards an even better OFBiz product. Please keep them coming.

[1] https://issues.apache.org/jira/browse/OFBIZ-8229

Best regards,

Pierre Smits

ORRTIZ.COM <http://www.orrtiz.com>
OFBiz based solutions & services

OFBiz Extensions Marketplace
http://oem.ofbizci.net/oci-2/

On Sun, Mar 26, 2017 at 10:57 PM, <[hidden email]> wrote:

> ...
> > cleanAll deletes everything as long as you are using an embedded
> database> (default) otherwise you have to clean itup yourself.
> ...
>
> This is the reason why I'm trying to better understand if loadDefault and
> cleanAll have a series of smaller commands which are equivalent...I am not
> using the embedded database, and those commands leave a non-working ofbiz
> while not clearing out or resetting data in PostgreSQL. The README.md does
> not say much about PostgreSQL.
>
> When configured to use PostgreSQL running "gradlew cleanAll loadDefault"
> leaves ofbiz in a non-working state. Clearing out the ofbiz install,
> running it with Derby and the default data makes ofbiz work again;
> reconfiguring to once again use PostgreSQL succeeds, but the previous
> experimental data changes are there, not the fresh demo data. This is
> expected since gradlew commands have no concept of the XML database
> configuration...only commands going through ofbiz itself would have any way
> of talking to the database as configured in entityengine.xml. If I know
> exactly what sub-steps cleanAll and loadDefault take I might be able to
> clean out my PostgreSQL tables and load default sample data in PostgreSQL
> with a standard mechanism which is repeatable. Manually dropping and
> recreating a database or wiping out my install and starting from scratch
> (but pointing back at the original PostgreSQL database) does not give me
> confidence that I understand enough about the process to put this in place
> in a real store depending on the software (hard drives die, machines die,
> networks change, various software versions migrate to newer versions, so
> on). I'd like to understand what goes on under cleanAll and loadDefault and
> equivalents if working through ofbiz instead of gradlew.
>
> An alternate view of my question might read: Does "gradlew cleanAll
> loadDefault" have an equivalent using ofbiz's interface which might work in
> a uniform way regardless of which database is used? The information in
> README.md is minimal with regard to the right way to modify procedures when
> using a non-Derby DB.
>
> Thanks!
Reply | Threaded
Open this post in threaded view
|

Re: Equivalent Steps for Creating Sample Data

Jacques Le Roux
Administrator
In reply to this post by stimits
At large, when you miss information from the main README.md file or from the user ML archives (https://lists.apache.org/, Markmail or Nabble) make a
search in the wiki, eg from there http://ofbiz.apache.org/documentation.html

For instance you can find the word postgres in https://cwiki.apache.org/confluence/display/OFBIZ/Apache+OFBiz+Technical+Production+Setup+Guide when
looking into the "public wiki"

HTH

Jacques


Le 26/03/2017 à 22:57, [hidden email] a écrit :

> ...
>> cleanAll deletes everything as long as you are using an embedded database> (default) otherwise you have to clean itup yourself.
> ...
>  
> This is the reason why I'm trying to better understand if loadDefault and cleanAll have a series of smaller commands which are equivalent...I am not using the embedded database, and those commands leave a non-working ofbiz while not clearing out or resetting data in PostgreSQL. The README.md does not say much about PostgreSQL.
>  
> When configured to use PostgreSQL running "gradlew cleanAll loadDefault" leaves ofbiz in a non-working state. Clearing out the ofbiz install, running it with Derby and the default data makes ofbiz work again; reconfiguring to once again use PostgreSQL succeeds, but the previous experimental data changes are there, not the fresh demo data. This is expected since gradlew commands have no concept of the XML database configuration...only commands going through ofbiz itself would have any way of talking to the database as configured in entityengine.xml. If I know exactly what sub-steps cleanAll and loadDefault take I might be able to clean out my PostgreSQL tables and load default sample data in PostgreSQL with a standard mechanism which is repeatable. Manually dropping and recreating a database or wiping out my install and starting from scratch (but pointing back at the original PostgreSQL database) does not give me confidence that I understand enough about the process to put this in place in a real store depending on the software (hard drives die, machines die, networks change, various software versions migrate to newer versions, so on). I'd like to understand what goes on under cleanAll and loadDefault and equivalents if working through ofbiz instead of gradlew.
>  
> An alternate view of my question might read: Does "gradlew cleanAll loadDefault" have an equivalent using ofbiz's interface which might work in a uniform way regardless of which database is used? The information in README.md is minimal with regard to the right way to modify procedures when using a non-Derby DB.
>  
> Thanks!


Reply | Threaded
Open this post in threaded view
|

Re: Equivalent Steps for Creating Sample Data

taher
In reply to this post by stimits
Hello, inline...

On Mar 26, 2017 11:59 PM, <[hidden email]> wrote:

...
> cleanAll deletes everything as long as you are using an embedded
database> (default) otherwise you have to clean itup yourself.
...

This is the reason why I'm trying to better understand if loadDefault and
cleanAll have a series of smaller commands which are equivalent...I am not
using the embedded database, and those commands leave a non-working ofbiz
while not clearing out or resetting data in PostgreSQL. The README.md does
not say much about PostgreSQL.


You are right. Maybe we should mention in README.md that the cleanAll task
wipes out only the embedded database.


When configured to use PostgreSQL running "gradlew cleanAll loadDefault"
leaves ofbiz in a non-working state. Clearing out the ofbiz install,
running it with Derby and the default data makes ofbiz work again;
reconfiguring to once again use PostgreSQL succeeds, but the previous
experimental data changes are there, not the fresh demo data. This is
expected since gradlew commands have no concept of the XML database
configuration...only commands going through ofbiz itself would have any way
of talking to the database as configured in entityengine.xml. If I know
exactly what sub-steps cleanAll and loadDefault take I might be able to
clean out my PostgreSQL tables and load default sample data in PostgreSQL
with a standard mechanism which is repeatable. Manually dropping and
recreating a database or wiping out my install and starting from scratch
(but pointing back at the original PostgreSQL database) does not give me
confidence that I understand enough about the process to put this in place
in a real store depending on the software (hard drives die, machines die,
networks change, various software versions migrate to newer versions, so
on). I'd like to understand what goes on under cleanAll and loadDefault and
equivalents if working through ofbiz instead of gradlew.


What you are talking about here is what is referred to as OFBiz server
commands (also mentioned in README.md) as opposed to regular gradle tasks.
OFBiz commands are limited to a few things (start ofbiz, stop ofbiz, load
data, and run tests). You can get help on those using the command ./gradlew
"ofbiz --help"


An alternate view of my question might read: Does "gradlew cleanAll
loadDefault" have an equivalent using ofbiz's interface which might work in
a uniform way regardless of which database is used? The information in
README.md is minimal with regard to the right way to modify procedures when
using a non-Derby DB.


cleanAll deletes a bunch of files. Since Derby is an embedded database
deleting it is just a matter of deleting its files. loadDefault is an alias
for "ofbiz --load-data" which by default loads all data.

OFBiz cannot (and should not) have an equivalent command to cleanup a
standalone production environment database like postgres or mysql. Derby is
just a convenience embedded databaae for quick testing and development and
that's why cleanAll deletes its files. Other databases are used in
production and should not be altered from the build system. You just
initialize them once and off you go. This is not different from the way
most other web software frameworks / applications work for example.


Thanks!