package collector _imagethispage_ {_iconhcolect_} # _pagescriptextra_ will be set to the appropriate _***scriptextra_ # macro from within the server _pagescriptextra_ {} # this is just like the _gsimage_ macro but it calls the check_submit() javascript # function instead of linking directly to the page (_1_ argument isn't used) _gsjimage_ {_5_} _gsjimage_ [v=1] {_5_
} # _gstimage_ is also similar to _gsimage_ but is used where buttons occur in a sub-frame and # require target=_top _gstimage_ {_5_} _gstimage_ [v=1] {_5_
} # a plain header for those pages that need it (the _pagebanner_ macro # will be set to this by the server for those pages. _plainbanner_ {} # dont want links to "help" or "preferences" pages from within # collector _javalinks_ {_imagehome_} _javalinks_ [v=1] { _imagehome_
} ####################################################################### # icons _iconhcolect_ {the collector} _icongreyarrow_ {} _icongreyuparrow_ {} _iconstop_ {} _icongcinfoof_ {_textinfo_} _icongcinfoon_ {_textinfo_} _iconycinfoof_ {_textinfo_} _iconycinfoon_ {_textinfo_} _iconncinfoof_ {_textinfo_} _textinfo_ {collection information} _icongcsrceof_ {_textsrce_} _icongcsrceon_ {_textsrce_} _iconycsrceof_ {_textsrce_} _iconycsrceon_ {_textsrce_} _iconncsrceof_ {_textsrce_} _textsrce_ {source data} _icongcconfof_ {_textconf_} _icongcconfon_ {_textconf_} _iconycconfof_ {_textconf_} _iconycconfon_ {_textconf_} _iconncconfof_ {_textconf_} _textconf_ {configure collection} _icongcbildof_ {_textbild_} _icongcbildon_ {_textbild_} _iconycbildof_ {_textbild_} _iconycbildon_ {_textbild_} _iconncbildof_ {_textbild_} _textbild_ {build} _icongcviewof_ {_textview_} _icongcviewon_ {_textview_} _iconycviewof_ {_textview_} _iconycviewon_ {_textview_} _iconncviewof_ {_textview_} _textview_ {view} _icongcdelof_ {_textdel_} _icongcdelon_ {_textdel_} _textdel_ {delete collection} ####################################################################### # http macros _httpinfo_ {_gwcgi_?e=_compressedoptions_&cp=info} _httpsrce_ {_gwcgi_?e=_compressedoptions_&cp=srce} _httpconf_ {_gwcgi_?e=_compressedoptions_&cp=conf} _httpbild_ {_gwcgi_?e=_compressedoptions_&cp=bild} _httpview_ {_gwcgi_?a=p&p=about&c=_cgiargbc1dirname_} _httpdel_ {javascript:do_delete();} _httpicongcinfoof_ {_httpimg_/gcinfoof.gif} _httpicongcinfoon_ {_httpimg_/gcinfoon.gif} _httpiconycinfoof_ {_httpimg_/ycinfoof.gif} _httpiconycinfoon_ {_httpimg_/ycinfoon.gif} _httpiconncinfoof_ {_httpimg_/ncinfoof.gif} _httpicongcsrceof_ {_httpimg_/gcsrceof.gif} _httpicongcsrceon_ {_httpimg_/gcsrceon.gif} _httpiconycsrceof_ {_httpimg_/ycsrceof.gif} _httpiconycsrceon_ {_httpimg_/ycsrceon.gif} _httpiconncsrceof_ {_httpimg_/ncsrceof.gif} _httpicongcconfof_ {_httpimg_/gcconfof.gif} _httpicongcconfon_ {_httpimg_/gcconfon.gif} _httpiconycconfof_ {_httpimg_/ycconfof.gif} _httpiconycconfon_ {_httpimg_/ycconfon.gif} _httpiconncconfof_ {_httpimg_/ncconfof.gif} _httpicongcbildof_ {_httpimg_/gcbildof.gif} _httpicongcbildon_ {_httpimg_/gcbildon.gif} _httpiconycbildof_ {_httpimg_/ycbildof.gif} _httpiconycbildon_ {_httpimg_/ycbildon.gif} _httpiconncbildof_ {_httpimg_/ncbildof.gif} _httpicongcviewof_ {_httpimg_/gcviewof.gif} _httpicongcviewon_ {_httpimg_/gcviewon.gif} _httpiconycviewof_ {_httpimg_/ycviewof.gif} _httpiconycviewon_ {_httpimg_/ycviewon.gif} _httpiconncviewof_ {_httpimg_/ncviewof.gif} _httpicongcdelof_ {_httpimg_/gcdelof.gif} _httpicongcdelon_ {_httpimg_/gcdelon.gif} ####################################################################### # intro ####################################################################### _introscriptextra_ {} _introcontent_ {
_iconblankbar_

