Äcdocutils.nodes
document
q)Åq}q(U	nametypesq}q(X���use case 04 - create new objectqNX���uc04qàX���historyqàuUsubstitution_defsq	}q
Uparse_messagesq]qUcurrent_sourceq
NU
decorationqNUautofootnote_startqKUnameidsq}q(hUuse-case-04-create-new-objectqhUuc04qhUhistoryquUchildrenq]q(cdocutils.nodes
target
q)Åq}q(U	rawsourceqX	���.. _UC04:UparentqhUsourceqXj���/var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/design/UseCases/04_uc.txtqUtagnameqUtargetqU
attributesq }q!(Uidsq"]Ubackrefsq#]Udupnamesq$]Uclassesq%]Unamesq&]Urefidq'huUlineq(KUdocumentq)hh]ubcdocutils.nodes
section
q*)Åq+}q,(hU�hhhhUexpect_referenced_by_nameq-}q.hhshUsectionq/h }q0(h$]h%]h#]h"]q1(hheh&]q2(hheuh(Kh)hUexpect_referenced_by_idq3}q4hhsh]q5(cdocutils.nodes
title
q6)Åq7}q8(hX���Use Case 04 - Create New Objectq9hh+hhhUtitleq:h }q;(h$]h%]h#]h"]h&]uh(Kh)hh]q<cdocutils.nodes
Text
q=X���Use Case 04 - Create New Objectq>ÖÅq?}q@(hh9hh7ubaubcsphinx.addnodes
index
qA)ÅqB}qC(hU�hh+hhhUindexqDh }qE(h"]h#]h$]h%]h&]UentriesqF]qG((UsingleqHX���Use Case 04Uindex-0qIU�NtqJ(hHX���UC04hIU�NtqK(hHX���createhIU�NtqLeUinlineqMâuh(Kh)hh]ubh)ÅqN}qO(hU�hh+hhhhh }qP(h"]h#]h$]h%]h&]h'hIuh(Kh)hh]ubcdocutils.nodes
definition_list
qQ)ÅqR}qS(hU�hh+hhh-}hUdefinition_listqTh }qU(h$]h%]h#]h"]qVhIah&]uh(Nh)hh3}qWhIhNsh]qX(cdocutils.nodes
definition_list_item
qY)ÅqZ}q[(hX+���Revisions
View document revision history_.
hhRhhhUdefinition_list_itemq\h }q](h$]h%]h#]h"]h&]uh(K	h]q^(cdocutils.nodes
term
q_)Åq`}qa(hX	���RevisionsqbhhZhhhUtermqch }qd(h$]h%]h#]h"]h&]uh(K	h]qeh=X	���RevisionsqfÖÅqg}qh(hhbhh`ubaubcdocutils.nodes
definition
qi)Åqj}qk(hU�h }ql(h$]h%]h#]h"]h&]uhhZh]qmcdocutils.nodes
paragraph
qn)Åqo}qp(hX ���View document revision history_.hhjhhhU	paragraphqqh }qr(h$]h%]h#]h"]h&]uh(K	h]qs(h=X���View document revision qtÖÅqu}qv(hX���View document revision hhoubcdocutils.nodes
reference
qw)Åqx}qy(hX���history_UresolvedqzKhhohU	referenceq{h }q|(UnameX���historyq}Urefuriq~Xî���https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/UseCases/04_uc.txtqh"]h#]h$]h%]h&]uh]qÄh=X���historyqÅÖÅqÇ}qÉ(hU�hhxubaubh=X���.ÖÅqÑ}qÖ(hX���.hhoubeubahU
definitionqÜubeubhY)Åqá}qà(hX*���Goal
Create new content on a Member Node.
hhRhhhh\h }qâ(h$]h%]h#]h"]h&]uh(Kh)hh]qä(h_)Åqã}qå(hX���Goalqçhháhhhhch }qé(h$]h%]h#]h"]h&]uh(Kh]qèh=X���GoalqêÖÅqë}qí(hhçhhãubaubhi)Åqì}qî(hU�h }qï(h$]h%]h#]h"]h&]uhháh]qñhn)Åqó}qò(hX$���Create new content on a Member Node.qôhhìhhhhqh }qö(h$]h%]h#]h"]h&]uh(Kh]qõh=X$���Create new content on a Member Node.qúÖÅqù}qû(hhôhhóubaubahhÜubeubhY)Åqü}q†(hX≈��Summary
A user adds new content to a Member Node (MN). The operation of adding new
content to a Member Node is atomic to the Member Node, meaning there is no
dependency on the replication or synchronization processes for the
successful completion of a create operation.

