Background

FileMakerStandards.org maintains a collection of "authorized" custom functions for use within the Best Practices covered on this site. Through collaboration and consensus, these functions are maintained using version control - which means they are simple text files of custom functions and not maintained within a FileMaker database (although this is possible). This allows for many different authors to modify and update their own custom functions, yet contribute them to these standards. Developers can also help other developers by making suggested changes - therefore improving the quality of the overall collection of custom functions.

Unlike sites such as http://www.briandunning.com/filemaker-custom-functions.com and http://fmfunctions.com/ where you never know when an author has updated a custom function to fix a bug or improve it's functionality, the version controlled functions managed by filemakerstandards.org does not contain duplicates, attempts to follow strong naming conventions, requires comprehensive documentation, uses class prefixes and groupings and allows for local control over your own custom functions.

Using Git & Github.com

Git is a Distributed Version Control System. The advantage to this system is that every person involved in making contributions, to a collection of code, can each maintain their own repository and multiple variations (known as branches). You can co-mingle the "authorized" custom functions with your own. You would do this within a branch of your own forked repository.

In order to start managing your own custom functions along with leveraging the "authorized" custom functions, you'll need to fork the master repository into one which you control. You do this by creating an account on github.com and then creating a fork of the master repository below. You may need to invest some time into learning about branches and making your own branch which includes a mix of your own functions plus the "authorized" ones and a "master" branch of your forked repository where you maintain any functions you have contributed which are accepted.

Master FileMakerStandards.org Custom Function Repository

The master repository for FileMakerStandards.org custom functions is hosted at FileMaker Standards Github Repository

Git GUI Tools

By default, everything that happens with Git happens at the command level. This typically means working on the command line within a console. However, there are GUI tools available to help with the process. Here are some of them.

If you strictly want to use a GUI tool then Tower for the Mac is a great client. If you're on Windows, you can try tortisegit - although I've not tried it myself.

For those who are more inclined to use the Terminal and simply want a repository management tool, then Gitbox on the Mac is a great solution (it's what I use). Ultimately, you will need to become familiar with Git concepts such as pull and push, but this tool will simplify the process of interacting with git repositories. If you want to read up on how to use git then start here at the Git Documentation

  • No labels

1 Comment

  1. Anonymous

    Just want to note that FMFunctions does actually track changes and always has - any time a function is reviewed / changed the author is forced to put notes in which are available publicly by pressing the "Version History" button next to the revision number e.g. http://www.fmfunctions.com/fid/302. This obviously isn't true change control as we don't track source changes but this is the level of change you have alluded to above.

    Whether or not an SVN / GIT level or change control on a custom function is overly relevant.... I don't know. I think the main issue you'll run into is essentially finding the functions you want and re-use of related required functions.

    Love what you're doing with this site generally.

    Cheers, Alex.