The Collector

The pen is mightier than the sword!
Building and distributing information collections carries responsibilities that you may want to reflect on before you begin. There are legal issues of copyright: being able to access documents doesn't mean you can necessarily give them to others. There are social issues: collections should respect the customs of the community out of which the documents arise. And there are ethical issues: some things simply should not be made available to others.
Be sensitive to the power of information and use it wisely.

_iconblankbar_

The Collector helps you to create new collections, modify or add to existing ones, or delete collections. To do this you will be guided through a sequence of Web pages which request the information that is needed.

First, you must decide whether to

    create an entirely new collection
    work with an existing one, adding data to it or deleting it.

_iconblankbar_

In order to build or modify digital library collections you must sign in. This is to protect you from others logging in to your computer and altering the information on it. Note: for security reasons you will be automatically logged out once a 30 minute period has elapsed since you logged in. If this happens, don't worry! -- you will be invited to log in again and can continue from where you left off.

Please enter your username and password, and click the button to sign in.
Name:
Password:

_iconblankbar_

} ####################################################################### # existing (Changing an existing collection page) ####################################################################### _existingscriptextra_ { function check\_submit (gotopage) \{ var form = document.collectorform; if (gotopage == "srce") \{ form.bc1esrce.value = "1"; \} if (gotopage == "conf") \{ form.bc1econf.value = "1"; \} form.cp.value = gotopage; form.submit(); \} function do_delete () \{ var form = document.collectorform; var i = form.bc1dirname.selectedIndex; var del = confirm ("Confirm deletion of " + form.bc1dirname.options[i].value + " collection?"); if (del) \{ form.bc1dodelete.value = "1"; form.submit(); \} \} } _changeexisting_ {

First select the collection that you want to work with (write protected collections won't appear in this list).
_fullnamemenu_

With the collection you have selected, you can
1. _gsjimage_( ,_collector:httpicongcsrceof_,_collector:httpicongcsrceon_,srce,_collector:textsrce_) Add more data and rebuild the collection
2. _gsjimage_(_,_collector:httpicongcconfof_,_collector:httpicongcconfon_,conf,_collector:textconf_) Edit the collection configuration file and rebuild the collection
3. _gsimage_(_collector:httpdel_,_collector:httpicongcdelof_,_collector:httpicongcdelon_,del,_collector:textdel_) Delete the collection entirely
} _existingcontent_ {

_iconblankbar_

Changing an existing collection

_iconblankbar_ _If_("_fullnamemenu_" eq "",

No write-enabled collections are available for modifying,_changeexisting_)

_iconblankbar_

} ####################################################################### # new (Create a new collection page) ####################################################################### _newscriptextra_ {} _newcontent_ {
_iconblankbar_

Creating a new collection

_iconblankbar_

The sequence of steps needed to create a new digital library collection is:
1. _iconncinfoof_ Specify its name (and associated information)
2. _iconncsrceof_ Specify where the source data comes from
3. _iconncconfof_ Adjust the configuration options (advanced users only)
4. _iconncbildof_ "Build" the collection (see below)
5. _iconncviewof_ Proudly view your handiwork.

The fourth step is where the computer does all the work. In the "building" process the computer makes all the indexes and gathers together any other information that is required to make things work. But first you have to specify the information.

_iconblankbar_

A diagram appears below that will help you keep track of where you are. The green button is the one that you click to carry on in the sequence. As you go through the sequence, the buttons will change to yellow. You can return to a previous page by clicking on the corresponding yellow button in the diagram.

When you are ready, click the green "collection information" button to begin creating your new digital library collection!

_collectorbar_
} ####################################################################### # info (Collection information page) ####################################################################### _infoscriptextra_ { function check\_submit (gotopage) \{ var form = document.collectorform; if (form.bc1fullname.value.match(/^\\s*$/)) \{ alert("Collection name must be specified"); form.bc1fullname.focus(); return; \} else if (form.bc1contactemail.value.match(/^\\s*$/)) \{ alert("Email address must be specified"); form.bc1contactemail.focus(); return; \} else if (!form.bc1contactemail.value.match(/^([^@]+)@(.+)$/)) \{ alert("Please specify email address in the form: usename@domain"); form.bc1contactemail.focus(); return; \} else if (form.bc1aboutdesc.value.match(/^\\s*$/)) \{ alert("Description of collection must be specified"); form.bc1aboutdesc.focus(); return; \} form.cp.value = gotopage; form.submit(); \} } _infocontent_ {
_iconblankbar_

Collection information

