source: TI01-discovery/trunk/OAIInfoEditor/README.txt @ 5256

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI01-discovery/trunk/OAIInfoEditor/README.txt@5256
Revision 5256, 4.1 KB checked in by cbyrom, 11 years ago (diff)

Add notes explaining rationale for editor.

Line 
1Prerequisites
2==================
3The following should be installed to run the OAI Info editor:
41. Python2.5 - see http://www.python.org/download/
52. Pylons - see http://docs.pythonweb.org/display/pylonsdocs/Installing+Pylons
63. Genshi - see http://genshi.edgewall.org/wiki/Download
74. OAIBatch - see http://proj.badc.rl.ac.uk/ndg/browser/TI01-discovery/branches/ingestAutomation-upgrade [or main trunk when things have been properly merged]
85. ndgCommon - see http://proj.badc.rl.ac.uk/ndg/browser/ndgCommon
9
10NB, it is easier to setup the prereqs by using easy_install - http://peak.telecommunity.com/DevCenter/EasyInstall
11- then you can just run, easy_install pylons, easy_install genshi, etc.
12
13Installation and Setup
14======================
15Once the prereqs are installed and the codebase is extracted to a local:
16
17i) Adjust the content of the config files in oai_info_editor directory as follows:
18
19development.ini
20- adjust the host and port settings appropriately
21- turn debug on/off
22- adjust logging level of server output (adjust the logger_root settings)
23
24editor.config
25adjust:
26
27[SERVERS]
28- server - NB, this should match the host and port settings in the development.ini file
29- mailserver - SMTP server for sending mails
30- proxyServer - proxy server to use, if required
31
32[DATA_STORE]
33- appDataFileName - name of the data file used to store the provider info in - NB, this
34is suffixed with '_provider_info_data.xml'
35- appDataFileDir - the directory, relative to the run directory, to store the
36change history data and any parser data files
37- backupFileDir - the directory, relative to the run directory, to store backups of
38the data files in the appDataFileDir
39- harvestDir - the directory to harvest OAI documents to
40
41[USER_LIST]
42- userIDs - include a list of user IDs which have access to the OAI Info Editor
43
44NB, each user ID should then have its own section - e.g. if userIDs is as follows:
45
46userIDs: calum bob fred
47
48there needs to be three futher sections, [calum], [bob] and [fred]
49
50- the content of these additional sections should include the following:
51- pw - the password matching the user ID
52- providerNames - a semicolon delimeted list of provider names that the user ID has
53view/edit access rights to.  NB, if the user can view/edit everything, providerNames
54should be set to the value, admin
55
56- e.g. for the above example:
57
58[calum]
59pw: gloopy
60providerNames: admin
61
62[bob]
63pw: bob
64providerNames: provider1
65
66[fred]
67pw: fred
68providerNames: provider2;provider3
69
70- calum is then an admin user and bob can view/edit provider1 info, whereas fred
71can view/edit provider2 AND provider3 info.
72 
73ii) Add a config file for the postgres DB used by the discovery service; this is required
74when documents are harvested via the editor - since once the harvest is complete, the
75data is automatically ingested into the discovery service.  The file should be in
76the oai_info_editor directory and be called, 'ingest.config'.  The contents should
77be of the format:
78
79databaseName hostName userName password portNumber
80
81(NB, portNumber is optional)
82
83iii) From the oai_info_editor directory, run:
84
85paster serve --reload development.ini
86
87
88Using the Editor
89------------------
90A help guide is available from the web app - click on the link, 'help' for detailed
91instructions on how to use.
92
93
94Tests
95------------
96A suite of unit tests is available under oai_info_editor/tests - the file, nostTests.py,
97in this directory, can be used to discover and run all the tests via the python nose module -
98just run it as a python app.
99
100
101 Further Notes
102-----------------
103i) The editor uses the OAIBatch codebase to do the ingest - using the same
104script, oai_document_ingester, that is used by the discovery service
105ii) NB, this work replaces the use of the jOAI harvester web app.  Although the jOAI codebase has
106an exposed java API to complete harvesting (which is used by this editor), in a consistent manner
107to the web app, it doesn't have any public API to curate the data contained by the web app.  Since
108the only additional functionality offered by the jOAI system was increased logging, and since this
109wasn't being used anyway, it was considered simpler just to write a new system to allow
110curation of provider info.
Note: See TracBrowser for help on using the repository browser.