The metadata is retrieved by the CN using a pull mechanism (CN requests
content from the MN) which may be triggered by a timer event or notification
from the MN.

The availability of new content on a MN is indicated by a flag in the
response to a ping() message issued by a CN. The CN then retrieves a list of
changes from the MN and for each change, retrieves the experiment metadata,
stores it and generates a search metadata document by extracting content
from the experiment metadata. The changes to the CN (stored experiment
metadata, update search metadata) are replicated to the other CNs (Use Case
###). The CN schedules replication of the data package across other MNs
(Use Case 06).

hhRhhhh\h }q°(h$]h%]h#]h"]h&]uh(K h)hh]q¢(h_)Åq£}q§(hX���Summaryq•hhühhhhch }q¶(h$]h%]h#]h"]h&]uh(K h]qßh=X���Summaryq®ÖÅq©}q™(hh•hh£ubaubhi)Åq´}q¨(hU�h }q≠(h$]h%]h#]h"]h&]uhhüh]qÆ(hn)ÅqØ}q∞(hX��A user adds new content to a Member Node (MN). The operation of adding new
content to a Member Node is atomic to the Member Node, meaning there is no
dependency on the replication or synchronization processes for the
successful completion of a create operation.q±hh´hhhhqh }q≤(h$]h%]h#]h"]h&]uh(Kh]q≥h=X��A user adds new content to a Member Node (MN). The operation of adding new
content to a Member Node is atomic to the Member Node, meaning there is no
dependency on the replication or synchronization processes for the
successful completion of a create operation.q¥ÖÅqµ}q∂(hh±hhØubaubhn)Åq∑}q∏(hX°���The metadata is retrieved by the CN using a pull mechanism (CN requests
content from the MN) which may be triggered by a timer event or notification
from the MN.qπhh´hhhhqh }q∫(h$]h%]h#]h"]h&]uh(Kh]qªh=X°���The metadata is retrieved by the CN using a pull mechanism (CN requests
content from the MN) which may be triggered by a timer event or notification
from the MN.qºÖÅqΩ}qæ(hhπhh∑ubaubhn)Åqø}q¿(hX��The availability of new content on a MN is indicated by a flag in the
response to a ping() message issued by a CN. The CN then retrieves a list of
changes from the MN and for each change, retrieves the experiment metadata,
stores it and generates a search metadata document by extracting content
from the experiment metadata. The changes to the CN (stored experiment
metadata, update search metadata) are replicated to the other CNs (Use Case
###). The CN schedules replication of the data package across other MNs
(Use Case 06).q¡hh´hhhhqh }q¬(h$]h%]h#]h"]h&]uh(Kh]q√h=X��The availability of new content on a MN is indicated by a flag in the
response to a ping() message issued by a CN. The CN then retrieves a list of
changes from the MN and for each change, retrieves the experiment metadata,
stores it and generates a search metadata document by extracting content
from the experiment metadata. The changes to the CN (stored experiment
metadata, update search metadata) are replicated to the other CNs (Use Case
###). The CN schedules replication of the data package across other MNs
(Use Case 06).qƒÖÅq≈}q∆(hh¡hhøubaubehhÜubeubhY)Åq«}q»(hXA���Actors
Member Node, additional Member Nodes, Coordinating Nodes

hhRhhhh\h }q…(h$]h%]h#]h"]h&]uh(K$h)hh]q (h_)ÅqÀ}qÃ(hX���ActorsqÕhh«hhhhch }qŒ(h$]h%]h#]h"]h&]uh(K$h]qœh=X���Actorsq–ÖÅq—}q“(hhÕhhÀubaubhi)Åq”}q‘(hU�h }q’(h$]h%]h#]h"]h&]uhh«h]q÷hn)Åq◊}qÿ(hX8���Member Node, additional Member Nodes, Coordinating NodesqŸhh”hhhhqh }q⁄(h$]h%]h#]h"]h&]uh(K#h]q€h=X8���Member Node, additional Member Nodes, Coordinating Nodesq‹ÖÅq›}qfi(hhŸhh◊ubaubahhÜubeubhY)Åqfl}q‡(hX¶���Preconditions
- Use is authenticated and so client application has an auth_token for the process.

