Files
QSfera/docs/extensions/storage/static/storageprovider.drawio.svg
T
2021-09-13 11:10:22 +00:00

352 lines
26 KiB
XML

<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1161px" height="342px" viewBox="-0.5 -0.5 1161 342" content="&lt;mxfile pages=&quot;4&quot;&gt;&lt;diagram id=&quot;ivlTgcF_GoFNmAPzzRq-&quot; name=&quot;overview&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;">
<defs/>
<g>
<rect x="180" y="1" width="800" height="230" fill="none" stroke="#666666" stroke-width="2" stroke-dasharray="6 6" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe flex-start; width: 798px; height: 1px; padding-top: 228px; margin-left: 182px;">
<div style="box-sizing: border-box; font-size: 0; text-align: left; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #666666; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
oCIS storage provider
<br/>
[Software System]
</div>
</div>
</div>
</foreignObject>
<text x="182" y="228" fill="#666666" font-family="Helvetica" font-size="12px">
oCIS storage provider...
</text>
</switch>
</g>
<rect x="800" y="71" width="160" height="110" rx="11" ry="11" fill="#85bbf0" stroke="#78a8d8" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 126px; margin-left: 801px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
<b>
reva storage provider
</b>
<div>
[Component: golang]
</div>
<br/>
<div>
hosts multiple storage spaces using a storage driver
</div>
</div>
</div>
</div>
</foreignObject>
<text x="880" y="130" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
reva storage provider...
</text>
</switch>
</g>
<rect x="600" y="71" width="160" height="110" rx="11" ry="11" fill="#85bbf0" stroke="#78a8d8" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 126px; margin-left: 601px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
<b>
reva gateway
</b>
<div>
[Component: golang]
</div>
<br/>
<div>
API facade for internal reva services
</div>
</div>
</div>
</div>
</foreignObject>
<text x="680" y="130" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
reva gateway...
</text>
</switch>
</g>
<rect x="1000" y="71" width="160" height="110" rx="11" ry="11" fill="#999999" stroke="#8a8a8a" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 126px; margin-left: 1001px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
<b>
Storage System
</b>
<div>
[Software System]
</div>
<br/>
<div>
provides persistent storage
</div>
</div>
</div>
</div>
</foreignObject>
<text x="1080" y="130" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
Storage System...
</text>
</switch>
</g>
<path d="M 960 126 L 991.76 126" fill="none" stroke="#707070" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="stroke"/>
<path d="M 997.76 126 L 989.76 130 L 991.76 126 L 989.76 122 Z" fill="#707070" stroke="#707070" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 41px; margin-left: 980px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #707070; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">
<div style="text-align: left">
<div style="text-align: center">
<b>
Reads from and writes to
</b>
</div>
<div style="text-align: center">
[POSIX, S3]
</div>
</div>
</div>
</div>
</div>
</foreignObject>
<text x="980" y="44" fill="#707070" font-family="Helvetica" font-size="11px" text-anchor="middle">
Reads from and writes to...
</text>
</switch>
</g>
<rect x="400" y="71" width="160" height="110" rx="11" ry="11" fill="#85bbf0" stroke="#78a8d8" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 126px; margin-left: 401px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
<b>
reva frontend
</b>
<div>
[Component: golang]
</div>
<br/>
<div>
handles protocol translation
</div>
</div>
</div>
</div>
</foreignObject>
<text x="480" y="130" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
reva frontend...
</text>
</switch>
</g>
<rect x="200" y="71" width="160" height="110" rx="11" ry="11" fill="#85bbf0" stroke="#78a8d8" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 126px; margin-left: 201px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
<b>
oCIS proxy
</b>
<div>
[Component: golang]
</div>
<br/>
<div>
Routes requests to oc10 or ecis
</div>
</div>
</div>
</div>
</foreignObject>
<text x="280" y="130" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
oCIS proxy...
</text>
</switch>
</g>
<path d="M 360 126 L 391.76 126" fill="none" stroke="#707070" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="stroke"/>
<path d="M 397.76 126 L 389.76 130 L 391.76 126 L 389.76 122 Z" fill="#707070" stroke="#707070" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 41px; margin-left: 380px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #707070; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">
<div style="text-align: left">
<div style="text-align: center">
<b>
Mints an internal JWT
<br/>
and torwards requests to
</b>
</div>
<div style="text-align: center">
[WebDAV, OCS, OCM, tus]
</div>
</div>
</div>
</div>
</div>
</foreignObject>
<text x="380" y="44" fill="#707070" font-family="Helvetica" font-size="11px" text-anchor="middle">
Mints an internal JWT...
</text>
</switch>
</g>
<rect x="0" y="71" width="160" height="110" rx="11" ry="11" fill="#438dd5" stroke="#3c7fc0" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 126px; margin-left: 1px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
<b>
Client
</b>
<div>
[Container: C++, Kotlin,
<br/>
Swift or Vue]
</div>
<br/>
<div>
A desktop, mobile or web Client
</div>
</div>
</div>
</div>
</foreignObject>
<text x="80" y="130" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">
Client...
</text>
</switch>
</g>
<path d="M 160 126 L 191.76 126" fill="none" stroke="#707070" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="stroke"/>
<path d="M 197.76 126 L 189.76 130 L 191.76 126 L 189.76 122 Z" fill="#707070" stroke="#707070" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 41px; margin-left: 180px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #707070; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">
<div style="text-align: left">
<div style="text-align: center">
<b>
Reads from and writes to
</b>
</div>
<div style="text-align: center">
[WebDAV, libregraph, CS3]
</div>
</div>
</div>
</div>
</div>
</foreignObject>
<text x="180" y="44" fill="#707070" font-family="Helvetica" font-size="11px" text-anchor="middle">
Reads from and writes to...
</text>
</switch>
</g>
<path d="M 560 126 L 591.76 126" fill="none" stroke="#707070" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="stroke"/>
<path d="M 597.76 126 L 589.76 130 L 591.76 126 L 589.76 122 Z" fill="#707070" stroke="#707070" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 41px; margin-left: 580px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #707070; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">
<div style="text-align: left">
<div style="text-align: center">
<b>
Reads from and writes to
</b>
</div>
<div style="text-align: center">
[CS3, tus]
</div>
</div>
</div>
</div>
</div>
</foreignObject>
<text x="580" y="44" fill="#707070" font-family="Helvetica" font-size="11px" text-anchor="middle">
Reads from and writes to...
</text>
</switch>
</g>
<path d="M 760 126 L 791.76 126" fill="none" stroke="#707070" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="stroke"/>
<path d="M 797.76 126 L 789.76 130 L 791.76 126 L 789.76 122 Z" fill="#707070" stroke="#707070" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 41px; margin-left: 780px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #707070; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">
<div style="text-align: left">
<div style="text-align: center">
<b>
Forwards to
</b>
</div>
<div style="text-align: center">
[CS3, storage registry]
</div>
</div>
</div>
</div>
</div>
</foreignObject>
<text x="780" y="44" fill="#707070" font-family="Helvetica" font-size="11px" text-anchor="middle">
Forwards to...
</text>
</switch>
</g>
<rect x="0" y="241" width="960" height="100" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 952px; height: 1px; padding-top: 231px; margin-left: 5px;">
<div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 110px; overflow: hidden; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
<h1>
C4 Component diagram for an oCIS storage provider
</h1>
<p>
An oCIS storage provider manages resources in storage spaces by persisting them with a specific storage driver in a storage system.
</p>
<p>
Date: 2021-07-22T12:40
</p>
</div>
</div>
</div>
</foreignObject>
<text x="5" y="243" fill="#000000" font-family="Helvetica" font-size="12px">
C4 Component diagram for an oCIS storage provider...
</text>
</switch>
</g>
</g>
<switch>
<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
<a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank">
<text text-anchor="middle" font-size="10px" x="50%" y="100%">
Viewer does not support full SVG 1.1
</text>
</a>
</switch>
</svg>