Filling Out the Processing History Class

From The SBN Wiki
Jump to navigation Jump to search

The Processing_History class provides a listing of the products and program user to create the product.

<Input_Products>

OPTIONAL

This class lists the immediate predecessor products to this product. Repeat it for each predeccesor to be named.

<Input_Product>

REQUIRED

Having class names that differ by a single letter is not a particularly good practice.


<local_identifier>

REQUIRED

This identifier cannot logically be referenced by anything else in this dictionary (or any other dictionary I've analyzed).

<pds:Internal_Reference>

REQUIRED

Note that if the preceding <local_identifier> is removed, there is no need for the intervening (and potentially confusingly named) <Input_Product> class.

This assumes all predecessors will be PDS products with known URNs. Is that likely to be true in all cases?

<pds:lid_reference> or <pds:lidvid_reference>

REQUIRED

<pds:reference_type>

REQUIRED

No standard values are defined for this attribute.

<pds:comment>

OPTIONAL


<Source_Raw_Products>

OPTIONAL

<Source_Raw_Product>

REQUIRED

REQUIRED

Having class names that differ by a single letter is not a particularly good practice.


<local_identifier>

REQUIRED

This identifier cannot logically be referenced by anything else in this dictionary (or any other dictionary I've analyzed).

<pds:Internal_Reference>

REQUIRED

Note that if the preceding <local_identifier> is removed, there is no need for the intervening (and potentially confusingly named) <Source_Raw_Product> class.

This assumes all predecessors will be PDS products with known URNs. Is that likely to be true in all cases?

<pds:lid_reference> or <pds:lidvid_reference>

REQUIRED

<pds:reference_type>

REQUIRED

No standard values are defined for this attribute.

<pds:comment>

OPTIONAL


<Process>

OPTIONAL

Does it make sense that everything in this class is optional? For example, is it logically possible to describe a Process_Owner without specifying Software? When would that happen? Or is it possible to have Software listings without a Process_Owner? Does description sometimes stand in for one or the other of these?

<description>

OPTIONAL

<Process_Owner>

OPTIONAL

Why does the class name talk about an "owner" by every attribute begins with "product_producer"? If they are the same, why change the nomenclature? If they are different, why is does the class called "Process_Owner" not contain a single attribute about the owner of a process?

Does it really make sense for all the attributes to be optional? Shouldn't there be a minimal requirement for at least an ID or name, if not both?

<product_producer_id>

OPTIONAL

<product_producer_full_name>

OPTIONAL

<product_producer_institution_name>

OPTIONAL

<Software>

OPTIONAL

<name>

OPTIONAL

Name of what? If it's the name of the software, why is it optional? If it's not the name of the software, how is the software otherwise identified?

<software_version_id>

OPTIONAL

Given that this occurs in the class Processing_History, shouldn't the version be required?

<description>

OPTIONAL

<software_user_id>

OPTIONAL

Is this an alternate to name? If not, what is the relationship between the (presumably) person named here and the Process_Owner and "producer" mentioned in the associated classes? The definition implies this is actually a login ID, but for security purposes that should never be true, right?!!!

<software_host_name>

OPTIONAL

Putting this in an archive label seems problematic. If the host is still alive, publicizing its name is not a good idea, security-wise, and if it's not, knowing the name is unlikely to help an end user and may actually lead him to ping a host that is now involved in a malware network. An ID that is translated by a document would be a better option.

<start_date_time>

OPTIONAL

This attribute and the next one are both nillable and optional. Are they required (but nillable) elsewhere? If not, this is a violation of PDS best practices for the core namespace.

<stop_date_time>

OPTIONAL

<Software_Argument>

OPTIONAL

The more I think about it, the more dangerous it seems to me to be giving away this much information about an active production pipeline. Is it true that products that use this and related classes will only ever be submitted after the pipeline has been closed down, or will only be run on a host that is behind a very robust security barrier?

<name>

REQUIRED

<value>

REQUIRED