- DataONE system operational

- MN is registered and is monitored

hhRhhhh\h }q·(h$]h%]h#]h"]h&]uh(K,h)hh]q‚(h_)Åq„}q‰(hX
���PreconditionsqÂhhflhhhhch }qÊ(h$]h%]h#]h"]h&]uh(K,h]qÁh=X
���PreconditionsqËÖÅqÈ}qÍ(hhÂhh„ubaubhi)ÅqÎ}qÏ(hU�h }qÌ(h$]h%]h#]h"]h&]uhhflh]qÓcdocutils.nodes
bullet_list
qÔ)Åq}qÒ(hU�h }qÚ(UbulletqÛX���-h"]h#]h$]h%]h&]uhhÎh]qÙ(cdocutils.nodes
list_item
qı)Åqˆ}q˜(hXR���Use is authenticated and so client application has an auth_token for the process.
h }q¯(h$]h%]h#]h"]h&]uhhh]q˘hn)Åq˙}q˚(hXQ���Use is authenticated and so client application has an auth_token for the process.q¸hhˆhhhhqh }q˝(h$]h%]h#]h"]h&]uh(K'h]q˛h=XQ���Use is authenticated and so client application has an auth_token for the process.qˇÖÅr���}r��(hh¸hh˙ubaubahU	list_itemr��ubhı)År��}r��(hX���DataONE system operational
h }r��(h$]h%]h#]h"]h&]uhhh]r��hn)År��}r��(hX���DataONE system operationalr	��hj��hhhhqh }r
��(h$]h%]h#]h"]h&]uh(K)h]r��h=X���DataONE system operationalr��ÖÅr
��}r��(hj	��hj��ubaubahj��ubhı)År��}r��(hX#���MN is registered and is monitored

h }r��(h$]h%]h#]h"]h&]uhhh]r��hn)År��}r��(hX!���MN is registered and is monitoredr��hj��hhhhqh }r��(h$]h%]h#]h"]h&]uh(K+h]r��h=X!���MN is registered and is monitoredr��ÖÅr��}r��(hj��hj��ubaubahj��ubehUbullet_listr��ubahhÜubeubhY)År��}r��(hX†���Triggers
- New data package is present on Member Node

- An existing data package is modified on a Member Node

- A data package is deleted from a Member Node

hhRhhhh\h }r��(h$]h%]h#]h"]h&]uh(K4h)hh]r��(h_)År ��}r!��(hX���Triggersr"��hj��hhhhch }r#��(h$]h%]h#]h"]h&]uh(K4h]r$��h=X���Triggersr%��ÖÅr&��}r'��(hj"��hj ��ubaubhi)År(��}r)��(hU�h }r*��(h$]h%]h#]h"]h&]uhj��h]r+��hÔ)År,��}r-��(hU�h }r.��(hÛX���-h"]h#]h$]h%]h&]uhj(��h]r/��(hı)År0��}r1��(hX+���New data package is present on Member Node
h }r2��(h$]h%]h#]h"]h&]uhj,��h]r3��hn)År4��}r5��(hX*���New data package is present on Member Noder6��hj0��hhhhqh }r7��(h$]h%]h#]h"]h&]uh(K/h]r8��h=X*���New data package is present on Member Noder9��ÖÅr:��}r;��(hj6��hj4��ubaubahj��ubhı)År<��}r=��(hX6���An existing data package is modified on a Member Node
h }r>��(h$]h%]h#]h"]h&]uhj,��h]r?��hn)År@��}rA��(hX5���An existing data package is modified on a Member NoderB��hj<��hhhhqh }rC��(h$]h%]h#]h"]h&]uh(K1h]rD��h=X5���An existing data package is modified on a Member NoderE��ÖÅrF��}rG��(hjB��hj@��ubaubahj��ubhı)ÅrH��}rI��(hX.���A data package is deleted from a Member Node

