kitodo / kitodo-production

Kitodo.Production is a workflow management tool for mass digitization and is part of the Kitodo Digital Library Suite.
http://www.kitodo.org/software/kitodoproduction/
GNU General Public License v3.0
62 stars 63 forks source link

Question: Ruleset - Structure #5027

Open stefanCCS opened 2 years ago

stefanCCS commented 2 years ago

Hi, I have a question concerning Ruleset-Configuration. I want to reach the following structure after export: Periodical/Volume/Issue, with Periodical being one mets-File having mptr's to Volumens. And each Volume containing mets:div[LOGICAL] structure Periodical (with mptr to Periodical mets)/Volume including all Issues(!) --> this means, no(!) single mets-file for each issue. (Hint: This is a requirement by DDB

In the Ruleset I have configured something like this:

<division id="MyPeriodical" processTitle="'abc'+'-'+CatalogIDDigital" withWorkflow="false" use="createChildrenFromParent">
    <label>Periodical</label>
    <label lang="de">Mehrbändiges Werk</label>
</division>
<division id="MyVolume" processTitle="'abc'+'-'+CatalogIDDigital" withWorkflow="false" use="createChildrenFromParent">
    <label>Volume</label>
    <label lang="de">Band</label>
</division>
<division id="MyIssue" processTitle="'abc'+'-'+CatalogIDDigital">
    <label>Issue</label>
    <label lang="de">Ausgabe</label>
</division> 

...

<restriction division="MyPeriodical" unspecified="forbidden">
    <permit division="MyVolume"/>
    <permit key="..."/>
</restriction>
<restriction division="MyVolume" unspecified="forbidden">
    <permit division="MyIssue"/>
    <permit key="..."/>
</restriction>
<restriction division="MyIssue" unspecified="forbidden">
    <permit key="..."/>
</restriction>

During exports this creates dedicated mets-files for

(Hint: A "calendar-based-creating" structure, also creates mets-files per issue).

Therefore my question: Is there a Ruleset option to create an export as requested?(all issues in Volume mets?)

matthias-ronge commented 2 years ago

The internal representation in the form of processes corresponds to what you get in the export. So, you only need one level of superordinate process (MyPeriodical) and the subordinate process (MyVolume), and in this, you create all issues as ordinary division. Then the same should come out when exporting.

In the ruleset, it would look like this:

<division id="MyPeriodical" processTitle="'abc'+'-'+CatalogIDDigital" withWorkflow="false" use="createChildrenFromParent">
    <label>Periodical</label>
    <label lang="de">Mehrbändiges Werk</label>
</division>
<division id="MyVolume" processTitle="'abc'+'-'+CatalogIDDigital">
    <label>Volume</label>                                  <!-- ^^ -->
    <label lang="de">Band</label>
</division>
<division id="MyIssue">
                <!-- ^^ -->
    <label>Issue</label>
    <label lang="de">Ausgabe</label>
</division>
stefanCCS commented 2 years ago

Have tried out - works as you said :-) Many thanks.

stefanCCS commented 2 years ago

Maybe something to add to this description: ? https://github.com/kitodo/kitodo-production/wiki/Regelsatz-3.x

stefanCCS commented 1 year ago

@solth: This one here is still an open documentation issue. Especially here, the use="createChildrenFromParent" looks like not to be explained here Regelsatz-3.x.

aetherfaerber commented 1 year ago

We have identified a lack of documentation regarding similar recently added keywords for ruleset and import over at https://github.com/kitodo/kitodo-production/discussions/5508#discussioncomment-4799068, too.