ARK Resolver
Table of Contents
1 Background
2 Description
Implementation of a local Name Mapping Authority (see Background) for ARK identifiers.
3 Location
host: ark.lib.uchicago.edu {source|executable}: /data/repository/ebin
4 Dependencies
configuration file: /usr/local/etc/yaws/yaws.conf
yaws.conf consists of the following:
logdir = /var/log/yaws ebin_dir = /data/repository/ebin
<server ark.lib.uchicago.edu> port = 80 listen = 128.135.53.128 docroot = /data/repository/yaws/docroot appmods = </ark:/61001, ark> dir_listings = false </server>
5 Productionize
5.1 Appmod
erlc ark.erl
5.2 Service
yaws -D --heart
after changes to the appmod:
yaws --load ark
the above should return:
[{module,ark}]
6 Notes
Observe differences in the version numbers in include file paths if developing on a different machine, e.g.,
-include("/usr/local/lib/erlang/lib/xmerl-1.3.7/include/xmerl.hrl"). -include("/usr/local/lib/erlang/lib/yaws-1.99/include/yaws_api.hrl").
as opposed to (for example)
-include("/usr/local/lib/erlang/lib/xmerl-1.3.8/include/xmerl.hrl"). -include("/usr/local/lib/erlang/lib/yaws-2.0/include/yaws_api.hrl").
Observe differences in location of SIP data, e.g.,
Prefix = "/data/repository/tr/", % mount -t nfs [host]:/export/repository /data/repository
as opposed to (for example)
Prefix = "/data/repository/ac/",
The appmod must reside on the same server as ark.lib. Modify the ark.lib alias as needed or modify the URLs in the SIP data appropriately.