Best editor for coding Openboxes

Hi jmiranda,
Thank you for sharing the openboxes and i really love your working.
I have read the document and try to install the application into my windows 10, it works great with tomcat and war file.
But i have some question if i want to run the directly the code, not war file :

  1. What is the best Editor to code openboxes
  2. How to run the code directly
  3. If i’m editing the file, how to re-compile that file fastest, so the new code can works in browser ?

Hope you can answer my questions.
Regards,
An

I use IntelliJ Idea Ultimate which has support for Grails but you need a monthly subscription to use it. The free Community version is also great but does not have built-in support for Grails.

If you don’t want to pay for a subscription I’d look at VS Code, Netbeans or IntelliJ IDEA Community version.

In order to run the code locally follow the instructions on the project README

Hi Justin, seem very hard to find out best free editor to working with grails 1.3.9 and SDK 1.7 for this moment.
The current system is very old and out of date. Do you have any idea to upgrade it, and how do it will take.
And i have another question is : openboxes is able to switch to use Postgres or Oracle or MSQL ?

Thank you.

Hi Justin, seem very hard to find out best free editor to working with grails 1.3.9 and SDK 1.7 for this moment.

VS Code or Netbeans should work fine. FWIW I can but don’t run Grails in Intellij IDEA. I run my development instances from the command line.

The current system is very old and out of date. Do you have any idea to upgrade it, and how do it will take.

We completed the upgrade to Grails 3.3.10 in the summer of 2019. But we had a lot of regression and refactoring that we’ve had to deal with. In addition, users are still requesting new features so our core development has caused delays with the upgrade process.

My hope is that it’ll be finished in the next 6-12 months, but I say that every time someone asks me. If we had more developers and/or funding we could probably get it done faster. Right now I’m working on it 10-15% of my time and I’d like that to be closer to 25-50%.

You can checkout the Grails 3.3.10 version of the code here. It’ll run locally using grails run-app or as a WAR deployed to Tomcat.

And i have another question is : openboxes is able to switch to use Postgres or Oracle or MSQL ?

Theoretically, OpenBoxes could work with Postgres, Oracle, MSSQL, etc. We use a database migration tool called Liquibase that creates DDL statements for the desired database state. Those migrations are supposed to be database-agnostic.

Unfortunately I think we’ve had to add a few MySQL-specific migrations in some areas. So these would need to be refactored to either be database-agnostic or to include additional changesets for the other databases we’d like to support.

You can see this ticket created back in 2015. Back then we didn’t have any MySQL-specific syntax in the database migrations or in the code, but since then we’ve definitely added a few changesets that would either be ignored or would break in another database.

FWIW, it would be pretty straightforward to run boot process with a data source that connects to another database to find out what needs to be refactored to get it to work with Postgres, Oracle, or MSSQL. If you’d like to take that on you could add the issues that need to be refactored to the ticket above.

Otherwise I’ll get to it once we get through the Grails 3 migration.

Hi Justin, Thank you for your answers, openboxes is so great and i have some other questions.

Can you suggest to me Netbeans version to works with openboxes. And do we need install some other plugins to work with grails ?

I have tried to run in VS code but it not show the highlight variables, function to click. Seem VS code not working well with groovy.

So if we using the openboxes with grails 3.3.10 at the moment, we don’t have any new features from 2019 up to now, is it correct ?

Best regards,
An

Can you suggest to me Netbeans version to works with openboxes. And do we need install some other plugins to work with grails?

I don’t have a specific answer for you. I would have assumed any version would work. The last version I used was NetBeans 8.2.

You could also take a look at the Grails docs to see if there’s anything useful in there with respect to IDEs.

https://grails.github.io/grails2-doc/1.3.9/guide/2.%20Getting%20Started.html#2.5%20Getting%20Set-up%20in%20an%20IDE

As for VS Code check out the following article and see if that helps.

Otherwise I’d recommend using IntelliJ IDEA if you’re serious about doing Grails development. It’s expensive ($14.90 per month) but worth it if you’re spending more than a few hours a day developing in Grails/Groovy.

I would email JetBrains about any discounts they might offer that you qualify for. I used their open-source license in the past, but decided to pay for my own user license since I wanted to use some of the other JetBrains products.

So if we using the openboxes with grails 3.3.10 at the moment, we don’t have any new features from 2019 up to now, is it correct ?

