source: MILK/trunk/milk_server/milk_server/templates/atom_editor/atom_help.html @ 4845

Subversion URL:
Revision 4845, 52.9 KB checked in by cbyrom, 12 years ago (diff)

Add improved error handling when doing document ingests + add
additional help sections for this purpose.

1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
2<html xmlns=""
3        xmlns:py="" 
4        xmlns:xi="">
5        <xi:include href="layout.html" />
6        <xi:include href="atom_functions.html" />
7        <head>
8        <title py:content="c.title">title</title>
9    </head>
10  <body class="submit">
11      <panelTab>Editor</panelTab>
12        <div id="contents">
13            <div class="metadata">
14                            <h3>  $c.title
15                    </h3>
16                                <h2>Contents</h2>
17                                <div class="headingblock">                 
18                    <ol>
19                        <li><a href="#intro">Introduction</a></li>
20                        <li><a href="#home">Editor home page</a></li>
21                        <li><a href="#creating">Creating an atom</a></li>
22                        <li><a href="#searching">Searching atoms</a></li>
23                        <li><a href="#editing">Editing an atom</a></li>
24                        <li><a href="#granulite">Importing granulite data</a></li>
25                        <li><a href="#csml">Importing CSML/CDML data</a></li>
26                        <li><a href="#deleting">Deleting granule atoms</a></li>
27                        <li><a href="#structure">Appendix A: Atom XML structure</a></li>
28                        <li><a href="#example">Appendix B: Creating an example set of metadata documents</a></li>
29                        <li><a href="#exampleCurating">Appendix C: Curating an example set of metadata documents</a></li>
30                    </ol>
31                    </div>
32                    <a name="intro"><h2>Introduction</h2></a>
33                                <div class="headingblock">                 
34                    <p>
35                    This editor allows the creation and maintenance of metadata documents in the MOLES2.0
36                    (Metadata Objects for Links in Environmental Science) format - which is based on the Atom
37                    Syndication Format v1.0 (details
38                    <a href="">here</a>).  It
39                    replaces the CEDAR editor which produced documents according to the more complex, MOLES1.3 schema.  NB,
40                    documents produced using this older schema should be available in the BADC system in new format; if not,
41                    a migration script exists with which to enable this - contact the system administrator for details**.
42                    </p>
43                    <p>
44                    Full details of the MOLES2.0 schema are provided in section, '<a href="#structure">Appendix A: Atom XML structure</a>'.
45                    </p>
46                                </div>
47                    <a name="home"><h2>Editor home page</h2></a>
48                                <div class="headingblock">                 
49                    <p>
50                    The editor home page is available <a href="${h.url_for('atomHome')}">
51                    here</a>.  The following options are available:
52                    <ul>
53                    <li>
54                            <a href="${h.url_for('create')}">Create atom</a>
55                            - see section, '<a href="#creating">Creating an atom</a>'
56                    </li>
57                    <li>
58                            <a href="${h.url_for('createGranule')}">Create data granule atom using granulite file</a>
59                            - see section, '<a href="#granulite">Importing granulite data</a>'
60                    </li>
61                    <li>
62                            <a href="${h.url_for('list')}">Edit/List atoms</a>
63                            - see sections, '<a href="#editing">Editing an atom</a>' and '<a href="#searching">Searching atoms</a>'
64                    </li>
65                    <li>
66                            <a href="${h.url_for('help')}">Help</a>
67                            - display this page
68                    </li>
69                    </ul>
70                    </p>
71                    </div>
73                    <a name="creating"><h2>Creating an atom</h2></a>
74                                <div class="headingblock">                 
75                    <p>
76                    Atom metadata documents are created in two stages - firstly specifying the essential, 'header' information
77                    then filling out the remaining detail.  Documents are created by visiting the,
78                    '<a href="${h.url_for(controller='atom_editor/editatom',action='create')}">Create atom</a>' page.  This
79                    presents the user with four input fields that MUST be specified in order for the document to be created:
80                    <dl>
81                    <dt><b>Provider ID</b></dt>
82                    <dd>
83                    the name of the organisation providing the data - selectable from a pre-specified drop down list
84                    </dd>
85                    <dt><b>Data Type</b></dt>
86                    <dd>
87                    the type of atom document to produce.  This relates to the type of underlying data that
88                    the metadata is describing and must be set to one of the following, pre-specified values:
89                        <dl>
90                        <dt><b>Data Entity</b></dt>
91                        <dd>
92                        a general, high level metadata document allowing the grouping of data granules
93                        and deployments data together in a logical manner - e.g. bringing together a data granule describing a
94                        particular data file with the observation stations, data production tools and activities involved in creating it.
95                        </dd>
96                        <dt><b>Data Granule</b></dt>
97                        <dd>
98                        acts as a 'wrapper' to specific data files, providing summary metadata in
99                        order to aid discovery.  NB, data granules can be created or augmented by ingesting data directly into
100                        the system - see sections, '<a href="#importing">Importing granulite data</a>' and '<a href="#csml">Importing CSML/CDML data</a>'
101                        </dd>
102                        <dt><b>Activity</b></dt>
103                        <dd>
104                        a metadata document describing an activity used to create a dataset.
105                        </dd>
106                        <dt><b>Data Production Tool (DPT)</b></dt>
107                        <dd>
108                        a metadata document describing an instrument involved in the creation of a dataset.
109                        </dd>
110                        <dt><b>Observation Station</b></dt>
111                        <dd>
112                        a metadata document describing the observation station used to create a dataset.
113                        </dd>
114                        <dt><b>Deployment</b></dt>
115                        <dd>
116                        a simple metadata document allowing the grouping of Activity, Data Production Tool and Observation
117                        Station documents in a logical manner - i.e. to pull together the why/how/where of data production.  NB, any number of
118                        activities, data production tools and observation stations can be specified in a single deployment and these will all
119                        share the same temporal and spatial coverage summary information.  Also note, data entities do not specify references to
120                        activities, DPTs or observation stations metadata document directly; rather they reference Deployment documents which, in turn, reference
121                        these documents.  Note, a Deployment atom is just a specialisation of the 'Activity' atom type - but with a subtype of, 'Deployment'.
122                        </dd>
123                        </dl>
124                    </dd>
125                    <dt><b>Title</b></dt>
126                    <dd>
127                    free text field to specify a title for the metadata document
128                    </dd>
129                    <dt><b>Author</b></dt>
130                    <dd>
131                    free text field to specify the principal author of the underlying data described by the metadata document.
132                    </dd>
133                    </dl>
134                    Note, the atom types, 'Actitivity', 'Observation Station' and 'Data Production Tool' are known collectively as
135                    <em>Deployments data</em> - and this should not be confused with the 'Deployment' atom type - which is the document
136                    type which groups together Deployments data.
137                    </p>
138                    <p>
139                    Once the header info is completed, the atom document is created and the user is taken to the 'Edit' page
140                    (see section, '<a href="#editing">Editing an atom</a>') where additional content can be specified.  Note, the edit
141                    page allows the author and title details to be edited, however the provider and type data cannot be changed
142                    following document creation.
143                    </p>
144                    </div>
146                    <a name="searching"><h2>Searching atoms</h2></a>
147                                <div class="headingblock">                 
148                    <p>
149                    The atom metadata catalogue can be searched by visiting the
150                    '<a href="${h.url_for(controller='atom_editor/listatom',action='list', searchData=None)}">Edit/List atoms</a>' page.
151                    This provides a simple search filter allowing the user to specify the following inputs to search on:
152                    <dl>
153                    <dt><b>Provider ID</b></dt><dd>
154                    - the name of the organisation providing the data - selectable from a pre-specified drop down list
155                    </dd>
156                    <dt><b>Data Type</b></dt>
157                    <dd>
158                    the type of atom document to search for - selectable from a pre-specified drop down list
159                                </dd>
160                                <dt><b>Search Text</b></dt>
161                                <dd>
162                                a free text field to allow searching for specific data
163                                </dd>
164                                </dl>
165                                NB, the 'Search Text' field allows the contents of the atom elements to be searched and is done in a
166                                cumulative manner when multiple words are specified - e.g. searching using, 'temperature hot' will return
167                                all atoms which feature both the words 'temperature' and 'hot', although not necessarily in that order or
168                                adjacent to one another.  Additionally, simple wildcards can be used in the searches - using '*' to represent
169                                all characters, multiple times and '?' to represent a single character - demonstrated as follows:
170                                <dl>
171                                        <dt><b>temp*</b></dt>
172                                        <dd>
173                                        will return existing documents containing 'temperature', 'temperate', 'temporary', etc
174                                        </dd>
175                                        <dt><b>?eather</b></dt>
176                                        <dd>
177                                        will return existing documents containing 'weather', 'heather', 'leather', etc
178                                        </dd>
179                                </dl>
180                                Note, also, text searches are case insensitive.
181                                </p>
182                                <p>
183                                To search for documents, enter the required search terms (NB, leaving the filter in its initial state, with
184                                Provider ID and Data Type set to 'All' and Search Text empty, will return all available atom documents) and
185                                click the 'Search' button.  If data exists matching the search criteria, these will be displayed after a short
186                                pause in a table of results.  To view this data in more detail, click the 'Edit' button associated with it.  This will
187                                take you to the atom editor, described in the section, '<a href="#editing">Editing an atom</a>'.
188                    </p>
189                    </div>
191                    <a name="editing"><h2>Editing an atom</h2></a>
192                                <div class="headingblock">                 
193                    <p>
194                    The main 'Edit' page for an atom is reached via two routes: either by creating a new atom
195                    (see section, '<a href="#creating">Creating an atom</a>'); or by searching
196                    existing atoms and electing to edit one of these (see section, '<a href="#searching">Searching atoms</a>').
197                    </p>
198                    <p>
199                    The following inputs are available to the atom editor - note, some are
200                    only available to specific atom types:
201                    <dl>
202                    <dt><b>Title</b>
203                    </dt>
204                    <dd>
205                    free text field to specify a title for the metadata document
206                    </dd>
207                    <dt>
208                    <b>Sub-Type</b> (not Deployments or Granules)
209                    </dt>
210                    <dd>
211                    more specific classification of the type of the underlying data - selectable from a fixed list - which is dependent on the main atom type
212                    </dd>
213                    <dt>
214                    <b>Abbreviation</b> (not Deployments or Granules)
215                    </dt>
216                    <dd>
217                    free text field to specify an abbreviation for the data
218                    </dd>
219                    <dt>
220                    <b>Publication state</b>
221                    </dt>
222                    <dd>
223                    publication state of the metadata - selectable from one of four categories:
224                    <ul>
225                        <li> 'old' - for redundant records</li>
226                        <li>'working' - for new/in progress records</li>
227                        <li>'published' - for records approaching maturity, which may still change, but should be available via the discovery services</li>
228                        <li>'Published' for mature records that are unlikely to change and should be available via the discovery services</li>
229                    </ul>
230                    </dd>
231                    <dt>
232                    <b>Upload data</b> (Data Granules only)
233                    </dt>
234                    <dd>
235                                functionality to allow the import of data direct from CDML or CSML
236                                files - as described in section, '<a href="#csml">Importing CSML/CDML data</a>'.
237                    </dd>
238                    <dt>
239                    <b>Summary</b> (not Deployments or Granules)
240                    </dt>
241                    <dd>
242                    free text area to provide an abstract for the data
243                    </dd>
244                    <dt>
245                    <b>Content</b> (not Deployments)
246                    </dt>
247                    <dd>
248                    the actual main content of the metadata document.  This may just be
249                    text content, but in the case of Granule atoms, if a CSML or CDML file
250                    has been specified (see section '<a href="#csml">Importing CSML/CDML data</a>',
251                    this will be set as the atom content.
252                    </dd>
253                    <dt>
254                    <b>Author</b>
255                    </dt>
256                    <dd>
257                    the principal author of the underlying data being described by the atom. An
258                    email address can be provided with the author name.
259                    </dd>
260                    <dt>
261                    <b>Contributors</b> (not Deployments)
262                    </dt>
263                    <dd>
264                    secondary authors of the underlying data - together with email addresses, if required.
265                    Three contributors can be added at a time; if more are required, add the first three
266                    then click, 'Update' - and space will be added to input another three contributors.
267                    Contributors can be removed by selecting the check box and clicking on 'Remove'.  NB,
268                    multiple contributors can be removed at once.
269                    </dd>
270                    <dt>
271                    <b>Online References</b> (not Deployments or Granules)
272                    </dt>
273                    <dd>
274                    reference links to data associated with the underlying data - composed of a link 'type',
275                    or 'relation' together with a URI and a title.  Note, the URI must follow the format,
276                    '' - i.e. including the full address.  Like 'Contributors', it is
277                    possible to add and remove multiple online references at once.
278                    </dd>
279                    <dt>
280                    <b>Associated Data Granules</b> (Data Entities only)
281                    </dt>
282                    <dd>
283                    references to existing data granule atoms.  Clicking
284                    on the 'Add' link in this section takes the user to the atom list page (see section
285                    '<a href="#searching">Searching atoms</a>').  Since the user is setting up
286                    data granule associations, only atoms of this type can now be searched on.  Once
287                    a search has been done (narrowing results by specifying suitable search terms, if required),
288                    if results have been found, the user can then set up associations with these, by
289                    using the checkboxes to select the specific granules and then clicking 'Add selections'.
290                    If associations with granules need to be removed, click the 'Edit' link, select the
291                    granule(s) to remove using the checkbox and then click, 'Remove'.
292                    </dd>
293                    <dt>
294                    <b>Associated Deployments</b> (Data Entities only)
295                    </dt>
296                    <dd>
297                    references to existing deployment atoms.  The process to add
298                    and remove associations is the same as for data granules, above.
299                    </dd>
300                    <dt>
301                    <b>Associated Data</b> (Deployments only)
302                    </dt>
303                    <dd>
304                    references to existing activity/observation station/data production tool atoms.  The process to add
305                    and remove associations is the same as for data granules, above.
306                    </dd>
307                    <dt>
308                    <b>Parameters</b> (Data Entities only)
309                    </dt>
310                    <dd>
311                    parameters categorising the underlying data described by the metadata document.  Parameter data consists
312                    of a label together with a URL to a valid vocabulary term (i.e. available from a vocab server - such as
313                    '') and term ID.  On input the validity of the vocab term data is checked and
314                    the data will be rejected if it is invalid.
315                    </dd>
316                    <dt>
317                    <b>Data Coverage</b>
318                    </dt>
319                    <dd>
320                    a summary of the spatiotemporal coverage of the underlying data.  Input fields allow the specification of
321                    max/min coordinates and temporal ranges.
322                    </dd>
323                    <dt>
324                    <b>Responsible Parties</b>
325                    </dt>
326                    <dd>
327                    information on individuals responsible for the creation and maintenance
328                    of the actual atom metadata document - consists of free text information
329                    to specify the user role, name and uri (if required).  As with Contributors,
330                    multiple data can be added - and subsequently removed.
331                    </dd>
333                    </dl>
335                    In addition to the input fields, some atom types have additonal, 'summary'
336                    information displayed - relating to atoms which have a logical reference to
337                    the current document.  Specifically, the following summaries are available:
338                    <dl>
339                    <dt>
340                    <b>Associated Deployments Data (summary/details)</b> (Data Entities and Deployments data only)
341                    </dt>
342                    <dd>
343                    displays a list of the associated Deployments data - via associated Deployment atoms - i.e.
344                    this gathers info from all Deployment documents which reference the current
345                    data and lists out all the other Deployments data featured.  For example, if a Deployment
346                    features Activity1, DPT1 and Observation Station2, and we are viewing Activity1, then
347                    DPT1 and Observation Station2 will be displayed (together with links to the actual docs)
348                    here.  Clicking on the plus/minus sign toggles between the summary and details mode.
349                    Summary mode displays a unique list of the associated Deployments data whereas details mode
350                    shows exactly how this is grouped, together with temporal ranges, in the Deployment atoms.
351                    </dd>
352                    <dt>
353                    <b>Associated Data Entities - summary</b> (Deployments data and Granules only)
354                    </dt>
355                    <dd>
356                    displays a list of the associated Data Entities data - together with links to this data. 
357                    For Deployments data, the list is constructed
358                    by finding all Deployment atoms which feature the currently displayed atom, then
359                    finding all Data Entities which reference these Deployments.  For Data Granule atoms,
360                    this list is constructed by finding all the Data Entities which directly reference the
361                    displayed Granule.
362                    </dd>
363                    </dl>
364                    </p>
365                    </div>
366                    <a name="granulite"><h2>Importing granulite data</h2></a>
367                                <div class="headingblock">                 
368                    <p>
369                    Data can be imported directly into the system using a type of data file known
370                    as a <em>granulite</em>.  These are used to create Data Granule metadata documents
371                    and set up associations with existing Data Entities.  The format of a granulite file
372                    can be seen here - <a href="${h.url_for('example')}">example granulite</a>.
373                    </p>
374                    <p>
375                    When a valid granulite file has been constructed, the contents may be ingested by
376                    visiting the '<a href="${h.url_for('createGranule')}">Create data granule atom using granulite file</a>' page.
377                    This presents the user with the following input fields:
378                    <dl>
379                    <dt><b>
380                    Granulite File
381                    </b></dt>
382                    <dd>
383                    Clicking on 'Browse...' produces a file browser window to allow users to
384                    navigate and select their granulite file.
385                    </dd>
386                    <dt><b>
387                    CSML or CDML file
388                    </b></dt>
389                    <dd>
390                    Clicking on 'Browse...' produces a file browser window to allow users to
391                    navigate and select their CSML or CDML file.  This file is used to augment data
392                    specified in the granulite file and is uploaded to the document repository upon
393                    ingest.  Note, only one CSML or CDML
394                    file can be ingested per granulite file.  Also note, if a CDML file is ingested
395                    it is coverted into a CSML file, as part of the ingest, to extract the required
396                    summary data; both the original CDML file and the generated CSML file are subsequently
397                    stored in the document repository.
398                    </dd>
399                    <dt><b>
400                    Dataset ID
401                    </b></dt>
402                    <dd>
403                    *****************THIS SHOULD PROBABLY BE REMOVED - NEEDS TESTING....****
404                    </dd>
405                    <dt><b>
406                    Time axis
407                    </b></dt>
408                    <dd>
409                    If a CDML file is specified, it is necessary to identify the time axis label
410                    used by the file in order to extract all the available data.  If no axis is provided,
411                    the default, 'time' will be used.
412                    </dd>
413                    </dl>
414                    </p>
415                    <p>
416                    <h2>Use Cases</h2>
417                    The ingesting of granulite data has several possible workflows; these are
418                    described in detail here.
419                    <dl>
420                    <dt><b>
421                    1. Ingest of new granulite, with no CSML/CDML file, describing new Data Granule
422                    </b></dt>
423                    <dd>
424                    The granulite should not have a dataset_id specified in the granule_info as this
425                    will be automatically generated upon ingest.  User selects the granulite file
426                    using the 'Granulite file' Browse input.  User clicks 'Upload'.  The data is then
427                    ingested and, if no problems are encountered, a new Data Granule is created using
428                    this data and then displayed.
429                    </dd>
430                    <dt><b>
431                    2. Ingest of old granulite, with no CSML/CDML file or dataset_id specified
432                    </b></dt>
433                    <dd>
434                    If no dataset_id has been specified, the ingest process has no way of knowing
435                    that the data has already been ingested.  In this case, a new Data Granule is
436                    created - effectively with identical contents to another Data Granule.
437                    </dd>
438                    <dt><b>
439                    3. Ingest of old granulite, with no CSML/CDML file specified, but dataset_id of existing Data Granule <em>is</em>specified
440                    </b></dt>
441                    <dd>
442                    If the dataset_id has been specified, and if an existing Data Granule is already using this ID, the
443                    ingest process is interupted and the user is asked whether they want to overwrite the existing
444                    Data Granule with the new Data Granule generated from the granulite file contents.  If the user
445                    clicks, 'Cancel' then the ingest is halted and they remain on the granulite ingest page.  If they
446                    click, 'Ok' then the ingest continues and the old Data Granule is replaced with the new one.  NB, in
447                    this scenario, any links between Data Entities and the old Data Granule are removed.
448                    </dd>
449                    <dt><b>
450                    4. Ingest of new granulite with CSML file specified
451                    </b></dt>
452                    <dd>
453                    Work flow as Use Case 1, however a CSML file is also specified - using the Browse input for this
454                    field.  When the user clicks 'Upload' the CSML file is the scanned to extract the following data:
455                    <ul>
456                    <li>
457                    CSML ID - to be used as the produced Data Granule dataset ID
458                    </li>
459                    <li>
460                    Title
461                    </li>
462                    <li>
463                    Spatiotemporal coverage data
464                    </li>
465                    <li>
466                    Parameters data
467                    </li>
468                    </ul>
469                    This is used to create a new Data Granule and the CSML file is uploaded to the
470                    document repository.  The granulite data is then extracted
471                    and applied to this new Data Granule.  NB, this will lead to replacement of any
472                    single value data, if specified - i.e. the ID, Title and coverage data.  The parameters
473                    data will be augmented with any new, unique terms.
474                    </dd>                   
475                    <dt><b>
476                    5. Ingest of new granulite with CDML file specified
477                    </b></dt>
478                    <dd>
479                    As Use Case 4, however the CDML file is firstly converted into a
480                    CSML file, using the additional supplied inputs, if required.  NB, both
481                    the original CDML file and the generated CSML file are uploaded to the
482                    document repository.
483                    </dd>
484                    <dt><b>
485                    6. Ingest of old granulite with CSML/CDML file and dataset ID specified
486                    </b></dt>
487                    <dd>
488                    Similarly to Use Case 3, the user will be prompted to confirm whether the
489                    ingest should complete - and overwrite the existing Data Granule.  If the
490                    user selects to do this, workflow continues as for Use Case 4/5.
491                    </dd>
492                    </dl>
493                    </p>
494                    <p>
495                    Note, the granulite ingest functionality is also available as a command line
496                    process - which may be more appropriate for batch processing large numbers of
497                    granulite files.
498                    </p>
499                    </div>
500                    <a name="csml"><h2>Importing CSML/CDML data</h2></a>
501                                <div class="headingblock">                 
502                    <p>
503                    As well as importing data from granulite files (see section, '<a href="#granulite">Importing granulite data</a>'),
504                    it is also possible to ingest data directly from CSML or CDML files into existing Data Granules.
505                    </p>
506                    <p>
507                    If a Data Granule doesn't already have a CSML or CDML file associated with it, it
508                    will have an 'Upload data' input section available to it in edit mode.  This is
509                    similar to the input used for the granulite ingest - except the option to specify
510                    a granulite file is absent.  A user can specify a CSML or CDML file and click,
511                    'Upload' to add data from the file to the Data Granule.  NB, as with the granulite
512                    ingest, if a CDML file is specified, it may be necessary to include a time axis, to
513                    aid the parsing of this file.  Also, like the granulite ingest, CDML files are used
514                    to create CSML files - and both these types of document are uploaded to the document
515                    repository as part of the upload process.
516                    </p>
517                    <p>
518                    Note, if the data to upload is of a large size, please be patient as this operation
519                    may take some time to complete.
520                    </p>
521                    <p>
522                    When the upload is completed, the new data is saved to the Data Granule and this is
523                    reloaded to display the new contents.  NB, it is only possible to associate a single
524                    CDML or CSML file with a Data Granule so, following the initial upload, this input
525                    functionality is then disabled.  The 'Content File' section is filled in automatically
526                    to display the name of the uploaded CSML/CDML.
527                    </p>
528                    </div>
529                    <a name="deleting"><h2>Deleting granule atoms</h2></a>
530                                <div class="headingblock">                 
531                    <p>
532                    Data Granules, and their associations with Data Entities, may be deleted from
533                    the system.  To do this, access the Data Granule in question, via the search
534                    page (see section '<a href="#searching">Searching atoms</a>') and click on the
535                    'Delete' button at the top of the editor.  The user is then presented with a
536                    confirmation dialog, to avoid accidental deletion of data.  If the user confirms the
537                    delete, the Data Granule atom is deleted and links to it from Data Entity atoms are removed.
538                    NB, before the atom is deleted a copy is stored in the backup collection of the document
539                    repository.
540                    </p>
541                    </div>
542                    <a name="structure"><h2>Appendix A: atom XML structure</h2></a>
543                                <div class="headingblock">                 
544                    <p>
545                    The XML structure of a dummy Data Entity document is given described below.  The various metadata inputs
546                    discussed in section, '<a href="#editing">Editing an atom</a>' should be evident in this structure.  Points of note
547                    include:
548                    <ul>
549                    <li>
550                    Online references are stored as atom links
551                    </li>
552                    <li>
553                    Parameters are stored as atom categories
554                    </li>
555                    <li>
556                    Atom type and subtype are stored as atom categories
557                    </li>
558                    <li>
559                    The atom id element is a unique identifier - an IRI as specified by <a href="">[RFC3987]</a> - this includes the atom dataset ID
560                    </li>
561                    <li>
562                    The Atom1.0 schema has been extended to include data that didn't naturally fit in it, namely:
563                        <ul>
564                        <li>
565                                Spatiotemporal data - which is described in GEOSS, GML and Moles elements
566                        </li>
567                        <li>
568                        Responsible parties data
569                        </li>
570                        <li>
571                        Dataset and metadata language
572                        </li>
573                        <li>
574                        Abbreviation
575                        </li>
576                        <li>
577                        Creation date
578                        </li>
579                        <li>
580                        Provider ID
581                        </li>
582                        </ul>
583                        NB, the Moles elements are based on the old MOLES1.3 format.  Note, also, that the schema
584                        could be further simplified by judicious use of vocab terms - effectively translating
585                        the latter four bits of data into categories data.
586                    </li>
587                    </ul>
588                    <pre>
589            <div class="xmlDocBig"><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">entry <span class="xmlAttrTyp">xmlns</span>="<span class="xmlAttrVal"></span>" <span class="xmlAttrTyp">xmlns:georss</span>="<span class="xmlAttrVal"></span>"
590            <span class="xmlAttrTyp">xmlns:moles</span>="<span class="xmlAttrVal"></span>" <span class="xmlAttrTyp">xmlns:gml</span>="<span class="xmlAttrVal"></span>"</span><b>></b>
591<div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">id</span><b>></b>tag:localhost,2008-12-23:/view/<b>&lt;</b>/<span class="xmlElemTag">id</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">title</span><b>></b>A data entity describing some data used in a measurement.<b>&lt;</b>/<span class="xmlElemTag">title</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">link</span> <span class="xmlAttrTyp">href</span>="<span class="xmlAttrVal">http://localhost:5000/view/</span>" <span class="xmlAttrTyp">rel</span>="<span class="xmlAttrVal">self</span>"<b>></b><b>&lt;</b>/<span class="xmlElemTag">link</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">link</span> <span class="xmlAttrTyp">href</span>="<span class="xmlAttrVal">http://localhost:5000/view/</span>"
592<span class="xmlAttrTyp">rel</span>="<span class="xmlAttrVal">NOT YET SET UP/None/Deployment</span>" <span class="xmlAttrTyp">title</span>="<span class="xmlAttrVal">dep1</span>"<b>></b><b>&lt;</b>/<span class="xmlElemTag">link</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">link</span> <span class="xmlAttrTyp">href</span>="<span class="xmlAttrVal">http://localhost:5000/view/</span>"
593<span class="xmlAttrTyp">rel</span>="<span class="xmlAttrVal">NOT YET SET UP/None/Deployment</span>" <span class="xmlAttrTyp">title</span>="<span class="xmlAttrVal">dep266</span>"<b>></b><b>&lt;</b>/<span class="xmlElemTag">link</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">link</span> <span class="xmlAttrTyp">href</span>="<span class="xmlAttrVal">http://localhost:5000/view/</span>"
594<span class="xmlAttrTyp">rel</span>="<span class="xmlAttrVal">GRAN - NOT YET SET UP/None/GRANULE</span>" <span class="xmlAttrTyp">title</span>="<span class="xmlAttrVal">gran1</span>"<b>></b><b>&lt;</b>/<span class="xmlElemTag">link</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">link</span> <span class="xmlAttrTyp">href</span>="<span class="xmlAttrVal">http://localhost:5000/view/</span>"
595<span class="xmlAttrTyp">rel</span>="<span class="xmlAttrVal">GRAN - NOT YET SET UP/None/GRANULE</span>" <span class="xmlAttrTyp">title</span>="<span class="xmlAttrVal">new gran12</span>"<b>></b><b>&lt;</b>/<span class="xmlElemTag">link</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">link</span> <span class="xmlAttrTyp">href</span>="<span class="xmlAttrVal"></span>" <span class="xmlAttrTyp">rel</span>="<span class="xmlAttrVal"></span>" <span class="xmlAttrTyp">title</span>="<span class="xmlAttrVal">Tessella</span>"<b>></b><b>&lt;</b>/<span class="xmlElemTag">link</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">link</span> <span class="xmlAttrTyp">href</span>="<span class="xmlAttrVal"></span>" <span class="xmlAttrTyp">rel</span>="<span class="xmlAttrVal"></span>" <span class="xmlAttrTyp">title</span>="<span class="xmlAttrVal">Data</span>"<b>></b><b>&lt;</b>/<span class="xmlElemTag">link</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">link</span> <span class="xmlAttrTyp">href</span>="<span class="xmlAttrVal"></span>" <span class="xmlAttrTyp">rel</span>="<span class="xmlAttrVal"></span>" <span class="xmlAttrTyp">title</span>="<span class="xmlAttrVal">object home</span>"<b>></b><b>&lt;</b>/<span class="xmlElemTag">link</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">author</span><b>></b>
596<div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">name</span><b>></b>Mr Smith<b>&lt;</b>/<span class="xmlElemTag">name</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">email</span><b>></b><b>&lt;</b>/<span class="xmlElemTag">email</span><b>></b></div><b>&lt;</b>/<span class="xmlElemTag">author</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">contributor</span><b>></b>
597<div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">name</span><b>></b>Mrs Smith<b>&lt;</b>/<span class="xmlElemTag">name</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">email</span><b>></b><b>&lt;</b>/<span class="xmlElemTag">email</span><b>></b></div><b>&lt;</b>/<span class="xmlElemTag">contributor</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">contributor</span><b>></b>
598<div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">name</span><b>></b>Mr Yang<b>&lt;</b>/<span class="xmlElemTag">name</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">email</span><b>></b><b>&lt;</b>/<span class="xmlElemTag">email</span><b>></b></div><b>&lt;</b>/<span class="xmlElemTag">contributor</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">category</span> <span class="xmlAttrTyp">term</span>="<span class="xmlAttrVal">ATOM_TYPE</span>" <span class="xmlAttrTyp">scheme</span>="<span class="xmlAttrVal">DE - NOT YET SET UP/None/DE</span>" <span class="xmlAttrTyp">label</span>="<span class="xmlAttrVal">DE</span>"<b>></b><b>&lt;</b>/<span class="xmlElemTag">category</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">category</span> <span class="xmlAttrTyp">term</span>="<span class="xmlAttrVal">ATOM_SUBTYPE</span>" <span class="xmlAttrTyp">scheme</span>="<span class="xmlAttrVal">NOT YET SET UP/None/dgMeasurement</span>" <span class="xmlAttrTyp">label</span>="<span class="xmlAttrVal">dgMeasurement</span>"<b>></b><b>&lt;</b>/<span class="xmlElemTag">category</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">summary</span><b>></b>This data entity represents some measurement data.<b>&lt;</b>/<span class="xmlElemTag">summary</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">content</span> <span class="xmlAttrTyp">type</span>="<span class="xmlAttrVal">xhtml</span>"<b>></b>
599<div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">{}div</span><b>></b>Some more details of the measurement data.
602blah...<b>&lt;</b>/<span class="xmlElemTag">{}div</span><b>></b></div><b>&lt;</b>/<span class="xmlElemTag">content</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">updated</span><b>></b>2008-12-24T13:42:51Z<b>&lt;</b>/<span class="xmlElemTag">updated</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">published</span><b>></b>2008-12-23T13:45:59Z<b>&lt;</b>/<span class="xmlElemTag">published</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:entity</span><b>></b>
603<div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:molesISO</span><b>></b>
604<div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:datasetLanguage</span><b>></b>English<b>&lt;</b>/<span class="xmlElemTag">moles:datasetLanguage</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:metadataLanguage</span><b>></b>English<b>&lt;</b>/<span class="xmlElemTag">moles:metadataLanguage</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:responsibleParties</span><b>></b>
605<div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:responsibleParty</span><b>></b><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:name</span><b>></b>Calum Byrom<b>&lt;</b>/<span class="xmlElemTag">moles:name</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:uri</span><b>></b><b>&lt;</b>/<span class="xmlElemTag">moles:uri</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:role</span><b>></b>Data migrator<b>&lt;</b>/<span class="xmlElemTag">moles:role</span><b>></b></div><b>&lt;</b>/<span class="xmlElemTag">moles:responsibleParty</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:responsibleParty</span><b>></b><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:name</span><b>></b>Calum Byrom<b>&lt;</b>/<span class="xmlElemTag">moles:name</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:uri</span><b>></b><b>&lt;</b>/<span class="xmlElemTag">moles:uri</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:role</span><b>></b>Data curator<b>&lt;</b>/<span class="xmlElemTag">moles:role</span><b>></b></div><b>&lt;</b>/<span class="xmlElemTag">moles:responsibleParty</span><b>></b></div><b>&lt;</b>/<span class="xmlElemTag">moles:responsibleParties</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:abbreviation</span><b>></b>ANON<b>&lt;</b>/<span class="xmlElemTag">moles:abbreviation</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:providerID</span><b>></b><b>&lt;</b>/<span class="xmlElemTag">moles:providerID</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:created</span><b>></b>2008-12-23T13:45:59Z<b>&lt;</b>/<span class="xmlElemTag">moles:created</span><b>></b></div><b>&lt;</b>/<span class="xmlElemTag">moles:molesISO</span><b>></b></div><b>&lt;</b>/<span class="xmlElemTag">moles:entity</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">moles:temporalRange</span><b>></b>1901-01-01/2003-04-29<b>&lt;</b>/<span class="xmlElemTag">moles:temporalRange</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">georss:where</span><b>></b>
606<div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">gml:Envelope</span><b>></b>
607<div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">gml:lowerCorner</span><b>></b>-29 -02<b>&lt;</b>/<span class="xmlElemTag">gml:lowerCorner</span><b>></b></div><div class="xmlElem"><b>&lt;</b><span class="xmlElemTag">gml:upperCorner</span><b>></b>44 89<b>&lt;</b>/<span class="xmlElemTag">gml:upperCorner</span><b>></b></div><b>&lt;</b>/<span class="xmlElemTag">gml:Envelope</span><b>></b></div><b>&lt;</b>/<span class="xmlElemTag">georss:where</span><b>></b></div><b>&lt;</b>/<span class="xmlElemTag">entry</span><b>></b></div></div>
609                    </p>
610                    </div>
611                    <a name="example"><h2>Appendix B: Creating an example set of metadata documents</h2></a>
612                                <div class="headingblock">                 
613                    <p>
614                    Setting up a collection of metadata documents is described in the following example:
615                    <dl>
616                    <dt>
617                    <b>
618                    1. Create a Data Granule atom
619                    </b>
620                    </dt>
621                    <dd>
622                    <ol>
623                    <li>
624                    From the <a href="${h.url_for('home')}">atom home page</a>, click on <a href="${h.url_for('create')}">Create atom</a> link.
625                    </li>
626                    <li>
627                    Select the required Provider ID and select, 'Data Granule' as the Data Type.
628                    </li>
629                    <li>
630                    Click 'Create'.  The editor will now complain about missing author and title data - so provide these.
631                    </li>
632                    <li>
633                                The editor will create a new Data Granule atom and open this in the main editor page.  Add additional
634                                information by editing the different sections and clicking 'Update' each time.
635                    </li>
636                    </ol>
637                    </dd>
638                    <dt>
639                    <b>
640                    2. Create a Data Entity atom and link the Data Granule atom
641                    </b>
642                    </dt>
643                    <dd>
644                    <ol>
645                    <li>
646                    Return to the home page, clicking on the <a href="${h.url_for('home')}">Home</a> link.
647                    </li>
648                    <li>
649                    Click on <a href="${h.url_for('create')}">Create atom</a> link and create a new atom - this type specifying 'Data Entity' as the data type.
650                    </li>
651                    <li>
652                    Add additional data to the Data Entity document; notice there are several extra inputs available
653                    </li>
654                    <li>
655                    Click the 'Add' link in the 'Associated Data Granules' section - this will open the <a href="${h.url_for('list')}">atom search</a> page.
656                    </li>
657                    <li>
658                    Leave the filter blank in its initial state and click, 'Search'.  The Data Granule created in
659                    the previous section should now be displayed.  Gain familiarisation with the search filter,
660                    try changing the selected provider ID and entering search terms - with and without wildcards
661                    (see section '<a href="#searching">Searching atoms</a>' for details).
662                    </li>
663                    <li>
664                    Select the Data Granule created in the previous section, by clicking its checkbox
665                    and then click 'Add Selections'.  The editor will now return to the Data Entity atom; notice
666                    it now displays the Data Granule just added in its 'Associated Data Granules' section.
667                    </li>
668                    <li>
669                    Click on the link to Data Granule in the 'Associated Data Granules' section.  When this
670                    loads notice the 'Associated Data Entities' section now contains the Data Entity to which this atom
671                    has just been associated.
672                    </li>
673                    </ol>
674                    </dd>
675                    <dt>
676                    <b>
677                    3. Create Activity, Observation Station and DPT atoms
678                    </b>
679                    </dt>
680                    <dd>
681                    <ol>
682                    <li>
683                    Return to the home page, clicking on the <a href="${h.url_for('home')}">Home</a> link.
684                    </li>
685                    <li>
686                    Click on <a href="${h.url_for('create')}">Create atom</a> link and create a new atom - this type specifying 'Activity' as the data type.
687                    </li>
688                    <li>
689                    Add additional data to the Activity atom; notice, again, the slightly different available content for input.
690                    </li>
691                    <li>
692                    Repeat steps 2. and 3., specifying Data Types of 'Observation Station' and 'Data Production Tool'
693                    </li>
694                    </ol>
695                    </dd>
696                    <dt>
697                    <b>
698                    4. Create a Deployment atom and link to Deployment Data atoms
699                    </b>
700                    </dt>
701                    <dd>
702                    <ol>
703                    <li>
704                    Return to the home page, clicking on the <a href="${h.url_for('home')}">Home</a> link.
705                    </li>
706                    Click on <a href="${h.url_for('create')}">Create atom</a> link and create a new atom - this type specifying 'Deployment' as the data type.
707                    <li>
708                    Click the 'Add' link in the 'Associated Data' section then search for and add the Deployment Data atoms created in the previous section.
709                    </li>
710                    <li>
711                    The editor will now return to the Deployment atom; notice
712                    it now displays the newly added Deployment Data just added in its 'Associated Data' section.
713                    </li>
714                    <li>
715                    Click on a link to one of the Deployment Data atoms.  This will open the data in 'view' mode.
716                    Click the 'Edit' button at the top of the document to open it in edit mode.  Notice that the
717                    'Associated Deployments Data' now displays the other Deployment Data atoms associated with this
718                    one by the newly created Deployment atom.
719                    </li>
720                    </ol>
721                    </dd>
722                    <dt>
723                    <b>
724                    6. Link Deployment atom to Data Entity atom
725                    </b>
726                    </dt>
727                    <dd>
728                    <li>
729                    Return to the home page, clicking on the <a href="${h.url_for('home')}">Home</a> link.
730                    </li>
731                    <li>
732                    Click on <a href="${h.url_for('list')}">Edit/List atoms</a> and search for the Data Entity created previously.
733                    </li>
734                    <li>
735                    Once found, click 'Edit' to view the Data Entity in the editor.
736                    </li>
737                    <li>
738                    Click the 'Add' link in the 'Associated Deployements' section - and use the search filter to find and add the
739                    Deployment atom just created.
740                    </li>
741                    <li>
742                    The editor returns to the Data Entity atom; notice that the 'Associated Deployments'
743                    section now contains the Deployment atom just added.  Also note the 'Associated Deployments Data'
744                    section now contains summary data from the newly added Deployment atom.
745                    </li>
746                    <li>
747                    Click on the plus/minus sign on the 'Associated Deployments Data' section to
748                    view the data at different levels of detail
749                    </li>
750                    <li>
751                    Click on a link to one of the associated Deployment Data atoms.  When this loads notice
752                    the 'Associated Data Entities' section now contains the Data Entity to which this atom
753                    has just been associated (indirectly via the Deployment atom).
754                    </li>
755                    </dd>
756                    </dl>
757                    </p>
758                    </div>
759                    <a name="exampleCurating"><h2>Appendix C: Curating an example set of metadata documents</h2></a>
760                                <div class="headingblock">                 
761                    <p>
762                    Updating a collection of metadata documents is described in the following example (which assumes the previous Appendix has been completed):
763                    <dl>
764                    <dt>
765                    <b>
766                    1. Curate the Deployment details
767                    </b>
768                    </dt>
769                    <dd>
770                    <li>
771                    From the <a href="${h.url_for('home')}">atom home page</a>, click on the <a href="${h.url_for('list')}">Edit/List atoms</a> link and search for and open the Deployment atom created previously.
772                    </li>
773                    <li>
774                    Click on the 'Edit' link for the 'Associated Data' section.
775                    </li>
776                    <li>
777                    Select a couple of the Deployment Data atoms and click 'Remove'.
778                    </li>
779                    <li>
780                    The Deployment atom now updates - when it reloads notice the selected
781                    Deployment Data atoms are no longer referenced.
782                    </li>
783                    <li>
784                    Click on a remaining Deployment Data atom link - and notice, when this loads, that
785                    it has a reduced set of 'Associated Deployments Data'
786                    </li>
787                    </dd>
788                    <dt>
789                    <b>
790                    2. Remove the Deployment atom association to the Data Entity atom
791                    </b>
792                    </dt>
793                    <dd>
794                    <li>
795                    From the <a href="${h.url_for('home')}">atom home page</a>, click on the <a href="${h.url_for('list')}">Edit/List atoms</a> link and search for and open the Data Entity atom created previously.
796                    </li>
797                    <li>
798                    Click the 'Edit' link of the 'Associated Deployments' section, then select the Deployment atom and click 'Remove'.
799                    </li>
800                    <li>
801                    The editor updates the Data Entity - notice that it no longer has any 'Associated Deployments'.
802                    </li>
803                    <li>
804                    Return to the search page and find one of the Deployment Data atoms created previously.
805                    </li>
806                    <li>
807                    When this loads, notice it no longer has any 'Associated Data Entities' information.
808                    </li>
809                    </dd>
810                    <dt>
811                    <b>
812                    3. Remove the Data Granule atom association to the Data Entity atom
813                    </b>
814                    </dt>
815                    <dd>
816                    <li>
817                    Repeat the previous section, but this time remove the atom in the 'Associated Data Granules' section.
818                    </li>
819                    <li>
820                    Check the Data Granule is no longer featured in the Data Entity - and that it no longer references
821                    the Data Entity.
822                    </li>
823                    <li>
824                    Add the Data Granule to the Data Entity again.
825                    </li>
826                    <li>
827                    Now, search for the Data Granule and open in the editor.
828                    </li>
829                    <li>
830                    Click the 'Delete' button at the top of the document and confirm the deletion.  A pop up
831                    box should confirm that the deletion has completed successfully.  Control returns to the
832                    atom home page.
833                    </li>
834                    <li>
835                    Click on <a href="${h.url_for('list')}">Edit/List atoms</a> and search for the deleted Data Granule - it should no longer be found.
836                    Instead return to the Data Entity created previously.
837                    </li>
838                    <li>
839                    Observe the Data Entity no longer holds any data in its 'Associated Data Granules' section;
840                    the Data Granule has been deleted and references to it have been removed.
841                    </li>
842                    </dd>
843                    </dl>
844                    </p>
845                    </div>
846                </div>
847        </div>
848  </body>
Note: See TracBrowser for help on using the repository browser.