ilscipio / scipio-erp

A scalable large-scale eCommerce framework that is made for multinational omnichannel installations and is easy to customize.
https://www.scipioerp.com
Apache License 2.0
335 stars 182 forks source link

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

Open exexzian opened 5 years ago

exexzian commented 5 years ago

is gradle or maven build system in plan?

pplx commented 5 years ago

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 commented 5 years ago

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 commented 4 years ago

I hope using maven build system. @pplx

HopscotchSen commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

Do you still have issues understanding the xml? If so, can i point you to our documentation?

https://www.scipioerp.com/community/developer/entities/ https://www.scipioerp.com/community/developer/services/ https://www.scipioerp.com/community/developer/views-requests/ https://www.scipioerp.com/community/developer/architecture/components/ etc?

HopscotchSen commented 3 years ago

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

madppiper commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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.