No, that’s one of the problems we’re facing. We’ve been rebasing the upgrade-to-grails-3.3.10 branch on top of our develop branch every few months which adds more migration work, more regressions and more refactorings. The application starts up, but there are just a lot of small bugs. For example, the dashboard loads but the menu is out of order, a lot of the indicators don’t have data and there are broken images in the breadcrumbs.

Hi Justin,

  1. I downloaded Netbeans 8.2 but it require SDK 8 or newer. But openboxes using SDK 1.7, so does it working ?

  2. If i checkout the upgrade-to-grails-3.3.10 branch, the step to installation will do the same as the old way, or we need to do some other else.
    image

  3. And grails 3.3.10 can run in SDK 1.8 or still in 1.7 version ?

  4. I see in the landing page, openboxes has a feature about Demand Forecast “Supports utilization and request (demand) tracking; Includes out-of-the-box reporting features for planning and warehouse management”. Can you point me which link to see that ?

  5. And openboxes also has feature “Can be integrated with barcode scanners and RFID receivers”. So do you explain how it works with the RFID receivers ? Do we need implement code to the RFID devices ?

Thank you Justin.
An

  1. The IDE might require Java 8 to boot, but you can configure each project to use a specific JDK from the Project Properties.

    Again, I run my development environment (grails run-app) from the command line so I don’t have any suggestions on how to get the application to run in NetBeans IDE.

    With that said I got Grails running in NetBeans (see next screenshot). But it fails at the React build step. So we’d just need to figure out why the React build is failing. I imagine it might be due to a path issue but I have no idea and don’t have time to debug at the moment. But feel free to play around and report your findings.

  2. Sorry we haven’t updated the README, I guess. Use Grails 3.3.10. It’s fairly easy to install and configure if you’re using SDKMan.

  3. Grails 3.3.10 requires JDK 8 and I believe it works with at least JDK 9 if not others.

    The Grails Framework 3.3.10

  4. We track consumption at the facility level (based on the requisitions processed and fulfilled by a facility). On the stock card, we calculate and display the average monthly demand (based on 12 months of consumption) and On Hand Months (On Hand Qty / Average Monthly Demand).

  5. I’ll need more information about your set up, but if you’re using an RFID sled with an Android device (like the Zebra TC-20) I believe it works just like a standard barcode reader. The sled will send data to whatever application / field is in focus.

    RFD2000 UHF RFID Sled | Zebra

    We are working on a React Native application (and very basic mobile UIs within the existing application) that will be more user-friendly for handheld users. The current UI assumes you’re working from a laptop or desktop.

    Here’s a quick demo of a proof of concept I was working on back at the end of February.

    https://youtu.be/9woo6A4oroU

Thank you very much Justin. I will try in my end and will give you a feedback later.

Best regards,

Hi Justin,

  1. I used Netbeans 8.2 but seem it not working well with grails, When CTRL + Click it not go to the Declaration file. Example i click on “org.pih.warehouse.shipping.Shipment” it do nothing.

=> Seem the configuration between grails 1 and 3 is difference. So if you can update the README on the branch upgrade grails 3.3.10 will very great !!!

  1. And i got an issue when running with grails 1.3.9 in windows. It creates 2 folder “putAway” and “putaway” in “target\classes\org\pih\warehouse\putAway” by 2 file PutAwayController.groovy, PutawayService.groovy because the package name is difference “putaway” vs “putAway”. But as you know in Windows, you can’t create same folder name so it will cause an error. Can you fix it ?

  2. Openboxes is great, but for some reason i dont’ want to show the “openboxes” in URL, do you have any way to do that ?

Thank you very much.

  1. Yeah I haven’t really used NetBeans in years. I usually get around using keyboard shortcuts like CTRL+N (IntelliJ) or CTRL+O (NetBeans). I can’t remember the last time I did a CTRL+Click to open a reference. However, it seems you should be able to do it so maybe do some research. I would recommend IntelliJ.

  2. Agreed.

  3. Can you create a ticket for this and I’ll try to fix it in 0.8.16.

    Issues · openboxes/openboxes · GitHub

  4. Thank you. Yeah we’re working on that in the Grails 3 branch.

    OBGM-141 Added context path handling by jmiranda · Pull Request #2253 · openboxes/openboxes · GitHub

I created a ticket here for the bug : Build problem with putaway ( both grail 1.3.9 and 3.3.10) · Issue #2293 · openboxes/openboxes · GitHub

1 Like