€cdocutils.nodes document q)q}q(U nametypesq}q(Xuc19qˆXhistoryqˆX.use case 19 - retrieve object download summaryqNuUsubstitution_defsq }q Uparse_messagesq ]q Ucurrent_sourceq NU decorationqNUautofootnote_startqKUnameidsq}q(hUuc19qhUhistoryqhU,use-case-19-retrieve-object-download-summaryquUchildrenq]q(cdocutils.nodes target q)q}q(U rawsourceqX .. _UC19:UparentqhUsourceqXj/var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/design/UseCases/19_uc.txtqUtagnameqUtargetqU attributesq }q!(Uidsq"]Ubackrefsq#]Udupnamesq$]Uclassesq%]Unamesq&]Urefidq'huUlineq(KUdocumentq)hh]ubcdocutils.nodes section q*)q+}q,(hUhhhhUexpect_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 19 - Retrieve Object Download Summaryq9hh+hhhUtitleq:h }q;(h$]h%]h#]h"]h&]uh(Kh)hh]q…q?}q@(hh9hh7ubaubcsphinx.addnodes index qA)qB}qC(hUhh+hhhUindexqDh }qE(h"]h#]h$]h%]h&]UentriesqF]qG((UsingleqHX Use Case 19Uindex-0qIUNtqJ(hHXUC19hIUNtqK(hHXobject use summaryhIUNtqL(hHX aggregationhIUNtqM(hHXusehIUNtqNeUinlineqO‰uh(Kh)hh]ubh)qP}qQ(hUhh+hhhhh }qR(h"]h#]h$]h%]h&]h'hIuh(Kh)hh]ubcdocutils.nodes definition_list qS)qT}qU(hUhh+hhh-}hUdefinition_listqVh }qW(h$]h%]h#]h"]qXhIah&]uh(Nh)hh3}qYhIhPsh]qZ(cdocutils.nodes definition_list_item q[)q\}q](hX+Revisions View document revision history_. hhThhhUdefinition_list_itemq^h }q_(h$]h%]h#]h"]h&]uh(K h]q`(cdocutils.nodes term qa)qb}qc(hX Revisionsqdhh\hhhUtermqeh }qf(h$]h%]h#]h"]h&]uh(K h]qgh=X Revisionsqh…qi}qj(hhdhhbubaubcdocutils.nodes definition qk)ql}qm(hUh }qn(h$]h%]h#]h"]h&]uhh\h]qocdocutils.nodes paragraph qp)qq}qr(hX View document revision history_.hhlhhhU paragraphqsh }qt(h$]h%]h#]h"]h&]uh(K h]qu(h=XView document revision qv…qw}qx(hXView document revision hhqubcdocutils.nodes reference qy)qz}q{(hXhistory_Uresolvedq|KhhqhU referenceq}h }q~(UnameXhistoryqUrefuriq€X”https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/UseCases/19_uc.txtqh"]h#]h$]h%]h&]uh]q‚h=Xhistoryqƒ…q„}q…(hUhhzubaubh=X.…q†}q‡(hX.hhqubeubahU definitionqˆubeubh[)q‰}qŠ(hXuGoal General public can request aggregated download usage information for any object ID (with anonymous read access) hhThhhh^h }q‹(h$]h%]h#]h"]h&]uh(K h)hh]qŒ(ha)q}qŽ(hXGoalqhh‰hhhheh }q(h$]h%]h#]h"]h&]uh(K h]q‘h=XGoalq’…q“}q”(hhhhubaubhk)q•}q–(hUh }q—(h$]h%]h#]h"]h&]uhh‰h]q˜hp)q™}qš(hXoGeneral public can request aggregated download usage information for any object ID (with anonymous read access)q›hh•hhhhsh }qœ(h$]h%]h#]h"]h&]uh(K h]qh=XoGeneral public can request aggregated download usage information for any object ID (with anonymous read access)qž…qŸ}q (hh›hh™ubaubahhˆubeubh[)q¡}q¢(hX•Summary This operation provides an indication of the popularity for an object in DataONE, somewhat equivalent to a citation index for a publication. hhThhhh^h }q£(h$]h%]h#]h"]h&]uh(Kh)hh]q¤(ha)q¥}q¦(hXSummaryq§hh¡hhhheh }q¨(h$]h%]h#]h"]h&]uh(Kh]q©h=XSummaryqª…q«}q¬(hh§hh¥ubaubhk)q­}q®(hUh }q¯(h$]h%]h#]h"]h&]uhh¡h]q°hp)q±}q²(hXŒThis operation provides an indication of the popularity for an object in DataONE, somewhat equivalent to a citation index for a publication.q³hh­hhhhsh }q´(h$]h%]h#]h"]h&]uh(Kh]qµh=XŒThis operation provides an indication of the popularity for an object in DataONE, somewhat equivalent to a citation index for a publication.q¶…q·}q¸(hh³hh±ubaubahhˆubeubh[)q¹}qº(hX-Actors - Anonymous user - Coordinating Node hhThhhh^h }q»(h$]h%]h#]h"]h&]uh(Kh)hh]q¼(ha)q½}q¾(hXActorsq¿hh¹hhhheh }qÀ(h$]h%]h#]h"]h&]uh(Kh]qÁh=XActorsqÂ…qÃ}qÄ(hh¿hh½ubaubhk)qÅ}qÆ(hUh }qÇ(h$]h%]h#]h"]h&]uhh¹h]qÈcdocutils.nodes bullet_list qÉ)qÊ}qË(hUh }qÌ(UbulletqÍX-h"]h#]h$]h%]h&]uhhÅh]qÎ(cdocutils.nodes list_item qÏ)qÐ}qÑ(hXAnonymous user h }qÒ(h$]h%]h#]h"]h&]uhhÊh]qÓhp)qÔ}qÕ(hXAnonymous userqÖhhÐhhhhsh }q×(h$]h%]h#]h"]h&]uh(Kh]qØh=XAnonymous userqÙ…qÚ}qÛ(hhÖhhÔubaubahU list_itemqÜubhÏ)qÝ}qÞ(hXCoordinating Node h }qß(h$]h%]h#]h"]h&]uhhÊh]qàhp)qá}qâ(hXCoordinating NodeqãhhÝhhhhsh }qä(h$]h%]h#]h"]h&]uh(Kh]qåh=XCoordinating Nodeqæ…qç}qè(hhãhháubaubahhÜubehU bullet_listqéubahhˆubeubh[)qê}që(hXCPreconditions Use statistics have been recorded for a given object hhThhhh^h }qì(h$]h%]h#]h"]h&]uh(Kh)hh]qí(ha)qî}qï(hX Preconditionsqðhhêhhhheh }qñ(h$]h%]h#]h"]h&]uh(Kh]qòh=X Preconditionsqó…qô}qõ(hhðhhîubaubhk)qö}q÷(hUh }qø(h$]h%]h#]h"]h&]uhhêh]qùhp)qú}qû(hX4Use statistics have been recorded for a given objectqühhöhhhhsh }qý(h$]h%]h#]h"]h&]uh(Kh]qþh=X4Use statistics have been recorded for a given objectqÿ…r}r(hhühhúubaubahhˆubeubh[)r}r(hX4Triggers - Any user requests use logs for an object hhThhhh^h }r(h$]h%]h#]h"]h&]uh(Kh)hh]r(ha)r}r(hXTriggersrhjhhhheh }r (h$]h%]h#]h"]h&]uh(Kh]r h=XTriggersr …r }r (hjhjubaubhk)r}r(hUh }r(h$]h%]h#]h"]h&]uhjh]rhÉ)r}r(hUh }r(hÍX-h"]h#]h$]h%]h&]uhjh]rhÏ)r}r(hX)Any user requests use logs for an object h }r(h$]h%]h#]h"]h&]uhjh]rhp)r}r(hX(Any user requests use logs for an objectrhjhhhhsh }r(h$]h%]h#]h"]h&]uh(Kh]rh=X(Any user requests use logs for an objectr…r }r!(hjhjubaubahhÜubahhéubahhˆubeubh[)r"}r#(hXaPost Conditions - Requesting user has a copy of use statistics for an object (if authorized). hhThhhh^h }r$(h$]h%]h#]h"]h&]uh(K!h)hh]r%(ha)r&}r'(hXPost Conditionsr(hj"hhhheh }r)(h$]h%]h#]h"]h&]uh(K!h]r*h=XPost Conditionsr+…r,}r-(hj(hj&ubaubhk)r.}r/(hUh }r0(h$]h%]h#]h"]h&]uhj"h]r1hÉ)r2}r3(hUh }r4(hÍX-h"]h#]h$]h%]h&]uhj.h]r5hÏ)r6}r7(hXMRequesting user has a copy of use statistics for an object (if authorized). h }r8(h$]h%]h#]h"]h&]uhj2h]r9hp)r:}r;(hXKRequesting user has a copy of use statistics for an object (if authorized).r<hj6hhhhsh }r=(h$]h%]h#]h"]h&]uh(Kh]r>h=XKRequesting user has a copy of use statistics for an object (if authorized).r?…r@}rA(hj<hj:ubaubahhÜubahhéubahhˆubeubeubcdocutils.nodes comment rB)rC}rD(hXÕ@startuml images/19_seq.png actor User participant "Client" as app_client << Application >> User -> app_client participant "Authentication API" as c_authenticate << Coordinating Node >> app_client -> c_authenticate: login (user, pw) app_client <-- c_authenticate: token or failure participant "Query API" as c_query << Coordinating Node >> app_client -> c_query: usageQuery (token, PID) participant "Authorization API" as c_authorize << Coordinating Node >> c_query -> c_authorize: isAuth (token, resultset) c_query <-- c_authorize: T or F app_client <-- c_query: download usage records note right Can the Query API handle queries on log records or should this be handled by another API? (e.g. "Report API"?) end note @endumlhh+hhhUcommentrEh }rF(U xml:spacerGUpreserverHh"]h#]h$]h%]h&]uh(K8h)hh]rIh=XÕ@startuml images/19_seq.png actor User participant "Client" as app_client << Application >> User -> app_client participant "Authentication API" as c_authenticate << Coordinating Node >> app_client -> c_authenticate: login (user, pw) app_client <-- c_authenticate: token or failure participant "Query API" as c_query << Coordinating Node >> app_client -> c_query: usageQuery (token, PID) participant "Authorization API" as c_authorize << Coordinating Node >> c_query -> c_authorize: isAuth (token, resultset) c_query <-- c_authorize: T or F app_client <-- c_query: download usage records note right Can the Query API handle queries on log records or should this be handled by another API? (e.g. "Report API"?) end note @endumlrJ…rK}rL(hUhjCubaubcdocutils.nodes image rM)rN}rO(hX.. image:: images/19_seq.png hh+hhhUimagerPh }rQ(UuriX!design/UseCases/images/19_seq.pngrRh"]h#]h$]h%]U candidatesrS}rTU*jRsh&]uh(K:h)hh]ubhp)rU}rV(hX)*Figure 1.* Interactions for use case 19.rWhh+hhhhsh }rX(h$]h%]h#]h"]h&]uh(K;h)hh]rY(cdocutils.nodes emphasis rZ)r[}r\(hX *Figure 1.*h }r](h$]h%]h#]h"]h&]uhjUh]r^h=X Figure 1.r_…r`}ra(hUhj[ubahUemphasisrbubh=X Interactions for use case 19.rc…rd}re(hX Interactions for use case 19.hjUubeubh)rf}rg(hX¡.. _history: https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/UseCases/19_uc.txtU referencedrhKhh+hhhhh }ri(h€hh"]rjhah#]h$]h%]h&]rkhauh(K=h)hh]ubeubehUU transformerrlNU footnote_refsrm}rnUrefnamesro}rph]rqhzasUsymbol_footnotesrr]rsUautofootnote_refsrt]ruUsymbol_footnote_refsrv]rwU citationsrx]ryh)hU current_linerzNUtransform_messagesr{]r|(cdocutils.nodes system_message r})r~}r(hUh }r€(h$]UlevelKh"]h#]Usourcehh%]h&]UlineKUtypeUINFOruh]r‚hp)rƒ}r„(hUh }r…(h$]h%]h#]h"]h&]uhj~h]r†h=X*Hyperlink target "uc19" is not referenced.r‡…rˆ}r‰(hUhjƒubahhsubahUsystem_messagerŠubj})r‹}rŒ(hUh }r(h$]UlevelKh"]h#]Usourcehh%]h&]UlineKUtypejuh]rŽhp)r}r(hUh }r‘(h$]h%]h#]h"]h&]uhj‹h]r’h=X-Hyperlink target "index-0" is not referenced.r“…r”}r•(hUhjubahhsubahjŠubeUreporterr–NUid_startr—KU autofootnotesr˜]r™U citation_refsrš}r›Uindirect_targetsrœ]rUsettingsrž(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±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Ɖ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ç(hh+hh+hIhThjfuUsubstitution_namesrè}réhh)h }rê(h$]h"]h#]Usourcehh%]h&]uU footnotesrë]rìUrefidsrí}rî(h]rïhahI]rðhPauub.