€cdocutils.nodes document q)q}q(U nametypesq}q(XabnfqˆXnode registrationqNXnode authentication and contactqNXnode identity and registrationq NXnode identifiersq NXregistration procedureq NXcontentsq NuUsubstitution_defsq }qUparse_messagesq]qcdocutils.nodes system_message q)q}q(U rawsourceqUU 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!(hUhcdocutils.nodes section q")q#}q$(hUhh")q%}q&(hUhhUsourceq'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(hXNode Identity and Registrationq5hh%h'hh(Utitleq6h}q7(h]h]h]h]h]Urefidq8Uid1q9uh.Kh/hh0]q:cdocutils.nodes Text q;XNode Identity and Registrationq<…q=}q>(hh5hh3ubaubcdocutils.nodes topic q?)q@}qA(hUhh%h'hh(UtopicqBh}qC(h]h]qDUcontentsqEah]h]qFUcontentsqGah]qHh auh.Kh/hh0]qI(h2)qJ}qK(hXContentsh}qL(h]h]h]h]h]uhh@h0]qMh;XContentsqN…qO}qP(hUhhJubah(h6ubcdocutils.nodes bullet_list qQ)qR}qS(hUhh@h'Nh(U bullet_listqTh}qU(h]h]h]h]h]uh.Nh/hh0]qVcdocutils.nodes list_item qW)qX}qY(hUh}qZ(h]h]h]h]h]uhhRh0]q[(cdocutils.nodes paragraph q\)q]}q^(hUh}q_(h]h]h]h]h]uhhXh0]q`cdocutils.nodes reference qa)qb}qc(hUh}qd(h]qeh9ah]h]h]h]Urefidh,uhh]h0]qfh;XNode Identity and Registrationqg…qh}qi(hh5hhbubah(U referenceqjubah(U paragraphqkubhQ)ql}qm(hUh}qn(h]h]h]h]h]uhhXh0]qo(hW)qp}qq(hUh}qr(h]h]h]h]h]uhhlh0]qsh\)qt}qu(hUh}qv(h]h]h]h]h]uhhph0]qwha)qx}qy(hUh}qz(h]q{Uid2q|ah]h]h]h]UrefidUnode-identifiersq}uhhth0]q~h;XNode Identifiersq…q€}q(hXNode Identifiersq‚hhxubah(hjubah(hkubah(U list_itemqƒubhW)q„}q…(hUh}q†(h]h]h]h]h]uhhlh0]q‡h\)qˆ}q‰(hUh}qŠ(h]h]h]h]h]uhh„h0]q‹ha)qŒ}q(hUh}qŽ(h]qUid3qah]h]h]h]UrefidUnode-authentication-and-contactq‘uhhˆh0]q’h;XNode Authentication and Contactq“…q”}q•(hXNode Authentication and Contactq–hhŒubah(hjubah(hkubah(hƒubhW)q—}q˜(hUh}q™(h]h]h]h]h]uhhlh0]qšh\)q›}qœ(hUh}q(h]h]h]h]h]uhh—h0]qžha)qŸ}q (hUh}q¡(h]q¢Uid4q£ah]h]h]h]UrefidUnode-registrationq¤uhh›h0]q¥h;XNode Registrationq¦…q§}q¨(hXNode Registrationq©hhŸubah(hjubah(hkubah(hƒubhW)qª}q«(hUh}q¬(h]h]h]h]h]uhhlh0]q­h\)q®}q¯(hUh}q°(h]h]h]h]h]uhhªh0]q±ha)q²}q³(hUh}q´(h]qµUid5q¶ah]h]h]h]UrefidUregistration-procedureq·uhh®h0]q¸h;XRegistration Procedureq¹…qº}q»(hXRegistration 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É(UreftypeXtermUrefwarnqʈU reftargetqËXcoordinating nodesU refdomainXstdqÌh]h]U refexplicit‰h]h]h]UrefdocqÍXdesign/NodeIdentityqÎuh.Kh0]qÏcdocutils.nodes inline qÐ)qÑ}qÒ(hhÇh}qÓ(h]h]qÔ(UxrefqÕhÌXstd-termqÖeh]h]h]uhhÅh0]q×h;XCoordinating NodesqØ…qÙ}qÚ(hUhhÑubah(UinlineqÛubaubh;X and qÜ…qÝ}qÞ(hX and hh½ubhÄ)qß}qà(hX:term:`Member Nodes`qáhh½h'hh(hÈh}qâ(UreftypeXtermhʈhËX member nodesU refdomainXstdqãh]h]U refexplicit‰h]h]h]hÍhÎuh.Kh0]qähÐ)qå}qæ(hháh}qç(h]h]qè(hÕhãXstd-termqéeh]h]h]uhhßh0]qêh;X Member Nodesqë…qì}qí(hUhhå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ò(hUhh%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;XNode Identifiersqû…qü}qý(hh‚hh÷ubaubh\)qþ}qÿ(hXEach 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]rh;XEach 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(hXEach 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_blockrh}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(hUhjubaubh\)r}r(hXPALPHA 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 hjubha)r}r(hXABNF_UresolvedrKhjh(hjh}r(UnameXABNFUrefurirX(http://www.apps.ietf.org/rfc/rfc5234.txtrh]h]h]h]h]uh0]rh;XABNFr…r}r (hUhjubaubh;X standard. Thus, r!…r"}r#(hX standard. Thus, hjubcdocutils.nodes literal r$)r%}r&(hX ``urn:node:``h}r'(h]h]h]h]h]uhjh0]r(h;X urn:node:r)…r*}r+(hUhj%ubah(Uliteralr,ubh;X0 is a constant prefix, always in lowercase, and r-…r.}r/(hX0 is a constant prefix, always in lowercase, and hjubj$)r0}r1(hX``identifier``h}r2(h]h]h]h]h]uhjh0]r3h;X identifierr4…r5}r6(hUhj0ubah(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:hjubeubj)r:}r;(hX,urn:node:KNB urn:node:DRYAD urn:node:CN_UCSBhhñh'hh(jh}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@(hUhj: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;XkBy policy, the length of nodes identifiers will generally be restricted to 25 characters, inclusive of the rE…rF}rG(hXkBy policy, the length of nodes identifiers will generally be restricted to 25 characters, inclusive of the hjAubj$)rH}rI(hX ``urn:node:``h}rJ(h]h]h]h]h]uhjAh0]rKh;X urn:node:rL…rM}rN(hUhjHubah(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 hjAubha)rR}rS(hX`Node Registration`_jKhjAh(hjh}rT(UnameXNode Registrationh]h]h]h]h]h8h¤uh0]rUh;XNode RegistrationrV…rW}rX(hUhjRubaubh;X below).rY…rZ}r[(hX below).hjAubeubh\)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 referencedrgKhhñh'hh(Utargetrhh}ri(jjh]rjUabnfrkah]h]h]h]rlhauh.K7h/hh0]ubeubh")rm}rn(hUhh%h'hh(h)h}ro(h]h]h]h]rph‘ah]rqhauh.K:h/hh0]rr(h2)rs}rt(hh–hjmh'hh(h6h}ru(h]h]h]h]h]h8huh.K:h/hh0]rvh;XNode Authentication and Contactrw…rx}ry(hh–hjsubaubh\)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|hjmh'hh(hkh}r}(h]h]h]h]h]uh.K…r?}r@(hj;hj9ubaubcdocutils.nodes enumerated_list rA)rB}rC(hUhh#h'hh(Uenumerated_listrDh}rE(UsuffixrFU.h]h]h]UprefixrGUh]h]UenumtyperHUarabicrIuh.K|h/hh0]rJ(hW)rK}rL(hXHall object formats used by the member node are registered with DataONE. hjBh'hh(hƒh}rM(h]h]h]h]h]uh.Nh/hh0]rNh\)rO}rP(hXGall object formats used by the member node are registered with DataONE.rQhjKh'hh(hkh}rR(h]h]h]h]h]uh.K|h0]rSh;XGall object formats used by the member node are registered with DataONE.rT…rU}rV(hjQhjOubaubaubhW)rW}rX(hX;the member node supports the required checksum algorithms. hjBh'hh(hƒh}rY(h]h]h]h]h]uh.Nh/hh0]rZh\)r[}r\(hX:the member node supports the required checksum algorithms.r]hjWh'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(hXxthe system metadata of each object contains accurate AccessPolicies as per that node?s agreement with their submitters. hjBh'hh(hƒh}re(h]h]h]h]h]uh.Nh/hh0]rfh\)rg}rh(hXwthe system metadata of each object contains accurate AccessPolicies as per that node?s agreement with their submitters.rihjch'hh(hkh}rj(h]h]h]h]h]uh.K€h0]rkh;Xwthe system metadata of each object contains accurate AccessPolicies as per that node?s agreement with their submitters.rl…rm}rn(hjihjgubaubaubhW)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. hjBh'hh(hƒh}rq(h]h]h]h]h]uh.Nh/hh0]rrh\)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.ruhjoh'hh(hkh}rv(h]h]h]h]h]uh.Kƒh0]rwh;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(hjuhjsubaubaubhW)r{}r|(hX9any other tests determined to be relevant for that node. hjBh'hh(hƒh}r}(h]h]h]h]h]uh.Nh/hh0]r~h\)r}r€(hX8any other tests determined to be relevant for that node.rhj{h'hh(hkh}r‚(h]h]h]h]h]uh.K‡h0]rƒh;X8any other tests determined to be relevant for that node.r„…r…}r†(hjhjubaubaubeubh\)r‡}rˆ(hXRThis 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;XRThis 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.Kh/hh0]r“j)r”}r•(hj‘h}r–(h]h]h]h]h]uhjh0]r—h;XStep 3: Node Registeringr˜…r™}rš(hUhj”ubah(jubaubh\)r›}rœ(hX2Registering the node involves the following steps.rhh#h'hh(hkh}rž(h]h]h]h]h]uh.Kh/hh0]rŸh;X2Registering the node involves the following steps.r …r¡}r¢(hjhj›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;XCStep 4: Functional Integration testing (except in PROD environment)r¬…r­}r®(hUhj¨ubah(jubaubh\)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(U block_quoter·h}r¸(h]h]h]h]h]uh.Nh/hh0]r¹(jA)rº}r»(hUh}r¼(jFU.h]h]h]jGUh]h]jHU 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(jDubh\)rË}rÌ(hXUsing the portalrÍhh h'hh(hkh}rÎ(h]h]h]h]h]uh.K”h0]rÏh;XUsing the portalrÐ…rÑ}rÒ(hjÍhjËubaubh)rÓ}rÔ(hUh}rÕ(h]h]h]h]h]uhh h0]rÖjA)r×}rØ(hUh}rÙ(jFU.h]h]h]jGUh]h]jHjIuhjÓh0]rÚ(hW)rÛ}rÜ(hX6go to ``https://cn-{ENVIRONMENT}.dataone.org/portal`` h}rÝ(h]h]h]h]h]uhj×h0]rÞh\)rß}rà(hX5go to ``https://cn-{ENVIRONMENT}.dataone.org/portal``hjÛh'hh(hkh}rá(h]h]h]h]h]uh.K–h0]râ(h;Xgo to rã…rä}rå(hXgo to hjßubj$)ræ}rç(hX/``https://cn-{ENVIRONMENT}.dataone.org/portal``h}rè(h]h]h]h]h]uhjßh0]réh;X+https://cn-{ENVIRONMENT}.dataone.org/portalrê…rë}rì(hUhjæubah(j,ubeubah(hƒubhW)rí}rî(hXVchoose 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ò(hXUchoose 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;XUchoose 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]rh;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.rhjù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 (hjhjubaubeh(hƒubeh(jDubah(j·ubjA)r }r(hUh}r(jFU.UstartrKh]h]h]jGUh]h]jHj½uhh h0]r(hW)r}r(hXHSubmitting 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]rh\)r}r(hXGSubmitting 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.hjh'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 (hjubj$)r}r(hX ``GET /node``h}r(h]h]h]h]h]uhjh0]r h;X GET /noder!…r"}r#(hUhjubah(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.hjubeubah(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,(hXApproving the node.r-hj'h'hh(hkh}r.(h]h]h]h]h]uh.Kªh0]r/h;XApproving the node.r0…r1}r2(hj-hj+ubaubh)r3}r4(hUh}r5(h]h]h]h]h]uhj'h0]r6jA)r7}r8(hUh}r9(jFU.h]h]h]jGUh]h]jHjIuhj3h0]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]uhj7h0]r>h\)r?}r@(hX\Contact the DataONE contact person that the node has been registered and ready for approval.rAhj;h'hh(hkh}rB(h]h]h]h]h]uh.K¬h0]rCh;X\Contact the DataONE contact person that the node has been registered and ready for approval.rD…rE}rF(hjAhj?ubaubah(hƒubhW)rG}rH(hX@Review any content checking test results with the node contact. h}rI(h]h]h]h]h]uhj7h0]rJh\)rK}rL(hX?Review any content checking test results with the node contact.rMhjGh'hh(hkh}rN(h]h]h]h]h]uh.K¯h0]rOh;X?Review any content checking test results with the node contact.rP…rQ}rR(hjMhjKubaubah(hƒubhW)rS}rT(hX DataONE will approve the node. h}rU(h]h]h]h]h]uhj7h0]rVh\)rW}rX(hXDataONE will approve the node.rYhjSh'hh(hkh}rZ(h]h]h]h]h]uh.K±h0]r[h;XDataONE will approve the node.r\…r]}r^(hjYhjWubaubah(hƒubeh(jDubah(j·ubeh(hƒubeh(jDubeubh0]r_h\)r`}ra(hX:Enumerated list start value not ordinal-1: "B" (ordinal 2)h}rb(h]h]h]h]h]uhhh0]rch;X:Enumerated list start value not ordinal-1: "B" (ordinal 2)rd…re}rf(hUhj`ubah(hkubah(Usystem_messagergubaUcurrent_sourcerhNU decorationriNUautofootnote_startrjKUnameidsrk}rl(hjkhh¤hh‘h h,h h}h h·h hGuh0]rmh%ahUU transformerrnNU footnote_refsro}rpUrefnamesrq}rr(Xabnf]rsjaXnode registration]rtjRauUsymbol_footnotesru]rvUautofootnote_refsrw]rxUsymbol_footnote_refsry]rzU citationsr{]r|h/hU current_liner}NUtransform_messagesr~]rUreporterr€NUid_startrKU autofootnotesr‚]rƒU citation_refsr„}r…Uindirect_targetsr†]r‡Usettingsrˆ(cdocutils.frontend Values r‰orŠ}r‹(Ufootnote_backlinksrŒKUrecord_dependenciesrNU rfc_base_urlrŽUhttps://tools.ietf.org/html/rU 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œUbackslashreplacerUdebugrž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°‰U source_linkr±NUrfc_referencesr²NUoutput_encodingr³Uutf-8r´U source_urlrµNUinput_encodingr¶U utf-8-sigr·U_disable_configr¸NU id_prefixr¹UU 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̈U raw_enabledrÍKU dump_settingsrÎNubUsymbol_footnote_startrÏKUidsrÐ}rÑ(h}hñjkjeh£hŸh¶h²h|hxhhŒh9hbh,h%h·h#h¤jŠhGh@h‘jmuUsubstitution_namesrÒ}rÓh(h/h}rÔ(h]h]h]Usourcehh]h]uU footnotesrÕ]rÖUrefidsr×}rØub.