AUTOMATIC BACKUP AND RESTORE|
Because all changes are made to an on-screen log, there exists the possibility of loss of work due to a screen locking up or power failure. Quarterstaff occaisionally dumps the contents of the on-screen log into a backup file. If there is a problem, Quarterstaff automatically looks at the backup file so you can begin working where you left off.
Instead of writing info to the hard drive, such as new web pages, information, or photos, Quarterstaff puts those changes into a log on the screen. This is called the Change Log. This way you can go back and selectively undo certain actions. Want to change the name of a page? No problem. Don't need all that data after all? As easily done as said. And you don't have to undo all the intervening steps to fix that one typo.
Now this is nothing new to people used to using php, but now you can do it to the actual page, so you don't have to hog up processing time. You can set the background color based on the day of the week, or automatically set a table cell to the same size and width as the image it has in the background. Include entire blocks of text if the page is talking about an administrator as opposed to a contributor. Whatever.
Quarterstaff can be instructed to require certain files before building things. For example, all pages are considered in development until the developers click on the "Done" file. Then the pages get build automatically during the next cycle.
There are many ways to run external programs. You can enter the command into processes, so that the programs are a few clicks away, or automated at build time. There is an integrated tcl/tk shell so you can quickly execute another app to handle special situations. Or use the shell to enter a few quick lines of code.
You can set minimum and maximum sizes for images or absolute sizes. You can keep your work copy as big as possible, but shrink the actual copy just a little. You can change the name of images to be based on variables or their current directory. Append a count tag to duplicate names or just overwrite the files. Thumbnails can be generated on the fly, with the appropriate height and width tags piped in.
A pop-up window lets you enter in tcl/tk commands then send them to the interpreter. This way you can find out the status of internal variables, launch a new window, or run external programs and grab the return output.
MARKUP LANGUAGE SUPPORT
Quarterstaff is not an HTML generator, like say Netscape composer. Instead it organizes html blocks and lets you arrange them in pages, piping in content as necessary. It doesn't really care what the markup language is. When you are using markup tags on content, you only have to specify the beginning. The closing tag is figured automatically.
OUTPUT AND UPLOAD
Not everybody runs their website on the network they develop it on. Some people have a local server for testing the pages before uploading to the live site. Quarterstaff supports this by having an output path for the initial page creation, and a separate command for uploading the pages. It can even change content during the upload (like the document path of a php include). Of course both of these are easily configured, so whether you use ftp, scp, ssh, rsync, cp, or mv, Quarterstaff can handle it.
MULTIPLE USER INTEGRATION
Not only does Quarterstaff get its information from the current site status and the Change Log (the temporary on-screen log), but it can also read info from an external file. By simply pointing several users to the same file, everybody will be able to see changes as they occur, even though nothing has been changed on the actual site.
Need a text widget to wrap on the word instead of not at all? No problem, just right click on it and set it that way. Want all your buttons to be black instead of grey? You can change the entire class of buttons. Or create new classes and assign widgets to them. You can even save your current configuration as a theme. How about setting it up so that whenever you click on a certain button it launches your web browser? Or double-clicking in page window brings up your intranet's documentation on it? You can do all that.
EASY QUARTERSTAFF UPDATES
Since Quarterstaff is going to be updated frequently, especially over the next few months, I don't want you having to migrate your site into each new versions directory. You can point Quarterstaff to the latest tarball, and it will gunzip it, untar it, and integrate the latest files automatically.
I originally made Quarterstaff entirely in XF. For various reasons I had to move it out onto it's own. But I really like how easy it is to develop the gui for a new window in XF, so Quarterstaff includes a script that converts XF files into a window that Quarterstaff can use. So if you need a window for a special reason and can't wait for me to get to your request, it's real easy to make your own.