5 needs your technical documentation should address

Here at Nogalis we perform managed service for several dozen enterprise customers. Most of our customers are either using Lawson V10 on premise or Infor CloudSuite products in the cloud. Our customers vary in their level of complexity but they almost all have several custom interfaces that support the operation of their businesses. Most of these interfaces are built with IPA (Infor Process Automation) or with ION which are both Infor supported products. Here are some examples just to name a few:

  • Positive pay interfaces to banks
  • Invoice import interface
  • Vendor creation interface
  • Automated user provisioning
  • Employee benefits exports and imports
  • COBRA interface
  • Batch job automation
  • Invoice or Purchase Order Approval interfaces
  • Journal entry imports

And many more

Many of these interfaces were designed and developed years ago and have been modified several times since. Unfortunately, the same cannot be said about the documentation that was once made for them if any. In an upcoming webinar and subsequent article, I plan to discuss how to develop accurate, useful, and easy to maintain documentation. But in this article, I want to focus on the reasons why we need these documents because without knowing why we do something, we’re not likely to do it right. The reasons below serve as guidelines for our documentation:

Reason 1 – Supporting the interfaces. This is the primary reason for creating good documentation. The goal of the any documentation should be that anyone can read it from start to finish and be able to support the existing process when it breaks. Therefore, one of the first things we do for our new managed service customers is to create detailed documentation of all their interfaces on our DOCR documentation portal and give them access to it. You can see some examples here. What’s nice about storing these documents on a web portal is that there is a central place for keeping them updated that everyone can contribute to. For support reasons, we make sure that we have a troubleshooting and a recovery section in each of our interface documents.

Reason 2 – Updates and enhancements. We’re routinely asked to update and enhance existing interfaces. While we can dig through the entire code of the interface to find out what every piece does, it is always helpful if some documentation exists that has an overview of the different components of the interface.

Reason 3 – Change Control. As we make changes to interfaces over the years, it is important to document these changes for change control purposes. Having a web-based documentation portal makes it easy to do this as it is the only version of the document that exists, and it is always updated with the latest changes.

Reason 4 – Application upgrades. As we upgrade our large enterprise applications, we always must study the impact of the upgrade on any custom interfaces that we have. The only way to do this quickly is to review the documents and specifically focus on any sections focusing on dependencies, and general data flow. Having proper documentation during an upgrade process can make the difference between a 1 month upgrade and a 6 month upgrade.

Reason 5 – Training and new hires. We pride ourselves in our one-to-one client to resource ratio in our managed service group. That means that for every new managed service customer, we add at least one new member to our team. This new team member goes through a rigorous training that includes reviewing all existing client documentation. This is an indispensable tool for our team as well as any client newhires.

If you need help creating your interface documentation, or to subscribe to our DOCR documentation portal, please contact us here.

Building Serverless for Enterprise Applications

If you’re reading this, you must have already become curious about serverless computing or perhaps you just read our other article on the topic. There is no doubt that the future of computing will not have any traditional servers in it. In fact, I would venture to guess that by 2025, nearly every new development project will be a serverless project. This is not very hard to believe given that we at Nogalis have been developing all our enterprise applications for the past year using this paradigm and have yet to come up with a real reason to spin up a server.

There are a few things you need to understand about “Serverless” before you can start your project.

  1. Firstly, your current server-bound applications cannot run serverless without going back to the drawing board. In an ideal Serverless application, each request needs to stand on its own. Each request needs to process within a single function, verify itself and its caller’s authentication and permissions, run to completion, and set the states as needed. Your current application doesn’t do that. Your server is likely holding on to user sessions that have been authenticated and running so that it can handle the user’s next request. Without getting any more technical, the important things to understand is a “Serverless” application has to be designed and developed that way, it cannot be ported over magically. At least not today in 2019.
  2. Most, if not all enterprise applications deal with a database. AWS has made some great strides in the area of “Serverless” databases and at the current time (2019) offers two database options that are serverless:
    • Amazon DynamoDB – Amazon’s own NoSQL database service
    • Amazon Aurora Serverless – an on-demand, auto-scaling configuration for Amazon Aurora (MySQL-compatible edition), where the database will automatically start up, shut down, and scale capacity up or down based on your application’s needs.

It is obvious that if Microsoft, Oracle, and IBM want to remain competitive in the DB space, they will also have to offer Serverless versions of their database products or go the way of the mainframe. In the meantime, you can build a serverless application, that connects to a server-bound database in order to store its data. We won’t judge you.

  1. In a serverless environment, you don’t have any local storage. Because you don’t have a, ummm, server. So, you will need to figure out your storage as a part of your design. No more writing log file to d:\temp. This is one of the biggest reasons your current server-bound application can’t just go without a server. Luckily, AWS offers several API-enabled storage solutions to deal with this limitation. Our favorite is still S3 because of its ubiquitous edge availability, it’s incredible speed, it’s flexible use cases, and its many other advanced features.
  2. Last on my list is the method for accessing your compute logic. For this AWS provides their API Gateway which can trigger any of your functions with ease.

Of course, the items above are not the entire story. For instance, AWS SNS is a fully managed messaging service that you can use for messaging. Cloudwatch will help you with event monitoring and debugging. A whole host of applications exist that can help with nearly everything else. In the past two years of developing serverless applications, we have yet to have a need that we couldn’t eventually resolve with AWS available services. I say eventually because our developer brains were accustomed to think of every problem in a very server-centric way. Once you stop relying on the server to solve all your development challenges, you’ll think of some innovative ways to develop your applications that will surprise you.

If you’re considering developing a serverless enterprise application, we’d love to help. Please use the contact us page to make an appointment with someone on our team to discuss your serverless project.

Destination XL Group Selects Infor to Optimize Customer Engagement

Infor’s newest partnership is with Destination XL Group (DXLG), the industry’s leader in men’s big and tall apparel. This partnership allows DXLG to increase their market share and top line sales, improve customer segmentation and drive state-of-the-art marketing activities. Infor Alliance partner Three Deep Marketing will work alongside DXLG to leverage Infor’s rich breadth of customer engagement solutions to deepen relationships with existing and new customers by better understanding preferences around promotions, pricing and assortment. DXLG will implement Infor CloudSuite CRM, Infor Marketing Resource Management (MRM), Infor Omni-channel Campaign Management (OCM), and Infor Loyalty powered by CrowdTwist to provide relevant communications across all channels. “With Infor’s end-to-end customer engagement solutions, we can understand our customers better, produce rich and deep customer profiles and drive incredibly smart segmentation to connect and engage with our customers in a more meaningful and targeted way,” said Jim Davey, CMO of Destination XL Group. Infor’s Retail division now supports more than 2,500 global fashion, retail, and grocery brands that work to modernize operations by taking advantage of the latest consumer and business technologies — mobile, social, science and cloud.


For Full Article, Click Here

Infor and Mashfrog Join Forces for Fashion & Industrial

Infor’s latest channel partner is with Mashfrog, an IT and digital services company based in Italy. The partnership is designed to help manufacturers in both the fashion and industrial industries in Italy to modernize through technology and pursue digital transformation programs. Mashfrog will have access to the Infor CloudSuite Fashion (based on Infor M3) and combined with the company’s service delivery credentials, it will help local businesses to capitalize on digitization, drive performance and expand market share. “Infor’s continued innovation and cloud first strategy is impressive and we are delighted to join forces with them to consolidate our proposition for the Italian market,” comments Federico Zuin, Mashfrog Group CEO. “Fashion and apparel companies face huge challenges and complexity, but through making the best decisions about where to invest in digital capabilities, they stand to win market share in what has become a global mega industry. Infor’s cloud first strategy combined with deep domain functionality and industry expertise, together with our credentials, industry knowledge and experience in service delivery, mean that we have an impressive proposition to take to the Italian market.”


For Full Article, Click Here

Infor Helps Forever New in Digital Transformation to Take the Lead

Infor recently partnered with Australian-based fashion and accessories brand Forever New to transform its supply chain and warehouse management operations in order to remain agile in a dynamic retail industry. Forever New will leverage Infor’s Supply Chain Execution (SCE) and Intelligence Open Network(ION) solutions across its warehouses and supply chain to help cater to demand across its channels including in-store, e-commerce and drop-ship for online marketplaces. SNS, a global supply chain alliance partner, will assist in implementing the solution and will help streamline Forever New’s warehouse management operations. This allows for dynamic order processing capability and enhanced stock optimization with voice-based operations, activity-based billing, labor management, better inventory visibility and accuracy. “Forever New’s desire to be an agile retail player is matched by Infor’s drive to deliver finely-tuned, industry-specific capabilities in the cloud. We are committed to helping this new-age dynamic retail leader carve out new markets by continued innovation, and supporting their growth and digital strategy,” said Helen Masters, Senior Vice President and General Manager, Infor Asia Pacific.


For Full Article, Click Here

Best Practice to Load File into IPA

The Data Iterator node is commonly used to loop through records but it can also read a file into IPA. (For more on the Data Iterator Node, visit:

Based on the responses of seasoned IPA developers on the Infor/Lawson forums, the best way to ‘load’ in a file to an IPA flow is to use a FileAccess node followed by a DataIterator node. This speeds up the flow considerably as the FileAccess node would read the file into memory and then the DataIterator node can use the data from the memory instead of reading and closing the file multiple times.

First ‘load’ or ‘read’ the file into IPA using the FileAccess node. Then set DataIterator to process the Data (and not File) and set the source to be the FileAccess_outputData. This should noticeably improve the performance of the flow as the data is just being loaded into memory once by the FileAccess.


Upcoming Events June 2019

We are kicking off the summer with some exciting Lawson User Group Events!

NELUG 2019 Spring Virtual Meeting

Hosted by: Northeast Lawson User Group
When: Thursday June 6th, 2019  from 9:00 to 4:00 (US/Eastern)

Register Now!

Topics of interest to all Infor Lawson areas will be offered during this special event.

No travel, No hotel fees & No conference fees.

Participate in this conference without leaving your office.

The agenda & other details will be available in the near future.

Anyone how has a completed registration will receive the URL/Link to attand the sessions list below the day before this event as well as displayed on this event site page the day of.

MWLUG Summer 2019 Conference

Hosted by: Midwest Lawosn User Group
When: Tuesday June 18th – Thursday June 20th, 2019 from 7:00 to 5:00 (US/Central)
Where: St. Olaf College 1520 St Olaf Ave Northfield, MN 55057


One lucky attendee at the MWLUG Summer 2019 Conference will win a complimentary Infor Tech Ed 2020 registration ($1,800 value)!

Who else from your company is attending?  Click the colleagues tab to find out – If you know a colleague that would benefit from attending, let them know!

With nearly 60 sessions planned covering Human Capital Management, Enterprise Financial Management, Supply Chain Management, Technical, and General tracks –  including a Demo track this summer – you’ll have plenty of opportunities to learn and network during this conference!  But wait… there is even more…

Show & Tell!  The Midwest Lawson User Group, in partnership with RPI Consultants, are providing a day of Show and Tell.  Find details on the Show & Tell tab above.

Opening session will be held on Wednesday morning, June 19th, including important updates from Infor.

Join us Tuesday evening for an informal networking reception in the River Side Room of the Archer House in downtown Northfield. Relax with peers while enjoying appetizers and cocktails as we gear up for two spectacular days of conference sessions, networking and fun. The Archer House is located at 212 Division Street, Northfield, MN.  And stay for the trivia contest – show your smarts for prizes or stick around for the laughs!

The Grand Event Center is the site of this year’s MWLUG reception on Wednesday night.  The historic Grand building in downtown Northfield has been restored to resemble the original theatre that it was in the early 1900’s.  Join us for fun, food, drinks and entertainment at this premiere event location!  Prizes will be given away!  Located just 1 mile from St. Olaf in downtown Northfield.

Make sure to follow the Midwest Lawson User Group to stay up to date on upcoming meetings and educational opportunities.

Special thanks to our vendor sponsors this summer!

GOLD –  RPI Consultants, ClearSky, Velocity Technology Solutions, Dashboard Gear, Bails & Associates, MHC Software, Hyland Software, Inc, Cashbook

SILVER –  Kinsey, Ascend Software, iTK Technologies, JK Seva, Intellias, Avaap, Analysts, HyBridge Solutions, ROI Healthcare Solutions, Prodigo Solutions

BRONZE –  BSI, Emkat, GForce Technology Consulting, Huron

and a special Thank You to Infor and Digital Concourse!

If registering by June 14th, 2019 – 

  • Five people from each member company can attend at no charge. Each additional person from member companies will be billed and additional $50 per attendee.
  • The registration cost for attendees from non-member companies is $150.

2019 Membership dues need to be paid in order for “member” pricing to be available for your company.  If your company is not a member company, become one today!

If registering after June 14th, 2019 – 

  • Member companies will be $90 per attendee.
  • The registration cost for attendees from non-member companies will be $200.

Upcoming Meetings – save the dates:

  • September 23-26, 2019, Inforum in New Orleans
  • November 21, 2019, Fall meeting at HealthPartners
  • February 20, 2020, Winter meeting at HealthPartners

Follow us on Twitter @MWLUG

View/Register Here

IPA – LSF Server Configuration Recommendations from Infor

Infor Process Automation should be configured correctly to ensure proper functioning of other Lawson System Applications. Here are the official best practice IPA-LSF Server Configuration recommendations directly from Infor. (KB 1946828)

Recommended Configurations

  1. JT-973173

    This JT resolves a memory leak issue in the Event Manager Java Process. Not having this JT means the Event Manager Java Process will slowly grow in size and if left unchecked, can consume all RAM and even crash the LSF Server.

  2. Remove lpsMaxHeap=XXXXX and lpsMinHeap=XXXXX from LAWDIR/system/

    These settings are only required when using JNI.

  3. Set useLPSBridgeSocket=true in LAWDIR/system/

    NOTE: The use of the LPS Bridge Socket connection means LSF batch/online programs will no longer initialize a JVM, it will simply make a socket connection to the Event Manager process to make the request.

  4. Set Windows pagefile on LSF server to 32 GB


Additional Recommendations for Infor Cloud Clients

  • Verify and ensure that
  • NOTE: If this setting is not pointed at the internal domain, a grid session memory leak can occur in Event Manager on the LSF server
  • NOTE: Changes to this file should be made by executing pfserv config lps and they require a restart of LSF Process Flow and LSF Web Application Servers.

Additional Recommendations for LSF on LINUX

  • Ensure LSF JT-875069 is applied to the LSF system
  • Add “useLPSLocalServices=true” to LAWDIR/system/
  • Follow KB 1936921 which has two process definitions files used for synchronizing services from IPA/Landmark to LSF
  • In the GEN data area of the Landmark Rich Client, navigate to ConfigurationParameter BusinessClass and add: Component=ipa, Name=useRMIWebServlet, Value=true
  • Configure LSF to look at IPA Services in the LOGAN database instead of connecting to IPA. This requires LSF JT-875069 which allows you to add “useLPSLocalServices=true” in This also requires the use of a ServiceSyncFlow to move the services from IPA to LSF. To implement this procedure, please follow instructions on KB 1936921.

Infor Knowledge Base (KB) and Documentation Search Tips and Tricks

Troubleshooting Infor/Lawson issues can be tricky at times due to the scarcity of resources online. Finding an Infor specific solution through a standard Google search is usually fruitless. In these cases, the absolute best help usually comes from an Infor Knowledge Base (KB) article or actual Infor documentation as the instructions there are coming straight from the horse’s mouth.

Unfortunately, it can be quite tricky to use the search to find what you are looking for. Even when I know exactly what I’m looking for, I have seen the search results display wildly irrelevant articles. Even when I type the exact title of the KB article, the results sometimes do not show it.

Here are some tips and tricks to help you search through Infor’s Knowledge Base (Full article: KB 1182904)

  1. Do you know the ID Number?
    If you have the incident number, KB article ID, or Documentation topic ID on hand, there is no need to mess with search terms at all. Simply search the number and just the number itself to find your article.


  2. Try to favor Singular words over Plural in the Search Phrase
    Infor recommends using singular words in your search phrase for better search results.
  3. Using Wildcards in the Search Phrase
    There are two wildcard characters (* and ?) available to use in the search phrase to expand your results. Wildcard characters serve to complete a word when you are not sure of the entire word. Wildcard characters apply to single words and not the entire phrase.

    Asterisk (*): Adding this to a word will add zero or more characters to the word to look for all words that include the characters provided. For example, searching for term “account*” will return results that start with account but can end with any number of letters after account. Words such as accounts, accounting, accounted would all be included in the search results.

    Question mark (?): Adding this to a word will add one character to the word to look for all words that include the characters provided. For example, searching for term “?ate” will return results that end in ate but can start with any one letter. Words such as late, date, rate, gate would all be included in the search results. If it was an asterisk instead (*ate), words such as elucidate, satiate, plate would also be included.

    Note: if you use the * in a word in the search phrase and the search engine finds too many matches, you may get no results returned.

  4. Using Special Characters
    The only special characters that are considered by the search are:
    • slash (/)
    • dash (-)
    • underscore (_)

    All other special characters (such as !,@,#,$,&) will be replaced by a space when the search is performed. These are not searchable.

  5. Types of Searches
    If your search contains just one word, regardless of the setting of the Search Exact Phrase checkbox, an “Exact Phrase” search will be performed. Only those KB articles/Documentation topics that include the word, a form of the word, or a synonym for the word, will be included in the search result. If your search phrase is “execute”, you should expect to see KB articles/Documentation topics including: execute, executed, executing, run, runs, and running in the search result.

If your search contains more than one word and Search Exact Phrase = unchecked, an “All of the Words” search is performed. If there is at least one result that contains all of the words in the search phrase, then the results are displayed. If there are no results that contain all of the words in the search phrase, then an “Any of the Words” search will be performed and all of the KB articles/Documentation topics that contain at least one word in the search phrase will be displayed in the search result.

If your search contains more than one word and Search Exact Phrase = checked, an “Exact Phrase” search is performed. If there is at least one result that contains the exact phrase, then the results are displayed. If there are no results that contain the exact phrase, then an “All of the Words” search is performed. If there is at least one result that contains all of the words in the search phrase, then the results are displayed. If there are no results that contain all of the words in the search phrase, then an “Any of the Words” search will be performed and all of the KB articles/Documentation topics that contain at least one word in the search phrase will be displayed in the search result.

Refer to the Search Terms Match filter on the search result page to see what type of search was performed:

  1. Search Exact Phrase Checked vs Unchecked

    If Search Exact Phrase is selected:
• Automatic spell correction is not performed. The search terms are searched as-is.
• “Noise words” are not removed from the search phrase.

    If Search Exact Phrase is NOT selected:
• Automatic spell correction is performed. There will also be a “Search instead for” option to search the original phrase with no correction.
• “Noise words” are removed from the search phrase.

  • You can surround a word with double quotes (“”) to avoid auto spell correction and noise word removal.

    • The numbers zero through nine (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) are also considered noise words.
  • The individual letters of the English alphabet are also considered noise words.
  1. Infor General Recommendations
  • Use the Advanced Search options on the search criteria page only if you know for certain that the search result should include results with only those criteria.
  • On the search criteria page, select multiple product lines if you are unsure where an issue might originate.
  • When conducting a search, start with a simple search phrase and if too many results are returned, try adding more words to constrain the search result.
  • On the search result page, only use the filters on the right if you are certain that the search result should be filtered by those selections. If you are uncertain, you might consider modifying your search phrase.