Äcdocutils.nodes document q)Åq}q(U nametypesq}q(X���uc32qàX'���use case 32 - transfer object ownershipqNX���historyqàuUsubstitution_defsq }q Uparse_messagesq]qUcurrent_sourceq NU decorationqNUautofootnote_startqKUnameidsq}q(hUuc32qhU%use-case-32-transfer-object-ownershipqhUhistoryquUchildrenq]q(cdocutils.nodes target q)Åq}q(U rawsourceqX ���.. _UC32:UparentqhUsourceqXj���/var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/design/UseCases/32_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 32 - Transfer Object Ownershipq9hh+hhhUtitleq:h }q;(h$]h%]h#]h"]h&]uh(Kh)hh]q<cdocutils.nodes Text q=X'���Use Case 32 - Transfer Object Ownershipq>ÖÅq?}q@(hh9hh7ubaubcsphinx.addnodes index qA)ÅqB}qC(hU�hh+hhhUindexqDh }qE(h"]h#]h$]h%]h&]UentriesqF]qG((UsingleqHX���Use Case 32Uindex-0qIU�NtqJ(hHX���UC32hIU�NtqK(hHX���ownership changehIU�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/32_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 User or organization takes over 'ownership' of a set of objects (write access for orphaned records), or the existing owner of an object would like to transfer ownership to another principal. hhRhhhh\h }qâ(h$]h%]h#]h"]h&]uh(Kh)hh]qä(h_)Åqã}qå(hX���Goalqçhháhhhhch }qé(h$]h%]h#]h"]h&]uh(Kh]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æ���User or organization takes over 'ownership' of a set of objects (write access for orphaned records), or the existing owner of an object would like to transfer ownership to another principal.qôhhìhhhhqh }qö(h$]h%]h#]h"]h&]uh(Kh]qõh=Xæ���User or organization takes over 'ownership' of a set of objects (write access for orphaned records), or the existing owner of an object would like to transfer ownership to another principal.qúÖÅqù}qû(hhôhhóubaubahhÜubeubhY)Åqü}q†(hX!��Summary Ownership transfer needs to be supported so that all there is always someone that has the ability to manage the object. There are many circumstances w where such changes are required, and the DataONE infrastructure should support this operation both technically and operationally. hhRhhhh\h }q°(h$]h%]h#]h"]h&]uh(Kh)hh]q¢(h_)Åq£}q§(hX���Summaryq•hhühhhhch }q¶(h$]h%]h#]h"]h&]uh(Kh]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��Ownership transfer needs to be supported so that all there is always someone that has the ability to manage the object. There are many circumstances w where such changes are required, and the DataONE infrastructure should support this operation both technically and operationally.q±hh´hhhhqh }q≤(h$]h%]h#]h"]h&]uh(Kh]q≥h=X��Ownership transfer needs to be supported so that all there is always someone that has the ability to manage the object. There are many circumstances w where such changes are required, and the DataONE infrastructure should support this operation both technically and operationally.q¥ÖÅqµ}q∂(hh±hhØubaubahhÜubeubhY)Åq∑}q∏(hX4���Actors - Current and new data owner - Data managers hhRhhhh\h }qπ(h$]h%]h#]h"]h&]uh(Kh)hh]q∫(h_)Åqª}qº(hX���ActorsqΩhh∑hhhhch }qæ(h$]h%]h#]h"]h&]uh(Kh]qøh=X���Actorsq¿ÖÅq¡}q¬(hhΩhhªubaubhi)Åq√}qƒ(hU�h }q≈(h$]h%]h#]h"]h&]uhh∑h]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œ(hX���Current and new data ownerq–h }q—(h$]h%]h#]h"]h&]uhh»h]q“hn)Åq”}q‘(hh–hhŒhhhhqh }q’(h$]h%]h#]h"]h&]uh(Kh]q÷h=X���Current and new data ownerq◊ÖÅqÿ}qŸ(hh–hh”ubaubahU list_itemq⁄ubhÕ)Åq€}q‹(hX���Data managers h }q›(h$]h%]h#]h"]h&]uhh»h]qfihn)Åqfl}q‡(hX ���Data managersq·hh€hhhhqh }q‚(h$]h%]h#]h"]h&]uh(Kh]q„h=X ���Data managersq‰ÖÅqÂ}qÊ(hh·hhflubaubahh⁄ubehUbullet_listqÁubahhÜubeubhY)ÅqË}qÈ(hX¥���Preconditions - Content exists in the DataONE system - Owner wants to transfer ownership role - Organization needs to take control of objects (owner no longer filling that role) hhRhhhh\h }qÍ(h$]h%]h#]h"]h&]uh(Kh)hh]qÎ(h_)ÅqÏ}qÌ(hX ���PreconditionsqÓhhËhhhhch }qÔ(h$]h%]h#]h"]h&]uh(Kh]qh=X ���PreconditionsqÒÖÅqÚ}qÛ(hhÓhhÏubaubhi)ÅqÙ}qı(hU�h }qˆ(h$]h%]h#]h"]h&]uhhËh]q˜h«)Åq¯}q˘(hU�h }q˙(hÀX���-h"]h#]h$]h%]h&]uhhÙh]q˚(hÕ)Åq¸}q˝(hX$���Content exists in the DataONE systemq˛h }qˇ(h$]h%]h#]h"]h&]uhh¯h]r���hn)År��}r��(hh˛hh¸hhhhqh }r��(h$]h%]h#]h"]h&]uh(Kh]r��h=X$���Content exists in the DataONE systemr��ÖÅr��}r��(hh˛hj��ubaubahh⁄ubhÕ)År��}r ��(hX&���Owner wants to transfer ownership roler ��h }r��(h$]h%]h#]h"]h&]uhh¯h]r��hn)År ��}r��(hj ��hj��hhhhqh }r��(h$]h%]h#]h"]h&]uh(Kh]r��h=X&���Owner wants to transfer ownership roler��ÖÅr��}r��(hj ��hj ��ubaubahh⁄ubhÕ)År��}r��(hXR���Organization needs to take control of objects (owner no longer filling that role) h }r��(h$]h%]h#]h"]h&]uhh¯h]r��hn)År��}r��(hXQ���Organization needs to take control of objects (owner no longer filling that role)r��hj��hhhhqh }r��(h$]h%]h#]h"]h&]uh(Kh]r��h=XQ���Organization needs to take control of objects (owner no longer filling that role)r��ÖÅr��}r��(hj��hj��ubaubahh⁄ubehhÁubahhÜubeubhY)År ��}r!��(hX:���Triggers - Current owner no longer able to fill that role hhRhhhh\h }r"��(h$]h%]h#]h"]h&]uh(K!h)hh]r#��(h_)År$��}r%��(hX���Triggersr&��hj ��hhhhch }r'��(h$]h%]h#]h"]h&]uh(K!h]r(��h=X���Triggersr)��ÖÅr*��}r+��(hj&��hj$��ubaubhi)År,��}r-��(hU�h }r.��(h$]h%]h#]h"]h&]uhj ��h]r/��h«)År0��}r1��(hU�h }r2��(hÀX���-h"]h#]h$]h%]h&]uhj,��h]r3��hÕ)År4��}r5��(hX/���Current owner no longer able to fill that role h }r6��(h$]h%]h#]h"]h&]uhj0��h]r7��hn)År8��}r9��(hX.���Current owner no longer able to fill that roler:��hj4��hhhhqh }r;��(h$]h%]h#]h"]h&]uh(K!h]r<��h=X.���Current owner no longer able to fill that roler=��ÖÅr>��}r?��(hj:��hj8��ubaubahh⁄ubahhÁubahhÜubeubhY)År@��}rA��(hXf���Post Conditions - Object ownership has been changed - Updated to roles updated through the federation hhRhhhh\h }rB��(h$]h%]h#]h"]h&]uh(K%h)hh]rC��(h_)ÅrD��}rE��(hX���Post ConditionsrF��hj@��hhhhch }rG��(h$]h%]h#]h"]h&]uh(K%h]rH��h=X���Post ConditionsrI��ÖÅrJ��}rK��(hjF��hjD��ubaubhi)ÅrL��}rM��(hU�h }rN��(h$]h%]h#]h"]h&]uhj@��h]rO��h«)ÅrP��}rQ��(hU�h }rR��(hÀX���-h"]h#]h$]h%]h&]uhjL��h]rS��(hÕ)ÅrT��}rU��(hX!���Object ownership has been changedrV��h }rW��(h$]h%]h#]h"]h&]uhjP��h]rX��hn)ÅrY��}rZ��(hjV��hjT��hhhhqh }r[��(h$]h%]h#]h"]h&]uh(K$h]r\��h=X!���Object ownership has been changedr]��ÖÅr^��}r_��(hjV��hjY��ubaubahh⁄ubhÕ)År`��}ra��(hX0���Updated to roles updated through the federation h }rb��(h$]h%]h#]h"]h&]uhjP��h]rc��hn)Ård��}re��(hX/���Updated to roles updated through the federationrf��hj`��hhhhqh }rg��(h$]h%]h#]h"]h&]uh(K%h]rh��h=X/���Updated to roles updated through the federationri��ÖÅrj��}rk��(hjf��hjd��ubaubahh⁄ubehhÁubahhÜubeubeubcdocutils.nodes comment rl��)Årm��}rn��(hX“��@startuml images/32_seq.png actor "User (User or Organization)" as user participant "Client" as app_client << Application >> user -> app_client note right Assume user authority for specifying restrictions end note participant "Authorization API" as c_authorize << Coordinating Node >> app_client -> c_authorize: takeOwnership (objectList) app_client <-- c_authorize: ack or fail note right Is there an authority for any given data / metadata object? end note @endumlhh+hhhUcommentro��h }rp��(U xml:spacerq��Upreserverr��h"]h#]h$]h%]h&]uh(K8h)hh]rs��h=X“��@startuml images/32_seq.png actor "User (User or Organization)" as user participant "Client" as app_client << Application >> user -> app_client note right Assume user authority for specifying restrictions end note participant "Authorization API" as c_authorize << Coordinating Node >> app_client -> c_authorize: takeOwnership (objectList) app_client <-- c_authorize: ack or fail note right Is there an authority for any given data / metadata object? end note @endumlrt��ÖÅru��}rv��(hU�hjm��ubaubcdocutils.nodes image rw��)Årx��}ry��(hX���.. image:: images/32_seq.png hh+hhhUimagerz��h }r{��(UuriX!���design/UseCases/images/32_seq.pngr|��h"]h#]h$]h%]U candidatesr}��}r~��U*j|��sh&]uh(K:h)hh]ubhn)År��}rÄ��(hXè���*Figure 1.* Interactions for use case 32. User or organization takes over 'ownership' of a set of objects\n(write access for orphaned records).hh+hhhhqh }rÅ��(h$]h%]h#]h"]h&]uh(K;h)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É��� Interactions for use case 32. User or organization takes over 'ownership' of a set of objectsn(write access for orphaned records).rå��ÖÅrç��}ré��(hXÑ��� Interactions for use case 32. User or organization takes over 'ownership' of a set of objects\n(write access for orphaned records).hj��ubeubhn)Årè��}rê��(hX ���**Notes**rë��hh+hhhhqh }rí��(h$]h%]h#]h"]h&]uh(K>h)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+hhhhÁh }rü��(hÀX���-h"]h#]h$]h%]h&]uh(K@h)hh]r†��hÕ)År°��}r¢��(hXÆ���Q. Is there an authority for any given data/metadata object? A. The authority for any object is expressed in the system metadata element :attr:`SystemMetadata.rightsHolder`. hjù��hhhh⁄h }r£��(h$]h%]h#]h"]h&]uh(Nh)hh]r§��hn)År•��}r¶��(hX≠���Q. Is there an authority for any given data/metadata object? A. The authority for any object is expressed in the system metadata element :attr:`SystemMetadata.rightsHolder`.hj°��hhhhqh }rß��(h$]h%]h#]h"]h&]uh(K@h]r®��(h=Xâ���Q. Is there an authority for any given data/metadata object? A. The authority for any object is expressed in the system metadata element r©��ÖÅr™��}r´��(hXâ���Q. Is there an authority for any given data/metadata object? A. The authority for any object is expressed in the system metadata element hj•��ubcsphinx.addnodes pending_xref r¨��)År≠��}rÆ��(hX#���:attr:`SystemMetadata.rightsHolder`rØ��hj•��hhhUpending_xrefr∞��h }r±��(UreftypeX���attrUrefwarnr≤��âU reftargetr≥��X���SystemMetadata.rightsHolderU refdomainX���pyr¥��h"]h#]Urefexplicitâh$]h%]h&]Urefdocrµ��X���design/UseCases/32_ucr∂��Upy:classr∑��NU py:moduler∏��Nuh(K@h]rπ��cdocutils.nodes literal r∫��)Årª��}rº��(hjØ��h }rΩ��(h$]h%]ræ��(Uxrefrø��j¥��X���py-attrr¿��eh#]h"]h&]uhj≠��h]r¡��h=X���SystemMetadata.rightsHolderr¬��ÖÅr√��}rƒ��(hU�hjª��ubahUliteralr≈��ubaubh=X���.ÖÅr∆��}r«��(hX���.hj•��ubeubaubaubh)År»��}r…��(hX°���.. _history: https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/UseCases/32_uc.txtU referencedr ��Khh+hhhhh }rÀ��(h~hh"]rÃ��hah#]h$]h%]h&]rÕ��hauh(KDh)hh]ubeubehU�UtransformerrŒ��NU footnote_refsrœ��}r–��Urefnamesr—��}r“��h}]r”��hxasUsymbol_footnotesr‘��]r’��Uautofootnote_refsr÷��]r◊��Usymbol_footnote_refsrÿ��]rŸ��U citationsr⁄��]r€��h)hUcurrent_liner‹��NUtransform_messagesr›��]rfi��(cdocutils.nodes system_message rfl��)År‡��}r·��(hU�h }r‚��(h$]UlevelKh"]h#]Usourcehh%]h&]UlineKUtypeUINFOr„��uh]r‰��hn)ÅrÂ��}rÊ��(hU�h }rÁ��(h$]h%]h#]h"]h&]uhj‡��h]rË��h=X*���Hyperlink target "uc32" is not referenced.rÈ��ÖÅrÍ��}rÎ��(hU�hjÂ��ubahhqubahUsystem_messagerÏ��ubjfl��)ÅrÌ��}rÓ��(hU�h }rÔ��(h$]UlevelKh"]h#]Usourcehh%]h&]UlineKUtypej„��uh]r��hn)ÅrÒ��}rÚ��(hU�h }rÛ��(h$]h%]h#]h"]h&]uhjÌ��h]rÙ��h=X-���Hyperlink target "index-0" is not referenced.rı��ÖÅrˆ��}r˜��(hU�hjÒ��ubahhqubahjÏ��ubeUreporterr¯��NUid_startr˘��KU autofootnotesr˙��]r˚��U citation_refsr¸��}r˝��Uindirect_targetsr˛��]rˇ��Usettingsr���(cdocutils.frontend Values r��or��}r��(Ufootnote_backlinksr��KUrecord_dependenciesr��NUrfc_base_urlr��Uhttps://tools.ietf.org/html/r��U tracebackr��àUpep_referencesr ��NUstrip_commentsr ��NU toc_backlinksr��Uentryr��U language_coder ��Uenr��U datestampr��NUreport_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_configr0��NU id_prefixr1��U�U tab_widthr2��KUerror_encodingr3��UUTF-8r4��U_sourcer5��hUgettext_compactr6��àU generatorr7��NUdump_internalsr8��NUsmart_quotesr9��âUpep_base_urlr:��U https://www.python.org/dev/peps/r;��Usyntax_highlightr<��Ulongr=��Uinput_encoding_error_handlerr>��j��Uauto_id_prefixr?��Uidr@��Udoctitle_xformrA��âUstrip_elements_with_classesrB��NU _config_filesrC��]rD��Ufile_insertion_enabledrE��àUraw_enabledrF��KU dump_settingsrG��NubUsymbol_footnote_startrH��K�UidsrI��}rJ��(hh+hh+hIhRhj»��uUsubstitution_namesrK��}rL��hh)h }rM��(h$]h"]h#]Usourcehh%]h&]uU footnotesrN��]rO��UrefidsrP��}rQ��(h]rR��hahI]rS��hNauub.