Mountain Rose Herbs works with farms to produce high-quality consumer goods including teas, herbs, and spices. They have a sizable operation, employing a couple hundred people across a few facilities. Operations include processing agricultural products into consumables, handling orders, and shipping. They have an in-house IT team that manages everything from their forward-facing website to numerous internal solutions for their business logistics - and the latter is where we come in. MRH has some unique requirements when it comes to tracking their inventory and processing outgoing orders, so we have developed solutions that are custom-tailored to fir their needs.
We have two solutions in place on the MRH intranet: Inventory & Label Printing. Both have been in production for a number of years, and both are written on a foundation of PHP & MySQL, running on Apache on in-house Windows Servers, and available only on their internal network. At the time of the original development, the Laravel framework barely existed, and we were working primarily on our own proprietary PHP framework called Core. Time has marched on, Core never made it to release or open source phases, and Laravel matured. As of the time of this writing, the process to rewrite both MRH solutions on a modern PHP v7+ platform with Laravel and Voyager is underway.
Some of MRH's data store exists in a FileMaker database. Our applications needed to communicate with FileMaker, so we created ODBC DSNs using FileMaker DLLs to establish the link, and PHP's `odbc_connect()` to do the talking.
Over the lifetime of these projects, multiple printing suites have been utilized in-house. Originally TekLynx and now Bartender. Both required careful reading of documentation and meticulous testing to ensure that integrations are stable and robust.
MRH had very specific needs when it came to which parts of the interface could be accessed by which users. To accomplish the complex permissions capabilities, we developed both role-based and user-based permissions functionality.