h }rJ��(h$]h%]h#]h"]h&]uhj,��h]rK��hn)ÅrL��}rM��(hX,���A data package is deleted from a Member NoderN��hjH��hhhhqh }rO��(h$]h%]h#]h"]h&]uh(K3h]rP��h=X,���A data package is deleted from a Member NoderQ��ÖÅrR��}rS��(hjN��hjL��ubaubahj��ubehj��ubahhÜubeubhY)ÅrT��}rU��(hX÷���Post Conditions
- New data package is replicated across MNs

- Search metadata is updated

- Operation recorded in logs

- CN update of search metadata

- CN replication of metadata

- Watchers notified of change

hhRhhhh\h }rV��(h$]h%]h#]h"]h&]uh(KBh)hh]rW��(h_)ÅrX��}rY��(hX���Post ConditionsrZ��hjT��hhhhch }r[��(h$]h%]h#]h"]h&]uh(KBh]r\��h=X���Post Conditionsr]��ÖÅr^��}r_��(hjZ��hjX��ubaubhi)År`��}ra��(hU�h }rb��(h$]h%]h#]h"]h&]uhjT��h]rc��hÔ)Ård��}re��(hU�h }rf��(hÛX���-h"]h#]h$]h%]h&]uhj`��h]rg��(hı)Årh��}ri��(hX*���New data package is replicated across MNs
h }rj��(h$]h%]h#]h"]h&]uhjd��h]rk��hn)Årl��}rm��(hX)���New data package is replicated across MNsrn��hjh��hhhhqh }ro��(h$]h%]h#]h"]h&]uh(K7h]rp��h=X)���New data package is replicated across MNsrq��ÖÅrr��}rs��(hjn��hjl��ubaubahj��ubhı)Årt��}ru��(hX���Search metadata is updated
h }rv��(h$]h%]h#]h"]h&]uhjd��h]rw��hn)Årx��}ry��(hX���Search metadata is updatedrz��hjt��hhhhqh }r{��(h$]h%]h#]h"]h&]uh(K9h]r|��h=X���Search metadata is updatedr}��ÖÅr~��}r��(hjz��hjx��ubaubahj��ubhı)ÅrÄ��}rÅ��(hX���Operation recorded in logs
h }rÇ��(h$]h%]h#]h"]h&]uhjd��h]rÉ��hn)ÅrÑ��}rÖ��(hX���Operation recorded in logsrÜ��hjÄ��hhhhqh }rá��(h$]h%]h#]h"]h&]uh(K;h]rà��h=X���Operation recorded in logsrâ��ÖÅrä��}rã��(hjÜ��hjÑ��ubaubahj��ubhı)Årå��}rç��(hX���CN update of search metadata
h }ré��(h$]h%]h#]h"]h&]uhjd��h]rè��hn)Årê��}rë��(hX���CN update of search metadatarí��hjå��hhhhqh }rì��(h$]h%]h#]h"]h&]uh(K=h]rî��h=X���CN update of search metadatarï��ÖÅrñ��}ró��(hjí��hjê��ubaubahj��ubhı)Årò��}rô��(hX���CN replication of metadata
h }rö��(h$]h%]h#]h"]h&]uhjd��h]rõ��hn)Årú��}rù��(hX���CN replication of metadatarû��hjò��hhhhqh }rü��(h$]h%]h#]h"]h&]uh(K?h]r†��h=X���CN replication of metadatar°��ÖÅr¢��}r£��(hjû��hjú��ubaubahj��ubhı)År§��}r•��(hX���Watchers notified of change

