Differences between revisions 10 and 11
Revision 10 as of 2009-02-19 16:28:13
Size: 5520
Editor: jrg
Comment:
Revision 11 as of 2009-02-19 16:30:55
Size: 5545
Editor: jrg
Comment:
Deletions are marked like this. Additions are marked like this.
Line 83: Line 83:
The third pass will generate the FoxML objects for towns. Looping over all volumes and all towns in {{{townRelations}}} we will make a copy of the town template and insert the hasPaper-relations from {{{townRelations}}} for the given volume and town at {{{<!-- INSERT_HASPAPER_RELATIONS_HERE -->}}} in the template. For the PID that needs to be inserted, we will use the town number and volume. For title, we will make a look up in a table constructed from data from the {{{BIND_1.xml}}},...,{{{BIND_3.xml}}} files. The PID of the firstpage-relation

pid -
volume, townnumber
title -
first
pagepid -
The third pass will generate the FoxML objects for towns. Looping over all volumes and all towns in {{{townRelations}}} we will make a copy of the town template and insert the hasPaper-relations from {{{townRelations}}} for the given volume and town at {{{<!-- INSERT_HASPAPER_RELATIONS_HERE -->}}} in the template. For the PID that needs to be inserted, we will use the town number and volume. For title, we will make a look up in a table constructed from data from the {{{BIND_1.xml}}},...,{{{BIND_3.xml}}} files. The PID of the firstpage-relation will be constructed from volume number and a pagenumber from {{{townFirstpage}}}.

Action Code Full Preingester

Assigned
PKO+JRG

Prev assigned

Tasks adressed
["Collection"]

Time estimated
9 md

Time used
md

Priority
1

Status
Not described

Iteration
19

Notes

(Test with actual objects, ingesting a few of the results into test-Fedora by Admin application) Here, the object templates written in an earlier action will be used. Any TODO's in those templates should be finished.

First step

* UNDER CONSTRUCTION *

In DDAPreingester.java, make a method that generates FoxML objects for towns. This will be done in two or three passes.

The first pass gathers the stuff that will (in the second pass) be inserted in the town-templates at <!-- INSERT_HASPAPER_RELATIONS_HERE -->. The pass uses an array (or HashMap) for each volume, let's call it townRelations, to store for each town(number) the string (containing relations) to be inserted in the corresponding towns template. (Remember here that for a given town, it can exist in several volumes, and those towns will then be separate here.) This pass will consist of a loop over volumes containing a loop over the paper xmls of the volume. From each paper xml will be extracted (via xpath code like in last iteration) the "number" of the paper, and that will be used for constructing the pid of that paper, which in turn will be used to construct a string <doms:hasPaper rdf:resource="info:fedora/INSERT_HASPAPER_PID_HERE"/> This string is appended to the relations-string (in townRelations) for the town (and volume) of the current paper xml. In this way, the first pass will have collected the hasPaper-relations for each town for each volume.

The second pass loops over all volumes and papers to record in an array townFirstpage for each volume the first page of each volume-town-occurrence. This is done by looking in the paper xml, where town number and pagenumber can be found, and then recording the pagenumber for the town, if a smaller pagenumber had not already been found for the volume-town-occurrence.

The third pass will generate the FoxML objects for towns. Looping over all volumes and all towns in townRelations we will make a copy of the town template and insert the hasPaper-relations from townRelations for the given volume and town at <!-- INSERT_HASPAPER_RELATIONS_HERE --> in the template. For the PID that needs to be inserted, we will use the town number and volume. For title, we will make a look up in a table constructed from data from the BIND_1.xml,...,BIND_3.xml files. The PID of the firstpage-relation will be constructed from volume number and a pagenumber from townFirstpage.

Second step

Third step

BR

BR

Checklist For Working On An Action

The Life Cycle of an Action:

  • Assign people for action definition: Done at start of iteration status meeting. Fill out Assigned

  • Define the action: Describe information about what is to be done and how. Fill out Tasks Addressed and Time Estimated.

  • Review the definition: Get another project group member to review the action definition, and update it.

  • Assign people for action implementation: Done by project manager, usually the same persons who wrote the definition. Fill out Assigned and Prev assigned if new persons are assigned.

  • Implement the action: See details below

  • Review the action: Get another project group member to review what is implemented (code and documentation), and update it.

  • Finish the action: Change the status to "Finished" and update the "time used" field on the action page.

Please make sure that you address the below issues, when working on an action:

  • Update the state of the action to "In Progress" when you start working on it.
  • Check if the tasks addressed by this action have their status set to "In Progress". If that is not the case, then change the state of them.
  • Keep track of how much time that has been spent working on the action. If it addresses more than one task, then make a note on the action page about how much of the elapsed time that has been spent on the individual tasks. Hint: Continually updating the "Time used" field will make it easier for you.

  • Update the "Progress History" and documentation pages of each task addressed by this action when appropriate. This depends on the situation, but in general, the task pages should hold all important related information about the work done, experiences gathered, identified requirements and so on.

ActionCodeFullPreingester (last edited 2010-03-17 13:09:14 by localhost)