From: <aca...@us...> - 2007-08-30 11:44:04
|
Revision: 767 http://geonetwork.svn.sourceforge.net/geonetwork/?rev=767&view=rev Author: acarboni Date: 2007-08-30 04:43:53 -0700 (Thu, 30 Aug 2007) Log Message: ----------- Improved documentation Modified Paths: -------------- trunk/docs/lyx/admin-guide/admin-guide.lyx trunk/docs/lyx/admin-guide/images/-where.png trunk/docs/lyx/admin-guide/images/web-harvesting-gn.png trunk/docs/lyx/admin-guide/images/web-harvesting-list.png trunk/docs/lyx/server-reference.lyx trunk/docs/manuals/admin-guide.pdf trunk/docs/manuals/server-reference.pdf Added Paths: ----------- trunk/docs/lyx/admin-guide/images/web-harvesting-csw.png trunk/docs/lyx/admin-guide/images/web-harvesting-webdav.png trunk/docs/lyx/admin-guide/images/web-ownership-options.png trunk/docs/lyx/admin-guide/images/web-ownership-where.png Removed Paths: ------------- trunk/docs/lyx/admin-guide/images/web-harvesting-waf-ex.png trunk/docs/lyx/admin-guide/images/web-harvesting-waf.png Modified: trunk/docs/lyx/admin-guide/admin-guide.lyx =================================================================== --- trunk/docs/lyx/admin-guide/admin-guide.lyx 2007-08-30 11:42:08 UTC (rev 766) +++ trunk/docs/lyx/admin-guide/admin-guide.lyx 2007-08-30 11:43:53 UTC (rev 767) @@ -105,7 +105,7 @@ \align center \size larger -Revision 5 (19-Jul-2007) +Revision 6 (29-Aug-2007) \end_layout \begin_layout Standard @@ -161,7 +161,7 @@ \begin_layout Itemize \series bold -web +Web \series default \series bold @@ -184,6 +184,10 @@ or that perform special tasks better done in a separate tool. \end_layout +\begin_layout Standard + +\end_layout + \begin_layout Part Web interface \end_layout @@ -1240,14 +1244,19 @@ to be able to perform a search over all these nodes at the same time. This is called distributed search and exploits the Internet connectivity. In our cases, this distributed search can be heavy to perform if there - are many maps with associated thumbnails Furthermore, GeoNetwork is usually - employed in countries (like Africa, Brazil) where the connectivity is bad, - making the use of distributed search not feasible. + are many maps with associated thumbnails. + Furthermore, GeoNetwork is usually employed in countries (like Africa, + Brazil) where the connectivity is bad, making the use of distributed search + not feasible. \end_layout \begin_layout Standard -The harvesting is the process of collecting remote metadata and storing - them locally for a faster access. +The +\series bold +harvesting +\series default + is the process of collecting remote metadata and storing them locally for + a faster access. This is a periodic process to do, for example, once a week. Harvesting is not a simple import: local and remote metadata are kept aligned. Using some @@ -1259,18 +1268,27 @@ \end_layout \begin_layout Standard -GeoNetwork is able to harvest from the following sources: +GeoNetwork is able to harvest from the following sources (for more details + see below): \end_layout \begin_layout Itemize -Another GeoNetwork node +Another GeoNetwork node (version 2.1 or above). \end_layout \begin_layout Itemize -A web accessible folder from the Internet. - This is a simple page with links to xml files that represent the metadata. +A web DAV server. + \end_layout +\begin_layout Itemize +A CSW 2.0.1 server. +\end_layout + +\begin_layout Itemize +An old GeoNetwork 2.0 node. +\end_layout + \begin_layout Section Mechanism overview \end_layout @@ -1317,14 +1335,178 @@ \end_layout \begin_layout Standard -These two concepts allow GeoNetwork to fetch a remote metadata, to check - if it has been updated, to remove it locally if it has been removed remotely. +These two concepts allow GeoNetwork to fetch a remote metadata, check if + it has been updated and remove it locally if it has been removed remotely. Furthermore, thanks to uuids, a hierarchy of harvesting nodes can be built where B harvests from C and A harvests from B. Even loops can be created because harvested metadata cannot be modified. \end_layout \begin_layout Section +Harvesting lifecycle +\end_layout + +\begin_layout Standard +When a harvesting node is set, there is no harvested metadata. + During the first run, all remote matching metadata are retrieved and stored + locally. + After the first run, only changed metadata are retrieved. + Harvested metadata are not editable for the following reasons: +\end_layout + +\begin_layout Itemize +The harvesting is periodic so any local change to harvested metadata will + be lost during the next run. +\end_layout + +\begin_layout Itemize +The change date is used to keep track of changes so if it gets changed outside + the originator site, the harvesting mechanism is compromised. +\end_layout + +\begin_layout Standard +Beside the metadata itself, this implies that users cannot change all other + metadata properties (like categories, privileges etc...). +\end_layout + +\begin_layout Standard +The harvesting process goes on until one of the following situations arises: +\end_layout + +\begin_layout Itemize +An administrator stops (deactivates) the node. +\end_layout + +\begin_layout Itemize +An exception arises. + In this case the node is automatically stopped. +\end_layout + +\begin_layout Standard +When a harvesting node is removed, all harvest metadata are removed too. +\end_layout + +\begin_layout Section +Multiple harvesting and hierarchies +\end_layout + +\begin_layout Standard +Catalogues that provide uuids for metadata (for example GeoNetwork and a + CSW server) can be harvested several times without having to take care + about metadata overlap. + This allows the possibility to perform a thematic search and a metadata + belonging to multiple searches is harvested only once and not duplicated. +\end_layout + +\begin_layout Standard +This mechanism allows the GeoNetwork harvesting type to be combined with + other GeoNetwork nodes to perform hierarchical harvesting. + This way a metadata can be harvested from several nodes. + For example, consider this scenario: +\end_layout + +\begin_layout Itemize +Node (A) has created metadata (a) +\end_layout + +\begin_layout Itemize +Node (B) harvests (a) from (A) +\end_layout + +\begin_layout Itemize +Node (C) harvests (a) from (B) +\end_layout + +\begin_layout Itemize +Node (D) harvests from both (A), (B) and (C) +\end_layout + +\begin_layout Standard +In this scenario, Node (D) will get the same metadata (a) from all 3 nodes + (A), (B), (C). + The metadata will flow to (D) following 3 different paths but thanks to + its uuid only one copy will be stored. + When (a) will be changed in (A), a new version will flow to (D) but, thanks + to the change date, the copy in (D) will be updated with the most recent + version. +\end_layout + +\begin_layout Section +General notes and issues +\end_layout + +\begin_layout Subsection* +General +\end_layout + +\begin_layout Itemize +The harvesting engine does not store harvesting results. + This implies that if the server is restarted the last results are lost. +\end_layout + +\begin_layout Itemize +Changes to the harvesting parameters (for example privileges and categories) + are taken into account in the next harvesting run. +\end_layout + +\begin_layout Subsection* +GeoNetwork harvesting type +\end_layout + +\begin_layout Itemize +During harvesting, site icons are harvested and local copies updated. + Icons are propagated to new nodes as soon as these nodes harvest from this + one. +\end_layout + +\begin_layout Itemize +The metadata uuid is taken from the info.xml file of the MEF bundle. + Any uuid stored inside the metadata will be overwritten with this one. +\end_layout + +\begin_layout Subsection* +WebDAV harvesting type +\end_layout + +\begin_layout Itemize +The same metadata could be harvested several times by different harvesting + nodes. + Anyway, this is not a good practice because every copy of the metadata + will have a different uuid and the system will fill with different copies + of the same metadata. +\end_layout + +\begin_layout Subsection* +CSW harvesting type +\end_layout + +\begin_layout Itemize +If the +\family sans +\series bold +dct:modified +\family default +\series default + element is missing from the +\family sans +\series bold +GetRecords +\family default +\series default + response the metadata will be always harvested. +\end_layout + +\begin_layout Itemize +Any exception during +\family sans +\series bold +getRecordById +\family default +\series default + operation is discarded and the metadata skipped. +\end_layout + +\begin_layout Section The main page \end_layout @@ -1536,7 +1718,7 @@ \labelwidthstring 00.00.0000 \series bold -Start +Activate \series default When a new harvesting node is created, it's status is \emph on @@ -1554,11 +1736,12 @@ \labelwidthstring 00.00.0000 \series bold -Stop +Deactivate \series default - Stop harvesting from a node. + Stops harvesting from a node. Please notice that this does not mean that a currently running harvesting - will be stopped but it means that this node will be ignored in the future. + will be stopped but it means that this node will be ignored during future + harvestings. \end_layout \begin_layout List @@ -1955,24 +2138,46 @@ \InsetSpace ~ \series bold -folder +DAV \series default - This is a weak protocol because the remote server does not offer harvesting - facilities. - Nevertheless, it can be usefull to users that want to publish their metadata - through a web server. - The protocol exploits the file list page returned by many web server when - trying to access a page without an index file. - Because this page contains file names, change dates and links, GeoNetwork - is able to download them and keep them updated. - Figure -\begin_inset LatexCommand \ref{fig:harvesting-waf-example} + This harvesting type uses the web DAV (Distributed Authoring and Versioning) + protocol to harvest metadata from a DAV server. + It can be useful to users that want to publish their metadata through a + web server that offers a DAV interface. + The protocol allows to retrieve the contents of a web page (a list of files) + with their change date. +\end_layout -\end_inset +\begin_layout List +\labelwidthstring 00.00.0000 - shows an example of web accessible folder generated by the Apache web server. +\series bold +CSW +\series default + CSW stands for Catalogue Services for the Web and it is a search interface + for catalogues developed by the Open Geospatial Consortium. + GeoNetwork is compatible with version 2.0.1 of such protocol. \end_layout +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Old +\series default +\InsetSpace ~ + +\series bold +geonetwork +\series default + GeoNetwork 2.1 introduced a new powerfull harvesting engine which is not + compatible with the old one present in GeoNetwork 2.0. + Old 2.0 servers can still harvest from 2.1 servers but a 2.1 server needs + this harvesting type to harvest from old 2.0 servers. + This harvesting type is deprecated and only kept until GeoNetwork 2.1 will + be widely spread. +\end_layout + \begin_layout Standard The drop down list shows all available protocols. Pressing the @@ -2022,37 +2227,6 @@ \end_layout -\begin_layout Standard -\align center -\begin_inset Float figure -placement tb -wide false -sideways false -status open - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/web-harvesting-waf-ex.png - -\end_inset - - -\end_layout - -\begin_layout Caption -\begin_inset LatexCommand \label{fig:harvesting-waf-example} - -\end_inset - -An example of a WAF page generated by the Apache web server. -\end_layout - -\end_inset - - -\end_layout - \begin_layout Subsection* Adding a GeoNetwork node \end_layout @@ -2061,7 +2235,7 @@ This type of harvesting allows you to connect to a GeoNetwork node, perform a simple search as in the main page and retrieve all matched metadata. The search is usefull because it allows to focus only on metadata of interest. - Once, you add a node of this type, you will get a page like the one shown + Once you add a node of this type, you will get a page like the one shown in figure \begin_inset LatexCommand \ref{fig:harvesting-gn} @@ -2074,7 +2248,6 @@ \begin_layout Standard \align center \begin_inset Float figure -placement t wide false sideways false status open @@ -2108,8 +2281,8 @@ \series bold Site \series default - Here you put information about the GeoNetwork's node you want harvest from - (host, port and servlet). + Here you put information about the GeoNetwork's node you want to harvest + from (host, port and servlet). If you want to search protected metadata you have to specify an account. The \family sans @@ -2131,42 +2304,36 @@ in the main page. Before doing that, it is important to remember that the GeoNetwork's harvesting can be hierarchical so a remote node can contain both its metadata and - metadata harvested from other nodes. - Therefore, any search is limited to a site id. + metadata harvested from other nodes and sources. At the beginning, the \family sans \series bold -Site +Source \family default \series default - -\family sans -\series bold -name -\family default -\series default drop down is empty and you have to use the \family sans \series bold -Retrieve +Retrieve sources \family default \series default button to fill it. - The purpose of this button is to query GeoNetwork about all sites which + The purpose of this button is to query GeoNetwork about all sources which it is currently harvesting from. - Each entry has a number in parenthesis which is the number of metadata - that the remote note has harvested from the other node. - Once you get the drop down filled, you can choose a site name and press - the + Once you get the drop down filled, you can choose a source name to constrain + the search to that source only. + Leaving the drop down blank, the search will spread over all metadata (harveste +d and not). + You can add several search criteria for each site through the \family sans \series bold Add \family default \series default - button to create a new search entry that searches on that site. - You can add only one search box for each site. + button: several searches will be performed and results merged. Each search box can be removed pressing the small button on the left of the site's name. + If no search criteria is added, a global unconstrained search will be performed. \end_layout \begin_layout List @@ -2193,60 +2360,122 @@ \labelwidthstring 00.00.0000 \series bold -Create +One \series default \InsetSpace ~ \series bold -groups +run \series default - When importing metadata, privileges for the Intranet and Internet groups - are kept. - The other privileges are kept only if a mapping is possible. - For each remote group, if there is a local group with the same name then - the privilege is kept. - If this option is checked, local groups will be created to keep privileges - of the remote ones. +\InsetSpace ~ + +\series bold +only +\series default + If this option is checked, the harvesting will do only one run after which + it will become inactive. \end_layout +\end_deeper \begin_layout List \labelwidthstring 00.00.0000 \series bold -Create +Privileges \series default -\InsetSpace ~ + Here you decide how to map remote group's privileges. + You can assign a copy policy to each group. + The +\family sans +\series bold +Intranet +\family default +\series default + group is not considered because it does not make sense to copy its privileges. + The +\family sans +\series bold +All +\family default +\series default + group has different policies from all the others: +\end_layout +\begin_deeper +\begin_layout Itemize + \series bold -categories +Copy \series default - If a remote category exists locally, the metadata-category association - is kept, otherwise is discarded. - If this option is checked, GeoNetwork will create local categories to match - the remote ones in order to keep the association. + : Privileges are copied. \end_layout -\begin_layout List -\labelwidthstring 00.00.0000 +\begin_layout Itemize \series bold -One +Copy to intranet \series default -\InsetSpace ~ + : Privileges are copied but to the +\family sans +Intranet +\family default + group. + This way public metadata can be made protected. +\end_layout +\begin_layout Itemize + \series bold -run +Don't copy \series default -\InsetSpace ~ + : Privileges are not copied and harvested metadata will not be publicly + visible. +\end_layout +\begin_layout Standard +For all other groups the policies are these: +\end_layout + +\begin_layout Itemize + \series bold -only +Copy \series default - If this option is checked, the harvesting will do only one run after which - it will become inactive. + : Privileges are copied only if there is a local group with the same (not + localized) name as the remote group. \end_layout +\begin_layout Itemize + +\series bold +Create and copy +\series default + : Privileges are copied. + If there is no local group with the same name as the remote group then + it is created. +\end_layout + +\begin_layout Itemize + +\series bold +Don't copy +\series default + : Privileges are not copied. +\end_layout + \end_deeper +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Categories +\series default + This section allows you to specify some local categories to assign to harvested + metadata. + You could create a new category for the harvesting node and assign that + category to harvested metadata for a quick search using that category. +\end_layout + \begin_layout Standard On the bottom side of the page there are some buttons: \end_layout @@ -2267,19 +2496,19 @@ \series bold Save \series default - Saves the current setting and returns to the main harvesting page. + Saves the current node information and returns to the main harvesting page. When creating a new node, the node will be actually created only when you press this button. \end_layout \begin_layout Subsection* -Adding a Web Assessible Folder node +Adding a Web DAV node \end_layout \begin_layout Standard In this type of harvesting, metadata are retrieved from a remote web page. The available options are shown in figure -\begin_inset LatexCommand \ref{fig:harvesting-waf} +\begin_inset LatexCommand \ref{fig:harvesting-webdav} \end_inset @@ -2296,7 +2525,7 @@ \begin_layout Standard \align center \begin_inset Graphics - filename images/web-harvesting-waf.png + filename images/web-harvesting-webdav.png \end_inset @@ -2304,11 +2533,11 @@ \end_layout \begin_layout Caption -\begin_inset LatexCommand \label{fig:harvesting-waf} +\begin_inset LatexCommand \label{fig:harvesting-webdav} \end_inset -Adding a web accessible folder node +Adding a web DAV node \end_layout \end_inset @@ -2344,21 +2573,30 @@ URL \series default The remote URL from which metadata will be harvested. - This URL must return a valid HTML page containing the metadata links. - Each link that ends with + Each file found that ends with \family sans \series bold .xml \family default \series default - will indicate a metadata and the link content will be retrieved, converted - into xml and imported. + will indicate a metadata and will be retrieved, converted into xml and + imported. \end_layout \begin_layout List \labelwidthstring 00.00.0000 \series bold +Icon +\series default + Just an icon to assign to harvested metadata. + The icon will be used when showing search results. +\end_layout + +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold Use \series default \InsetSpace ~ @@ -2424,9 +2662,10 @@ \labelwidthstring 00.00.0000 \series bold -Structure +Recurse \series default - Reserved for future use + When the harvesting engine will find folders, it will recursively descend + into them. \end_layout \end_deeper @@ -2444,16 +2683,10 @@ \family default \series default area lists all available groups in GeoNetwork. - The + Once one (or more) group has been selected, it can be added through the + \family sans \series bold -Refresh -\family default -\series default - button can be used to refresh this list in case it has changed. - One a group has been selected, it can be added through the -\family sans -\series bold Add \family default \series default @@ -2469,6 +2702,15 @@ button on its right. \end_layout +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Categories +\series default + Here you can assign local categories to harvested metadata. +\end_layout + \begin_layout Standard At the bottom of the page there are the following buttons: \end_layout @@ -2493,10 +2735,598 @@ Then it will go back to the main harvesting page. \end_layout +\begin_layout Subsection* +Adding a CSW node +\end_layout + +\begin_layout Standard +This type of harvesting is capable of connecting to a remote CSW server + and retrieving al matching metadata. + Please, note that in order to be harvested metadata must have one of the + schema format handled by GeoNetwork. + Figure +\begin_inset LatexCommand \ref{fig:harvesting-csw} + +\end_inset + + shows the options available, whose meaning is the following: +\end_layout + +\begin_layout Standard +\align center +\begin_inset Float figure +wide false +sideways false +status open + +\begin_layout Standard +\align center +\begin_inset Graphics + filename images/web-harvesting-csw.png + +\end_inset + + +\end_layout + +\begin_layout Caption +\begin_inset LatexCommand \label{fig:harvesting-csw} + +\end_inset + +Adding a Catalogue Services for the Web harvesting node +\end_layout + +\end_inset + + +\end_layout + +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Site +\series default + Here you have to specify the connection parameters which are similar to + the web DAV harvesting. + In this case the URL points to the capabilities document of the CSW server. + This document is used to discover the location of the services to call + to query and retrieve metadata. +\end_layout + +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Search +\series default + Using the +\family sans +\series bold +Add +\family default +\series default + button, you can add several search criteria. + You can query only the fields recognized by the CSW protocol. +\end_layout + +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Options +\series default + General harvesting options: +\end_layout + +\begin_deeper +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Every +\series default + This is the harvesting period. + The smallest value is 1 minute while the greatest value si 100 days. +\end_layout + +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +One +\series default +\InsetSpace ~ + +\series bold +run +\series default +\InsetSpace ~ + +\series bold +only +\series default + If this option is checked, the harvesting will do only one run after which + it will become inactive. +\end_layout + +\end_deeper +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Privileges +\series default + Please, see web DAV harvesting. +\end_layout + +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Catagories +\series default + Please, see web DAV harvesting. +\end_layout + +\begin_layout Standard +At the bottom of the page there are the following buttons: +\end_layout + +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Back +\series default + Go back to the main harvesting page. + The harvesting is not added. +\end_layout + +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Save +\series default + Saves node's data creating a new harvesting node. + Then it will go back to the main harvesting page. +\end_layout + +\begin_layout Chapter +Metadata ownership +\end_layout + \begin_layout Section -Mixing harvesting between different versions +Introduction \end_layout +\begin_layout Standard +Starting from release 2.1.0, GeoNetwork has a new metadata access policy. + The old +\family sans +\series bold +edit +\family default +\series default + and +\family sans +\series bold +admin +\family default +\series default + privileges have been removed and the concept of +\family sans +\series bold +reviewer +\family default +\series default + has been introduced. + The purpose of this new profile is to control when a metadata can be published + outside or not. + In previous releases, all users belonging to a group with edit privileges + could edit the same metadata. + Now, a metadata is only visible to its creator, to a reviewer which has + access to the group owner and to an administrator. +\end_layout + +\begin_layout Section +Access policy +\end_layout + +\begin_layout Description +Def A +\family sans +\series bold +public metadata +\family default +\series default + is a metadata that has the +\family sans +\series bold +view +\family default +\series default + privilege for the group named +\family sans +\series bold +all +\family default +\series default +. +\end_layout + +\begin_layout Subsection* +Visualization +\end_layout + +\begin_layout Standard +An +\family sans +\series bold +administrator +\family default +\series default + can view any metadata. +\end_layout + +\begin_layout Standard +A +\family sans +\series bold +reviewer +\family default +\series default + can view a metadata if : +\end_layout + +\begin_layout Itemize +The group owner is one of the groups assigned to the reviewer. +\end_layout + +\begin_layout Itemize +He is the metadata owner. +\end_layout + +\begin_layout Standard +A +\family sans +\series bold +user administrator +\family default +\series default + or +\family sans +\series bold +an editor +\family default +\series default + can view: +\end_layout + +\begin_layout Itemize +All metadata that have the +\family sans +\series bold +view +\family default +\series default + privilege in one of the groups visible to them. +\end_layout + +\begin_layout Itemize +All metadata created by theirself. +\end_layout + +\begin_layout Standard +A +\family sans +\series bold +registered user +\family default +\series default + can view: +\end_layout + +\begin_layout Itemize +All metadata that have the +\family sans +\series bold +view +\family default +\series default + privilege in one of the groups visible to them. +\end_layout + +\begin_layout Standard +Public metadata can be viewed by any user (logged in or not). +\end_layout + +\begin_layout Subsection* +Editing +\end_layout + +\begin_layout Standard +An +\family sans +\series bold +administrator +\family default +\series default + can edit any metadata. +\end_layout + +\begin_layout Standard +A +\family sans +\series bold +reviewer +\family default +\series default + can edit a metadata if : +\end_layout + +\begin_layout Itemize +The group owner is one of the groups assigned to the reviewer. +\end_layout + +\begin_layout Itemize +He is the metadata owner. +\end_layout + +\begin_layout Standard +A +\family sans +\series bold +user administrator +\family default +\series default + or +\family sans +\series bold +an editor +\family default +\series default + can edit only metadata created by theirself. +\end_layout + +\begin_layout Section +Privileges +\end_layout + +\begin_layout Standard +The privileges administration page is accessible only by: +\end_layout + +\begin_layout Itemize +All administrators +\end_layout + +\begin_layout Itemize +All reviewers that have access to the metadata's group owner. +\end_layout + +\begin_layout Itemize +The owner of the metadata +\end_layout + +\begin_layout Standard +Regarding privileges for the +\family sans +\series bold +all +\family default +\series default + and +\family sans +\series bold +intranet +\family default +\series default + groups, only administrators and reviewers can edit them. +\end_layout + +\begin_layout Section +Ownership transfer +\end_layout + +\begin_layout Standard +A typical need that arises when a user is dismissed is to transfer all their + metadata to another user into another group. + To fill this need, the transfer ownership functionality has been introduced. + This is located in the administration page (see figure +\begin_inset LatexCommand \ref{fig:ownership-where} + +\end_inset + +) and once selected, leads to the page shown if figure +\begin_inset LatexCommand \ref{fig:ownership-options} + +\end_inset + +. +\end_layout + +\begin_layout Standard +\align center +\begin_inset Float figure +wide false +sideways false +status open + +\begin_layout Standard +\align center +\begin_inset Graphics + filename images/web-ownership-where.png + +\end_inset + + +\end_layout + +\begin_layout Caption +\begin_inset LatexCommand \label{fig:ownership-where} + +\end_inset + +How to reach the transfer ownership page. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Initially, the page shows only a drop down for a +\family sans +\series bold +Source +\family default +\series default + +\family sans +\series bold +editor +\family default +\series default +. + The drop down is filled with all GeoNetwork's users which are editors and + own some metadata. + Selecting an editor means selecting all metadata that belong to that editor. + An empty drop down means that there are no editors with metadata associated + and hence no transfer is possible. +\end_layout + +\begin_layout Standard +\align center +\begin_inset Float figure +wide false +sideways false +status open + +\begin_layout Standard +\align center +\begin_inset Graphics + filename images/web-ownership-options.png + +\end_inset + + +\end_layout + +\begin_layout Caption +\begin_inset LatexCommand \label{fig:ownership-options} + +\end_inset + +The transfer ownership page. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Once a source editor has been selected, a set of rows is displayed. + Each row refers to an editor's group for which there are privileges. + The meaning of each column is the following: +\end_layout + +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Source +\series default +\InsetSpace ~ + +\series bold +group +\series default + This is a group that has privileges in the metadata that belong to the + source editor. + Put in another way, if one of the editor's metadata has privileges for + one group, that group is listed here. +\end_layout + +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Target +\series default +\InsetSpace ~ + +\series bold +group +\series default + This is the destination group of the transfering process. + All privileges relative to the source group are transferred to the target + group. + The target group drop down is filled with all groups visible to the logged + user (tipically an administrator or a user administrator). + By default, the source group is selected in the target drop down. + Privileges to groups +\family sans +\series bold +All +\family default +\series default + and +\family sans +\series bold +Intranet +\family default +\series default + are not transferrable. +\end_layout + +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Target +\series default +\InsetSpace ~ + +\series bold +editor +\series default + Once a target group is selected, this drop down is filled with all editors + that belong to that target group. +\end_layout + +\begin_layout List +\labelwidthstring 00.00.0000 + +\series bold +Operation +\series default + Actually only the +\family sans +\series bold +Transfer +\family default +\series default + operation is possible. +\end_layout + +\begin_layout Standard +By selecting the +\family sans +\series bold +Transfer +\family default +\series default + operation, if the source group is different than the target group, the + system performs the ownership transfer, shows a brief summary and removes + the current row because now there are no privileges to transfer anymore. + +\end_layout + \begin_layout Chapter Thesaurus \end_layout @@ -3760,6 +4590,18 @@ A progress dialog will be opened to show the import status. \end_layout +\begin_layout Section +A note on ownership +\end_layout + +\begin_layout Standard +Please, consider that the MEF format version 1.0 does not take into account + user and group ownership. + When exporting metadata, you loose this information. + When importing metadata, the new owner becomes the user that is performing + the import while the group ownership is set to null. +\end_layout + \begin_layout Description \end_layout Modified: trunk/docs/lyx/admin-guide/images/-where.png =================================================================== (Binary files differ) Added: trunk/docs/lyx/admin-guide/images/web-harvesting-csw.png =================================================================== (Binary files differ) Property changes on: trunk/docs/lyx/admin-guide/images/web-harvesting-csw.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/docs/lyx/admin-guide/images/web-harvesting-gn.png =================================================================== (Binary files differ) Modified: trunk/docs/lyx/admin-guide/images/web-harvesting-list.png =================================================================== (Binary files differ) Deleted: trunk/docs/lyx/admin-guide/images/web-harvesting-waf-ex.png =================================================================== (Binary files differ) Deleted: trunk/docs/lyx/admin-guide/images/web-harvesting-waf.png =================================================================== (Binary files differ) Added: trunk/docs/lyx/admin-guide/images/web-harvesting-webdav.png =================================================================== (Binary files differ) Property changes on: trunk/docs/lyx/admin-guide/images/web-harvesting-webdav.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/docs/lyx/admin-guide/images/web-ownership-options.png =================================================================== (Binary files differ) Property changes on: trunk/docs/lyx/admin-guide/images/web-ownership-options.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/docs/lyx/admin-guide/images/web-ownership-where.png =================================================================== (Binary files differ) Property changes on: trunk/docs/lyx/admin-guide/images/web-ownership-where.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/docs/lyx/server-reference.lyx =================================================================== --- trunk/docs/lyx/server-reference.lyx 2007-08-30 11:42:08 UTC (rev 766) +++ trunk/docs/lyx/server-reference.lyx 2007-08-30 11:43:53 UTC (rev 767) @@ -106,7 +106,7 @@ \align center \size larger -Revision 8 (19-Aug-2007) +Revision 9 (28-Aug-2007) \end_layout \begin_layout Standard @@ -567,13 +567,528 @@ \end_layout \begin_layout Part -Protocols +Implementation guidelines \end_layout \begin_layout Chapter Harvesting \end_layout +\begin_layout Section +Structure +\end_layout + +\begin_layout Standard +The harvesting capability is built around 3 areas: Javascript code, Java + code and XSL stylesheets (on both the server and client side). +\end_layout + +\begin_layout Subsection* + +\series bold +Javascript code +\end_layout + +\begin_layout Standard +This refers to the web interface. + The code is located in the +\family sans +web/geonetwork/scripts/harvesting +\family default + folder. + Here, there is a subfolder for each harvesting type plus some classes for + the main page. + These are: +\end_layout + +\begin_layout Itemize + +\series bold +harvester.js +\series default + : This is an abstract class that must be implemented by harvesting types. + It defines some information retrieval methods ( +\family sans +getType +\family default +, +\family sans +getLabel +\family default +, etc...) used to handle the harvesting type, plus one +\family sans +getUpdateRequest +\family default + method used to build the XML request to insert or update entries. +\end_layout + +\begin_layout Itemize + +\series bold +harvester-model.js +\series default + : Another abstract class that must be implemented by harvesting types. + When creating the XML request, the only method +\family sans +substituteCommon +\family default + takes care of adding common information like privileges and categories + taken from the user interface. +\end_layout + +\begin_layout Itemize + +\series bold +harvester-view.js +\series default + : This is an important abstract class that must be implemented by harvesting + types. + It takes care of many common aspects of the user interface. + It provides methods to add group's privileges, to select categories, to + check data for validity and to set and get common data from the user interface. +\end_layout + +\begin_layout Itemize + +\series bold +harvesting.js +\series default + : This is the main Javascript file that takes care of everything. + It starts all the submodules, loads XML strings from the server and displays + the main page that lists all harvesting nodes. +\end_layout + +\begin_layout Itemize + +\series bold +model.js +\series default + : Performs all XML requests to the server, handles errors and decode responses. +\end_layout + +\begin_layout Itemize + +\series bold +view.js +\series default + : Handles all updates and changes on the main page. +\end_layout + +\begin_layout Itemize + +\series bold +util.js +\series default + : just a couple of utility methods. +\end_layout + +\begin_layout Subsection* + +\series bold +Java code +\end_layout + +\begin_layout Standard +The harvesting package is located in src/org/fao/geonet/kernel/harvest. + Here too, there is one subfolder for each harvesting type. + The most important classes for the implementor are: +\end_layout + +\begin_layout Itemize + +\series bold +AbstractHarvester +\series default + : This is the main class that a new harvesting type must extends. + It takes care of all aspects like adding, updating, removing, starting, + stopping of harvesting nodes. + Some abstract methods must be implemented to properly tune the behaviour + of a particular harvesting type. +\end_layout + +\begin_layout Itemize + +\series bold +AbstractParams +\series default + : All harvesting parameters must be enclosed in a class that extends this + abstract one. + Doing so, all common parameters can be transparently handled by this abstract + class. +\end_layout + +\begin_layout Standard +All others are small utility classes used by harvesting types. +\end_layout + +\begin_layout Subsection* + +\series bold +XSL stylesheets +\end_layout + +\begin_layout Standard +Stylesheets are spread in some foders and are used by both the Javascript + code and the server. + The main folder is located at web/geonetwork/xsl/harvesting. + Here there are some general stylesheets, plus one subfolder for each harvesting + type. + The general stylesheets are: +\end_layout + +\begin_layout Itemize + +\series bold +buttons.xsl +\series default + : Defines all button present in the main page ( +\emph on +activate +\emph default +, +\emph on +deactivate +\emph default +, +\emph on +run +\emph default +, +\emph on +remove +\emph default +, +\emph on +back +\emph default +, +\emph on +add +\emph default +, +\emph on +refresh +\emph default +), buttons present in the "add new harvesting" page ( +\emph on +back +\emph default + and +\emph on +add +\emph default +) and at the bottom of the edit page ( +\emph on +back +\emph default + and +\emph on +save +\emph default +). +\end_layout + +\begin_layout Itemize + +\series bold +client-error-tip.xsl +\series default + : This stylesheet is used by the browser to build tooltips when an harvesting + error occured. + It will show the error class, the message and the stacktrace. +\end_layout + +\begin_layout Itemize + +\series bold +client-node-row.xsl +\series default + : This is also used by the browser to add one row to the list of harvesting + nodes in the main page. +\end_layout + +\begin_layout Itemize + +\series bold +harvesting.xsl +\series default + : This is the main stylesheet. + It generates the html page of the main page and includes all panels from + all the harvesting nodes. +\end_layout + +\begin_layout Standard +In each subfolder, there are usually 4 files: +\end_layout + +\begin_layout Itemize + +\series bold +xxx.xsl +\series default + : This is the server stylesheets who builds all panels for editing the + parameters. + XXX is the harvesting type. + Usually, it has the following panels: site information, search criteria, + options, privileges and categories. +\end_layout + +\begin_layout Itemize + +\series bold +client-privil-row.xsl +\series default + : This is used by the Javascript code to add rows in the group's privileges + panel. +\end_layout + +\begin_layout Itemize + +\series bold +client-result-tip.xsl +\series default + : This is used by the Javascript code (which inherits from harvester-view.js) + to show the tooltip when the harvesting has been successfull. +\end_layout + +\begin_layout Itemize + +\series bold +client-search-row.xsl +\series default + : Used in some harvesting types to generate the html for the search criteria + panel. +\end_layout + +\begin_layout Standard +As you may have guessed, all client side stylesheets (those used by Javascript + code) start with the prefix +\family sans +\series bold +client- +\family default +\series default +. +\end_layout + +\begin_layout Standard +Another set of stylesheets are located in +\family sans +web/geonetwork/xsl/xml/harvesting +\family default + and are used by the +\family sans +xml.harvesting.get +\family default + service. + This service is used by the Javascript code to retrieve all the nodes the + system is currently harvesting from. + This implies that a stylesheet (one for each harvesting type) must be provided + to convert from the internal setting structure to an XML structure suitable + to clients. +\end_layout + +\begin_layout Standard +The last file to take into consideration contains all localized strings + and is located at +\family sans +web/geonetwork/loc/XX/xml/harvesting.xml +\family default + (where XX refers to a language code). + This file is used by both Javascript code and the server. +\end_layout + +\begin_layout Section +Data storage +\end_layout + +\begin_layout Standard +Harvesting nodes are stored inside the +\family sans +\series bold +Settings +\family default +\series default + table. + Further useful information can be found in chapters +\begin_inset LatexCommand \ref{cha:Harvesting-services} + +\end_inset + + and +\begin_inset LatexCommand \ref{cha:Settings-hierarchy} + +\end_inset + +. +\end_layout + +\begin_layout Standard +The +\family sans +\series bold +SourceNames +\family default +\series default + table is used to keep track of the uuid/name couple when metadata get migrated + to different sites. +\end_layout + +\begin_layout Section +Guidelines +\end_layout + +\begin_layout Standard +To add a new harvesting type, follows these steps: +\end_layout + +\begin_layout Itemize +Add the proper folder in +\family sans +web/scripts/harvesting +\family default +, maybe copying an already existing one. +\end_layout + +\begin_layout Itemize +Edit the +\family sans +harvesting.js +\family default + file to include the new type (edit both +\family sans +\series bold +constructor +\family default +\series default + and +\family sans +\series bold +init +\family default +\series default + methods). +\end_layout + +\begin_layout Itemize +Add the proper folder in +\family sans +web/xsl/harvesting +\family default + (again, it is easy to copy from an already existing one). +\end_layout + +\begin_layout Itemize +Edit the stylesheet +\family sans +web/xsl/harvesting/harvesting.xsl +\family default + and add the new type +\end_layout + +\begin_layout Itemize +Add the transformation stylesheet in +\family sans +web/xsl/xml/harvesting +\family default +. + Its name must match the string used for the harvesting type. +\end_layout + +\begin_layout Itemize +Add the Java code in a package inside +\family sans +org.fao.geonet.kernel.harvest.harvester +\family default +. +\end_layout + +\begin_layout Itemize +Add proper strings in +\family sans +web/geonetwork/loc/XX/xml/harvesting.xml +\family default +. +\end_layout + +\begin_layout Standard +Here follows a list of general notes to follow when adding a new harvesting + type: +\end_layout + +\begin_layout Itemize +Every harvesting node (not type) must generate its UUID. + This uuid is used to remove metadata when the harvesting node is removed + and to check if a metadata (which has another uuid) has been already harvested + by another node. +\end_layout + +\begin_layout Itemize +If a harvesting type supports multiple searches on a remote site, these + must be done sequentially and results merged. + +\end_layout + +\begin_layout Itemize +Every harvesting type must save in the folder +\family sans +images/logos +\family default + a GIF image whose name is the node's uuid. + This image must be deleted when the harvesting node is removed. + This is necessary to propagate harvesting information to other GeoNetwork + nodes. +\end_layout + +\begin_layout Itemize +When a harvesting node is removed, all collected metadata must be removed + too. +\end_layout + +\begin_layout Itemize +During harvesting, take in mind that a metadata could have been removed + just after being added to the result list. + In this case the metadata should be skipped and no exception raised. +\end_layout + +\begin_layout Itemize +The only settable privileges are: +\family sans +view +\family default +, +\family sans +dynamic +\family default +, +\family sans +featured +\family default +. + It does not make sense to use the others. +\end_layout + +\begin_layout Itemize +If a node raises an exception during harvesting, that node will be deactivated. +\end_layout + +\begin_layout Itemize +If a metadata already exists (its uuid exists) but belong to another node, + it must not be updated even if it has been changed. + This way the harvesting will not conflict with the other one. + As a side effect, this prevent locally created metadata from being changed. +\end_layout + +\begin_layout Itemize +The harvesting engine does not store results on disk so they will get lost + when the server will be restarted. +\end_layout + +\begin_layout Itemize +When some harvesting parameters are changed, the new harvesting type must + use them during the next harvesting without requiring to reboot the server. +\end_layout + \begin_layout Part File formats \end_layout @@ -1287,6 +1802,12 @@ \begin_layout LyX-Code \size footnotesize + <siteName>FAO main site</siteName> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize <schema>iso19139</schema> \end_layout @@ -4360,6 +4881,10 @@ \end_layout \begin_layout Chapter +\begin_inset LatexCommand \label{cha:Harvesting-services} + +\end_inset + Harvesting services \end_layout @@ -4493,7 +5018,7 @@ placement t wide false sideways false -status collapsed +status open \begin_layout Standard \begin_inset Box Boxed @@ -4565,7 +5090,7 @@ \begin_layout LyX-Code \size footnotesize - <use>true</use> + <use>false</use> \end_layout \begin_layout LyX-Code @@ -4643,49 +5168,49 @@ \begin_layout LyX-Code \size footnotesize - <siteId>0619cc50-708b-11da-8202-000d9335906e</siteId> + <source> \end_layout \begin_layout LyX-Code \size footnotesize - <siteName>Food and Agriculture Organization</siteName> + <uuid>0619cc50-708b-11da-8202-000d9335906e</uuid> \end_layout \begin_layout LyX-Code \size footnotesize - </search> + <name>Food and Agriculture Organization</name> \end_layout \begin_layout LyX-Code \size footnotesize - </searches> + </source> \end_layout \begin_layout LyX-Code \size footnotesize - <options> + </search> \end_layout \begin_layout LyX-Code \size footnotesize - <every>90</every> + </searches> \end_layout \begin_layout LyX-Code \size footnotesize - <createGroups>true</createGroups> + <options> \end_layout \begin_layout LyX-Code \size footnotesize - <createCateg>true</createCateg> + <every>90</every> \end_layout \begin_layout LyX-Code @@ -4733,6 +5258,48 @@ \begin_layout LyX-Code \size footnotesize + <groupsCopyPolicy> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + <group name="all" policy="copy"/> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + <group name="mygroup" policy="createAndCopy"/> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + </groupsCopyPolicy> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + <categories> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + <category id="4"/> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + </categories> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize </node> \end_layout @@ -4770,7 +5337,7 @@ \end_inset - (for a web folder node). + (for a web DAV node). \end_layout \begin_layout Standard @@ -4778,7 +5345,7 @@ placement t wide false sideways false -status collapsed +status open \begin_layout Standard \begin_inset Box Boxed @@ -4796,7 +5363,7 @@ \begin_layout LyX-Code \size footnotesize -<node id="165" type="webfolder"> +<node id="165" type="webdav"> \end_layout \begin_layout LyX-Code @@ -4826,6 +5393,12 @@ \begin_layout LyX-Code \size footnotesize + <icon>default.gif</icon> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize <account> \end_layout @@ -4880,7 +5453,7 @@ \begin_layout LyX-Code \size footnotesize - <structure>false</structure> + <recurse>false</recurse> \end_layout \begin_layout LyX-Code @@ -4952,6 +5525,24 @@ \begin_layout LyX-Code \size footnotesize + <categories> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + <category id="2"/> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + </categories> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize <info> \end_layout @@ -4997,7 +5588,7 @@ \family sans xml.harvesting.get \family default - response for a web folder node + response for a web DAV node \end_layout \end_inset @@ -5281,7 +5872,19 @@ \family default \series default attribute which value is one of the supported operation names. - + The only supported operations are : +\emph on +view +\emph default +, +\emph on +dynamic +\emph default +, +\emph on +featured +\emph default +. \end_layout \end_deeper @@ -5677,19 +6280,7 @@ \family default \series default attribute which value must be one of the supported operation names. - The operations -\family sans -\series bold -edit -\family default -\series default -and -\family sans -\series bold - admin -\family default -\series default - cannot be associated to any metadata and will be skipped. + \end_layout \end_deeper @@ -5846,8 +6437,14 @@ \family default \series default [0..n] : A container for a single search on a siteID. - You can specify 0 or more searches but to properly harvest you have to - provide at least one. + You can specify 0 or more searches. + If no +\family sans +\series bold +search +\family default +\series default + element is provided, an unconstrained search is performed. \end_layout \begin_deeper @@ -5957,7 +6554,11 @@ \family sans \series bold -options +groupsCopyPolicy +\family default +\series default + [0..1] : Container for copy policies of remote groups. + This mechanism is used to retain remote metadata privileges. \end_layout \begin_deeper @@ -5965,35 +6566,89 @@ \family sans \series bold -createGroups +group \family default \series default - ( + : There is one copy policy for each remote group. + This element must have 2 mandatory attributes: \emph on -boolean +name \emph default -, 'true') : If true, GeoNetwork tries to keep remote privileges creating - local groups. - After the harvesting, the local node will have all the remote node's groups. - A group is created locally only if it does not already exist. - The group's name is used to establish that. -\end_layout - -\begin_layout Itemize - + and +\emph on +policy +\emph default +. + The \family sans \series bold -createCateg +name \family default \series default - ( + attribute is the remote group's name. + If the remote group is renamed, it is not found anymore and the copy policy + is skipped. + The +\family sans +\series bold +policy +\family default +\series default + attribute represents the policy itself and can be: \emph on -boolean +copy \emph default -, 'true') : If true, GeoNetwork will create local categories to match the - remote ones. - Normally, if a remote category does not exist locally, the link between - that category and the metadata is lost. +, +\emph on +createAndCopy +\emph default +, +\emph on +copyToIntranet +\emph default +. + +\family sans +\series bold +copy +\family default +\series default + means that remote privileges are copied locally if there is locally a group + with the same name as the +\emph on +name +\emph default + attribute. + +\family sans +\series bold +createAndCopy +\family default +\series default + works like +\emph on +copy +\emph default + but the group is created locally if it does not exist. + +\family sans +\series bold +copyToIntranet +\family default +\series default + works only for the remote group named +\family sans +\series bold +all +\family default +\series default +, which represents the public group. + This policy copies privileges of the remote group named +\emph on +all +\emph default + to the local intranet group. + This is usefull to restrict metadata access. \end_layout \end_deeper @@ -6011,7 +6666,7 @@ \begin_inset Float figure wide false sideways false -status collapsed +status open \begin_layout Standard \begin_inset Box Boxed @@ -6029,7 +6684,7 @@ \begin_layout LyX-Code \size footnotesize -<node name="South Africa" type="geonetwork"> +<node type="geonetwork"> \end_layout \begin_layout LyX-Code @@ -6041,6 +6696,12 @@ \begin_layout LyX-Code \size footnotesize + <name>South Africa</name> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize <host>south.africa.org</host> \end_layout @@ -6143,7 +6804,7 @@ \begin_layout LyX-Code \size footnotesize - <siteId>0619cc50-708b-11da-8202-000d9335906e</siteId> + <source>0619cc50-708b-11da-8202-000d9335906e</source> \end_layout \begin_layout LyX-Code @@ -6173,30 +6834,60 @@ \begin_layout LyX-Code \size footnotesize - <createGroups>true</createGroups> + <oneRunOnly>false</oneRunOnly> \end_layout \begin_layout LyX-Code \size footnotesize - <createCateg>true</createCateg> + </options> \end_layout \begin_layout LyX-Code \size footnotesize - <oneRunOnly>false</oneRunOnly> + <groupsCopyPolicy> \end_layout \begin_layout LyX-Code \size footnotesize - </options> + <group name="all" policy="copy"/> \end_layout \begin_layout LyX-Code \size footnotesize + <group name="mygroup" policy="createAndCopy"/> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + </groupsCopyPolicy> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + <categories> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + <category id="4"/> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + </categories> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize </node> \end_layout @@ -6281,6 +6972,27 @@ If provided, must be a valid URL starting with 'HTTP://'. \end_layout +\begin_layout Itemize + +\family sans +\series bold +icon +\family default +\series default + ( +\emph on +string +\emph default +, 'default.gif') : Icon file used to represent this node in the search results. + The icon must be present into the +\family sans +\series bold +images/harvesting +\family default +\series default + folder. +\end_layout + \end_deeper \begin_layout Itemize @@ -6294,15 +7006,14 @@ \family sans \series bold -structure +recurse \family default \series default ( \emph on boolean \emph default -, 'false') : When true, the folders present at the remote host will provide - additional information about categories and siteIDs. +, 'false') : When true, folders are scanned recursively to find metadata. \end_layout \begin_layout Itemize @@ -6329,11 +7040,11 @@ \begin_layout Standard Figure -\begin_inset LatexCommand \ref{fig:example-xml.harv.add-waf} +\begin_inset LatexCommand \ref{fig:example-xml.harv.add-webdav} \end_inset - shows an example of an XML request to create a web folder entry. + shows an example of an XML request to create a web DAV entry. \end_layout \begin_layout Standard @@ -6341,7 +7052,7 @@ placement t wide false sideways false -status collapsed +status open \begin_layout Standard \begin_inset Box Boxed @@ -6359,7 +7070,7 @@ \begin_layout LyX-Code \size footnotesize -<node name="Asia remote node" type="webFolder"> +<node type="webdav"> \end_layout \begin_layout LyX-Code @@ -6371,12 +7082,24 @@ \begin_layout LyX-Code \size footnotesize - <url>http://www.mynode.org/metadata</url> + <name>Asia remote node</name> \end_layout \begin_layout LyX-Code \size footnotesize + <url>http://www.mynode.org/metadata</url> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + <icon>default.gif</icon> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize <account> \end_layout @@ -6431,7 +7154,7 @@ \begin_layout LyX-Code \size footnotesize - <structure>false</structure> + <recurse>false</recurse> \end_layout \begin_layout LyX-Code @@ -6443,12 +7166,6 @@ \begin_layout LyX-Code \size footnotesize - <status>inactive</status> -\end_layout - -\begin_layout LyX-Code - -\size footnotesize </options> \end_layout @@ -6485,7 +7202,7 @@ \begin_layout LyX-Code \size footnotesize - <operation name="download" /> + <operation name="features" /> \end_layout \begin_layout LyX-Code @@ -6503,6 +7220,24 @@ \begin_layout LyX-Code \size footnotesize + <categories> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + <category id="4"/> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize + </categories> +\end_layout + +\begin_layout LyX-Code + +\size footnotesize </node> \end_layout @@ -6516,7 +7251,7 @@ \end_layout \begin_layout Caption -\begin_inset LatexCommand \label{fig:example-xml.harv.add-waf} +\begin_inset LatexCommand \label{fig:example-xml.harv.add-webdav} \end_inset @@ -6524,7 +7259,7 @@ \family sans xml.harvesting.add \family default - request for a web folder node + request for a web DAV node \end_layout \end_inset @@ -6602,7 +7337,7 @@ The icon must be present into the \family sans \series bold -images/csw +images/harvesting \family default \series default folder. @@ -6628,9 +7363,7 @@ \family default \series default [0..n] : Contains search parameters. - If this element is missing no harvesting will be performed but the host's - parameters will be used to connect to the remote node. - + If this element is missing, an unconstrained search will be performed. \end_layout \begin_deeper @@ -6709,6 +7442,241 @@ This type supports both privileges and categories assignment. \end_layout +\begin_layout Standard +Figure +\begin_inset LatexCommand \ref{fig:example-xml.harv.add-csw} + +\end_inset + + shows an example of an XML request to create a CSW entry. +\end_layout + +\begin_layout Standard +\begin_inset Floa... [truncated message content] |