Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Gradle or maven build system as in ofbiz v16 #13

Open
exexzian opened this issue Jan 25, 2019 · 18 comments
Open

Feature Request: Gradle or maven build system as in ofbiz v16 #13

exexzian opened this issue Jan 25, 2019 · 18 comments

Comments

@exexzian
Copy link

is gradle or maven build system in plan?

@pplx
Copy link
Contributor

pplx commented Jan 25, 2019

Hello,

We had numerous discussions on the topic. It is certainly on the table (gradle more likely than maven), but I can't say much more at this time.

One issue is we honestly did not like what ofbiz did with gradle (at least at the time of 16/17 - we may review again at 18+ if anything has changed), so we may not want to copy as-is, or even anything about it, and make a design that fits the needs of Scipio and its userbase. A second issue is that the current system has been fairly reliable (save for some old jar rebuild detection issues - the occasional need to run 'clean build', which is the only known issue), as well as fairly fast, and has helped us manage complex 3rd-party library dependency problems (using Ivy). Several of the issues we fixed very thoroughly still exist in ofbiz, and the current system hasn't posed any real limitations to us developers so far (e.g. viewing java library sources, etc.).

Long story short, it's a possibility, but the implementation could be like temporarily moving backward, if you can imagine.


May I ask what is your interest in this topic? Do you need another build system for a specific purpose, or asking generally?

@madppiper
Copy link
Contributor

I just want to add that "Ivy" is already used by Scipio ERP, which happens to be a package manager for apache ant, our build tool (https://en.wikipedia.org/wiki/Apache_Ivy). Ivy is compatible to the maven central so you can still use the maven packages in your own projects.

@HopscotchSen
Copy link

I hope using maven build system. @pplx

@HopscotchSen
Copy link

Does the project have plans to build with spring boot?
There are a large number of entity definition XML files in the project. Do you consider replacing them with entity definition files?
@pplx @madppiper

@madppiper
Copy link
Contributor

There are currently no plans to switch to spring boot.

We are currently having some early-stage tests with our own set of Annotations that works similar to what Spring boot uses. Our hope is that they would replace the xml files in a future release. That being said, as it is early stage, there is nothing I could show you for the time being.

@HopscotchSen
Copy link

HopscotchSen commented Dec 3, 2019

Please consider replacing XML to make it easier to read and maintain.
I can't find more information about entity definitions, such as what does the following field configuration mean?

<field name="primaryKeyField" type="id-ne"></field>
I don't understand what "id-ne" means? Please tell me where can I find more about entity definition.

Entity definitions link
@madppiper

@madppiper
Copy link
Contributor

Yes. That's the idea behind our current work. I agree with you that XML is outdated for this.

"id-ne" is a sequenced primary key.

@madppiper
Copy link
Contributor

madppiper commented Dec 3, 2019

I can also recommend our IntelliJ IDEA integration: https://plugins.jetbrains.com/plugin/12108-scipio-erp-integration

It makes it a lot easier to navigate between the xml files. (Be aware, however, that the current release will be replaced by a paid version tomorrow. Though there is still a 30 day trial that you can use to test it all out.)

@HopscotchSen
Copy link

This is a good project, but the situation is difficult to read and maintain right now. I couldn't find more information about the entity definition details, such as "id-ne" you said.
@madppiper

@madppiper
Copy link
Contributor

Yeah, i understand. We are slowly adding documentation like that to the editor and we keep working on the documentation on the website as well. If you want to chime in, your contribution would be well appreciated.

@HopscotchSen
Copy link

HopscotchSen commented Dec 4, 2019

I want to join your team and contribute to this project, but after reading the code for a few days, it is difficult to understand the relationship between the entities and the meaning of the entity fields because the entity definitions are all in the XML file and there are no comments.
@madppiper

@HopscotchSen
Copy link

Hi, it's been a long time. I have been following this project, but I still can't fully understand the current design and processing. Is there any new progress in replacing XML?
@madppiper

@madppiper
Copy link
Contributor

Yes - still on the roadmap. Although replacing the build process with gradle is of lesser priority at the moment, as we are currently working on other bits of the architecture that will reduce large swaps of xml elsewhere :)

But it isn't like gradle isn't happening. It is. Just bigger fish to fry atm.

@madppiper
Copy link
Contributor

@HopscotchSen
Copy link

Can you provide ER diagrams or MySQL table structure files for analysis?
@madppiper

@madppiper
Copy link
Contributor

Sure, check out the "literature" list at the end of this page:

https://www.scipioerp.com/community/developer/entities/

Also: You can basically checkout the datamodel in its entirety via the entity viewer: https://ce.scipioerp.com/admin/control/entitymaint

@HopscotchSen
Copy link

I have read the attachment a long time ago, but I cannot visually analyze the entity relationship. Are there other relevant documents to help understand?

@madppiper
Copy link
Contributor

The PDFs at the end of the document i mentioned contains visual maps for specific usecases and displays the entities that play into that usecase including their relationship. So if you look for "Product Data", you will find an entire graph just for that.

Meanwhile, the entity viewer shows you the relationship once you select a specific entity (just click on "Reln"). If you want a dynamic graph, you can also try your luck with external tools. But remember: there are 800+ entities, all interconnected... so i think the PDFs i mentioned and our viewer are much better suited for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants