While I was preparing Malawi for the OpenLMIS 3.4 release I noticed that there is no way to initiate a requisition or view existing requisitions in the system. I checked and found out that the UI assumes that the new column which was added in OLMIS-4966 is always in the requisition template. In Malawi, this column does not exist in any template so the UI throws an error.
At first, we wanted to update the UI so it would stop assuming that the column is always in the template but after a short discussion at the problem, we decided that from now each requisition template should always have all available columns. It means if in the future we would need to add a new column we would need to remember to add the column to existing templates.
The main reason why we decided to do this in this particular way is that columns have some relations to each other, especially when we talk about calculated columns and it would add more complexity to the code because we would need to check at first if a column is in the template.
Furthermore, if a new defined column would not be added to existing templates it would be extremely difficult to add the column later because currently, this is possible only by API and we need to know about the column beforehand.
Another thing is that a requisition template created by the UI contains all available columns and if anyone would like to use the API he/she need to know exactly what to put into a request.
What are your opinions on this topic? Do you have any concerns? Do you feel like other approaches would be better?
SolDevelo Sp. z o.o. [LLC] / www.soldevelo.com
Al. Zwycięstwa 96/98, 81-451, Gdynia, Poland
Phone: +48 58 782 45 40 / Fax: +48 58 782 45 41