_iconblankbar_

When creating a new collection you need to enter some preliminary information about the source data. This process is structured as a series of Web pages, overseen by The Collector. The bar at the bottom of the page shows you the sequence of pages to be completed.

Title for collection:


The collection title is a short phrase used throughout the digital library to identify the content of the collection. Example titles include "Computer Science Technical Reports" and "Humanity Development Library."

Contact email address:


This email address specifies the first point of contact for the collection. If the Greenstone software detects a problem, a diagnostic report is sent to this address. Enter an email address in its full form: name@domain.

About this collection:


This is statement describing the principles governing what is included in the collection. It appears on the first page when the collection is presented.

_iconblankbar_

Your position in the sequence is indicated by an arrow underneath--in this case, the "collection information" stage. To proceed, click the green "source data" button.

_collectorbar_
} ####################################################################### # srce (Source data page) ####################################################################### # _fullnamemenu is set from within the server. If it's empty there are # no valid collections _fullnamemenu_ {} _srcescriptextra_ { var cloneval = _cgiargbc1clone_; function check\_submit (gotopage) \{ var form = document.collectorform; var found = 0; var i = 0; if (!form.bc1inputdir1.value.match(/^\\s*$/)) \{ if (!form.bc1inputdir1.value.match(/^\(http|ftp|file\):/)) \{ i = form.sel1.selectedIndex; form.bc1inputdir1.value = form.sel1.options[i].value + form.bc1inputdir1.value; \} found = 1; \} if (!form.bc1inputdir2.value.match(/^\\s*$/)) \{ if (!form.bc1inputdir2.value.match(/^\(http|ftp|file\):/)) \{ i = form.sel2.selectedIndex; form.bc1inputdir2.value = form.sel2.options[i].value + form.bc1inputdir2.value; \} found = 1; \} if (!form.bc1inputdir3.value.match(/^\\s*$/)) \{ if (!form.bc1inputdir3.value.match(/^\(http|ftp|file\):/)) \{ i = form.sel3.selectedIndex; form.bc1inputdir3.value = form.sel3.options[i].value + form.bc1inputdir3.value; \} found = 1; \} if (!form.bc1inputdir4.value.match(/^\\s*$/)) \{ if (!form.bc1inputdir4.value.match(/^\(http|ftp|file\):/)) \{ i = form.sel4.selectedIndex; form.bc1inputdir4.value = form.sel4.options[i].value + form.bc1inputdir4.value; \} found = 1; \} if (!found) \{ alert("At least one input source must be specified"); form.bc1inputdir1.focus(); return; \} form.cp.value = gotopage; form.submit(); \} function clone\_changed (changedto) \{ var form = document.collectorform; if (changedto != cloneval) \{ form.bc1clonechanged.value = 1; \} else \{ form.bc1clonechanged.value = 0; \} menuchange(); \} function menuchange () \{ var form = document.collectorform; var warnlist = new Array (_warnindex_); if (warnlist[form.bc1clonecol.selectedIndex] == 1) \{ alert ("The collection you are cloning has a non-standard input file\\n" + "format, and/or uses metadata specified in auxiliary files. If your\\n" + "new input lacks this information, some browsing facilities may not\\n" + "work properly."); \} \} } _srcenew_ {

Source data

_iconblankbar_

You can either create a completely new collection, or "clone" an existing one -- that is, base the structure of your new collection on one that exists already.

} _srceappend_ {

Add new data

_iconblankbar_

Adding data:

The files that you specify below will be added to the collection. Make sure that you do not re-specify files that are already in the collection: otherwise two copies will be included. Files are identified by their full pathname, Web pages by their absolute Web address. } _srcecontent_ {
_iconblankbar_ _If_("_cgiargbc1esrce_" eq "1",_srceappend_,_srcenew_)

Input source:

_typeselect_(1,file)
_typeselect_(2,http)
_typeselect_(3,ftp)
_typeselect_(4,file)
These specify where the source data is located. There are three kinds of location:
  • a directory name on your computer system (beginning with "file://"),
  • an address beginning with "http://" for files to be downloaded from the Web,
  • an address beginning with "ftp://" for files to be downloaded using FTP (file transfer protocol).
In each case, the collection will include all files of the appropriate type in the specified directory, in any directories it contains, in any directories they contain, and so on.

You can specify up to four different input sources. If you specify a filename, just that file will be included.

_iconblankbar_

Click one of the green buttons. If you are an advanced user you may want to adjust the collection configuration. Alternatively, go straight to the building stage. Remember, you can always revisit an earlier stage by clicking its yellow button.

_collectorbar_
} _typeselect_ {} _srcemenu_ {Clone existing collection
_fullnamemenu_
This pull-down menu specifies which collection you want to clone. The files in your new collection must be exactly the same type as those used to build the existing one. } ####################################################################### # conf (Configure collection page) ####################################################################### _confscriptextra_ { var changed = 0; function check\_submit (gotopage) \{ var form = document.collectorform; form.bc1cfgchanged.value = changed; form.cp.value = gotopage; form.submit(); \} function reset\_button () \{ document.collectorform.reset(); changed = 0; \} } _confcontent_ {
_iconblankbar_

