Development with Infor LN Studio
Already since some years now there is Infor LN Studio available as a development environment for Infor LN. It’s an Eclipse installation, that has been enriched by Infor with some plugins. This development environment basically sits in front of the LN Tools environment. Instead of using the sessions Sessions, Table Definitions and so on, you are developing completely within Eclipse. The plugin provides forms for creating and modifying sessions, tables, scripts, messages. All you’re usually needing when doing LN development. Only for the form editor Eclipse is starting that “classic” DFE Windows application.
Three years ago I gave it a try and aborted that experiment rather quickly, because it was terribly unstable. However, I am currently the project manager of a rather large LN implementation and it looks like we’re going to handle large parts of the necessary development activities with LN Studio. So, it was time again to install it and check for it’s usability.
And I have to say, it’s pretty cool. (Did anyone claim that I would only rant on Infor?) There are a few features missing that I’d like to see implemented, but for regular development it’s looking really good:
Let’s start with the positive:
- There is syntax highlighting. One that works.
- There is code completion. You’re typing “tcibd001.”, CRTL+Space, and you get a dropdown list of all fields of the item master including the description. Pretty nice.
- A changed source is automatically compiled by the Studio upon saving it. The errors are immediately marked in the source code. You don’t have to close the editor, click compile, check the results, repoen the editor and jump to the erroneous source code line. This saves a lot of time.
- From a function that is used somewhere in a source you can easily jump to that source, where this funktion is defined. No more IT-per-hand-fumbling, that you usually have to do (remember the function, start a new Maintain Program Scripts, find the DLL, open the editor, start a find dialog, enter the function name.)
- The studio integrates nicely in the configuration management (an option to keep old versions of changed program objects, unfortunately used rather sparsely)
- and even more nicely into PMC.
- This means: Within LN Studio I am able to define a development activity, I can create all necessary software objects – sources, tables, sessions, domains and so on, I can test, debug, change, and do all my development work. When I’m done, and when everything’s working, I am able to check in all objects within the activity with a single action and create a solution to deploy the stuff to the live system. I enter a commit comment only once and not for every single object. Did work stable and reliable in my tests. When doing development the “classical way”, there is the need to either write down changed objects, or to immediately linkt them to a solution, or to fumble around with development projects and project parts. This is removed now, the solution with LN studio is exactly what is needed.
- The debugger works much more elegantly then the classic one. You’re seeing the stack, the contents of variables is already displayed when rolling over the variable with the mouse, local variables are also displayed in a list view.
- Really cute: Sources you need during debugging are automatically compiled into debug mode by studio in the background. (Need to have a source code license, of course). You don’t have to manually tear each DLL you want to analyse into the development VRC and compile it with the debugger on.
On the negative:
- The debugger is too slow. It might be some configuration issue at my side, I still have to check that. But as it’s behaving now, it’s too slow. From time to time it needs like 15 seconds between pressing “step” and the instruction pointer moving one line down. Something is not right there, like that, you can’t work in any productive way.
- I extremly dislike the design concept to hide the session scripts and DALs behind the session and the tables. In the hierarchical structure of the existing software components there is no access to “Scripts”, only to “Sessions”, “Tables” and “Libraries.” The session skript is but one tab amongst others defining the session. The DAL consequently one tab in the table editor. That’s simply not the way like LN is (partially) programmed, scripts can have a life of their own.
- What’s not hurting when you’re developing new software, but what makes the Studio partially useless when custumizing standard components, is the fact that that you can only access one version of a software object. So, for a changed standard script, you can only access the modified version, not the original (standard) one, which might be changed in the meantime eg by installing a solution. That makes merging customizations with a changed standard pretty impossible. My classical development based on JEdit is much more productive in that usage scenario.
These laste two issues are really critical if Infor LN Studio is used not only for new developmen, but also for maintainance. One is missing the oversight, you don’t really get a grasp on which scripts linger around in which environments, which ones are customized etc. This is much more easy to understand using the classical tools sessions. I’d really wish that Infor invests some more development bucks into these two issues – then the Infor LN Studio becomes a really nice piece of work.
What do you think? Have you worked with Infor LN Studio already? Do you want to use it or do you think it’s unnecessary clicky-dicky (since vi is all you really need!) I would be very happy to hear your comments! Right below there is enough space left!