1430 lines
90 KiB
XML
1430 lines
90 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<svg
|
||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||
xmlns:cc="http://creativecommons.org/ns#"
|
||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||
xmlns:svg="http://www.w3.org/2000/svg"
|
||
xmlns="http://www.w3.org/2000/svg"
|
||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||
width="1087.3479mm"
|
||
height="1205.6333mm"
|
||
viewBox="0 0 1087.3479 1205.6332"
|
||
version="1.1"
|
||
id="svg8"
|
||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
|
||
sodipodi:docname="Архитектура.svg"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Архитектура.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96">
|
||
<defs
|
||
id="defs2">
|
||
<marker
|
||
style="overflow:visible"
|
||
id="marker2232"
|
||
refX="0"
|
||
refY="0"
|
||
orient="auto"
|
||
inkscape:stockid="Arrow2Lend"
|
||
inkscape:isstock="true">
|
||
<path
|
||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||
id="path2230" />
|
||
</marker>
|
||
<marker
|
||
style="overflow:visible"
|
||
id="marker2222"
|
||
refX="0"
|
||
refY="0"
|
||
orient="auto"
|
||
inkscape:stockid="Arrow2Lend"
|
||
inkscape:isstock="true">
|
||
<path
|
||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||
id="path2220" />
|
||
</marker>
|
||
<marker
|
||
style="overflow:visible"
|
||
id="marker1532"
|
||
refX="0"
|
||
refY="0"
|
||
orient="auto"
|
||
inkscape:stockid="Arrow2Mend"
|
||
inkscape:isstock="true">
|
||
<path
|
||
transform="scale(-0.6)"
|
||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||
style="fill:#808080;fill-opacity:1;fill-rule:evenodd;stroke:#808080;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||
id="path1530" />
|
||
</marker>
|
||
<marker
|
||
style="overflow:visible"
|
||
id="Arrow2Mend"
|
||
refX="0"
|
||
refY="0"
|
||
orient="auto"
|
||
inkscape:stockid="Arrow2Mend"
|
||
inkscape:isstock="true"
|
||
inkscape:collect="always">
|
||
<path
|
||
transform="scale(-0.6)"
|
||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||
style="fill:#808080;fill-opacity:1;fill-rule:evenodd;stroke:#808080;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||
id="path1171" />
|
||
</marker>
|
||
<clipPath
|
||
clipPathUnits="userSpaceOnUse"
|
||
id="clipPath1455">
|
||
<rect
|
||
style="fill:#000000;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="rect1457"
|
||
width="5.291657"
|
||
height="5.291667"
|
||
x="87.312508"
|
||
y="-2.6458354" />
|
||
</clipPath>
|
||
<clipPath
|
||
clipPathUnits="userSpaceOnUse"
|
||
id="clipPath1455-6">
|
||
<rect
|
||
style="fill:#000000;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="rect1457-2"
|
||
width="5.291657"
|
||
height="5.291667"
|
||
x="87.312508"
|
||
y="-2.6458354" />
|
||
</clipPath>
|
||
<clipPath
|
||
clipPathUnits="userSpaceOnUse"
|
||
id="clipPath1455-2">
|
||
<rect
|
||
style="fill:#000000;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="rect1457-0"
|
||
width="5.291657"
|
||
height="5.291667"
|
||
x="87.312508"
|
||
y="-2.6458354" />
|
||
</clipPath>
|
||
<clipPath
|
||
clipPathUnits="userSpaceOnUse"
|
||
id="clipPath1455-6-2">
|
||
<rect
|
||
style="fill:#000000;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="rect1457-2-3"
|
||
width="5.291657"
|
||
height="5.291667"
|
||
x="87.312508"
|
||
y="-2.6458354" />
|
||
</clipPath>
|
||
<marker
|
||
style="overflow:visible"
|
||
id="marker1532-7"
|
||
refX="0"
|
||
refY="0"
|
||
orient="auto"
|
||
inkscape:stockid="Arrow2Mend"
|
||
inkscape:isstock="true">
|
||
<path
|
||
transform="scale(-0.6)"
|
||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||
style="fill:#808080;fill-opacity:1;fill-rule:evenodd;stroke:#808080;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||
id="path1530-5" />
|
||
</marker>
|
||
</defs>
|
||
<sodipodi:namedview
|
||
id="base"
|
||
pagecolor="#ffffff"
|
||
bordercolor="#666666"
|
||
borderopacity="0.16470588"
|
||
inkscape:pageopacity="1"
|
||
inkscape:pageshadow="2"
|
||
inkscape:zoom="2.04425"
|
||
inkscape:cx="2429.2066"
|
||
inkscape:cy="3158.3482"
|
||
inkscape:document-units="mm"
|
||
inkscape:current-layer="layer1"
|
||
inkscape:document-rotation="0"
|
||
showgrid="true"
|
||
inkscape:snap-text-baseline="true"
|
||
inkscape:window-width="1856"
|
||
inkscape:window-height="1051"
|
||
inkscape:window-x="64"
|
||
inkscape:window-y="0"
|
||
inkscape:window-maximized="1"
|
||
fit-margin-top="10"
|
||
lock-margins="true"
|
||
fit-margin-left="10"
|
||
fit-margin-right="10"
|
||
fit-margin-bottom="10"
|
||
inkscape:snap-global="true"
|
||
showguides="false"
|
||
inkscape:snap-smooth-nodes="true">
|
||
<inkscape:grid
|
||
type="xygrid"
|
||
id="grid18"
|
||
originx="158.31669"
|
||
originy="539.31661" />
|
||
<sodipodi:guide
|
||
position="539.31669,179.48337"
|
||
orientation="380.00001,0"
|
||
id="guide1634" />
|
||
<sodipodi:guide
|
||
position="713.94169,171.54586"
|
||
orientation="380.00001,0"
|
||
id="guide1638" />
|
||
<sodipodi:guide
|
||
position="851.52502,174.19169"
|
||
orientation="380.00001,0"
|
||
id="guide1640" />
|
||
</sodipodi:namedview>
|
||
<metadata
|
||
id="metadata5">
|
||
<rdf:RDF>
|
||
<cc:Work
|
||
rdf:about="">
|
||
<dc:format>image/svg+xml</dc:format>
|
||
<dc:type
|
||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||
<dc:title />
|
||
</cc:Work>
|
||
</rdf:RDF>
|
||
</metadata>
|
||
<g
|
||
inkscape:label="Слой 1"
|
||
inkscape:groupmode="layer"
|
||
id="layer1"
|
||
transform="translate(158.31667,539.31669)">
|
||
<rect
|
||
style="fill:#ffffff;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="rect1564-7"
|
||
width="365.12497"
|
||
height="227.54166"
|
||
x="354.54169"
|
||
y="190.49995"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:55.1297;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="44.043743"
|
||
y="25.374104"
|
||
id="text12"
|
||
transform="translate(-36.105469,1.0842298)"><tspan
|
||
x="44.043743"
|
||
y="25.374104"><tspan
|
||
style="stroke-width:0.3">redmine issue </tspan></tspan><tspan
|
||
x="44.043743"
|
||
y="33.311604"><tspan
|
||
style="stroke-width:0.3">event emitter</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:52.9162;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="113.68213"
|
||
y="28.999422"
|
||
id="text16"
|
||
transform="translate(0.08919271,-2.5410887)"><tspan
|
||
x="113.68213"
|
||
y="28.999422"><tspan
|
||
style="stroke-width:0.3">сохранение </tspan></tspan><tspan
|
||
x="113.68213"
|
||
y="36.936922"><tspan
|
||
style="stroke-width:0.3">задачи в кеш</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:26.4583;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="66.145836"
|
||
y="58.208332"
|
||
id="text22"
|
||
transform="translate(7.936849,-31.749999)"><tspan
|
||
x="66.145836"
|
||
y="58.208332"><tspan
|
||
style="stroke-width:0.3">анализ </tspan></tspan><tspan
|
||
x="66.145836"
|
||
y="66.14583"><tspan
|
||
style="stroke-width:0.3">задачи</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:71.4375;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="166.6875"
|
||
y="26.458332"
|
||
id="text26"
|
||
transform="translate(92.60416)"><tspan
|
||
x="166.6875"
|
||
y="26.458332"><tspan
|
||
style="stroke-width:0.3">сохранение событий </tspan></tspan><tspan
|
||
x="166.6875"
|
||
y="34.395832"><tspan
|
||
style="stroke-width:0.3">в журнал</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:113.771;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="-47.625"
|
||
y="7.9375"
|
||
id="text48"
|
||
transform="translate(-74.083333,18.520833)"><tspan
|
||
x="-47.625"
|
||
y="7.9375"><tspan
|
||
style="stroke-width:0.3">подписка на источники событий </tspan></tspan><tspan
|
||
x="-47.625"
|
||
y="15.875"><tspan
|
||
style="stroke-width:0.3">по </tspan><tspan
|
||
style="stroke-width:0.3">email, </tspan><tspan
|
||
style="stroke-width:0.3">через </tspan><tspan
|
||
style="stroke-width:0.3">cron, rss</tspan></tspan></text>
|
||
<path
|
||
id="path50-3"
|
||
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
|
||
d="m 60.854166,18.520835 5.291667,10.583333 -5.291667,10.583334 m 10e-7,-21.166668 H -2.6458333 L 2.6458333,29.104167 -2.6458333,39.687501 H 60.854167" />
|
||
<path
|
||
id="path142"
|
||
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
|
||
d="M 100.54167,39.687499 H 63.499999 m 0,-21.166667 h 37.041671 m 0,0 5.29166,10.583333 -5.29166,10.583334 M 63.5,18.520833 68.791667,29.104166 63.5,39.6875" />
|
||
<path
|
||
id="path298"
|
||
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
|
||
d="m 166.6875,39.6875 h -63.5 m 0,-21.166667 h 63.5 m 0,0 5.29167,10.583333 -5.29167,10.583334 m -63.5,-21.166667 5.29167,10.583333 -5.29167,10.583334" />
|
||
<path
|
||
id="path303"
|
||
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
|
||
d="m 330.72916,39.687496 h -82.02083 m 0,-21.166667 h 82.02083 m 1e-5,2e-6 5.29166,10.583333 -5.29166,10.583334 M 248.70833,18.52083 254,29.104163 248.70833,39.687497" />
|
||
<path
|
||
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
|
||
d="M -5.2916681,18.520833 -1.5475337e-6,29.104166 -5.2916681,39.687499 H -132.29167 V 18.520833 H -5.2916681"
|
||
id="path310"
|
||
sodipodi:nodetypes="cccccc" />
|
||
<g
|
||
id="g1599">
|
||
<g
|
||
id="g317"
|
||
transform="translate(10.583334,2.6458334)">
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:3.52778px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:55.5618;fill:#808080;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="-80.198532"
|
||
y="-38.043388"
|
||
id="text308"
|
||
transform="translate(-41.509115,98.897553)"><tspan
|
||
x="-80.198532"
|
||
y="-38.043388"><tspan
|
||
style="font-size:3.52778px;fill:#808080;stroke-width:0.3">события - это обнаружение </tspan></tspan><tspan
|
||
x="-80.198532"
|
||
y="-33.633662"><tspan
|
||
style="font-size:3.52778px;fill:#808080;stroke-width:0.3">факта внесения какого-либо </tspan></tspan><tspan
|
||
x="-80.198532"
|
||
y="-29.223937"><tspan
|
||
style="font-size:3.52778px;fill:#808080;stroke-width:0.3">изменения в задачу</tspan></tspan></text>
|
||
<rect
|
||
style="fill:none;stroke:#808080;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel"
|
||
id="rect312"
|
||
width="63.5"
|
||
height="18.520834"
|
||
x="-125.67709"
|
||
y="55.562492" />
|
||
</g>
|
||
<path
|
||
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow2Mend);stop-color:#000000;stop-opacity:1"
|
||
d="m -48.947917,67.468747 c 17.845545,2.548099 6.614585,-13.229165 2.645834,-23.812499"
|
||
id="path319"
|
||
sodipodi:nodetypes="cc" />
|
||
</g>
|
||
<g
|
||
id="g1449"
|
||
clip-path="url(#clipPath1455)"
|
||
transform="matrix(2,0,0,2,-74.083349,10.583335)">
|
||
<path
|
||
id="path1442"
|
||
style="fill:none;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
d="m 91.281258,2.6458313 a 3.96875,3.96875 0 0 1 -3.96875,3.96875 3.96875,3.96875 0 0 1 -3.96875,-3.96875 3.96875,3.96875 0 0 1 3.96875,-3.96875 3.96875,3.96875 0 0 1 3.96875,3.96875 z m -1.322917,0 A 2.6458333,2.6458333 0 0 1 87.312508,5.2916646 2.6458333,2.6458333 0 0 1 84.666674,2.6458313 2.6458333,2.6458333 0 0 1 87.312508,-1.9073486e-6 2.6458333,2.6458333 0 0 1 89.958341,2.6458313 Z m -1.322917,0 A 1.3229166,1.3229166 0 0 1 87.312508,3.968748 1.3229166,1.3229166 0 0 1 85.989591,2.6458313 1.3229166,1.3229166 0 0 1 87.312508,1.3229147 1.3229166,1.3229166 0 0 1 88.635424,2.6458313 Z" />
|
||
</g>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:63.5;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="171.97917"
|
||
y="-10.583335"
|
||
id="text1462"
|
||
transform="translate(7.938151,37.041666)"><tspan
|
||
x="171.97917"
|
||
y="-10.583335"><tspan
|
||
style="stroke-width:0.3">анализ изменений </tspan></tspan><tspan
|
||
x="171.97917"
|
||
y="-2.6458356"><tspan
|
||
style="stroke-width:0.3">в задаче</tspan></tspan></text>
|
||
<path
|
||
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
|
||
d="m 169.33332,18.520831 5.29167,10.583334 -5.29167,10.583332 h 76.72917 l 5.29167,-10.583332 -5.29167,-10.583334 z"
|
||
id="path1464" />
|
||
<g
|
||
id="g1449-6"
|
||
clip-path="url(#clipPath1455-6)"
|
||
transform="matrix(2,0,0,2,71.437485,10.583335)">
|
||
<path
|
||
id="path1442-1"
|
||
style="fill:none;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
d="m 91.281258,2.6458313 a 3.96875,3.96875 0 0 1 -3.96875,3.96875 3.96875,3.96875 0 0 1 -3.96875,-3.96875 3.96875,3.96875 0 0 1 3.96875,-3.96875 3.96875,3.96875 0 0 1 3.96875,3.96875 z m -1.322917,0 A 2.6458333,2.6458333 0 0 1 87.312508,5.2916646 2.6458333,2.6458333 0 0 1 84.666674,2.6458313 2.6458333,2.6458333 0 0 1 87.312508,-1.9073486e-6 2.6458333,2.6458333 0 0 1 89.958341,2.6458313 Z m -1.322917,0 A 1.3229166,1.3229166 0 0 1 87.312508,3.968748 1.3229166,1.3229166 0 0 1 85.989591,2.6458313 1.3229166,1.3229166 0 0 1 87.312508,1.3229147 1.3229166,1.3229166 0 0 1 88.635424,2.6458313 Z" />
|
||
</g>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:3.52778px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="109.80209"
|
||
y="5.2916617"
|
||
id="text1498"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1496"
|
||
x="109.80209"
|
||
y="5.2916617"
|
||
style="font-size:3.52778px;stroke-width:0.3">websocket</tspan><tspan
|
||
sodipodi:role="line"
|
||
x="109.80209"
|
||
y="9.7013865"
|
||
style="font-size:3.52778px;stroke-width:0.3"
|
||
id="tspan1500">webhook</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:3.52778px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="255.32292"
|
||
y="5.2916617"
|
||
id="text1504"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1517"
|
||
x="255.32292"
|
||
y="5.2916617"
|
||
style="font-size:3.52778px;stroke-width:0.3">chat bot</tspan></text>
|
||
<g
|
||
id="g1623">
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:3.52778px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:47.6243;fill:#808080;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="72.760422"
|
||
y="52.916664"
|
||
id="text1508"
|
||
transform="translate(-26.457682,10.583333)"><tspan
|
||
x="72.760422"
|
||
y="52.916664"><tspan
|
||
style="font-size:3.52778px;fill:#808080;stroke-width:0.3">точка для расширения: </tspan></tspan><tspan
|
||
x="72.760422"
|
||
y="57.32639"><tspan
|
||
style="font-size:3.52778px;fill:#808080;stroke-width:0.3">можно добавить </tspan></tspan><tspan
|
||
x="72.760422"
|
||
y="61.736115"><tspan
|
||
style="font-size:3.52778px;fill:#808080;stroke-width:0.3">специальные </tspan></tspan><tspan
|
||
x="72.760422"
|
||
y="66.14584"><tspan
|
||
style="font-size:3.52778px;fill:#808080;stroke-width:0.3">обработчики для данных</tspan></tspan></text>
|
||
<rect
|
||
style="fill:none;stroke:#808080;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="rect1520"
|
||
width="60.854164"
|
||
height="23.812506"
|
||
x="39.687504"
|
||
y="58.208328" />
|
||
<path
|
||
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker1532);stop-color:#000000;stop-opacity:1"
|
||
d="M 103.82922,67.530254 C 122.95943,63.235945 95.884355,47.016204 92.264794,42.405379"
|
||
id="path1522" />
|
||
</g>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:8.46667px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="116.41666"
|
||
y="-26.458336"
|
||
id="text1560"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1558"
|
||
x="116.41666"
|
||
y="-26.458336"
|
||
style="font-size:8.46667px;text-align:center;text-anchor:middle;stroke-width:0.3">Ядро проекта Pinkmine</tspan><tspan
|
||
sodipodi:role="line"
|
||
x="116.41666"
|
||
y="-15.874998"
|
||
style="font-size:8.46667px;text-align:center;text-anchor:middle;stroke-width:0.3"
|
||
id="tspan1562">(redmine issue event emitter)</tspan></text>
|
||
<rect
|
||
style="fill:none;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="rect1564"
|
||
width="497.41669"
|
||
height="142.875"
|
||
x="-148.16667"
|
||
y="-47.625004" />
|
||
<ellipse
|
||
style="fill:#000000;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="path1566"
|
||
cx="100.54166"
|
||
cy="15.874995"
|
||
rx="0.52916569"
|
||
ry="0.52916664" />
|
||
<ellipse
|
||
style="fill:#000000;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="path1566-8"
|
||
cx="246.0625"
|
||
cy="15.874995"
|
||
rx="0.52916569"
|
||
ry="0.52916664" />
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:55.1297;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="44.043743"
|
||
y="25.374104"
|
||
id="text12-9"
|
||
transform="translate(482.47788,239.20918)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="44.043743"
|
||
y="25.374104"><tspan
|
||
style="stroke-width:0.3">redmine issue </tspan></tspan><tspan
|
||
x="44.043743"
|
||
y="33.311604"><tspan
|
||
style="stroke-width:0.3">event emitter</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:52.9162;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="113.68213"
|
||
y="28.999422"
|
||
id="text16-2"
|
||
transform="translate(439.29755,288.5005)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="113.68213"
|
||
y="28.999422"><tspan
|
||
style="stroke-width:0.3">сохранение </tspan></tspan><tspan
|
||
x="113.68213"
|
||
y="36.936922"><tspan
|
||
style="stroke-width:0.3">задачи в кеш</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:56.8861;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="66.145836"
|
||
y="58.208332"
|
||
id="text22-2"
|
||
transform="translate(415.3952,259.29159)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="66.145836"
|
||
y="58.208332"><tspan
|
||
style="stroke-width:0.3">преобразование </tspan></tspan><tspan
|
||
x="66.145836"
|
||
y="66.14583"><tspan
|
||
style="stroke-width:0.3">задачи</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:71.4375;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="166.6875"
|
||
y="26.458332"
|
||
id="text26-8"
|
||
transform="translate(452.43751,343.95829)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="166.6875"
|
||
y="26.458332"><tspan
|
||
style="stroke-width:0.3">сохранение событий </tspan></tspan><tspan
|
||
x="166.6875"
|
||
y="34.395832"><tspan
|
||
style="stroke-width:0.3">в журнал</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:113.771;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="-47.625"
|
||
y="7.9375"
|
||
id="text48-9"
|
||
transform="translate(444.50002,256.64578)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="-47.625"
|
||
y="7.9375"><tspan
|
||
style="stroke-width:0.3">подписка на источники событий </tspan></tspan><tspan
|
||
x="-47.625"
|
||
y="15.875"><tspan
|
||
style="stroke-width:0.3">по </tspan><tspan
|
||
style="stroke-width:0.3">email, </tspan><tspan
|
||
style="stroke-width:0.3">через </tspan><tspan
|
||
style="stroke-width:0.3">cron, rss</tspan></tspan></text>
|
||
<path
|
||
id="path50-3-7"
|
||
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
|
||
d="m 579.43748,256.64578 5.2917,10.58334 -5.2917,10.58333 m 0,-21.16667 h -63.49996 l 5.29166,10.58334 -5.29166,10.58333 h 63.49996"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<path
|
||
id="path298-6"
|
||
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
|
||
d="m 605.89587,330.72909 h -63.50002 m 0,-21.16667 h 63.50002 m 0,0 5.2917,10.58333 -5.2917,10.58334 m -63.50002,-21.16667 5.29167,10.58333 -5.29167,10.58334"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<path
|
||
id="path303-1"
|
||
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
|
||
d="m 690.56248,383.64579 h -82.0208 m 0,-21.16667 h 82.0208 m 0,0 5.2917,10.58333 -5.2917,10.58334 m -82.0208,-21.16667 5.2917,10.58333 -5.2917,10.58334"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<path
|
||
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
|
||
d="m 513.29168,256.64578 5.29167,10.58333 -5.29167,10.58334 h -127 v -21.16667 h 127"
|
||
id="path310-2"
|
||
sodipodi:nodetypes="cccccc"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<g
|
||
id="g1449-7"
|
||
clip-path="url(#clipPath1455-2)"
|
||
transform="matrix(2,0,0,2,365.12501,301.09579)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96">
|
||
<path
|
||
id="path1442-8"
|
||
style="fill:none;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
d="m 91.281258,2.6458313 a 3.96875,3.96875 0 0 1 -3.96875,3.96875 3.96875,3.96875 0 0 1 -3.96875,-3.96875 3.96875,3.96875 0 0 1 3.96875,-3.96875 3.96875,3.96875 0 0 1 3.96875,3.96875 z m -1.322917,0 A 2.6458333,2.6458333 0 0 1 87.312508,5.2916646 2.6458333,2.6458333 0 0 1 84.666674,2.6458313 2.6458333,2.6458333 0 0 1 87.312508,-1.9073486e-6 2.6458333,2.6458333 0 0 1 89.958341,2.6458313 Z m -1.322917,0 A 1.3229166,1.3229166 0 0 1 87.312508,3.968748 1.3229166,1.3229166 0 0 1 85.989591,2.6458313 1.3229166,1.3229166 0 0 1 87.312508,1.3229147 1.3229166,1.3229166 0 0 1 88.635424,2.6458313 Z" />
|
||
</g>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:63.5;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="171.97917"
|
||
y="-10.583335"
|
||
id="text1462-4"
|
||
transform="translate(367.7715,380.99995)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="171.97917"
|
||
y="-10.583335"><tspan
|
||
style="stroke-width:0.3">анализ изменений </tspan></tspan><tspan
|
||
x="171.97917"
|
||
y="-2.6458356"><tspan
|
||
style="stroke-width:0.3">в задаче</tspan></tspan></text>
|
||
<path
|
||
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
|
||
d="m 529.16667,362.47912 5.29167,10.58333 -5.29167,10.58334 h 76.72921 l 5.2916,-10.58334 -5.2916,-10.58333 z"
|
||
id="path1464-5"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<g
|
||
id="g1449-6-0"
|
||
clip-path="url(#clipPath1455-6-2)"
|
||
transform="matrix(2,0,0,2,431.27084,354.54162)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96">
|
||
<path
|
||
id="path1442-1-3"
|
||
style="fill:none;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
d="m 91.281258,2.6458313 a 3.96875,3.96875 0 0 1 -3.96875,3.96875 3.96875,3.96875 0 0 1 -3.96875,-3.96875 3.96875,3.96875 0 0 1 3.96875,-3.96875 3.96875,3.96875 0 0 1 3.96875,3.96875 z m -1.322917,0 A 2.6458333,2.6458333 0 0 1 87.312508,5.2916646 2.6458333,2.6458333 0 0 1 84.666674,2.6458313 2.6458333,2.6458333 0 0 1 87.312508,-1.9073486e-6 2.6458333,2.6458333 0 0 1 89.958341,2.6458313 Z m -1.322917,0 A 1.3229166,1.3229166 0 0 1 87.312508,3.968748 1.3229166,1.3229166 0 0 1 85.989591,2.6458313 1.3229166,1.3229166 0 0 1 87.312508,1.3229147 1.3229166,1.3229166 0 0 1 88.635424,2.6458313 Z" />
|
||
</g>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:3.52778px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="549.0105"
|
||
y="295.80411"
|
||
id="text1498-6"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1496-1"
|
||
x="549.0105"
|
||
y="295.80411"
|
||
style="font-size:3.52778px;stroke-width:0.3">websocket</tspan><tspan
|
||
sodipodi:role="line"
|
||
x="549.0105"
|
||
y="300.21384"
|
||
style="font-size:3.52778px;stroke-width:0.3"
|
||
id="tspan1500-0">webhook</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:3.52778px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="615.15631"
|
||
y="349.24994"
|
||
id="text1504-6"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1502-3"
|
||
x="615.15631"
|
||
y="349.24994"
|
||
style="font-size:3.52778px;stroke-width:0.3">chat bot</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:8.46667px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="537.10419"
|
||
y="214.31245"
|
||
id="text1560-5"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1558-5"
|
||
x="537.10419"
|
||
y="214.31245"
|
||
style="font-size:8.46667px;text-align:center;text-anchor:middle;stroke-width:0.3">Ядро проекта Pinkmine</tspan><tspan
|
||
sodipodi:role="line"
|
||
x="537.10419"
|
||
y="224.8958"
|
||
style="font-size:8.46667px;text-align:center;text-anchor:middle;stroke-width:0.3"
|
||
id="tspan1562-4">(redmine issue event emitter)</tspan></text>
|
||
<ellipse
|
||
style="fill:#000000;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="path1566-6"
|
||
cx="539.75"
|
||
cy="306.38745"
|
||
rx="0.52916569"
|
||
ry="0.52916664"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<ellipse
|
||
style="fill:#000000;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="path1566-8-5"
|
||
cx="605.89594"
|
||
cy="359.83328"
|
||
rx="0.52916569"
|
||
ry="0.52916664"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<path
|
||
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker2222);stop-color:#000000;stop-opacity:1"
|
||
d="m 590.02088,267.22911 h 10.5833 v 18.52084 l -150.81249,-3e-5 0,34.39583 21.16666,0"
|
||
id="path2172"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"
|
||
sodipodi:nodetypes="cccccc" />
|
||
<path
|
||
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker2232);stop-color:#000000;stop-opacity:1"
|
||
d="m 616.47918,320.14578 h 10.5833 v 18.52084 H 518.58335 v 34.39583 h 10.58333"
|
||
id="path2174"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Ядро проекта Pinkmine - Redmine Issue Event Emitter.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<rect
|
||
style="fill:none;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="rect1564-7-3"
|
||
width="365.12497"
|
||
height="227.54166"
|
||
x="354.54169"
|
||
y="-285.75" />
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:8.46667px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="486.83334"
|
||
y="-254.00002"
|
||
id="text1688"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1686"
|
||
x="486.83334"
|
||
y="-254.00002"
|
||
style="font-size:8.46667px;stroke-width:0.3">Что такое Pinkmine?</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="762"
|
||
y="-259.29169"
|
||
id="text1696"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1694"
|
||
x="762"
|
||
y="-259.29169"
|
||
style="stroke-width:0.3">Предыстория проекта. Что это такое?</tspan></text>
|
||
<rect
|
||
style="fill:none;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="rect1564-7-3-6"
|
||
width="365.12497"
|
||
height="227.54166"
|
||
x="354.54169"
|
||
y="-529.16669" />
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="751.41669"
|
||
y="-508"
|
||
id="text1720"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1718"
|
||
x="751.41669"
|
||
y="-508"
|
||
style="stroke-width:0.3">Какие проблемы есть у пользователей Redmine?</tspan></text>
|
||
<rect
|
||
style="fill:none;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="rect1564-7-36"
|
||
width="365.12497"
|
||
height="227.54166"
|
||
x="354.54169"
|
||
y="-47.62505"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:8.46667px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-anchor:middle;white-space:pre;inline-size:121.708;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="537.53619"
|
||
y="222.24998"
|
||
id="text298"
|
||
transform="translate(-0.50845236,-248.70836)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="537.53619"
|
||
y="222.24998"><tspan
|
||
style="text-align:center;text-anchor:middle;stroke-width:0.3">Архитектура приложения</tspan><tspan></tspan><tspan
|
||
y="222.24998"> </tspan></tspan><tspan
|
||
x="537.53619"
|
||
y="232.83333"><tspan
|
||
style="text-align:center;text-anchor:middle;stroke-width:0.3">Pinkmine</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="150.81252"
|
||
y="190.49998"
|
||
id="text1173"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1171"
|
||
x="150.81252"
|
||
y="190.49998"
|
||
style="font-size:6.35px;stroke-width:0.3" /></text>
|
||
<rect
|
||
style="fill:#fff6d5;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
|
||
id="rect1281"
|
||
width="82.020836"
|
||
height="30.427082"
|
||
x="554.30206"
|
||
y="83.343658"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<rect
|
||
style="fill:#fff6d5;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
|
||
id="rect1285"
|
||
width="100.54166"
|
||
height="48.947918"
|
||
x="535.78125"
|
||
y="113.77066"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<rect
|
||
style="fill:#fff6d5;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
|
||
id="rect1287"
|
||
width="97.895836"
|
||
height="48.947918"
|
||
x="437.88541"
|
||
y="113.77066"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<rect
|
||
style="fill:#ffe6d5;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
|
||
id="rect1277"
|
||
width="82.020836"
|
||
height="23.8125"
|
||
x="554.30206"
|
||
y="-2.6460109"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<rect
|
||
style="fill:#ffe6d5;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
|
||
id="rect1279"
|
||
width="82.020836"
|
||
height="26.458332"
|
||
x="554.30206"
|
||
y="21.166504"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<rect
|
||
style="fill:#ffe6d5;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
|
||
id="rect1283"
|
||
width="82.020836"
|
||
height="35.71875"
|
||
x="554.30206"
|
||
y="47.624908"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<rect
|
||
style="fill:#ffe6d5;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
|
||
id="rect1273"
|
||
width="52.916664"
|
||
height="29.104166"
|
||
x="437.88541"
|
||
y="84.666504"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<rect
|
||
style="fill:#ffd5d5;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
|
||
id="rect1165"
|
||
width="116.41666"
|
||
height="87.3125"
|
||
x="437.88541"
|
||
y="-2.6459498"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:73.0409;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="155.37057"
|
||
y="171.87299"
|
||
id="text302"
|
||
transform="translate(306.32682,-140.12309)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="155.37057"
|
||
y="171.87299"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">Ядро </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">redmine issue </tspan></tspan><tspan
|
||
x="155.37057"
|
||
y="179.81049"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">event emitter</tspan></tspan></text>
|
||
<rect
|
||
style="fill:none;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
|
||
id="rect304"
|
||
width="84.666664"
|
||
height="21.16667"
|
||
x="453.76041"
|
||
y="23.812408"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:8.46667px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="453.76041"
|
||
y="13.229051"
|
||
id="text1169"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1167"
|
||
x="453.76041"
|
||
y="13.229051"
|
||
style="font-size:8.46667px;stroke-width:0.3">NestJS framework</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:4.23333px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:87.3125;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="142.87502"
|
||
y="198.43748"
|
||
id="text1177"
|
||
transform="translate(310.88541,-140.22926)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="142.87502"
|
||
y="198.43748"><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">сервисы, контроллеры, чтение </tspan></tspan><tspan
|
||
x="142.87502"
|
||
y="203.72915"><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">конфигурационных файлов, доступ к </tspan></tspan><tspan
|
||
x="142.87502"
|
||
y="209.0208"><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">хранилищу данных </tspan><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">CouchDB </tspan><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">и многое </tspan></tspan><tspan
|
||
x="142.87502"
|
||
y="214.31246"><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">другое</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="449.17334"
|
||
y="101.1619"
|
||
id="text1181"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1179"
|
||
x="449.17334"
|
||
y="101.1619"
|
||
style="font-size:6.35px;stroke-width:0.3">http api</tspan></text>
|
||
<rect
|
||
style="fill:#ffe6d5;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
|
||
id="rect1275"
|
||
width="63.5"
|
||
height="29.104166"
|
||
x="490.80209"
|
||
y="84.666504"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="501.38541"
|
||
y="97.895752"
|
||
id="text1185"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1183"
|
||
x="501.38541"
|
||
y="97.895752"
|
||
style="stroke-width:0.3">webhook-и,</tspan><tspan
|
||
sodipodi:role="line"
|
||
x="501.38541"
|
||
y="105.83325"
|
||
style="stroke-width:0.3"
|
||
id="tspan1187">websocket-ы</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="568.85419"
|
||
y="6.6145334"
|
||
id="text1191"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
x="568.85419"
|
||
y="6.6145334"
|
||
style="stroke-width:0.3"
|
||
id="tspan1197">telegram-бот</tspan></text>
|
||
<g
|
||
id="g1562"
|
||
transform="translate(-1.3229377,3.3678385e-5)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96">
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:63.5;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="137.58334"
|
||
y="288.39581"
|
||
id="text1201"
|
||
transform="translate(432.59313,-195.79173)"><tspan
|
||
x="137.58334"
|
||
y="288.39581"><tspan
|
||
style="stroke-width:0.3">frontend </tspan><tspan
|
||
style="stroke-width:0.3">react</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:4.23333px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:58.2083;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="127.00002"
|
||
y="322.79166"
|
||
id="text1207"
|
||
transform="translate(443.17711,-222.25008)"><tspan
|
||
x="127.00002"
|
||
y="322.79166"><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">dashboard-</tspan><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">ы на любых </tspan></tspan><tspan
|
||
x="127.00002"
|
||
y="328.0833"><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">react </tspan><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">компонентах</tspan></tspan></text>
|
||
</g>
|
||
<g
|
||
id="g1582"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96">
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:4.23333px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:76.7298;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="66.145836"
|
||
y="272.52081"
|
||
id="text1217"
|
||
transform="translate(380.99936,-125.67711)"><tspan
|
||
x="66.145836"
|
||
y="272.52081"><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">cli </tspan><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">скрипты (</tspan><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">wget, curl</tspan><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">),
|
||
</tspan></tspan><tspan
|
||
x="66.145836"
|
||
y="277.81246"><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">использование других языков </tspan></tspan><tspan
|
||
x="66.145836"
|
||
y="283.10412"><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">программирования (</tspan><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">python</tspan><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">)</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:87.3125;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="50.270836"
|
||
y="296.33331"
|
||
id="text1221"
|
||
transform="translate(396.87436,-173.30211)"><tspan
|
||
x="50.270836"
|
||
y="296.33331"><tspan
|
||
style="stroke-width:0.3">Автоматизация и </tspan></tspan><tspan
|
||
x="50.270836"
|
||
y="304.27082"><tspan
|
||
style="stroke-width:0.3">интеграция сторонними </tspan></tspan><tspan
|
||
x="50.270836"
|
||
y="312.20832"><tspan
|
||
style="stroke-width:0.3">средствами</tspan></tspan></text>
|
||
</g>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:89.9583;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="232.83334"
|
||
y="285.75"
|
||
id="text1225"
|
||
transform="translate(313.30115,-156.10422)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="232.83334"
|
||
y="285.75"><tspan
|
||
style="stroke-width:0.3">Автоматизация и </tspan></tspan><tspan
|
||
x="232.83334"
|
||
y="293.68751"><tspan
|
||
style="stroke-width:0.3">интеграция </tspan><tspan
|
||
style="stroke-width:0.3">с помощью </tspan></tspan><tspan
|
||
x="232.83334"
|
||
y="301.62501"><tspan
|
||
style="stroke-width:0.3">lowcode </tspan><tspan
|
||
style="stroke-width:0.3">платформы </tspan><tspan
|
||
style="stroke-width:0.3">n8n</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:4.23333px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="568.85419"
|
||
y="14.552033"
|
||
id="text1239"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1237"
|
||
x="568.85419"
|
||
y="14.552033"
|
||
style="font-size:4.23333px;stroke-width:0.3">другие чат-боты</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="568.85419"
|
||
y="56.885368"
|
||
id="text1243"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1241"
|
||
x="568.85419"
|
||
y="56.885368"
|
||
style="stroke-width:0.3">frontend</tspan><tspan
|
||
sodipodi:role="line"
|
||
x="568.85419"
|
||
y="64.822868"
|
||
style="stroke-width:0.3"
|
||
id="tspan1245">server-side</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:4.23333px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:58.2083;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="264.58334"
|
||
y="235.47916"
|
||
id="text1249"
|
||
transform="translate(304.2703,-162.71878)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="264.58334"
|
||
y="235.47916"><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">frontend </tspan><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">на простой </tspan></tspan><tspan
|
||
x="264.58334"
|
||
y="240.77082"><tspan
|
||
style="font-size:4.23333px;stroke-width:0.3">шаблонизации</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="568.85419"
|
||
y="30.427032"
|
||
id="text1253"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1251"
|
||
x="568.85419"
|
||
y="30.427032"
|
||
style="stroke-width:0.3">cron-task-и</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:4.23333px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:58.2083;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="259.29169"
|
||
y="173.30202"
|
||
id="text1257"
|
||
transform="translate(309.56316,-136.2604)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Архитектура приложения Pinkmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="259.29169"
|
||
y="173.30202"><tspan
|
||
style="stroke-width:0.3">Планировщик встроенный </tspan></tspan><tspan
|
||
x="259.29169"
|
||
y="178.59368"><tspan
|
||
style="stroke-width:0.3">в </tspan><tspan
|
||
style="stroke-width:0.3">NestJS</tspan></tspan></text>
|
||
<rect
|
||
style="fill:#ffffff;stroke:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none"
|
||
id="rect1564-7-7"
|
||
width="365.12497"
|
||
height="227.54166"
|
||
x="354.54169"
|
||
y="428.62494"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96" />
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:8.46667px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="412.75003"
|
||
y="449.7916"
|
||
id="text1606"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1604"
|
||
x="412.75003"
|
||
y="449.7916"
|
||
style="stroke-width:0.3">Стратегии подписки на обновления задач из Redmine</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:8.46667px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="381.56854"
|
||
y="481.5416"
|
||
id="text1610"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1608"
|
||
x="381.56854"
|
||
y="481.5416"
|
||
style="stroke-width:0.3">По email</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:8.46667px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="556.19348"
|
||
y="481.5416"
|
||
id="text1614"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1612"
|
||
x="556.19348"
|
||
y="481.5416"
|
||
style="stroke-width:0.3">Через cron-таски</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:148.167;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="391.58334"
|
||
y="513.29156"
|
||
id="text1626"
|
||
transform="translate(-10.015468,-15.874971)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="391.58334"
|
||
y="513.29156"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">Redmine </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">отправит уведомления об </tspan></tspan><tspan
|
||
x="391.58334"
|
||
y="521.2291"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">изменениях в </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">email</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:148.167;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="381.00003"
|
||
y="555.62488"
|
||
id="text1630"
|
||
transform="translate(0.56851615,-34.395784)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="381.00003"
|
||
y="555.62488"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">Pinkmine </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">прочитает письмо, определит </tspan></tspan><tspan
|
||
x="381.00003"
|
||
y="563.56235"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">номер задачи, положит в очередь в свой </tspan></tspan><tspan
|
||
x="381.00003"
|
||
y="571.49985"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">основной процесс</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:148.167;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="381.00003"
|
||
y="608.5415"
|
||
id="text1644"
|
||
transform="translate(0.56851615,-52.916576)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="381.00003"
|
||
y="608.5415"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">Эта стратегия позволяет оперативно </tspan></tspan><tspan
|
||
x="381.00003"
|
||
y="616.47898"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">подгружать данные в </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">Pinkmine</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:137.583;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="555.625"
|
||
y="507.99994"
|
||
id="text1648"
|
||
transform="translate(0.56851557,-10.583345)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="555.625"
|
||
y="507.99994"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">Pinkmine </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">с помощью </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">cron-task-</tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">и </tspan></tspan><tspan
|
||
x="555.625"
|
||
y="515.93744"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">запустит процедуру определения </tspan></tspan><tspan
|
||
x="555.625"
|
||
y="523.87498"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">обновлений в </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">redmine</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:137.583;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="555.625"
|
||
y="571.49988"
|
||
id="text1652"
|
||
transform="translate(0.56851557,-42.333284)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="555.625"
|
||
y="571.49988"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">Pinkmine </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">загрузит из </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">redmine csv </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">из </tspan></tspan><tspan
|
||
x="555.625"
|
||
y="579.43735"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">сохранённых запросов и корневые </tspan></tspan><tspan
|
||
x="555.625"
|
||
y="587.37485"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">задачи со всеми подзадачами</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:137.583;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="555.625"
|
||
y="634.99988"
|
||
id="text1656"
|
||
transform="translate(0.56851557,-74.083284)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="555.625"
|
||
y="634.99988"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">Pinkmine </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">определит какие из задач </tspan></tspan><tspan
|
||
x="555.625"
|
||
y="642.93735"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">пора обновить по полю "Обновлено" и </tspan></tspan><tspan
|
||
x="555.625"
|
||
y="650.87485"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">положит в очередь в свой основной </tspan></tspan><tspan
|
||
x="555.625"
|
||
y="658.81235"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">процесс</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:137.583;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="555.625"
|
||
y="608.5415"
|
||
id="text1664"
|
||
transform="translate(0.56849969,-5.2916623)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="555.625"
|
||
y="608.5415"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">Эта стратегия позволяет догружать </tspan></tspan><tspan
|
||
x="555.625"
|
||
y="616.47898"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">данные, которые не пришли по </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">email </tspan></tspan><tspan
|
||
x="555.625"
|
||
y="624.41648"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">рассылке: закрытые задачи, </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">shady-</tspan></tspan><tspan
|
||
x="555.625"
|
||
y="632.35398"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">mode, </tspan><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">изменение структуры дерева </tspan></tspan><tspan
|
||
x="555.625"
|
||
y="640.29148"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">при смене привязки к родительской </tspan></tspan><tspan
|
||
x="555.625"
|
||
y="648.22898"><tspan
|
||
style="font-size:6.35px;stroke-width:0.3">задаче</tspan></tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:8.46667px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="381.56854"
|
||
y="592.6665"
|
||
id="text1668"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
sodipodi:role="line"
|
||
id="tspan1666"
|
||
x="381.56854"
|
||
y="592.6665"
|
||
style="stroke-width:0.3">Для развития</tspan></text>
|
||
<text
|
||
xml:space="preserve"
|
||
style="font-size:6.35px;line-height:normal;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';text-decoration:none;text-decoration-line:none;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:148.167;fill:#000000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
|
||
x="381.00003"
|
||
y="616.479"
|
||
id="text1672"
|
||
transform="translate(0.56851615,-7.9374099)"
|
||
inkscape:export-filename="/home/pavel/obsidian/Личные/Проекты/Монолитный Redmine Event Emitter/Документация/_resources/Слайды для презентации/Стратегии подписки на обновления задач из Redmine.png"
|
||
inkscape:export-xdpi="96"
|
||
inkscape:export-ydpi="96"><tspan
|
||
x="381.00003"
|
||
y="616.479"><tspan
|
||
style="stroke-width:0.3">* Прямой доступ к БД </tspan><tspan
|
||
style="stroke-width:0.3">redmine
|
||
</tspan></tspan><tspan
|
||
x="381.00003"
|
||
y="624.41648"><tspan
|
||
style="stroke-width:0.3">* </tspan><tspan
|
||
style="stroke-width:0.3">Реализация </tspan><tspan
|
||
style="stroke-width:0.3">webhook-</tspan><tspan
|
||
style="stroke-width:0.3">ов на стороне </tspan></tspan><tspan
|
||
x="381.00003"
|
||
y="632.35398"><tspan
|
||
style="stroke-width:0.3">redmine</tspan></tspan></text>
|
||
<path
|
||
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
|
||
d="m 539.75002,309.56242 5.29167,10.58334 -5.29167,10.58333 -68.79167,0 5.29167,-10.58334 -5.29167,-10.58333 h 68.79167"
|
||
id="path570"
|
||
sodipodi:nodetypes="ccccccc" />
|
||
</g>
|
||
</svg>
|