Customization-tracking tools and patch impact management

What are the tools you use to manage your various customizations (Mongoose Forms, IDOs, Reports; SSRS; SQL SPs, Tables, UETs, etc.)?

And how do you use them to assess patch impact?

I need to find a better way to manage all this and need your recommendations.

So far, I've been describing my customizations in an Excel (Google Sheets) file, in which each tab is a Form (at first) or a Customization (when several Forms/IDOs/SPs/etc. are involved).
This system is becoming messy, being live with CSI for one year already; it's not enough now, since:

  • there are too many tabs
  • the same Form may appear in several tabs
  • there's a second admin/developer now
  • I have a growing list of patches awaiting impact assessment and testing (too time-consuming and messy)
  • we're starting Phase 2, adding Factory Track, Multi-Site, QCS, probably Service, etc.; so new modules, new DBs...new problems!

We're using CSI 9.01.01 on-premise.

I've heard of Form Control; I've seen that Source Control tool can be linked to a User, and that Form Scripts can be automatically opened in Visual Studio (2013/2015).

What are the best options:

  • VisualStudio+GitHub for tracking?
  • FormSync, log-only mode for patches and any diff tool to assess patch impact?
  • Anything else? Where does Form Control come into play in all this?
Parents
  • I'm dealing with this right now & it's making me nuts. Infor hasn't really done much on the "developer side" to make these things easy for us (IMO). There's definitely going to be a bit of "roll your own" involved in any solution you come up with. (Tim's explanation is probably the best I've seen so far). Things I've seen/done/noticed/rambling in no order

    • FormControl by itself is "useless". It does offer you 'version control', just one version. If you tie your CSI configurations to a supported Source Code Control platform (SourceSafe (DONT), Subversion, Team Foundation). You can truly version control your Forms, Objects, etc. The downside is there is no way to track/group change sets. Yes, you're getting versioned copies but there isn't anything that groups them together. Another downside to FormControl is that only "sa" can run it unless you pay for Developer Licenses. Depending on how your environments are set up and the # of devs, this isn't going to work.
    • For SQL Server, we're attempting RedGate source control. It ties version control directly into SSMS and lets you version control your database schemas and/or data. The problem I've found w RedGate is it's only 32 bit & with the size of  Infor's structures it can take a LONG time just to check in/check out. dbForge has a similar issue, but they at least make their own stand-alone 64bit tools as well as 32bit add ons for SSMS.
    • For on-hand tools, this is what I have in my belt:
    • For assessing impact of patches, I use the "log first" option of the patch & read the logs. This way I at least have some idea of what it's going to change. Then using the various tools outlined, I do compares to find out the impact.
    • For Forms issues, I use the Export feature in the FormSync program not the Form. The program will export into XML which is substantially easier to read and/or edit.
      • When editing Forms always use Form --> Definition --> Design and then select the Form to edit. This prevents and "post load" events from firing and "polluting" your Form data.
      • Try to use the Object Explorer on the left hand side of the pane for finding Objects versus clicking on them inside the Form. Sometimes if you breathe wrong on a component, it thinks you changed it. This helps keep it to a minimum
    • The hardest one: Try to do your customizations in 'upgrade friendly' ways. Some suggestions:
      • Place a button to open a 'child form' that holds all your customizations
      • Use a GroupBox to contain all your customizations on a Form
      • If you have to modify Infor FormScripts, try to keep all your customizations in separate methods if possible (almost like an ExtGen) and insert a single method call in the Infor code to call your method.

    Ok, I think that's enough pre-coffee nonsense from me this morning :) If I think of anything useful I'll chime in :)

  • One other thing I forgot to mention:

    If you can get to 9.01.10/11/12, I believe Infor has implemented the 'upgraded' Extend And Replace for Forms. If it works "as advertised" it will allow you to extend an Infor Form (like a C# class), make changes to the Form but updates/upgrade won't get applied. they will get applied to the Vendor version of the Form. You'll still need to go through and fix your Forms but it might help make things more manageable.

    We're still trying to schedule our upgrades here.

Reply
  • One other thing I forgot to mention:

    If you can get to 9.01.10/11/12, I believe Infor has implemented the 'upgraded' Extend And Replace for Forms. If it works "as advertised" it will allow you to extend an Infor Form (like a C# class), make changes to the Form but updates/upgrade won't get applied. they will get applied to the Vendor version of the Form. You'll still need to go through and fix your Forms but it might help make things more manageable.

    We're still trying to schedule our upgrades here.

Children
No Data