Configure collection

_iconblankbar_

The building and presentation of your collection are controlled by specifications in a special "configuration file". Advanced users may want to alter the configuration settings.

If you are not an advanced user, just go to the bottom of the page.

To alter the configuration settings, edit the data that appears below. If you make a mistake, click on "Reset" to reinstate the original configuration settings.

_iconstop_ Reset

_collectorbar_
} ####################################################################### # bild (main frameset for build page) ####################################################################### _bildcontent_ {
<body bgcolor="#ffffff"> <p>You must have a frame enabled browser to obtain feedback on how the building process is progressing. The collection <i>will</i> continue to build as normal however. <table> <tr valign=center><td> To stop the building process at any time, click here. <br>The collection you are working on will remain intact. </td> <td><input type="submit" value="stop building"></td> </table> </body> } ####################################################################### # bildframe1 ####################################################################### # header overridden to allow base target to be set # also no page banner to maximise what we can fit in the frame without scrolling _bildframe1header_ {_cgihead_ _pagetitle_ _globalscripts_ _startspacer_ } _bildframe1header_[v=1] {_cgihead_ _pagetitle_ _globalscripts_ } _bildframe1scriptextra_ {} _bildframe1content_ {
_iconblankbar_

Build

_iconblankbar_

The collection is now being built: this might take some time. The building status line below gives feedback on how the operation is progressing.

To stop the building process at any time, click here.
The collection you are working on will remain intact.

If you leave this page (and have not cancelled the building process with the "stop building" button) the collection will continue to build and will be installed upon successful completion.

} ####################################################################### # bildcancel ####################################################################### _bildcancelscriptextra_ { function check\_submit (gotopage) \{ var form = document.collectorform; form.cp.value = gotopage; form.submit(); \} } _bildcancelcontent_ {
_iconblankbar_

Build cancelled

_iconblankbar_

The collection building process was cancelled. Use the yellow buttons below to make changes to your collection or restart the building process.

_collectorbar_
} ####################################################################### # bildstatus ####################################################################### # special header for status page _bildstatusheader_ {_cgihead_ _htmlhead_(background="_httpiconchalk_" onLoad="initialize();")_startspacer_ } _bildstatusheader_[v=1] {_cgihead_ _htmlhead_(onLoad="initialize();") } _bildstatusscriptextra_ { var timer = 5; function initialize() \{ setTimeout("count_down()",1000); \} function count_down() \{ if (timer==0) \{ window.status = ""; document.collectorform.submit(); \} else \{ window.status = "Building status update in "+timer+" seconds"; timer--; setTimeout("count_down()",1000); \} \} } _bildstatuscontent_ {
_statusline_
} ####################################################################### # bilddone ####################################################################### _bilddoneheader_ {_cgihead_ _htmlhead_(background="_httpiconchalk_")_startspacer_ } _bilddonescriptextra_ {} _bilddonecontent_ {

Collection built successfully.

_collectorbar_
} ####################################################################### # bildfail ####################################################################### _bildfailheader_ {_cgihead_ _htmlhead_(background="_httpiconchalk_")_startspacer_ } _bildfailscriptextra_ { function check\_submit (gotopage) \{ var form = document.collectorform; form.cp.value = gotopage; form.submit(); \} } _bildfailcontent_ {

An error has occurred while attempting to build your collection.
The build log contains the following:

_faillog_

_collectorbar_
} ####################################################################### # Error and message pages ####################################################################### _messagehead_ {
_iconblankbar_ } _messagefoot_ {

Return to the collector

_iconblankbar_

} _messagefootnolink_ {

_iconblankbar_ } _delpermissioncontent_ { _messagehead_

Some or all of the _cgiargbc1dirname_ collection could not be deleted. Possible causes are:

_messagefoot_ } _delinvalidcontent_ { _messagehead_

The _cgiargbc1dirname_ collection is protected or invalid. Deletion was cancelled. _messagefoot_ } _delsuccesscontent_ { _messagehead_

The _cgiargbc1dirname_ collection was successfully deleted. _messagefoot_ } _clonefailcontent_ { _messagehead_

The _cgiargclonecol_ collection cound not be cloned. Possible causes are: