About Anastasia 2.0
Version 2 of Anastasia, released in May 2003, is the result of a near-complete rewrite of the core routines underlying the program. The basic architecture of the program remains unchanged, and all files made with previous versions of the program will run without alteration, or with very little alteration. However, ‘under the hood’ almost everything is different. Our aim was to make Anastasia run securely and fast, in the most demanding server environments, with very large quantities of data. Here are some of the major differences:
- Support for XML is much improved. Anastasia formatting and search functions now expect (in default mode) that element and attribute names will be case-sensitive. However, Anastasia retains a relaxed model of XML conformancy. For example, we find that SDATA (see next) remains very useful.
- Anastasia now supports Unicode and UTF-8. Characters may be entered either as hexadecimal entities, or directly as UTF-8. By default, Anastasia will express all characters as UTF-8, greatly improving browser performance. The powerful SDATA facilities in Anastasia 1.0 are retained, to reach the parts which Unicode cannot. Searches for all Unicode characters are now enabled, including for Chinese and Japanese.
- GroveMaker is now parameterizable, to control more precisely the processing of source XML/SGML.
- Error notification is now written whereever possible to the output browser window, greatly aiding development of Anastasia scripts
- All memory routines have been completely rewritten, to improve Anastasia’s speed, its ability to cope with large quantities of data, and, above all, to render it as bullet-proof as possible. These routines include ‘failsafes’ to force an Anastasia process to exit if it is in danger of running out of control.
- The Anastasia reader no longer makes any use of the .sgp file. As a result this can be discarded once the .idx file is built. For CD-ROM distributions, this may save a great amount of disc space. It also allows developers to hide all the source XML, if they wish.
- The CD-ROM instance of Anastasia, for both Macintosh and Windows, has been tuned to make it easier to distribute books on CD-ROM. For example: users may now easily download all the software and books to their hard disk, or run Anastasia direct from the CD-ROM.
- Anastasia has been more tightly integrated with Apache, in both Macintosh and Windows modes, with consequent benefits to stability and speed. Text is now written progressively to the browser window as it is processed.
- The implementation of the Anastasia ‘AnaRead.cfg’ configuration files has been revised, to permit each book to have its own configuration file.
- The Anastasia server is now completely ‘dynamic’. In earlier versions you had to restart the server each time a book was added, deleted or updated. Now, you can add, delete or update any book at any time and Anastasia will read the new book without missing a beat.
- Anastasia now fully supports multiple books. You can search any book from any book, or extract data from any book and include it in any other book, right from inside the style files.
All this has not come entirely without a price. We have had to abandon the Macintosh Classic environment (after eighteen years of programming for it!) Finally, Classic just would not support the memory and server functions we needed. However, the compensation - the remarkable Macintosh OS X - is more than adequate.