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_
} # a plain header for those pages that need it (the _pagebanner_ macro # will be set to this by the server for those pages. _plainbanner_ {} ####################################################################### # 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_?e=_compressedoptions_&cp=view} _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 page _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. 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_

} ####################################################################### # 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
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_

} ####################################################################### # Creating 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_
} ####################################################################### # 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_
} ####################################################################### # 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; if (form.bc1inputdir1.value.match(/^\\s*$/) && form.bc1inputdir2.value.match(/^\\s*$/) && form.bc1inputdir3.value.match(/^\\s*$/) && form.bc1inputdir4.value.match(/^\\s*$/)) \{ 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; \} \} } _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:





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_

Remember, you can always revisit a previous stage by clicking its yellow button.

_collectorbar_
} _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. } ####################################################################### # 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_
} ####################################################################### # Build page _bildcontent_ { <body bgcolor="#ffffff"> <p>You must have a frame enabled browser to view this.</p> </body> } _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.

} # 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) \{ document.collectorform.submit(); \} else \{ window.status = "Building status update in "+timer+" seconds"; timer--; setTimeout("count_down()",1000); \} \} } _bildstatuscontent_ {
_statusline_
} ####################################################################### # Error and message pages ####################################################################### _messagehead_ {
_iconblankbar_ } _messagefoot_ {

Return to the collector

_iconblankbar_

} _mkcolfailcontent_ { _messagehead_

Greenstone failed to create the directory structure required to create your new collection. Possible causes are:

_messagefoot_ } _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. _messagefoot_ }