Anarchie Guide Source Code

1.6.1

Welcome to the Anarchie Guide source code distribution. Anarchie Guide was one of the first publicly available guides and I decided to make its source code available for two reasons. Firstly it is very hard to localise a guide without source code. Secondly there was no publicly available guide source code and I thought it would be a good chance to rectify that.

Since the initial release a number of developments have come about. Firstly I've revised Anarchie Guide a number of times to work with new versions of Anarchie. Secondly the Apple Guide SDK has been released, which contains all of the source code used to create the System 7.5 guide files. This second point has obviated the need for chunk of another Apple Guide sample code, so this release is primarily aimed at localisers.

Building Anarchie Guide

The Tools

To build Anarchie Guide you absolutely need GuideMaker. The version I used was 1.2.5, from the Apple Guide SDK. I do not have any newer versions and I can't confirm whether it will work with them.

You will need Think Pascal if you wish to change GenericContext 'extm'.

You will need AppleScript and the Script Editor in order to change any of the AppleScripts in the Scripts folder.

System 7.5 or higher is useful if you actually want to test any of this stuff!

Most of the guide source files were written using Tex-Edit, a tiny text editor written by Tom Bender. You should be able to open them in SimpleText, or any other editor you like, without any loss.

Running GuideMaker

  1. Run GuideMaker and choose Build from the Utilities menu.
  2. Click the Compile button.
  3. Choose the file "Anarchie Build File".
  4. When asked, say that you would like to create a new database.
  5. Name your database "Anarchie Guide".
  6. Wait a long time. It takes more than 10 minutes to build on my Duo 280c.

As you compile the code GuideMaker will spit out thousands of warnings about the 'Arch' context check module not being defined. This is normal. It seems that GuideMaker is not clever enough to know that Anarchie has a built-in context check routine (see below) and expects there to be a 'Arch' context check resource in the guide's resource fork. There is no way to get around this at the moment. While it is annoying (and causes you to miss other, more important, warnings) the resulting guide file works just fine.

Source Code Notes

I did all of my guide source files in Tex-Edit, and yes I have registered it! You may want to change the creator of all of these files to your preferred text editor. When I first created Anarchie Guide, I tried to edit the files in WriteNow but GuideMaker kept crashing while it was importing the files. I don't know whether this was the fault of GuideMaker 1.0b3c4, System 7.5b2, the Translation Manager or the DataViz translator I was using. With that much beta software it's really not worth trying to isolate it. The upshot of using a simple text editor is that I couldn't use any strange styles (other than the defined formats) in the text.

The files are roughly divided up into the following categories:

The "Anarchie Build File" is the main file for the guide. This file includes all of the other files.

I do context checking in Anarchie using Anarchie's built-in context check routines but I didn't have time to revise Internet Config to support such a thing. Instead I wrote the GenericContext 'extm', which is an external code resource that I use to do context checks in Internet Config. It seems to work quite well, although I wrote it well before I got proper documentation for writing 'extm's. I reverse engineered my interface using 'extm's in the Macintosh Guide.

The interface to the various context checking routines is documented in "Context Checks".

This current guide contains a lot of cut-and-paste programming. I would like to have used some sort of high-level language for writing the guide, perhaps a pre-processor for the more common sequences. Alas the tools were not available and I couldn't be bothered building them. Since that time high-level tools have been released and I would strongly recommend you use them, at least for the prototyping stage. Check out <http://www.guideworks.com> for a list of the cool tools available for Apple Guide work.

Before I started doing the cross-references (ie the ubiquitous "Huh?" buttons) you could compile each section separately by just commenting out the reference to the other sections in the "Anarchie Build File". Alas, this is no longer viable because the "Huh?" buttons regularly link across topics. If you were doing serious work with this source code it would be worth your while commenting out the "Huh?" links and building each topic separately. GuideMaker (at least my version) is slow.

Some of the pictures have their original ClarisWorks included to make editing them easier.

If you're seriously interested in Apple Guide, you should join the Apple Guide mailing list, hosted on one of Peter N Lewis' systems. See the Guideworks web site <http://www.guideworks.com> for details.

Wrap Up

Version History

Numerous versions labelled 1.0b? were distributed to Peter Lewis's beta testers list.

Version 1.3.0 was shipped with Anarchie 1.3.0, 1.3.1 and 1.4.0. The version was dated 2 Sep 1994, before System 7.5 shipped!!!

Version 1.5.0 was a release to support the new features of Anarchie 1.5.0.

Version 1.6.0 shipped with Anarchie 1.6.0 and was a major revision to support the many new features of that version. It also contained a number of bug fixes and I removed some topics because they were unsuitable for a guide.

Version 1.6.1 is simply a repackaging of 1.6.0 with some tidying up of the documentation.

Credits

Anarchie Guide is written by Quinn "The Eskimo!" <http://www.AnarchistTurtle.com/Quinn/WWW/>. I would like to thank Peter N Lewis <http://www.stairways.com.au> for putting up with my requests for Anarchie features to support the guide (and for changing the Preferences dialog in every new beta of Anarchie, thereby forcing me to get my item renumber procedure down pat). I would also like to thank all the beta testers who sent in comments and suggestions, especially Craig Richmond <http://flash.ecel.uwa.edu.au> for spending hours testing the thing.

Copyright

This distribution is copyright Quinn "The Eskimo!" except for the following:

Comments

I would appreciate any feedback you have about this source code distribution, or indeed about Anarchie Guide itself. Please contact me at the following Internet address:

Quinn <http://www.AnarchistTurtle.com/Quinn/WWW/>

Share and Enjoy.

Quinn "The Eskimo!"
<http://www.AnarchistTurtle.com/Quinn/WWW/>
Feb 1998