## Mobilizon integration with Wordpress and KVM for Ulm * Events are created and edited in Mobilizon * .. then they are transfered to the Organisations and Karte von Morgen. ### General: One Wordpress Instance communicates with Mobilizon * One WP Instance transfers Events from Mobilizon to the KVM and the Organisations. <svg width="640" height="880" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:se="http://svg-edit.googlecode.com" se:nonce="6391"> <!-- Created with SVG-edit - https://github.com/SVG-Edit/svgedit--> <defs> <marker id="se_marker_mid_svg_6391_8" markerHeight="8.5" markerUnits="strokeWidth" markerWidth="15.25" orient="0" refX="77.25" refY="43.5" viewBox="0 0 152.5 85"> <rect fill="#ffffff" height="85" id="svg_6391_2" stroke-width="0" width="152.5" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" id="svg_6391_12" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="62.75">1 .. n</text> </marker> <marker id="se_marker_end_svg_6391_8" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_6391_19" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_end_svg_6391_20" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_6391_26" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_end_svg_6391_18" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_6391_9" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_end_svg_6391_34" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_6391_15" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_end_svg_6391_35" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_6391_21" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_mid_svg_6391_35" markerHeight="8.5" markerUnits="strokeWidth" markerWidth="15.25" orient="0" refX="77.25" refY="43.5" viewBox="0 0 152.5 85"> <rect fill="#ffffff" height="85" id="svg_6391_22" stroke-width="0" width="152.5" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" id="svg_6391_23" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="62.75">1 .. n</text> </marker> <marker id="se_marker_end_svg_6391_38" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_6391_24" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_mid_svg_6391_38" markerHeight="8.5" markerUnits="strokeWidth" markerWidth="120.809375" orient="0" refX="605.046875" refY="43.5" viewBox="0 0 1208.09375 85"> <rect fill="#ffffff" height="85" id="svg_6391_25" stroke-width="0" width="1208.09375" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" id="svg_6391_27" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="62.75">Update Events from Mobilizon in KVM</text> </marker> <marker id="se_marker_end_svg_6391_43" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" se_type="rightarrow" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40z" fill="#000000" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_mid_svg_6391_43" markerHeight="8.5" markerUnits="strokeWidth" markerWidth="15.25" orient="0" refX="77.25" refY="43.5" se_type="textmarker" viewBox="0 0 152.5 85"> <rect fill="#ffffff" height="85" stroke-width="0" width="152.5" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="62.75">1 .. n</text> </marker> <marker id="se_marker_mid_svg_6391_18" markerHeight="8.6" markerUnits="strokeWidth" markerWidth="128.08125" orient="0" refX="641.40625" refY="44" se_type="textmarker" viewBox="0 0 1280.8125 86"> <rect fill="#ffffff" height="86" stroke-width="0" width="1280.8125" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="63.5">Get ICAL for x Group Ids (tag=grp1,grp2)</text> </marker> </defs> <g class="layer"> <title>Layer 1</title> <polyline fill="none" id="svg_6391_43" marker-end="url(#se_marker_end_svg_6391_43)" marker-mid="url(#se_marker_mid_svg_6391_43)" points="446.9577331542969,690.5 422.3239440917969,717 397.6901550292969,743.5" se:connector="svg_6391_13 svg_6391_28" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_6391_38" marker-end="url(#se_marker_end_svg_6391_38)" marker-mid="url(#se_marker_mid_svg_6391_38)" points="191.6511688232422,402.5 185.37789916992188,444 179.10464477539062,485.5" se:connector="svg_6391_16 svg_6391_36" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_6391_35" marker-end="url(#se_marker_end_svg_6391_35)" marker-mid="url(#se_marker_mid_svg_6391_35)" points="479.2105407714844,519.5 481.368408203125,560.5 483.52630615234375,601.5" se:connector="svg_6391_6 svg_6391_13" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_6391_20" marker-end="url(#se_marker_end_svg_6391_20)" points="323,349.2873840332031 361.5,345.8338928222656 400,342.3804016113281" se:connector="svg_6391_16 svg_6391_1" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_6391_18" marker-end="url(#se_marker_end_svg_6391_18)" marker-mid="url(#se_marker_mid_svg_6391_18)" points="156.75,250.5 168.5625,282 180.375,313.5" se:connector="svg_6391_10 svg_6391_16" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_6391_8" marker-end="url(#se_marker_end_svg_6391_8)" marker-mid="url(#se_marker_mid_svg_6391_8)" points="492.5833435058594,375.5 488.3819580078125,403 484.1805419921875,430.5" se:connector="svg_6391_1 svg_6391_6" stroke="#000000" stroke-width="2"/> <ellipse cx="499" cy="333.5" fill="#FFEEEE" id="svg_6391_1" rx="93" ry="41" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_3" stroke="#000000" stroke-width="0" text-anchor="middle" x="496" xml:space="preserve" y="333.5">Mobilizon</text> <ellipse cx="477" cy="477.5" fill="#FFEEEE" id="svg_6391_6" rx="93" ry="41" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_7" stroke="#000000" stroke-width="0" text-anchor="middle" x="473" xml:space="preserve" y="487.5">Profile</text> <ellipse cx="141" cy="208.5" fill="#FFEEEE" id="svg_6391_10" rx="93" ry="41" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_11" stroke="#000000" stroke-width="0" text-anchor="middle" x="137" xml:space="preserve" y="218.5">Organisation</text> <ellipse cx="486" cy="648.5" fill="#FFEEEE" id="svg_6391_13" rx="93" ry="41" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_14" stroke="#000000" stroke-width="0" text-anchor="middle" x="482" xml:space="preserve" y="658.5">Group</text> <ellipse cx="198" cy="360.5" fill="#FFEEEE" id="svg_6391_16" rx="124.000011" ry="41" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_17" stroke="#000000" stroke-width="0" text-anchor="middle" x="196" xml:space="preserve" y="367.5">Wordpress Instance</text> <text fill="#000000" font-family="serif" font-size="15" id="svg_6391_29" stroke="#000000" stroke-width="0" text-anchor="middle" x="416.5" xml:space="preserve" y="186.5">Get all events and</text> <text fill="#000000" font-family="serif" font-size="15" id="svg_6391_30" stroke="#000000" stroke-width="0" text-anchor="middle" x="373.5" xml:space="preserve" y="207.5">and save in WP every</text> <text fill="#000000" font-family="serif" font-size="15" id="svg_6391_31" stroke="#000000" stroke-width="0" text-anchor="middle" x="483.5" xml:space="preserve" y="208.5">30 Minutes.</text> <text fill="#000000" font-family="serif" font-size="15" id="svg_6391_32" stroke="#000000" stroke-width="0" style="cursor: move;" text-anchor="middle" x="416.5" xml:space="preserve" y="230.5">Add the tag of the Mobilizon group</text> <text fill="#000000" font-family="serif" font-size="15" id="svg_6391_33" stroke="#000000" stroke-width="0" text-anchor="middle" x="421.5" xml:space="preserve" y="253.5">and save it into the event in wordpress</text> <line fill="none" id="svg_6391_34" marker-end="url(#se_marker_end_svg_6391_34)" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="2" x1="382.5" x2="354.5" y1="271.5" y2="324.5"/> <ellipse cx="172" cy="532.5" fill="#FFEEEE" id="svg_6391_36" rx="124.000011" ry="41" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_37" stroke="#000000" stroke-width="0" text-anchor="middle" x="170" xml:space="preserve" y="539.5">Karte von Morgen</text> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_39" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="308.5" xml:space="preserve" y="44.5">Events are always created and modified in Mobilizon</text> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_40" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="310.5" xml:space="preserve" y="77.5">and then transfered to the website of the organisation</text> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_41" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="311.5" xml:space="preserve" y="112.5">and Karte von Morgen</text> <ellipse cx="353.999998" cy="790.5" fill="#FFEEEE" id="svg_6391_28" rx="62.000002" ry="41" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_42" stroke="#000000" stroke-width="0" text-anchor="middle" x="353" xml:space="preserve" y="798.5">Event</text> </g> </svg> ### Organisations with Wordpress can directly communicate with Mobilizon * Organisations thats has Wordpress Webseites can directly communicate with Mobilizon (over GraphQL) and get their Events from there. * The Events from these Organisations are also loaded over the central WP Instance and from there transported to the KVM. * **Benefit**: GraphQL can transport HTML, so it will be better visible in Wordpress. ICal does not support HTML direclty, it can be used to decode and encode to it. <svg width="640" height="680" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:se="http://svg-edit.googlecode.com" se:nonce="6391"> <!-- Created with SVG-edit - https://github.com/SVG-Edit/svgedit--> <defs> <marker id="se_marker_mid_svg_6391_8" markerHeight="8.5" markerUnits="strokeWidth" markerWidth="15.25" orient="0" refX="77.25" refY="43.5" viewBox="0 0 152.5 85"> <rect fill="#ffffff" height="85" id="svg_6391_2" stroke-width="0" width="152.5" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" id="svg_6391_12" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="62.75">1 .. n</text> </marker> <marker id="se_marker_end_svg_6391_8" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_6391_19" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_end_svg_6391_20" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_6391_26" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_end_svg_6391_34" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_6391_15" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_end_svg_6391_35" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_6391_21" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_mid_svg_6391_35" markerHeight="8.5" markerUnits="strokeWidth" markerWidth="15.25" orient="0" refX="77.25" refY="43.5" viewBox="0 0 152.5 85"> <rect fill="#ffffff" height="85" id="svg_6391_22" stroke-width="0" width="152.5" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" id="svg_6391_23" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="62.75">1 .. n</text> </marker> <marker id="se_marker_end_svg_6391_43" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_6391_4" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_mid_svg_6391_43" markerHeight="8.5" markerUnits="strokeWidth" markerWidth="15.25" orient="0" refX="77.25" refY="43.5" viewBox="0 0 152.5 85"> <rect fill="#ffffff" height="85" id="svg_6391_5" stroke-width="0" width="152.5" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" id="svg_6391_44" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="62.75">1 .. n</text> </marker> </defs> <g class="layer"> <title>Layer 1</title> <polyline fill="none" id="svg_6391_43" marker-end="url(#se_marker_end_svg_6391_43)" marker-mid="url(#se_marker_mid_svg_6391_43)" points="239.59031677246094,569.5 201.16128540039062,536.5 162.7322540283203,503.5" se:connector="svg_6391_13 svg_6391_28" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_6391_35" marker-end="url(#se_marker_end_svg_6391_35)" marker-mid="url(#se_marker_mid_svg_6391_35)" points="463,519.3245849609375 419,542.5665283203125 375,565.8084716796875" se:connector="svg_6391_6 svg_6391_13" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_6391_20" marker-end="url(#se_marker_end_svg_6391_20)" points="341,331.5249938964844 370.5,331.89373779296875 400,332.26251220703125" se:connector="svg_6391_16 svg_6391_1" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_6391_8" marker-end="url(#se_marker_end_svg_6391_8)" marker-mid="url(#se_marker_mid_svg_6391_8)" points="509.71429443359375,375.5 517.1122436523438,404.5 524.5101928710938,433.5" se:connector="svg_6391_1 svg_6391_6" stroke="#000000" stroke-width="2"/> <ellipse cx="499" cy="333.5" fill="#FFEEEE" id="svg_6391_1" rx="93" ry="41" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_3" stroke="#000000" stroke-width="0" text-anchor="middle" x="496" xml:space="preserve" y="333.5">Mobilizon</text> <ellipse cx="536.500003" cy="480.5" fill="#FFEEEE" id="svg_6391_6" rx="72.499997" ry="41" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_7" stroke="#000000" stroke-width="0" text-anchor="middle" x="534" xml:space="preserve" y="490.5">Profile</text> <ellipse cx="288.499999" cy="611.5" fill="#FFEEEE" id="svg_6391_13" rx="80.500001" ry="41" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_14" stroke="#000000" stroke-width="0" text-anchor="middle" x="287" xml:space="preserve" y="619.5">Group</text> <ellipse cx="178.999999" cy="329.5" fill="#FFEEEE" id="svg_6391_16" rx="161.000005" ry="41" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_17" stroke="#000000" stroke-width="0" text-anchor="middle" x="177" xml:space="preserve" y="336.5">Organisation Wordpress CMS</text> <text fill="#000000" font-family="serif" font-size="15" id="svg_6391_29" stroke="#000000" stroke-width="0" style="cursor: move;" text-anchor="middle" x="416.5" xml:space="preserve" y="186.5">Get events for the groups interestet in and</text> <text fill="#000000" font-family="serif" font-size="15" id="svg_6391_30" stroke="#000000" stroke-width="0" text-anchor="middle" x="373.5" xml:space="preserve" y="207.5">and save in WP every</text> <text fill="#000000" font-family="serif" font-size="15" id="svg_6391_31" stroke="#000000" stroke-width="0" text-anchor="middle" x="480.5" xml:space="preserve" y="208.5">30 Minutes.</text> <text fill="#000000" font-family="serif" font-size="15" id="svg_6391_32" stroke="#000000" stroke-width="0" text-anchor="middle" x="416.5" xml:space="preserve" y="230.5">Add the tag of the Mobilizon group</text> <text fill="#000000" font-family="serif" font-size="15" id="svg_6391_33" stroke="#000000" stroke-width="0" text-anchor="middle" x="421.5" xml:space="preserve" y="253.5">and save it into the event in wordpress</text> <line fill="none" id="svg_6391_34" marker-end="url(#se_marker_end_svg_6391_34)" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="2" x1="394.5" x2="366.5" y1="266.5" y2="319.5"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_39" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" style="cursor: move;" text-anchor="middle" x="308.5" xml:space="preserve" y="44.5">Events are always created and modified in Mobilizon</text> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_40" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" style="cursor: move;" text-anchor="middle" x="310.5" xml:space="preserve" y="77.5">and then directly transfered</text> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_41" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" style="cursor: move;" text-anchor="middle" x="311.5" xml:space="preserve" y="112.5">to the website of the organisation by GraphQL</text> <ellipse cx="107.999998" cy="456.5" fill="#FFEEEE" id="svg_6391_28" rx="62.000002" ry="41" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_6391_42" stroke="#000000" stroke-width="0" text-anchor="middle" x="107" xml:space="preserve" y="464.5">Event</text> </g> </svg>