Why Text Files are a Good Idea

One of the initial design requirements of TaskForest was that it be easily configuriable with just a shell prompt and your favorite text editor. Many of the servers I administer are old boxes which I administer by logging into them via `ssh`. So when it came to designing job dependencies in Family files, I chose a text file representation. The benefits of text files over a graphical user interface for this are many:

- Easy Remote Access - All you need is the ability to get to a command line and a text editor on the machine that runs `taskforest`. With the such low client access requirements, virtually any old machine that has internet access and an `ssh` client can be used to administer the system. I have often worked on our `taskforestd` server from a local internet cafe using a Putty.exe downloaded minutes earlier.
- Mobile Access - Text files also make work relatively easy using a mobile ssh client like Idokorro Mobile SSH. A dedicated mobile client would be ideal, but short of that, the text file approach assures low bandwidth usage and easy-to-make changes.
- Flexibility - The simple, easily parseable format of text files allows us to build richer clients later that would use a graphical interface to specify relationships between jobs.
- Source Control - The text based format makes it easy to place the Family files under source control. You can also easily `diff` different versions of the same family file.
- Grep - When you have dozens of family files and hundreds of jobs, you may need to answer questions like: "Are we still running Job J1? It needs to be decommissioned." This can easily be answered by `grep`ping the Family files for job J1.