Greenstone2 or Greenstone3

Greenstone3 is a complete redesign and reimplementation of the original Greenstone digital library software (Greenstone2). In general, we recommend using Greenstone3, however, in some circumstances Greenstone2 may be more suitable for your needs. The sections below present the advantages and disadvantages of the current distribution of Greenstone3 compared to Greenstone2.

If you have used Greenstone2 in the past, you will find that Greenstone3 works very similarly in many ways. For instance, you still use the same GLI to create and build collections in the same way. The only differences in building are internal software differences. As you begin to format and customize your collections and library, you will encounter more differences. If you are interested in moving your Greenstone2 collections to a Greenstone3 installation, you can find more information about it here.

Tutorials are available for both versions and are kept up-to-date for each release.

Advantages of Greenstone3

Greenstone3 retains all the advantages of Greenstone2—for example, it is multiplatform, highly configurable, and soon-to-be multilingual software. It incorporates all the features of Greenstone2, and is backwards compatible: that is, it can build and run existing collections without modification. Written in Java, it is structured as a network of independent modules that communicate using XML: thus it runs in a distributed fashion and can be spread across different servers as necessary. This modular design increases the flexibility and extensibility of Greenstone. Advantages of Greenstone3 include:

  • Distributed Computing Support It is easy for different Greenstone3 installations to communicate with each other and serve each others collections. SOAP connections allow the library to run in a distributed fashion.
  • Web Service Greenstone3 allows collections to be served in XML format over SOAP, which makes the information in Greenstone collections not only human-readable but also machine-readable.
  • Themes Greenstone3's default interface is built around JQuery themes, allowing you to completely change the color scheme of your library in seconds.
  • Interface Customization Greenstone3 replaces macros with XML and XSLT for customising the visual appearance of your collections. This affords users more power over the look-and-feel of collections. The library program generates page data in XML, which is converted to HTML using XSLT. All formatting is done using XSLT, so it makes it easier to customize than Greenstone2 in which some of the HTML is output by the library, and some by the macro files. It is very easy to get back the data in XML, if you want to use it for other purposes.
  • Development Greenstone3 is being actively developed, with new features being added and stability increasing all the time.
  • Berry Baskets Berry Baskets offer a way to gather documents of interest while browsing Greenstone collections. When you turn the facility on from the Preferences page, a basket appears in your browser window. Now, whenever you see a document that interests you, you can drag-and-drop it into the basket. Later, you can review the basket's contents, and cut-and-paste them into an email. (Note, the "Send email to a friend" button does not work yet. Also, it works best under Firefox, rather than Internet Explorer.)
  • Cross-Collection Search Cross-collection searching in Greenstone3 is provided across all collections by default. Collections are no longer required to have the same indexes, as the default index is used for each one. However, this means that you can't select which indexes to search, and search result ranking may not be valid as different indexers rank results differently.
  • Multiple sets of collections and multiple interfaces A single Greenstone3 installation can have multiple sets of collections and multiple interface definitions. Greenstone2, on the other hand, has a single collect directory, and a single set of macros. Greenstone3 has multiple "sites" each of which has its own collect directory, and multiple "interfaces" each of which has its own set of XSLT files. Any site can be served using any interface.
  • Addition of New Features The library runtime is written in Java and is modular, making it a lot easier to add new features should they be needed.

Disadvantages of Greenstone3

As Greenstone3 is still in its early stages of development, a number of problems and bugs remain. If your Greenstone2 collections do not work under Greenstone3, or if you are experiencing some unexpected behavior from Greenstone3, please read this list before contacting us.

  • Conversion of collect.cfg Greenstone3 still uses Greenstone2-style collect.cfg files internally, and converts these to Greenstone3-style XML files called colletionConfig.xml. Unfortunately, the conversion is not always perfect, and may cause some unexpected errors with your collection. As development continues, the conversions will get better. Eventually, Greenstone3 will work solely with collectionConfig.xml files, eliminating the need for this problematic conversion process.
  • Collections sometimes disappear after changes to format statements After changing a format statement in a collection, the collection may become unavailable. This is because the conversion of the collect.cfg file after the new format statement is introduced produces a collectionConfig.xml file containing malformed XML. A collection cannot be hosted in Greenstone3 without a valid collectionConfig.xml file, so the collection disappears from the library. The solution is to undo the edits which caused the problem.
  • Need to click preview after changes to format statements Unlike in Greenstone2, format statements are not applied automatically to their collections. To apply changes to format statements, you must click the 'Preview' button in the GLI to invoke an internal conversion script which applies the changes.
  • Nested ifs and ors At this stage, Greenstone3 can only handle if and or statements in its format strings which don't contain other if and or statements. If you try to nest if or or statements, some of the control characters (like the curly brace '{') will be interpreted as literal characters and will appear on the pages of your collection.
  • Refresh Error in the GLI After building a new collection in GLI, it may not appear in your Greenstone library. If this happens, check that your Greenstone Web Path is set correctly (File → Preferences… → Greenstone Web Path). For the default installation, this should be set to http://localhost:8080/greenstone3
  • Export to CD/DVD-ROM Exporting collections to CD-ROM and DVD-ROM is not supported in Greenstone3.