On the 27th of January, we presented our first of two sessions for the Syteline User Group talking about IDO Custom Assemblies.

If you didn’t attend that coffee morning, but you want to know a bit more, this blog is for you!

 

What are custom assemblies?

Well, if you ask Infor, then you’d get the following answer…

”An IDO extension class is a .NET class that allows developers to extend the functionality of an existing IDO by adding methods and event handlers. IDO extension classes are compiled into a .NET class library assembly and stored in the IDO metadata database. The IDO runtime loads these assemblies on demand and calls methods and event handlers in the extension classes in response to IDO requests.”

We’d prefer to say that they are C# classes that can extend or add to SyteLine instead of using the traditional IDO method calls to the stored procedures.

Simple right?

We know some of you prefer a visual representation – so this might help make all the above a little clearer!

Image of how new assemblies work

 

So what does this mean?

There are some differences between the old way of customising SyteLine and this newer way of working. Whilst many people did have a soft spot for the stored procedure model (EXTGEN) there were many problems with that way of working. The code was all in SQL and you could cause yourself performance issues if the code wasn’t efficient. These EXTGENs were also dependent on Infor’s code, so if that changed there could also be issues. You were also restricted in terms of input parameters and you couldn’t create your own.

However, the new extension class model means you have a lot more flexibility. You’re able to create your own classes, you can change the input parameters and you’re not dependent on Infor’s code. However, you do need to know .NET, C# and SQL to be able to create them.

 

Why has this changed?

Infor have made no secret about wanting to move away from the EXTGEN model, it’s been the subject of conversation for quite a while. It makes sense because ultimately it makes it easier for everyone. Since the days of SyteLine being solely on a server on-premise, things have changed. We now have Cloudsuites and this move makes it easier for Infor to manage the code with less risks.

Of course, this means that a lot of redevelopment work needs to take place to move to IDO Custom Assemblies. For clients who have an extensive suite of EXTGEN modifications, this can feel like a large undertaking.

 

What tools and skills do I need?

When we hosted our session we presented a list of skills and tools that we felt that people needed to be able to be successful with this new way of coding. A lot of these will come as no surprise!

Tools

  • SyteLine/CSI (essential)
    • Microsoft Visual Studio Community Edition (essential)
    • SyteLine Software Development Kit [SDK] (essential)
  • Unit Testing Tools (not essential, but recommended)
  • Git/Bitbucket/Version control (not essential, but recommended)

 

Skills

  • C# coding (essential)
  • Knowledge of Mongoose/SyteLine (essential)
    • IDO & IDO methods
    • IDO properties
    • IDO tables
  • Visual Studio (essential)
    Database concepts & SQL (recommended)
  • Git/Bitbucket/Version control (recommended)
  • Coding principles and developer standard practices (recommended)

 

This might feel like a lot to think about, but as ever, there is a lot of support out there from Infor. There are two KBs which are important to have a look at, they are KB 2146483 and KB 2111942. These cover the code-out plan, the SDK and also a full list of all the changed objects including the stored procedures and other database objects.

If you’re looking for full documentation, then the SyteLine Extensibility Guide is a good place to look. This should be available on docs.infor.com. Infor Communities also gives a lot of information that could support you on your journey to creating more IDO Custom Assemblies. There are also some old PDFs which are from older versions which might be useful to review too!

 

If all this has wet your appetite for working with IDO Custom Assemblies more, the next session is planned for March and will cover a complete walkthrough of creating IDO custom assemblies.

To find out more about the upcoming session and to register, then you can find out more here

If you want to get some more support on this, then get in touch with us! We can either give you some training on how to do this, or work with you to develop what you need.