h }r¶��(h$]h%]h#]h"]h&]uhjd��h]rß��hn)År®��}r©��(hX���Watchers notified of changer™��hj§��hhhhqh }r´��(h$]h%]h#]h"]h&]uh(KAh]r¨��h=X���Watchers notified of changer≠��ÖÅrÆ��}rØ��(hj™��hj®��ubaubahj��ubehj��ubahhÜubeubeubhn)År∞��}r±��(hX	���**Notes**r≤��hh+hhhhqh }r≥��(h$]h%]h#]h"]h&]uh(KDh)hh]r¥��cdocutils.nodes
strong
rµ��)År∂��}r∑��(hj≤��h }r∏��(h$]h%]h#]h"]h&]uhj∞��h]rπ��h=X���Notesr∫��ÖÅrª��}rº��(hU�hj∂��ubahUstrongrΩ��ubaubhÔ)Åræ��}rø��(hU�hh+hhhj��h }r¿��(hÛX���-h"]h#]h$]h%]h&]uh(KFh)hh]r¡��(hı)År¬��}r√��(hXW���Are IDs are pegged to versions? If so, update might differ more radically
from create.
hjæ��hhhj��h }rƒ��(h$]h%]h#]h"]h&]uh(Nh)hh]r≈��hn)År∆��}r«��(hXV���Are IDs are pegged to versions? If so, update might differ more radically
from create.r»��hj¬��hhhhqh }r…��(h$]h%]h#]h"]h&]uh(KFh]r ��h=XV���Are IDs are pegged to versions? If so, update might differ more radically
from create.rÀ��ÖÅrÃ��}rÕ��(hj»��hj∆��ubaubaubhı)ÅrŒ��}rœ��(hXÛ���If delete is a metadata operation only, then will be very similar to update.
But if it is a physical operation, it becomes more complex. Will there be an
archival copy? Will member nodes that hold replicas be "forced" to destroy
the replicas?
hjæ��hhhj��h }r–��(h$]h%]h#]h"]h&]uh(Nh)hh]r—��hn)År“��}r”��(hXÚ���If delete is a metadata operation only, then will be very similar to update.
But if it is a physical operation, it becomes more complex. Will there be an
archival copy? Will member nodes that hold replicas be "forced" to destroy
the replicas?r‘��hjŒ��hhhhqh }r’��(h$]h%]h#]h"]h&]uh(KIh]r÷��h=XÚ���If delete is a metadata operation only, then will be very similar to update.
But if it is a physical operation, it becomes more complex. Will there be an
archival copy? Will member nodes that hold replicas be "forced" to destroy
the replicas?r◊��ÖÅrÿ��}rŸ��(hj‘��hj“��ubaubaubhı)År⁄��}r€��(hX-���Is submit from a member node a push or pull?
hjæ��hhhj��h }r‹��(h$]h%]h#]h"]h&]uh(Nh)hh]r›��hn)Årfi��}rfl��(hX,���Is submit from a member node a push or pull?r‡��hj⁄��hhhhqh }r·��(h$]h%]h#]h"]h&]uh(KNh]r‚��h=X,���Is submit from a member node a push or pull?r„��ÖÅr‰��}rÂ��(hj‡��hjfi��ubaubaubhı)ÅrÊ��}rÁ��(hXá���Should queuing of a submission within a member node be required for success?
(We assume yes, to guarantee replication of submissions).
hjæ��hhhj��h }rË��(h$]h%]h#]h"]h&]uh(Nh)hh]rÈ��hn)ÅrÍ��}rÎ��(hXÜ���Should queuing of a submission within a member node be required for success?
(We assume yes, to guarantee replication of submissions).r��hj��hhhhqh }r��(h$]h%]h#]h"]h&]uh(KPh]r��h=X���Should queuing of a submission within a member node be required for success?
(We assume yes, to guarantee replication of submissions).rÔ��ÖÅr��}rÒ��(hjÏ��hjÍ��ubaubaubhı)ÅrÚ��}rÛ��(hX*���Can data packages be deleted or modified?
hjæ��hhhj��h }rÙ��(h$]h%]h#]h"]h&]uh(Nh)hh]rı��hn)Årˆ��}r˜��(hX)���Can data packages be deleted or modified?r¯��hjÚ��hhhhqh }r˘��(h$]h%]h#]h"]h&]uh(KSh]r˙��h=X)���Can data packages be deleted or modified?r˚��ÖÅr¸��}r˝��(hj¯��hjˆ��ubaubaubeubcdocutils.nodes
image
r˛��)Årˇ��}r���(hX���.. image:: images/04_uc.png
hh+hhhUimager��h }r��(UuriX ���design/UseCases/images/04_uc.pngr��h"]h#]h$]h%]U
candidatesr��}r��U*j��sh&]uh(KVh)hh]ubhn)År��}r��(hX���*Figure 1.* Use case 04.r��hh+hhhhqh }r	��(h$]h%]h#]h"]h&]uh(KWh)hh]r
��(cdocutils.nodes
emphasis
r��)År��}r
��(hX���*Figure 1.*h }r��(h$]h%]h#]h"]h&]uhj��h]r��h=X	���Figure 1.r��ÖÅr��}r��(hU�hj��ubahUemphasisr��ubh=X
��� Use case 04.r��ÖÅr��}r��(hX
��� Use case 04.hj��ubeubj˛��)År��}r��(hX���.. image:: images/04_seq.png
hh+hhhj��h }r��(UuriX!���design/UseCases/images/04_seq.pngr��h"]h#]h$]h%]j��}r��U*j��sh&]uh(KZh)hh]ubhn)År��}r��(hXS���*Figure 2.* Create, update, delete, science metadata or data object in Member
Node.hh+hhhhqh }r��(h$]h%]h#]h"]h&]uh(K[h)hh]r��(j��)År ��}r!��(hX���*Figure 2.*h }r"��(h$]h%]h#]h"]h&]uhj��h]r#��h=X	���Figure 2.r$��ÖÅr%��}r&��(hU�hj ��ubahj��ubh=XH��� Create, update, delete, science metadata or data object in Member
Node.r'��ÖÅr(��}r)��(hXH��� Create, update, delete, science metadata or data object in Member
Node.hj��ubeubcdocutils.nodes
comment
r*��)År+��}r,��(hX√��@startuml images/04_uc.png
actor "User" as client
usecase "12. Authentication" as authen

package "DataONE"
  actor "Coordinating Node" as CN
  actor "Member Node" as MN
  usecase "13. Authorization" as author
  usecase "04. Create Object" as create
  usecase "06. MN Synchronize" as mn_sync
  client -- create
  CN -- create
  MN -- create
  create ..> author: <<includes>>
  create ..> authen: <<includes>>
  create ..> mn_sync: <<includes>>
@endumlhh+hhhUcommentr-��h }r.��(U	xml:spacer/��Upreserver0��h"]h#]h$]h%]h&]uh(Kqh)hh]r1��h=X√��@startuml images/04_uc.png
actor "User" as client
usecase "12. Authentication" as authen

package "DataONE"
  actor "Coordinating Node" as CN
  actor "Member Node" as MN
  usecase "13. Authorization" as author
  usecase "04. Create Object" as create
  usecase "06. MN Synchronize" as mn_sync
  client -- create
  CN -- create
  MN -- create
  create ..> author: <<includes>>
  create ..> authen: <<includes>>
  create ..> mn_sync: <<includes>>
@endumlr2��ÖÅr3��}r4��(hU�hj+��ubaubj*��)År5��}r6��(hX≤��@startuml images/04_seq.png
Actor User
participant "Client" as app_client << Application >>
User -> app_client

participant "CRUD API" as m_crud << Member Node >>
app_client -> m_crud: create(auth_token, dataPackage)
activate m_crud
participant "CRUD API" as c_crud << Coordinating Node >>
  m_crud -> c_crud: validatePID(PID)
  m_crud <-- c_crud: PID
  m_crud -> m_crud: store()
deactivate m_crud

participant "State of Health API" as c_health << Coordinating Node >>
c_health -> m_crud: ping()
activate c_health
  c_health <-- m_crud: [ACK, NewData]
participant "Synchronization API" as c_sync << Coordinating Node >>
  c_health -> c_sync: scheduleSynch(MN_ID)
deactivate c_health
@endumlhh+hhhj-��h }r7��(j/��j0��h"]h#]h$]h%]h&]uh(Kâh)hh]r8��h=X≤��@startuml images/04_seq.png
Actor User
participant "Client" as app_client << Application >>
User -> app_client

participant "CRUD API" as m_crud << Member Node >>
app_client -> m_crud: create(auth_token, dataPackage)
activate m_crud
participant "CRUD API" as c_crud << Coordinating Node >>
  m_crud -> c_crud: validatePID(PID)
  m_crud <-- c_crud: PID
  m_crud -> m_crud: store()
deactivate m_crud

participant "State of Health API" as c_health << Coordinating Node >>
c_health -> m_crud: ping()
activate c_health
  c_health <-- m_crud: [ACK, NewData]
participant "Synchronization API" as c_sync << Coordinating Node >>
  c_health -> c_sync: scheduleSynch(MN_ID)
deactivate c_health
@endumlr9��ÖÅr:��}r;��(hU�hj5��ubaubh)År<��}r=��(hX°���.. _history: https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/UseCases/04_uc.txtU
referencedr>��Khh+hhhhh }r?��(h~hh"]r@��hah#]h$]h%]h&]rA��hauh(Käh)hh]ubeubehU�UtransformerrB��NU
footnote_refsrC��}rD��UrefnamesrE��}rF��h}]rG��hxasUsymbol_footnotesrH��]rI��Uautofootnote_refsrJ��]rK��Usymbol_footnote_refsrL��]rM��U	citationsrN��]rO��h)hUcurrent_linerP��NUtransform_messagesrQ��]rR��(cdocutils.nodes
system_message
rS��)ÅrT��}rU��(hU�h }rV��(h$]UlevelKh"]h#]Usourcehh%]h&]UlineKUtypeUINFOrW��uh]rX��hn)ÅrY��}rZ��(hU�h }r[��(h$]h%]h#]h"]h&]uhjT��h]r\��h=X*���Hyperlink target "uc04" is not referenced.r]��ÖÅr^��}r_��(hU�hjY��ubahhqubahUsystem_messager`��ubjS��)Åra��}rb��(hU�h }rc��(h$]UlevelKh"]h#]Usourcehh%]h&]UlineKUtypejW��uh]rd��hn)Åre��}rf��(hU�h }rg��(h$]h%]h#]h"]h&]uhja��h]rh��h=X-���Hyperlink target "index-0" is not referenced.ri��ÖÅrj��}rk��(hU�hje��ubahhqubahj`��ubeUreporterrl��NUid_startrm��KU
autofootnotesrn��]ro��U
citation_refsrp��}rq��Uindirect_targetsrr��]rs��Usettingsrt��(cdocutils.frontend
Values
ru��orv��}rw��(Ufootnote_backlinksrx��KUrecord_dependenciesry��NUrfc_base_urlrz��Uhttps://tools.ietf.org/html/r{��U	tracebackr|��àUpep_referencesr}��NUstrip_commentsr~��NU
toc_backlinksr��Uentryr��U
language_coder��Uenr��U	datestampr��NUreport_levelr��KU_destinationr��NU
halt_levelr��KU
strip_classesrá��Nh:NUerror_encoding_error_handlerrà��Ubackslashreplacerâ��Udebugrä��NUembed_stylesheetrã��âUoutput_encoding_error_handlerrå��Ustrictrç��U
sectnum_xformr�KUdump_transformsr�NU
docinfo_xformrê��KUwarning_streamrë��NUpep_file_url_templaterí��Upep-%04drì��Uexit_status_levelrî��KUconfigrï��NUstrict_visitorrñ��NUcloak_email_addressesró��àUtrim_footnote_reference_spacerò��âUenvrô��NUdump_pseudo_xmlrö��NUexpose_internalsrõ��NUsectsubtitle_xformrú��âUsource_linkrù��NUrfc_referencesrû��NUoutput_encodingrü��Uutf-8r†��U
source_urlr°��NUinput_encodingr¢��U	utf-8-sigr£��U_disable_configr§��NU	id_prefixr•��U�U	tab_widthr¶��KUerror_encodingrß��UUTF-8r®��U_sourcer©��hUgettext_compactr™��àU	generatorr´��NUdump_internalsr¨��NUsmart_quotesr≠��âUpep_base_urlrÆ��U https://www.python.org/dev/peps/rØ��Usyntax_highlightr∞��Ulongr±��Uinput_encoding_error_handlerr≤��jç��Uauto_id_prefixr≥��Uidr¥��Udoctitle_xformrµ��âUstrip_elements_with_classesr∂��NU
_config_filesr∑��]Ufile_insertion_enabledr∏��àUraw_enabledrπ��KU
dump_settingsr∫��NubUsymbol_footnote_startrª��K�Uidsrº��}rΩ��(hIhRhh+hh+hj<��uUsubstitution_namesræ��}rø��hh)h }r¿��(h$]h"]h#]Usourcehh%]h&]uU	footnotesr¡��]r¬��Urefidsr√��}rƒ��(hI]r≈��hNah]r∆��hauub.