It has long been difficult to share code in the FileMaker world. Traditional FileMaker coding styles made it difficult, and I think many of us old school FileMaker Devs still have pieces of “6 think” burned into our brains. As a result we never really developed the techniques or the culture that encouraged the sharing of code. However, recent versions of FileMaker have given us some new tools which can help us write code that is easier to share. Now we need to build on these new tools to further refine and develop the techniques, and built a culture and community centered on the sharing of FileMaker code. A new project and website, ModularFileMaker.org, is dedicated to that purpose.
Code re-use is not a new problem. But attempts to solve it in the past have often lead to large monolithic frameworks. These one size fits all, everything in there including the kitchen sink frameworks, have not been widely adopted outside of development shops that created them. I think the reason is simple. In order to use any of these frameworks, a developer has to adopt the entire FileMaker mindset of the developer who created the framework. Thats a lot to ask.
ModularFileMaker.org avoids the “too big to adopt” problem by being very small, and very focused. It provides a documented guideline for building and sharing small re-usable chunks of FileMaker code. It focuses on solving only the problems that inhibit sharing. Everything else is left to the developer. It has no solution wide naming conventions, graph organizational models, file architectures, or any other opinions on issues that don’t impact sharing.
We call these chunks of code, “modules” or “mFM Modules” ( ModularFileMaker Modules ). mFM Modules provide features like Navigation Bars, Transaction Frameworks, search utilities , SQL helpers, etc. These are all below the level of application or solution. Essentially any re-usable feature can become a mFM Module if it is organized according to the guidelines.
The website is now live. There are already several freely available modules just waiting for you use and improve. Hopefully, if the community gets inspired, someday maybe there will be hundreds of modules to choose from. Check it out!