Äcdocutils.nodes
document
q)Åq}q(U	nametypesq}q(X���abnfqàX���node registrationqNX���node authentication and contactqNX���node identity and registrationq	NX���node identifiersq
NX���registration procedureqNX���contentsqNuUsubstitution_defsq
}qUparse_messagesq]qcdocutils.nodes
system_message
q)Åq}q(U	rawsourceqU�U
attributesq}q(Udupnamesq]UlevelKUidsq]Ubackrefsq]UsourceXh���/var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/design/NodeIdentity.txtqUclassesq]Unamesq]UlineKUtypeUINFOquUparentqcdocutils.nodes
block_quote
q)Åq }q!(hU�hcdocutils.nodes
section
q")Åq#}q$(hU�hh")Åq%}q&(hU�hhUsourceq'hUtagnameq(Usectionq)h}q*(h]h]h]h]q+Unode-identity-and-registrationq,ah]q-h	auUlineq.KUdocumentq/hUchildrenq0]q1(cdocutils.nodes
title
q2)Åq3}q4(hX���Node Identity and Registrationq5hh%h'hh(Utitleq6h}q7(h]h]h]h]h]Urefidq8Uid1q9uh.Kh/hh0]q:cdocutils.nodes
Text
q;X���Node Identity and Registrationq<ÖÅq=}q>(hh5hh3ubaubcdocutils.nodes
topic
q?)Åq@}qA(hU�hh%h'hh(UtopicqBh}qC(h]h]qDUcontentsqEah]h]qFUcontentsqGah]qHhauh.Kh/hh0]qI(h2)ÅqJ}qK(hX���Contentsh}qL(h]h]h]h]h]uhh@h0]qMh;X���ContentsqNÖÅqO}qP(hU�hhJubah(h6ubcdocutils.nodes
bullet_list
qQ)ÅqR}qS(hU�hh@h'Nh(Ubullet_listqTh}qU(h]h]h]h]h]uh.Nh/hh0]qVcdocutils.nodes
list_item
qW)ÅqX}qY(hU�h}qZ(h]h]h]h]h]uhhRh0]q[(cdocutils.nodes
paragraph
q\)Åq]}q^(hU�h}q_(h]h]h]h]h]uhhXh0]q`cdocutils.nodes
reference
qa)Åqb}qc(hU�h}qd(h]qeh9ah]h]h]h]Urefidh,uhh]h0]qfh;X���Node Identity and RegistrationqgÖÅqh}qi(hh5hhbubah(U	referenceqjubah(U	paragraphqkubhQ)Åql}qm(hU�h}qn(h]h]h]h]h]uhhXh0]qo(hW)Åqp}qq(hU�h}qr(h]h]h]h]h]uhhlh0]qsh\)Åqt}qu(hU�h}qv(h]h]h]h]h]uhhph0]qwha)Åqx}qy(hU�h}qz(h]q{Uid2q|ah]h]h]h]UrefidUnode-identifiersq}uhhth0]q~h;X���Node IdentifiersqÖÅqÄ}qÅ(hX���Node IdentifiersqÇhhxubah(hjubah(hkubah(U	list_itemqÉubhW)ÅqÑ}qÖ(hU�h}qÜ(h]h]h]h]h]uhhlh0]qáh\)Åqà}qâ(hU�h}qä(h]h]h]h]h]uhhÑh0]qãha)Åqå}qç(hU�h}qé(h]qèUid3qêah]h]h]h]UrefidUnode-authentication-and-contactqëuhhàh0]qíh;X���Node Authentication and ContactqìÖÅqî}qï(hX���Node Authentication and Contactqñhhåubah(hjubah(hkubah(hÉubhW)Åqó}qò(hU�h}qô(h]h]h]h]h]uhhlh0]qöh\)Åqõ}qú(hU�h}qù(h]h]h]h]h]uhhóh0]qûha)Åqü}q†(hU�h}q°(h]q¢Uid4q£ah]h]h]h]UrefidUnode-registrationq§uhhõh0]q•h;X���Node Registrationq¶ÖÅqß}q®(hX���Node Registrationq©hhüubah(hjubah(hkubah(hÉubhW)Åq™}q´(hU�h}q¨(h]h]h]h]h]uhhlh0]q≠h\)ÅqÆ}qØ(hU�h}q∞(h]h]h]h]h]uhh™h0]q±ha)Åq≤}q≥(hU�h}q¥(h]qµUid5q∂ah]h]h]h]UrefidUregistration-procedureq∑uhhÆh0]q∏h;X���Registration ProcedureqπÖÅq∫}qª(hX���Registration Procedureqºhh≤ubah(hjubah(hkubah(hÉubeh(hTubeh(hÉubaubeubh\)ÅqΩ}qæ(hXà��DataONE nodes are of two types, :term:`Coordinating Nodes` and :term:`Member
Nodes`. Member Nodes are data and metadata providers that serve particular
communities and that agree to interoperate with other nodes using the DataONE
Service Interface. Coordinating Nodes provide services to each other and to
the network of Member Nodes to enable DataONE to function as an integrated
federation.hh%h'hh(hkh}qø(h]h]h]h]h]uh.Kh/hh0]q¿(h;X ���DataONE nodes are of two types, q¡ÖÅq¬}q√(hX ���DataONE nodes are of two types, hhΩubcsphinx.addnodes
pending_xref
qƒ)Åq≈}q∆(hX���:term:`Coordinating Nodes`q«hhΩh'hh(Upending_xrefq»h}q…(UreftypeX���termUrefwarnq àU	reftargetqÀX���coordinating nodesU	refdomainX���stdqÃh]h]Urefexplicitâh]h]h]UrefdocqÕX���design/NodeIdentityqŒuh.Kh0]qœcdocutils.nodes
inline
q–)Åq—}q“(hh«h}q”(h]h]q‘(Uxrefq’hÃX���std-termq÷eh]h]h]uhh≈h0]q◊h;X���Coordinating NodesqÿÖÅqŸ}q⁄(hU�hh—ubah(Uinlineq€ubaubh;X��� and q‹ÖÅq›}qfi(hX��� and hhΩubhƒ)Åqfl}q‡(hX���:term:`Member
Nodes`q·hhΩh'hh(h»h}q‚(UreftypeX���termh àhÀX���member nodesU	refdomainX���stdq„h]h]Urefexplicitâh]h]h]hÕhŒuh.Kh0]q‰h–)ÅqÂ}qÊ(hh·h}qÁ(h]h]qË(h’h„X���std-termqÈeh]h]h]uhhflh0]qÍh;X���Member
NodesqÎÖÅqÏ}qÌ(hU�hhÂubah(h€ubaubh;X5��. Member Nodes are data and metadata providers that serve particular
communities and that agree to interoperate with other nodes using the DataONE
Service Interface. Coordinating Nodes provide services to each other and to
the network of Member Nodes to enable DataONE to function as an integrated
federation.qÓÖÅqÔ}q(hX5��. Member Nodes are data and metadata providers that serve particular
communities and that agree to interoperate with other nodes using the DataONE
Service Interface. Coordinating Nodes provide services to each other and to
the network of Member Nodes to enable DataONE to function as an integrated
federation.hhΩubeubh")ÅqÒ}qÚ(hU�hh%h'hh(h)h}qÛ(h]h]h]h]qÙh}ah]qıh
auh.Kh/hh0]qˆ(h2)Åq˜}q¯(hhÇhhÒh'hh(h6h}q˘(h]h]h]h]h]h8h|uh.Kh/hh0]q˙h;X���Node Identifiersq˚ÖÅq¸}q˝(hhÇhh˜ubaubh\)Åq˛}qˇ(hX��Each node in DataONE is assigned a unique, immutable identifier which serves
to link all information about the node together in the system. References in
various metadata documents in DataONE always utilize this NodeReference, as
this will remain constant even as protocols and service endpoints evolve over
time. Thus, while the URL endpoint for a node's services may change over time,
possibly even moving across domains, the NodeReference will always be
constant. The DataONE NodeReference takes the following form::hhÒh'hh(hkh}r���(h]h]h]h]h]uh.Kh/hh0]r��h;X��Each node in DataONE is assigned a unique, immutable identifier which serves
to link all information about the node together in the system. References in
various metadata documents in DataONE always utilize this NodeReference, as
this will remain constant even as protocols and service endpoints evolve over
time. Thus, while the URL endpoint for a node's services may change over time,
possibly even moving across domains, the NodeReference will always be
constant. The DataONE NodeReference takes the following form:r��ÖÅr��}r��(hX��Each node in DataONE is assigned a unique, immutable identifier which serves
to link all information about the node together in the system. References in
various metadata documents in DataONE always utilize this NodeReference, as
this will remain constant even as protocols and service endpoints evolve over
time. Thus, while the URL endpoint for a node's services may change over time,
possibly even moving across domains, the NodeReference will always be
constant. The DataONE NodeReference takes the following form:hh˛ubaubcdocutils.nodes
literal_block
r��)År��}r��(hXô���NodeReference = urn ":" node ":" identifier
urn           = "urn"
node          = "node"
identifier    = *( idchars )
idchars       = ALPHA / DIGIT / "_"hhÒh'hh(U
literal_blockr��h}r	��(U	xml:spacer
��Upreserver��h]h]h]h]h]uh.Kh/hh0]r��h;X�NodeReference = urn ":" node ":" identifier
urn           = "urn"
node          = "node"
identifier    = *( idchars )
idchars       = ALPHA / DIGIT / "_"r
��ÖÅr��}r��(hU�hj��ubaubh\)År��}r��(hXP��ALPHA and DIGIT are patterns representing the upper and lower ASCII letters
[A-Za-z] and the ASCII digits [0-9], defined in the ABNF_ standard. Thus,
``urn:node:`` is a constant prefix, always in lowercase, and ``identifier`` is
a short, unique name for the node that is case sensitive. For example, valid
NodeReferences might include::hhÒh'hh(hkh}r��(h]h]h]h]h]uh.Kh/hh0]r��(h;XÄ���ALPHA and DIGIT are patterns representing the upper and lower ASCII letters
[A-Za-z] and the ASCII digits [0-9], defined in the r��ÖÅr��}r��(hXÄ���ALPHA and DIGIT are patterns representing the upper and lower ASCII letters
[A-Za-z] and the ASCII digits [0-9], defined in the hj��ubha)År��}r��(hX���ABNF_Uresolvedr��Khj��h(hjh}r��(UnameX���ABNFUrefurir��X(���http://www.apps.ietf.org/rfc/rfc5234.txtr��h]h]h]h]h]uh0]r��h;X���ABNFr��ÖÅr��}r ��(hU�hj��ubaubh;X��� standard. Thus,
r!��ÖÅr"��}r#��(hX��� standard. Thus,
hj��ubcdocutils.nodes
literal
r$��)År%��}r&��(hX
���``urn:node:``h}r'��(h]h]h]h]h]uhj��h0]r(��h;X	���urn:node:r)��ÖÅr*��}r+��(hU�hj%��ubah(Uliteralr,��ubh;X0��� is a constant prefix, always in lowercase, and r-��ÖÅr.��}r/��(hX0��� is a constant prefix, always in lowercase, and hj��ubj$��)År0��}r1��(hX���``identifier``h}r2��(h]h]h]h]h]uhj��h0]r3��h;X
���identifierr4��ÖÅr5��}r6��(hU�hj0��ubah(j,��ubh;Xn��� is
a short, unique name for the node that is case sensitive. For example, valid
NodeReferences might include:r7��ÖÅr8��}r9��(hXn��� is
a short, unique name for the node that is case sensitive. For example, valid
NodeReferences might include:hj��ubeubj��)År:��}r;��(hX,���urn:node:KNB
urn:node:DRYAD
urn:node:CN_UCSBhhÒh'hh(j��h}r<��(j
��j��h]h]h]h]h]uh.K%h/hh0]r=��h;X,���urn:node:KNB
urn:node:DRYAD
urn:node:CN_UCSBr>��ÖÅr?��}r@��(hU�hj:��ubaubh\)ÅrA��}rB��(hX˘���By policy, the length of nodes identifiers will generally be restricted to 25
characters, inclusive of the ``urn:node:`` prefix, and will be reviewed for
appropriateness for the node during the node approval process (see `Node
Registration`_ below).hhÒh'hh(hkh}rC��(h]h]h]h]h]uh.K)h/hh0]rD��(h;Xk���By policy, the length of nodes identifiers will generally be restricted to 25
characters, inclusive of the rE��ÖÅrF��}rG��(hXk���By policy, the length of nodes identifiers will generally be restricted to 25
characters, inclusive of the hjA��ubj$��)ÅrH��}rI��(hX
���``urn:node:``h}rJ��(h]h]h]h]h]uhjA��h0]rK��h;X	���urn:node:rL��ÖÅrM��}rN��(hU�hjH��ubah(j,��ubh;Xe��� prefix, and will be reviewed for
appropriateness for the node during the node approval process (see rO��ÖÅrP��}rQ��(hXe��� prefix, and will be reviewed for
appropriateness for the node during the node approval process (see hjA��ubha)ÅrR��}rS��(hX���`Node
Registration`_j��KhjA��h(hjh}rT��(UnameX���Node Registrationh]h]h]h]h]h8h§uh0]rU��h;X���Node
RegistrationrV��ÖÅrW��}rX��(hU�hjR��ubaubh;X��� below).rY��ÖÅrZ��}r[��(hX��� below).hjA��ubeubh\)År\��}r]��(hX
��In this case, appropriateness means concise, memorable, and durable. In
general, the identifier should not contain terms that are likely to change
over the very long term - implementation details such as host names, software
service names, and versions. Identifier length is restricted to make it easy
for system administrators and other programmers to read, recall, and type
them. DataONE UI's will make use of the name field of the Node record for
display, so the identifier does not have to be meaningful for end-users.r^��hhÒh'hh(hkh}r_��(h]h]h]h]h]uh.K.h/hh0]r`��h;X
��In this case, appropriateness means concise, memorable, and durable. In
general, the identifier should not contain terms that are likely to change
over the very long term - implementation details such as host names, software
service names, and versions. Identifier length is restricted to make it easy
for system administrators and other programmers to read, recall, and type
them. DataONE UI's will make use of the name field of the Node record for
display, so the identifier does not have to be meaningful for end-users.ra��ÖÅrb��}rc��(hj^��hj\��ubaubcdocutils.nodes
target
rd��)Åre��}rf��(hX2���.. _ABNF: http://www.apps.ietf.org/rfc/rfc5234.txtU
referencedrg��KhhÒh'hh(Utargetrh��h}ri��(j��j��h]rj��Uabnfrk��ah]h]h]h]rl��hauh.K7h/hh0]ubeubh")Årm��}rn��(hU�hh%h'hh(h)h}ro��(h]h]h]h]rp��hëah]rq��hauh.K:h/hh0]rr��(h2)Års��}rt��(hhñhjm��h'hh(h6h}ru��(h]h]h]h]h]h8hêuh.K:h/hh0]rv��h;X���Node Authentication and Contactrw��ÖÅrx��}ry��(hhñhjs��ubaubh\)Årz��}r{��(hXÇ��In order to become a Member Node (or Coordinating Node) in DataONE, the node
must be authenticated by DataONE in order to securely communicate with other
DataONE nodes. One of the first steps in preparing the node for registration
is receiving a DataONE certificate that will be used for negotiating secure
connections with other nodes. This certificate is an X.509 certificate that is
backed by a cryptographic key. The certificate will contain a distinguished
name, that is included as the subject field in the node record. Over time,
these node certificates will expire and will need to be renewed by installing
the new certificate on the Member Node, and updating the subject field if
necessary. The Node record provided in DataONE can contain a list of subjects
representing the node, each corresponding to a valid DataONE certificate
installed on the node that can be used for authentication.r|��hjm��h'hh(hkh}r}��(h]h]h]h]h]uh.K<h/hh0]r~��h;X��In order to become a Member Node (or Coordinating Node) in DataONE, the node
must be authenticated by DataONE in order to securely communicate with other
DataONE nodes. One of the first steps in preparing the node for registration
is receiving a DataONE certificate that will be used for negotiating secure
connections with other nodes. This certificate is an X.509 certificate that is
backed by a cryptographic key. The certificate will contain a distinguished
name, that is included as the subject field in the node record. Over time,
these node certificates will expire and will need to be renewed by installing
the new certificate on the Member Node, and updating the subject field if
necessary. The Node record provided in DataONE can contain a list of subjects
representing the node, each corresponding to a valid DataONE certificate
installed on the node that can be used for authentication.r��ÖÅrÄ��}rÅ��(hj|��hjz��ubaubh\)ÅrÇ��}rÉ��(hX˝���In addition, every node must have a contact person with whom DataONE can
communicate about DataONE operations (such as new node certificates) and
policies as needed. This contact person must be registered and verified with
DataONE prior to registration.rÑ��hjm��h'hh(hkh}rÖ��(h]h]h]h]h]uh.KIh/hh0]rÜ��h;X˝���In addition, every node must have a contact person with whom DataONE can
communicate about DataONE operations (such as new node certificates) and
policies as needed. This contact person must be registered and verified with
DataONE prior to registration.rá��ÖÅrà��}râ��(hjÑ��hjÇ��ubaubeubh")Årä��}rã��(hU�jg��Khh%h'hh(h)h}rå��(h]h]h]h]rç��h§ah]ré��hauh.KOh/hh0]rè��(h2)Årê��}rë��(hh©hjä��h'hh(h6h}rí��(h]h]h]h]h]h8h£uh.KOh/hh0]rì��h;X���Node Registrationrî��ÖÅrï��}rñ��(hh©hjê��ubaubh\)Åró��}rò��(hX(��Registration as a node in the DataONE network is accomplished by registering
as a Member Node (or Coordinating Node) through an existing Coordinating Node
registration service (see :func:`CNRegister.register`). This service takes a
:class:`Types.Node` description as input, including a proposed
:class:`Types.NodeReference` for this node and additional metadata such as the
nodeContact in the Node description. If the NodeReference is syntactically
correct and is unique, and the nodeContact is a verified account registered
with DataONE, then the registration service will successfully return the
:class:`Types.NodeReference` value for this node, which is then permanently
assigned and can not be reused or reassigned. At this point, the
:class:`Types.Node` has been registered but has not yet been approved. The
request to become a node will be reviewed by DataONE, and, if approved, will
be added to the list of Nodes in the federation. At this point, the Node will
be be able to participate in all synchronization and replication services
available in DataONE.hjä��h'hh(hkh}rô��(h]h]h]h]h]uh.KQh/hh0]rö��(h;Xµ���Registration as a node in the DataONE network is accomplished by registering
as a Member Node (or Coordinating Node) through an existing Coordinating Node
registration service (see rõ��ÖÅrú��}rù��(hXµ���Registration as a node in the DataONE network is accomplished by registering
as a Member Node (or Coordinating Node) through an existing Coordinating Node
registration service (see hjó��ubhƒ)Årû��}rü��(hX���:func:`CNRegister.register`r†��hjó��h'hh(h»h}r°��(UreftypeX���funch âhÀX���CNRegister.registerU	refdomainX���pyr¢��h]h]Urefexplicitâh]h]h]hÕhŒUpy:classr£��NU	py:moduler§��Nuh.KQh0]r•��j$��)År¶��}rß��(hj†��h}r®��(h]h]r©��(h’j¢��X���py-funcr™��eh]h]h]uhjû��h0]r´��h;X���CNRegister.register()r¨��ÖÅr≠��}rÆ��(hU�hj¶��ubah(j,��ubaubh;X���). This service takes a
rØ��ÖÅr∞��}r±��(hX���). This service takes a
hjó��ubhƒ)År≤��}r≥��(hX���:class:`Types.Node`r¥��hjó��h'hh(h»h}rµ��(UreftypeX���classh âhÀX
���Types.NodeU	refdomainX���pyr∂��h]h]Urefexplicitâh]h]h]hÕhŒj£��Nj§��Nuh.KQh0]r∑��j$��)År∏��}rπ��(hj¥��h}r∫��(h]h]rª��(h’j∂��X���py-classrº��eh]h]h]uhj≤��h0]rΩ��h;X
���Types.Noderæ��ÖÅrø��}r¿��(hU�hj∏��ubah(j,��ubaubh;X,��� description as input, including a proposed
r¡��ÖÅr¬��}r√��(hX,��� description as input, including a proposed
hjó��ubhƒ)Årƒ��}r≈��(hX���:class:`Types.NodeReference`r∆��hjó��h'hh(h»h}r«��(UreftypeX���classh âhÀX���Types.NodeReferenceU	refdomainX���pyr»��h]h]Urefexplicitâh]h]h]hÕhŒj£��Nj§��Nuh.KQh0]r…��j$��)År ��}rÀ��(hj∆��h}rÃ��(h]h]rÕ��(h’j»��X���py-classrŒ��eh]h]h]uhjƒ��h0]rœ��h;X���Types.NodeReferencer–��ÖÅr—��}r“��(hU�hj ��ubah(j,��ubaubh;X�� for this node and additional metadata such as the
nodeContact in the Node description. If the NodeReference is syntactically
correct and is unique, and the nodeContact is a verified account registered
with DataONE, then the registration service will successfully return the
r”��ÖÅr‘��}r’��(hX�� for this node and additional metadata such as the
nodeContact in the Node description. If the NodeReference is syntactically
correct and is unique, and the nodeContact is a verified account registered
with DataONE, then the registration service will successfully return the
hjó��ubhƒ)År÷��}r◊��(hX���:class:`Types.NodeReference`rÿ��hjó��h'hh(h»h}rŸ��(UreftypeX���classh âhÀX���Types.NodeReferenceU	refdomainX���pyr⁄��h]h]Urefexplicitâh]h]h]hÕhŒj£��Nj§��Nuh.KQh0]r€��j$��)År‹��}r›��(hjÿ��h}rfi��(h]h]rfl��(h’j⁄��X���py-classr‡��eh]h]h]uhj÷��h0]r·��h;X���Types.NodeReferencer‚��ÖÅr„��}r‰��(hU�hj‹��ubah(j,��ubaubh;Xq��� value for this node, which is then permanently
assigned and can not be reused or reassigned. At this point, the
rÂ��ÖÅrÊ��}rÁ��(hXq��� value for this node, which is then permanently
assigned and can not be reused or reassigned. At this point, the
hjó��ubhƒ)ÅrË��}rÈ��(hX���:class:`Types.Node`rÍ��hjó��h'hh(h»h}rÎ��(UreftypeX���classh âhÀX
���Types.NodeU	refdomainX���pyrÏ��h]h]Urefexplicitâh]h]h]hÕhŒj£��Nj§��Nuh.KQh0]rÌ��j$��)ÅrÓ��}rÔ��(hjÍ��h}r��(h]h]rÒ��(h’jÏ��X���py-classrÚ��eh]h]h]uhjË��h0]rÛ��h;X
���Types.NoderÙ��ÖÅrı��}rˆ��(hU�hjÓ��ubah(j,��ubaubh;X2�� has been registered but has not yet been approved. The
request to become a node will be reviewed by DataONE, and, if approved, will
be added to the list of Nodes in the federation. At this point, the Node will
be be able to participate in all synchronization and replication services
available in DataONE.r˜��ÖÅr¯��}r˘��(hX2�� has been registered but has not yet been approved. The
request to become a node will be reviewed by DataONE, and, if approved, will
be added to the list of Nodes in the federation. At this point, the Node will
be be able to participate in all synchronization and replication services
available in DataONE.hjó��ubeubeubh#eubh'hh(h)h}r˙��(h]h]h]h]r˚��h∑ah]r¸��hauh.Kch/hh0]r˝��(h2)År˛��}rˇ��(hhºhh#h'hh(h6h}r���(h]h]h]h]h]h8h∂uh.Kch/hh0]r��h;X���Registration Procedurer��ÖÅr��}r��(hhºhj˛��ubaubh\)År��}r��(hXÁ��Along with the production environment, DataONE maintains other environments of
inter-communicating Coordinating and Member Nodes for various testing
purposes. Aside from a unique list of nodes, each environment maintains their
own sets of data objects, object formats, and user accounts. The registration
steps described below pertain to a single environment, so registering a node
to a new environment would require running through the procedure in its
entirety for the new environment.r��hh#h'hh(hkh}r��(h]h]h]h]h]uh.Keh/hh0]r	��h;XÁ��Along with the production environment, DataONE maintains other environments of
inter-communicating Coordinating and Member Nodes for various testing
purposes. Aside from a unique list of nodes, each environment maintains their
own sets of data objects, object formats, and user accounts. The registration
steps described below pertain to a single environment, so registering a node
to a new environment would require running through the procedure in its
entirety for the new environment.r
��ÖÅr��}r��(hj��hj��ubaubh\)År
��}r��(hX���**Step 1: Stand-alone testing**r��hh#h'hh(hkh}r��(h]h]h]h]h]uh.Knh/hh0]r��cdocutils.nodes
strong
r��)År��}r��(hj��h}r��(h]h]h]h]h]uhj
��h0]r��h;X���Step 1: Stand-alone testingr��ÖÅr��}r��(hU�hj��ubah(Ustrongr��ubaubh\)År��}r��(hXC��Prior to registration, the node needs to be tested for proper functionality of
its services, and proper form of its content. Certain integration tests used
by the core team have been deployed to a web server
(http://mncheck.test.dataone.org) so member node implementers can test basic
services in a stand-alone environment.hh#h'hh(hkh}r��(h]h]h]h]h]uh.Kph/hh0]r��(h;X—���Prior to registration, the node needs to be tested for proper functionality of
its services, and proper form of its content. Certain integration tests used
by the core team have been deployed to a web server
(r��ÖÅr ��}r!��(hX—���Prior to registration, the node needs to be tested for proper functionality of
its services, and proper form of its content. Certain integration tests used
by the core team have been deployed to a web server
(hj��ubha)År"��}r#��(hX���http://mncheck.test.dataone.orgr$��h}r%��(Urefurij$��h]h]h]h]h]uhj��h0]r&��h;X���http://mncheck.test.dataone.orgr'��ÖÅr(��}r)��(hU�hj"��ubah(hjubh;XS���) so member node implementers can test basic
services in a stand-alone environment.r*��ÖÅr+��}r,��(hXS���) so member node implementers can test basic
services in a stand-alone environment.hj��ubeubh\)År-��}r.��(hX���**Step 2: Content checking**r/��hh#h'hh(hkh}r0��(h]h]h]h]h]uh.Kvh/hh0]r1��j��)År2��}r3��(hj/��h}r4��(h]h]h]h]h]uhj-��h0]r5��h;X���Step 2: Content checkingr6��ÖÅr7��}r8��(hU�hj2��ubah(j��ubaubh\)År9��}r:��(hX„���Not every aspect of the node can be checked prior to testing, and some tests
take too long to be automated in a web-based platform. Also better done prior
to node registration, content checking should be done to make sure that:r;��hh#h'hh(hkh}r<��(h]h]h]h]h]uh.Kxh/hh0]r=��h;X„���Not every aspect of the node can be checked prior to testing, and some tests
take too long to be automated in a web-based platform. Also better done prior
to node registration, content checking should be done to make sure that:r>��ÖÅr?��}r@��(hj;��hj9��ubaubcdocutils.nodes
enumerated_list
rA��)ÅrB��}rC��(hU�hh#h'hh(Uenumerated_listrD��h}rE��(UsuffixrF��U.h]h]h]UprefixrG��U�h]h]UenumtyperH��UarabicrI��uh.K|h/hh0]rJ��(hW)ÅrK��}rL��(hXH���all object formats used by the member node are registered with DataONE.
hjB��h'hh(hÉh}rM��(h]h]h]h]h]uh.Nh/hh0]rN��h\)ÅrO��}rP��(hXG���all object formats used by the member node are registered with DataONE.rQ��hjK��h'hh(hkh}rR��(h]h]h]h]h]uh.K|h0]rS��h;XG���all object formats used by the member node are registered with DataONE.rT��ÖÅrU��}rV��(hjQ��hjO��ubaubaubhW)ÅrW��}rX��(hX;���the member node supports the required checksum algorithms.
hjB��h'hh(hÉh}rY��(h]h]h]h]h]uh.Nh/hh0]rZ��h\)År[��}r\��(hX:���the member node supports the required checksum algorithms.r]��hjW��h'hh(hkh}r^��(h]h]h]h]h]uh.K~h0]r_��h;X:���the member node supports the required checksum algorithms.r`��ÖÅra��}rb��(hj]��hj[��ubaubaubhW)Årc��}rd��(hXx���the system metadata of each object contains accurate AccessPolicies
as per that node?s agreement with their submitters.
hjB��h'hh(hÉh}re��(h]h]h]h]h]uh.Nh/hh0]rf��h\)Årg��}rh��(hXw���the system metadata of each object contains accurate AccessPolicies
as per that node?s agreement with their submitters.ri��hjc��h'hh(hkh}rj��(h]h]h]h]h]uh.KÄh0]rk��h;Xw���the system metadata of each object contains accurate AccessPolicies
as per that node?s agreement with their submitters.rl��ÖÅrm��}rn��(hji��hjg��ubaubaubhW)Åro��}rp��(hX»���system metadata RightsHolders are valid subjects, representable by X.509
certificate distinguished names, or a plan is in place to map these
accounts to accounts that are representable in such a way.
hjB��h'hh(hÉh}rq��(h]h]h]h]h]uh.Nh/hh0]rr��h\)Års��}rt��(hX«���system metadata RightsHolders are valid subjects, representable by X.509
certificate distinguished names, or a plan is in place to map these
accounts to accounts that are representable in such a way.ru��hjo��h'hh(hkh}rv��(h]h]h]h]h]uh.KÉh0]rw��h;X«���system metadata RightsHolders are valid subjects, representable by X.509
certificate distinguished names, or a plan is in place to map these
accounts to accounts that are representable in such a way.rx��ÖÅry��}rz��(hju��hjs��ubaubaubhW)År{��}r|��(hX9���any other tests determined to be relevant for that node.
hjB��h'hh(hÉh}r}��(h]h]h]h]h]uh.Nh/hh0]r~��h\)År��}rÄ��(hX8���any other tests determined to be relevant for that node.rÅ��hj{��h'hh(hkh}rÇ��(h]h]h]h]h]uh.Káh0]rÉ��h;X8���any other tests determined to be relevant for that node.rÑ��ÖÅrÖ��}rÜ��(hjÅ��hj��ubaubaubeubh\)Årá��}rà��(hXR���This step is best done in close coordination with the DataONE core developer
team.râ��hh#h'hh(hkh}rä��(h]h]h]h]h]uh.Kâh/hh0]rã��h;XR���This step is best done in close coordination with the DataONE core developer
team.rå��ÖÅrç��}ré��(hjâ��hjá��ubaubh\)Årè��}rê��(hX���**Step 3: Node Registering**rë��hh#h'hh(hkh}rí��(h]h]h]h]h]uh.Kçh/hh0]rì��j��)Årî��}rï��(hjë��h}rñ��(h]h]h]h]h]uhjè��h0]ró��h;X���Step 3: Node Registeringrò��ÖÅrô��}rö��(hU�hjî��ubah(j��ubaubh\)Årõ��}rú��(hX2���Registering the node involves the following steps.rù��hh#h'hh(hkh}rû��(h]h]h]h]h]uh.Kèh/hh0]rü��h;X2���Registering the node involves the following steps.r†��ÖÅr°��}r¢��(hjù��hjõ��ubaubh h\)År£��}r§��(hXG���**Step 4: Functional Integration testing (except in PROD environment)**r•��hh#h'hh(hkh}r¶��(h]h]h]h]h]uh.K¥h/hh0]rß��j��)År®��}r©��(hj•��h}r™��(h]h]h]h]h]uhj£��h0]r´��h;XC���Step 4: Functional Integration testing (except in PROD environment)r¨��ÖÅr≠��}rÆ��(hU�hj®��ubah(j��ubaubh\)ÅrØ��}r∞��(hX’��At this point, the appropriate multi-node functional tests (for
synchronization, replication, and updateSystemMetadata) will be run. Tests in
this arena are intended to shake out remaining bugs, and will in most cases be
done in close coordination with the DataONE core developers team. Success at
this step requires a dedicated developer resource from the member node
implementation team for about a 1-2 week period, as bug fixing at this point
tends to be sequential.r±��hh#h'hh(hkh}r≤��(h]h]h]h]h]uh.K∂h/hh0]r≥��h;X’��At this point, the appropriate multi-node functional tests (for
synchronization, replication, and updateSystemMetadata) will be run. Tests in
this arena are intended to shake out remaining bugs, and will in most cases be
done in close coordination with the DataONE core developers team. Success at
this step requires a dedicated developer resource from the member node
implementation team for about a 1-2 week period, as bug fixing at this point
tends to be sequential.r¥��ÖÅrµ��}r∂��(hj±��hjØ��ubaubeubh'Nh(Ublock_quoter∑��h}r∏��(h]h]h]h]h]uh.Nh/hh0]rπ��(jA��)År∫��}rª��(hU�h}rº��(jF��U.h]h]h]jG��U�h]h]jH��U
upperalpharΩ��uhh h0]ræ��hW)Årø��}r¿��(hXà���Registering the nodeContact account with the environment via the identity
portal. This account needs to be one compatible with CiLogon.
h}r¡��(h]h]h]h]h]uhj∫��h0]r¬��h\)År√��}rƒ��(hXá���Registering the nodeContact account with the environment via the identity
portal. This account needs to be one compatible with CiLogon.r≈��hjø��h'hh(hkh}r∆��(h]h]h]h]h]uh.Këh0]r«��h;Xá���Registering the nodeContact account with the environment via the identity
portal. This account needs to be one compatible with CiLogon.r»��ÖÅr…��}r ��(hj≈��hj√��ubaubah(hÉubah(jD��ubh\)ÅrÀ��}rÃ��(hX���Using the portalrÕ��hh h'hh(hkh}rŒ��(h]h]h]h]h]uh.Kîh0]rœ��h;X���Using the portalr–��ÖÅr—��}r“��(hjÕ��hjÀ��ubaubh)År”��}r‘��(hU�h}r’��(h]h]h]h]h]uhh h0]r÷��jA��)År◊��}rÿ��(hU�h}rŸ��(jF��U.h]h]h]jG��U�h]h]jH��jI��uhj”��h0]r⁄��(hW)År€��}r‹��(hX6���go to ``https://cn-{ENVIRONMENT}.dataone.org/portal``
h}r›��(h]h]h]h]h]uhj◊��h0]rfi��h\)Årfl��}r‡��(hX5���go to ``https://cn-{ENVIRONMENT}.dataone.org/portal``hj€��h'hh(hkh}r·��(h]h]h]h]h]uh.Kñh0]r‚��(h;X���go to r„��ÖÅr‰��}rÂ��(hX���go to hjfl��ubj$��)ÅrÊ��}rÁ��(hX/���``https://cn-{ENVIRONMENT}.dataone.org/portal``h}rË��(h]h]h]h]h]uhjfl��h0]rÈ��h;X+���https://cn-{ENVIRONMENT}.dataone.org/portalrÍ��ÖÅrÎ��}rÏ��(hU�hjÊ��ubah(j,��ubeubah(hÉubhW)ÅrÌ��}rÓ��(hXV���choose your account provider (this step may be bypassed if you have
already logged in
h}rÔ��(h]h]h]h]h]uhj◊��h0]r��h\)ÅrÒ��}rÚ��(hXU���choose your account provider (this step may be bypassed if you have
already logged inrÛ��hjÌ��h'hh(hkh}rÙ��(h]h]h]h]h]uh.Kòh0]rı��h;XU���choose your account provider (this step may be bypassed if you have
already logged inrˆ��ÖÅr˜��}r¯��(hjÛ��hjÒ��ubaubah(hÉubhW)År˘��}r˙��(hX¨��At the My Account tab, fill out the Account Details fields, and click
"Register." (This will register this account and display the subject.
If there is no button labeled "Register", but one labeled "Update",
your account is already registered.)

The subject displayed is the part within the parentheses, in the
format "CN=foo,DC=cil ogon,DC=org", and it is this value that must
match what is in the Node record's subject field.
h}r˚��(h]h]h]h]h]uhj◊��h0]r¸��(h\)År˝��}r˛��(hXÙ���At the My Account tab, fill out the Account Details fields, and click
"Register." (This will register this account and display the subject.
If there is no button labeled "Register", but one labeled "Update",
your account is already registered.)rˇ��hj˘��h'hh(hkh}r���(h]h]h]h]h]uh.Kõh0]r��h;XÙ���At the My Account tab, fill out the Account Details fields, and click
"Register." (This will register this account and display the subject.
If there is no button labeled "Register", but one labeled "Update",
your account is already registered.)r��ÖÅr��}r��(hjˇ��hj˝��ubaubh\)År��}r��(hXµ���The subject displayed is the part within the parentheses, in the
format "CN=foo,DC=cil ogon,DC=org", and it is this value that must
match what is in the Node record's subject field.r��hj˘��h'hh(hkh}r��(h]h]h]h]h]uh.K†h0]r	��h;Xµ���The subject displayed is the part within the parentheses, in the
format "CN=foo,DC=cil ogon,DC=org", and it is this value that must
match what is in the Node record's subject field.r
��ÖÅr��}r��(hj��hj��ubaubeh(hÉubeh(jD��ubah(j∑��ubjA��)År
��}r��(hU�h}r��(jF��U.Ustartr��Kh]h]h]jG��U�h]h]jH��jΩ��uhh h0]r��(hW)År��}r��(hXH��Submitting a cn.register(Session, Node) request, where the Session
parameter contains the certificate of the person making the request, and
the Node parameter is, in most cases, the Node record served by the
mn.getCapabilities() service call (``GET /node``). Problems with the node
record will be reported back as an exception.
h}r��(h]h]h]h]h]uhj
��h0]r��h\)År��}r��(hXG��Submitting a cn.register(Session, Node) request, where the Session
parameter contains the certificate of the person making the request, and
the Node parameter is, in most cases, the Node record served by the
mn.getCapabilities() service call (``GET /node``). Problems with the node
record will be reported back as an exception.hj��h'hh(hkh}r��(h]h]h]h]h]uh.K§h0]r��(h;XÛ���Submitting a cn.register(Session, Node) request, where the Session
parameter contains the certificate of the person making the request, and
the Node parameter is, in most cases, the Node record served by the
mn.getCapabilities() service call (r��ÖÅr��}r��(hXÛ���Submitting a cn.register(Session, Node) request, where the Session
parameter contains the certificate of the person making the request, and
the Node parameter is, in most cases, the Node record served by the
mn.getCapabilities() service call (hj��ubj$��)År��}r��(hX
���``GET /node``h}r��(h]h]h]h]h]uhj��h0]r ��h;X	���GET /noder!��ÖÅr"��}r#��(hU�hj��ubah(j,��ubh;XG���). Problems with the node
record will be reported back as an exception.r$��ÖÅr%��}r&��(hXG���). Problems with the node
record will be reported back as an exception.hj��ubeubah(hÉubhW)År'��}r(��(hX‰���Approving the node.

 1. Contact the DataONE contact person that the node has been registered
    and ready for approval.

 2. Review any content checking test results with the node contact.

 3. DataONE will approve the node.

h}r)��(h]h]h]h]h]uhj
��h0]r*��(h\)År+��}r,��(hX���Approving the node.r-��hj'��h'hh(hkh}r.��(h]h]h]h]h]uh.K™h0]r/��h;X���Approving the node.r0��ÖÅr1��}r2��(hj-��hj+��ubaubh)År3��}r4��(hU�h}r5��(h]h]h]h]h]uhj'��h0]r6��jA��)År7��}r8��(hU�h}r9��(jF��U.h]h]h]jG��U�h]h]jH��jI��uhj3��h0]r:��(hW)År;��}r<��(hX]���Contact the DataONE contact person that the node has been registered
and ready for approval.
h}r=��(h]h]h]h]h]uhj7��h0]r>��h\)År?��}r@��(hX\���Contact the DataONE contact person that the node has been registered
and ready for approval.rA��hj;��h'hh(hkh}rB��(h]h]h]h]h]uh.K¨h0]rC��h;X\���Contact the DataONE contact person that the node has been registered
and ready for approval.rD��ÖÅrE��}rF��(hjA��hj?��ubaubah(hÉubhW)ÅrG��}rH��(hX@���Review any content checking test results with the node contact.
h}rI��(h]h]h]h]h]uhj7��h0]rJ��h\)ÅrK��}rL��(hX?���Review any content checking test results with the node contact.rM��hjG��h'hh(hkh}rN��(h]h]h]h]h]uh.KØh0]rO��h;X?���Review any content checking test results with the node contact.rP��ÖÅrQ��}rR��(hjM��hjK��ubaubah(hÉubhW)ÅrS��}rT��(hX ���DataONE will approve the node.

h}rU��(h]h]h]h]h]uhj7��h0]rV��h\)ÅrW��}rX��(hX���DataONE will approve the node.rY��hjS��h'hh(hkh}rZ��(h]h]h]h]h]uh.K±h0]r[��h;X���DataONE will approve the node.r\��ÖÅr]��}r^��(hjY��hjW��ubaubah(hÉubeh(jD��ubah(j∑��ubeh(hÉubeh(jD��ubeubh0]r_��h\)År`��}ra��(hX:���Enumerated list start value not ordinal-1: "B" (ordinal 2)h}rb��(h]h]h]h]h]uhhh0]rc��h;X:���Enumerated list start value not ordinal-1: "B" (ordinal 2)rd��ÖÅre��}rf��(hU�hj`��ubah(hkubah(Usystem_messagerg��ubaUcurrent_sourcerh��NU
decorationri��NUautofootnote_startrj��KUnameidsrk��}rl��(hjk��hh§hhëh	h,h
h}hh∑hhGuh0]rm��h%ahU�Utransformerrn��NU
footnote_refsro��}rp��Urefnamesrq��}rr��(X���abnf]rs��j��aX���node registration]rt��jR��auUsymbol_footnotesru��]rv��Uautofootnote_refsrw��]rx��Usymbol_footnote_refsry��]rz��U	citationsr{��]r|��h/hUcurrent_liner}��NUtransform_messagesr~��]r��Ureporterr��NUid_startr��KU
autofootnotesr��]r��U
citation_refsr��}r��Uindirect_targetsr��]r�Usettingsr�(cdocutils.frontend
Values
râ��orä��}rã��(Ufootnote_backlinksrå��KUrecord_dependenciesrç��NUrfc_base_urlré��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õ��Nh6NUerror_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—��(h}hÒjk��je��h£hüh∂h≤h|hxhêhåh9hbh,h%h∑h#h§jä��hGh@hëjm��uUsubstitution_namesr“��}r”��h(h/h}r‘��(h]h]h]Usourcehh]h]uU	footnotesr’��]r÷��Urefidsr◊��}rÿ��ub.