| What Is an ISMN? | Who Needs an ISMN? | How to Get an ISMN | Sitemap | FAQs | Contact | Print
  International ISMN Agency 


A New Database for the "Music Publishers'
International ISMN Directory"


Historical Introduction

Ending its ancient mainframe period in 1991, the International ISBN Agency changed its database to a user friendly client-server system. The server was a carefully tuned PC with gigantic memory of 16 MB and a vast harddisk of 1 GB running Oracle under Interactive Unix. The client application was a custom tailored programme for Apple Macintosh Computers under Mac OS 7.0 written in object-oriented Think C on top of Oracle client libraries. While the performance of queries was weak by today's standards, even with the size of the database barely approaching 200.000 publishers and in spite of numerous quirks owed to the Oracle client libraries for Mac OS and the scarcity of memory and cpu power on the Macs, all went well for years. In 1994 a new PC running a customized version of legendary TEX on the quite exotic operating system NeXTStep joined the ranks of the agency moving prepress in-house. In the same year, the International ISMN Agency was established door to door with the ISBN offices and was going to use the same hard- and software components for the database of the "Music Publishers' International ISMN Directory."

Then, one day in fall of 1998, disaster stroke. In the wake of an irreparable server hardware failure, dependency on commercial software licenses for Unix and Oracle reared its ugly head. The necessary standard software updates for a replacement of the server by up-to-date hardware would have cost at least four times the hardware price. Another solution had to be found.

Aligning the agency with strategic decisions in Munich at K. G. Saur Verlag in early 1999, server and clients were replaced by PCs running Microsoft Windows NT 4.0. The part of the old M-PIID database application was to be taken by dds (dynamic directory system), a flexible software, which had just been adapted for other directory projects in Munich based on the same database engine as Microsoft Access. While being exceptionally fast for queries, the database engine was lacking in other areas: sporadic data corruption unknown from the days of Oracle, size limitations quickly being approached by the growing number of publishers, and severe performance deficits on data entry and modification with multiple concurrent users. The application software, though specially adapted to the needs of the agency with much effort, also remained less than satisfactory and even fell behind the preceding system in multiple aspects. Some of the harshest grievances could be alleviated with Python scripts, especially for printing, data export, and marking of possibly duplicate entries, but an over-all deterioration of the user experience, e.g. no more global change operations, surrogate representations for characters with special diacritics, remained.

Thus, the development of a completely new M-PIID database software started in 2000. Learning from the 1998 experiences with licensing, only OpenSource software ought to be used (apart from the operating system) - call it a declaration of independence from greedy software vendors. After some detours and turbulences in the past two and a half years - "all is not gold that shines" applies to the OpenSource software community as well - as of October 2002 a beta version of the new software finally reached user testing while the fourth edition of the M-PIID was being prepared.

Application-Oriented Aspects

Publisher data is represented in Unicode, meaning no more cryptic surrogate representations for special characters. For restrictions see implementational aspects farther down.

Once again, like in the old days of the Oracle-based system,

  • publisher lists may be ordered by ISMN or, if ordered by publisher name, may be listed with references interspersed as they appear in the printed edition.
  • printing and exporting data is integrated into the application; so is counting publishers and ISMNs.
  • global changes in individual fields are possible.
  • search criteria may include aspects of ISMN e.g. number of ISMNs per publisher.
  • The user interface has been improved in various other ways. For example fulfilling a long-standing wish of expert users, nearly all recurring work steps can also be accomplished without resorting to a pointing device (aka mouse).

    The new system is extensible and further adaptable to the developing needs of the agency especially regarding the integration and unification of huge numbers of entries from the national agencies.

    Implementational Aspects

    The new software is being developed under MS Windows NT 4.0 and Windows 2000 and will probably run without changes on Windows XP too. Written in the scripting language Python using the cross-platform OpenSource programme library wxPython, it is relatively easily portable to Linux and, in the near future, Mac OS X.

    The PCs of the International ISMN Agency (Pentium III processors with 350-400 MHz, 128MB main memory, about 1GB free disk space) can handle up to 1 million publishers. More could be handled with additional memory and disk storage capacities. A faster processor would not be bad, either.

    The database implements a local replication architecture, thus avoiding server-bottlenecks for typical number of users (<10) and typical access patterns. The data storage is log-based, i.e. delete and modify operations are reversible. All historical entries may be recovered in case of user error or for comparison as long as log files are preserved.

    Regarding Unicode only simple Latin scripts are implemented so far. Support for Cyrillic and Han-Scripts could be added without too much additional programming. Bidi-scripts like Hebrew or Arabic, Latin scripts with multiple diacritical marks like Vietnamese, and scripts with multiple contextually dependent glyphic forms like Devanagari (or, again, Arabic) are currently not completely or correctly implemented in the underlying programme libraries and can therefore currently not be supported at adequate expense. Additional restrictions may apply to a Linux port.

    Axel Roepke, October 2002




    © International ISMN Agency, e-mail: