Skip to content

Basic Concepts

Darryl Friesen edited this page Jan 3, 2020 · 5 revisions

Entry Types

Costanza categorizes each entry in the EZproxy config as one of 5 different types:

  • Comment -- notes, descriptions or explanations that do not affect how EZproxy functions
  • Directive -- any EZproxy directives that are not part of a stanza. These are typically directives that control how EZproxy works
  • Group -- used to organize multiple resources together in a block, typically for the purpose of restricting access to the entire set to a specific type of patron
  • Stanza -- known databases or resources. There is no need to manage the individual directives for a stanza as they are maintained by OCLC or the EZproxy community.
  • Custom Stanza -- stanzas that you yourself create for databases or resources not on the OCLC database list, and not contributed by others in the EZproxy community.

Each of these entries is color coded, making them easy to differentiate.

Storage Format

Costanza uses JSON formatted files to store the EZproxy configuration, rather than the plain text format used by EZproxy itself. This allows each entry in the configuration to be clearly defined, but still allows the information to be easily used and modified outside of Costanza.

One of the key features of Costanza is that, for known databases, it does not store the complete stanza in its configuration, but rather a reference to that database. For example, rather than storing these individual stanza directives (which could be updated by OCLC or the vendor at any time)

Title WorldCat.org
URL https://www.worldcat.org/
HJ https://worldcat.org
HJ www.worldcat.org
HJ worldcat.org
DJ worldcat.org

Costanza stores a JSON encoded entry that simply references which database should be included in your EZproxy config:

{
    "type": "stanza",
    "code": "OCLC_WorldCat_org",
    "name": "WorldCat.org",
    "active": false
}

When your configuration is exported from Costanza for use with EZproxy, each of these database references are replaced with the most up-to-date stanza for that database; your EZproxy config is therefore always kept current without the need for you to manually update known database stanzas.

Clone this wiki locally