1 line
No EOL
42 KiB
XML
1 line
No EOL
42 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="736px" viewBox="-0.5 -0.5 736 1131" content="<mxfile host="1f10468b-2c6f-4d22-a526-51b370a77cd0" modified="2020-07-11T12:59:11.475Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.47.0 Chrome/78.0.3904.130 Electron/7.3.2 Safari/537.36" etag="zbANwmLGE6kHL9fnX__u" version="13.1.3"><diagram id="yGhE-bxLbvAmmQa4B8sF" name="Page-1"><mxGraphModel dx="619" dy="372" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="1200" background="none" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="VRWtsPjFZcFOQ0dyWaPR-2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-1" target="VRWtsPjFZcFOQ0dyWaPR-1" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-37" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-1" target="C25799qmdiSaeSuCInEC-36" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-1" target="C25799qmdiSaeSuCInEC-38" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="7Wyw-BhCzhfnSJz2-0qM-1" value="Console" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="440" y="280" width="120" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-38" value="Code Packger&lt;br&gt;&lt;font style=&quot;font-size: 8px&quot;&gt;(CLI Tool?)&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="120" y="280" width="120" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-36" value="Web IDE&lt;br&gt;&lt;font style=&quot;font-size: 8px&quot;&gt;(Based on PRISM?)&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="280" y="280" width="120" height="40" as="geometry"/></mxCell><mxCell id="VRWtsPjFZcFOQ0dyWaPR-4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="VRWtsPjFZcFOQ0dyWaPR-1" target="VRWtsPjFZcFOQ0dyWaPR-3" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="VRWtsPjFZcFOQ0dyWaPR-1" value="Database" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="440" y="360" width="120" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="VRWtsPjFZcFOQ0dyWaPR-3" target="C25799qmdiSaeSuCInEC-1" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="VRWtsPjFZcFOQ0dyWaPR-3" target="VRWtsPjFZcFOQ0dyWaPR-5" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="VRWtsPjFZcFOQ0dyWaPR-3" target="C25799qmdiSaeSuCInEC-6" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="VRWtsPjFZcFOQ0dyWaPR-3" target="C25799qmdiSaeSuCInEC-7" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="VRWtsPjFZcFOQ0dyWaPR-3" value="Functions" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="440" y="440" width="120" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="VRWtsPjFZcFOQ0dyWaPR-5" target="C25799qmdiSaeSuCInEC-14" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="VRWtsPjFZcFOQ0dyWaPR-5" value="PHP" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="345" y="560" width="70" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="C25799qmdiSaeSuCInEC-1" target="C25799qmdiSaeSuCInEC-14" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-1" value="Node.js" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="425" y="560" width="70" height="40" as="geometry"/></mxCell><mxCell id="7Wyw-BhCzhfnSJz2-0qM-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;strokeColor=#666666;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-12" target="7Wyw-BhCzhfnSJz2-0qM-1" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="7Wyw-BhCzhfnSJz2-0qM-12" value="appwrite" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="560" y="200" width="120" height="40" as="geometry"/></mxCell><mxCell id="7Wyw-BhCzhfnSJz2-0qM-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;strokeColor=#666666;" parent="1" source="7Wyw-BhCzhfnSJz2-0qM-16" target="7Wyw-BhCzhfnSJz2-0qM-12" edge="1"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="260" y="160"/><mxPoint x="620" y="160"/></Array></mxGeometry></mxCell><mxCell id="7Wyw-BhCzhfnSJz2-0qM-18" value="&amp;nbsp; &amp;nbsp; appwrite.demoapp.com/v1&amp;nbsp; &amp;nbsp;&amp;nbsp;" style="text;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;labelBorderColor=none;fontColor=#;html=1;" parent="7Wyw-BhCzhfnSJz2-0qM-17" vertex="1" connectable="0"><mxGeometry x="-0.0182" y="3" relative="1" as="geometry"><mxPoint as="offset"/></mxGeometry></mxCell><mxCell id="7Wyw-BhCzhfnSJz2-0qM-16" value="demoapp.com" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="200" y="200" width="120" height="40" as="geometry"/></mxCell><mxCell id="7Wyw-BhCzhfnSJz2-0qM-54" value="&lt;h1&gt;Cloud Functions&lt;/h1&gt;&lt;p&gt;Specification for adding, executing and managing custom, user supplied cloud functions.&lt;br&gt;&lt;/p&gt;" style="text;html=1;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;labelBackgroundColor=none;" parent="1" vertex="1"><mxGeometry x="40" y="30" width="370" height="90" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="C25799qmdiSaeSuCInEC-6" target="C25799qmdiSaeSuCInEC-14" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-6" value="Python" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="505" y="560" width="70" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="C25799qmdiSaeSuCInEC-7" target="C25799qmdiSaeSuCInEC-14" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-7" value="Ruby" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="585" y="560" width="70" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-21" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="C25799qmdiSaeSuCInEC-14" target="C25799qmdiSaeSuCInEC-20" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-29" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="C25799qmdiSaeSuCInEC-14" target="C25799qmdiSaeSuCInEC-28" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-14" value="Versions / Tags" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="440" y="680" width="120" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-28" value="Encrypted Code&lt;br&gt;&lt;font style=&quot;font-size: 8px&quot;&gt;(Storage)&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="655" y="680" width="120" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="C25799qmdiSaeSuCInEC-20" target="C25799qmdiSaeSuCInEC-23" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-27" value="&amp;nbsp;Send Version Code and Metadata" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=#ffffff;noLabel=1;fontColor=none;" parent="C25799qmdiSaeSuCInEC-26" vertex="1" connectable="0"><mxGeometry x="-0.175" y="1" relative="1" as="geometry"><mxPoint x="28" y="1" as="offset"/></mxGeometry></mxCell><mxCell id="C25799qmdiSaeSuCInEC-20" value="Execution" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="440" y="760" width="120" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-31" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="C25799qmdiSaeSuCInEC-23" target="C25799qmdiSaeSuCInEC-30" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-23" value="Worker" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="440" y="870" width="120" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-33" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="C25799qmdiSaeSuCInEC-30" target="C25799qmdiSaeSuCInEC-32" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-30" value="Warmup / Pull&lt;br&gt;&lt;font style=&quot;font-size: 8px&quot;&gt;(All Docker Images)&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="440" y="950" width="120" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-35" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="C25799qmdiSaeSuCInEC-32" target="C25799qmdiSaeSuCInEC-34" edge="1"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-32" value="Execute Code&lt;br&gt;&lt;font style=&quot;font-size: 8px&quot;&gt;(Limit Execution Time)&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="440" y="1030" width="120" height="40" as="geometry"/></mxCell><mxCell id="C25799qmdiSaeSuCInEC-34" value="Log Result" style="rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;" parent="1" vertex="1"><mxGeometry x="440" y="1110" width="120" height="40" as="geometry"/></mxCell></root></mxGraphModel></diagram></mxfile>" onclick="(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://app.diagrams.net/?client=1&lightbox=1&edit=_blank');}}})(this);" style="cursor:pointer;max-width:100%;max-height:1131px;"><defs/><g><path d="M 460 300 L 460 333.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 460 338.88 L 456.5 331.88 L 460 333.63 L 463.5 331.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 400 280 L 366.37 280" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 361.12 280 L 368.12 276.5 L 366.37 280 L 368.12 283.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 400 280 L 206.37 280" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 201.12 280 L 208.12 276.5 L 206.37 280 L 208.12 283.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="400" y="260" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 280px; 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: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Console</div></div></div></foreignObject><text x="460" y="284" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Console</text></switch></g><rect x="80" y="260" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 280px; margin-left: 81px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><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; ">Code Packger<br /><font style="font-size: 8px">(CLI Tool?)</font></div></div></div></foreignObject><text x="140" y="284" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Code Packger...</text></switch></g><rect x="240" y="260" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 280px; margin-left: 241px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><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; ">Web IDE<br /><font style="font-size: 8px">(Based on PRISM?)</font></div></div></div></foreignObject><text x="300" y="284" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Web IDE...</text></switch></g><path d="M 460 380 L 460 413.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 460 418.88 L 456.5 411.88 L 460 413.63 L 463.5 411.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="400" y="340" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 360px; 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: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Database</div></div></div></foreignObject><text x="460" y="364" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Database</text></switch></g><path d="M 460 460 L 460 500 L 420 500 L 420 533.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 420 538.88 L 416.5 531.88 L 420 533.63 L 423.5 531.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 460 460 L 460 500 L 340 500 L 340 533.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 340 538.88 L 336.5 531.88 L 340 533.63 L 343.5 531.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 460 460 L 460 500 L 500 500 L 500 533.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 500 538.88 L 496.5 531.88 L 500 533.63 L 503.5 531.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 460 460 L 460 500 L 580 500 L 580 533.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 580 538.88 L 576.5 531.88 L 580 533.63 L 583.5 531.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="400" y="420" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 440px; 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: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Functions</div></div></div></foreignObject><text x="460" y="444" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Functions</text></switch></g><path d="M 340 580 L 340 620 L 460 620 L 460 653.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 460 658.88 L 456.5 651.88 L 460 653.63 L 463.5 651.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="305" y="540" width="70" height="40" fill="#ffffff" stroke="#000000" 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: 68px; height: 1px; padding-top: 560px; margin-left: 306px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><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; ">PHP</div></div></div></foreignObject><text x="340" y="564" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">PHP</text></switch></g><path d="M 420 580 L 420 620 L 460 620 L 460 653.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 460 658.88 L 456.5 651.88 L 460 653.63 L 463.5 651.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="385" y="540" width="70" height="40" fill="#ffffff" stroke="#000000" 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: 68px; height: 1px; padding-top: 560px; margin-left: 386px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><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; ">Node.js</div></div></div></foreignObject><text x="420" y="564" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node.js</text></switch></g><path d="M 580 220 L 580 240 L 460 240 L 460 253.63" fill="none" stroke="#666666" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 460 258.88 L 456.5 251.88 L 460 253.63 L 463.5 251.88 Z" fill="#666666" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><rect x="520" y="180" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 200px; margin-left: 521px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><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; ">appwrite</div></div></div></foreignObject><text x="580" y="204" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">appwrite</text></switch></g><path d="M 220 180 L 220 140 L 580 140 L 580 173.63" fill="none" stroke="#666666" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 580 178.88 L 576.5 171.88 L 580 173.63 L 583.5 171.88 Z" fill="#666666" stroke="#666666" 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: 138px; margin-left: 397px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #; line-height: 1.2; pointer-events: all; white-space: nowrap; "> appwrite.demoapp.com/v1 </div></div></div></foreignObject><text x="397" y="141" fill="#" font-family="Helvetica" font-size="12px" text-anchor="middle"> appwrite.demoapp.com/v1 </text></switch></g><rect x="160" y="180" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 200px; margin-left: 161px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><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; ">demoapp.com</div></div></div></foreignObject><text x="220" y="204" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">demoapp.com</text></switch></g><rect x="0" y="10" width="370" height="90" 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: 362px; height: 1px; padding-top: 0px; margin-left: 5px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 100px; 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>Cloud Functions</h1><p>Specification for adding, executing and managing custom, user supplied cloud functions.<br /></p></div></div></div></foreignObject><text x="5" y="12" fill="#000000" font-family="Helvetica" font-size="12px">Cloud Functions...</text></switch></g><path d="M 500 580 L 500 620 L 460 620 L 460 653.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 460 658.88 L 456.5 651.88 L 460 653.63 L 463.5 651.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="465" y="540" width="70" height="40" fill="#ffffff" stroke="#000000" 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: 68px; height: 1px; padding-top: 560px; margin-left: 466px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><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; ">Python</div></div></div></foreignObject><text x="500" y="564" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Python</text></switch></g><path d="M 580 580 L 580 620 L 460 620 L 460 653.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 460 658.88 L 456.5 651.88 L 460 653.63 L 463.5 651.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="545" y="540" width="70" height="40" fill="#ffffff" stroke="#000000" 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: 68px; height: 1px; padding-top: 560px; margin-left: 546px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><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; ">Ruby</div></div></div></foreignObject><text x="580" y="564" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Ruby</text></switch></g><path d="M 460 700 L 460 733.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 460 738.88 L 456.5 731.88 L 460 733.63 L 463.5 731.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 520 680 L 608.63 680" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 613.88 680 L 606.88 683.5 L 608.63 680 L 606.88 676.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="400" y="660" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 680px; 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: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Versions / Tags</div></div></div></foreignObject><text x="460" y="684" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Versions / Tags</text></switch></g><rect x="615" y="660" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 680px; margin-left: 616px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><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; ">Encrypted Code<br /><font style="font-size: 8px">(Storage)</font></div></div></div></foreignObject><text x="675" y="684" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Encrypted Code...</text></switch></g><path d="M 520 760 L 540 760 L 540 815 L 380 815 L 380 870 L 393.63 870" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 398.88 870 L 391.88 873.5 L 393.63 870 L 391.88 866.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="400" y="740" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 760px; 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: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Execution</div></div></div></foreignObject><text x="460" y="764" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Execution</text></switch></g><path d="M 460 890 L 460 923.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 460 928.88 L 456.5 921.88 L 460 923.63 L 463.5 921.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="400" y="850" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 870px; 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: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Worker</div></div></div></foreignObject><text x="460" y="874" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Worker</text></switch></g><path d="M 460 970 L 460 1003.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 460 1008.88 L 456.5 1001.88 L 460 1003.63 L 463.5 1001.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="400" y="930" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 950px; 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: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Warmup / Pull<br /><font style="font-size: 8px">(All Docker Images)</font></div></div></div></foreignObject><text x="460" y="954" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Warmup / Pull...</text></switch></g><path d="M 460 1050 L 460 1083.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 460 1088.88 L 456.5 1081.88 L 460 1083.63 L 463.5 1081.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="400" y="1010" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 1030px; 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: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Execute Code<br /><font style="font-size: 8px">(Limit Execution Time)</font></div></div></div></foreignObject><text x="460" y="1034" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Execute Code...</text></switch></g><rect x="400" y="1090" width="120" height="40" fill="#ffffff" stroke="#000000" 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: 118px; height: 1px; padding-top: 1110px; 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: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Log Result</div></div></div></foreignObject><text x="460" y="1114" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Log Result</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" 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> |