Hopefully by now you have found your way to ModularFileMaker.org and have checked out the many FM modules available to bolt onto your database solutions. mFM has endeavored to create standards and best practices for writing portable code modules that allow developers to incorporate new functionality into their database applications. The focus is entirely on portability.
While you are visiting mFM, take a look at the modules I have authored:
- Propa-gator is a simple module for record creation. It allows you create a record in any context and set any number of fields in that new records. I wrote about this module in the MightyData blog as well.
- My second contribution to the library is Accounts. This module offers wide range of functionality related to the management of user accounts in a single or multi-file FileMaker solution. It is currently at version 1.3 and has benefitted hugely from community input.
Have you considered writing your own module and submitting it? If so, I say go for it. Even if your idea is already implemented, the library of modules will benefit from a variety of solutions to the same problem.
Before you begin your project, I thought I would share some tips for helping you get started and moving on developing a module:
- Read the guidelines. Believe it or not, there is not much to them, and they are just that – guidelines. The guidelines are there to help you structure your solution and begin to grok the mFM way of thinking.
- Float your idea to the community and ask for help. There is a Google group devoted to mFM. Check out the various convo threads or perhaps start your own.
- Download a few published modules to get an idea of how to structure your scripts.
- Check out some of Todd’s videos on the subject of modular coding in FileMaker here and here.
- Start. Maybe that seems obvious, but it is worth mentioning that once you start the project, if you are passionate about it, it will take on a life of its own. I probably put 40+ hours into Accounts. It was well worth it, as now I have feature rich and robust Account management module available to any customer solution with just an hour or so of integration work.
- Ship. Don’t let your project get to 95% and then stop. Get it out to the community. I got great feedback on the modules I released that made them vastly better. You can pretty much guarantee that you won’t think of everything.
- Ship version releases. Your 1.0 does not have to be customer production ready. (BTW, check out the readme in the Accounts module. I use the readme to track feature requests, bugs and a proposed development roadmap).
- Eat your own dog food. Once it is ready, integrate your module in a customer solution, following your own integration documentation. I was shocked at how awful my initial documentation was. And I discovered bugs and new features by putting the solution out in the wild. (Just make sure you can easily roll back the solution, in case your module really isn’t truly ready for production.)
- Keeping eating that dog food! Integrate into more customer solutions – each time will reveal new possibilities.
Well, I hope that has inspired you to contribute to the mFM cause. The FileMaker community needs your ideas and your development skills will benefit from the discipline it takes to plan, develop, ship and improve a FileMaker module. I would love to hear about your ideas or feedback on published modules – ping me here in the comments or on twitter (@darrenburgess).