From e4d6b002a689150f60924219b1293c9f6a2915c0 Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Mon, 21 Dec 2015 10:36:12 +0100 Subject: [PATCH] Add Slack workflow --- documentation/user_slack/workflow.graphml | 396 ++++++++++++++++++++++ documentation/user_slack/workflow.md | 21 ++ documentation/user_slack/workflow.png | Bin 0 -> 28382 bytes 3 files changed, 417 insertions(+) create mode 100644 documentation/user_slack/workflow.graphml create mode 100644 documentation/user_slack/workflow.md create mode 100644 documentation/user_slack/workflow.png diff --git a/documentation/user_slack/workflow.graphml b/documentation/user_slack/workflow.graphml new file mode 100644 index 00000000..afc5d863 --- /dev/null +++ b/documentation/user_slack/workflow.graphml @@ -0,0 +1,396 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + Slack + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + 3rd-party network + + + + + + + + + + + + + + + + + + #MainSlackChannel + + + + + + + + + + + + + + + + + Contact List + + + + + + + + + + + + + + + + + #RoomSlackChannel + + + + + + + + + + + + + + + + + Spectrum2 bot + + + + + + + + + + + + + + + + + 3rd-party room + + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + Slack team member + + + + + + + + + + + + + + + + + + + + + Slack team owner + + + + + + + + + + + + + + + + + + + + + Interconnects + + + + + + + + + + + + + + + + + + + Interconnects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Communicates + + + + + + + + + + + + + + + + Configures + + + + + + + + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.5396" y1="-732.5005" x2="27.7805" y2="-762.2984" gradientTransform="matrix(1 0 0 -1 0.1201 -708.5371)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + + <radialGradient id="face_x5F_white_1_" cx="27.7827" cy="-734.2632" r="23.424" fx="23.2131" fy="-736.753" gradientTransform="matrix(1 0 0 -1 0.1201 -708.5371)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.2-6.738,18.52-15.246,18.586c-8.503,0.068-15.467-8.146-15.553-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="2941.4297" y1="5677.457" x2="2965.0596" y2="5770.9087" gradientTransform="matrix(0.275 0 0 0.2733 -783.3976 -1543.4047)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.42"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.2067"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M27.958,6.333c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.183-1.094,0.293-2.289,0.283-3.553C42.083,13.952,36.271,6.268,27.958,6.333z"/> + <path fill="#CC9869" stroke="#99724F" stroke-linecap="round" stroke-linejoin="round" d="M32.215,9.938 + c0,0,5.688,2.75,7.688,8.125c2.104,5.652,4.123,8.232,4.188,8c1.875-6.794,1.063-21.438-10.17-21.587 + c-20.455-7.663-25.58,11.962-23.893,19.65c1.078,4.911,2.234,6.686,3.938,8.08C13.966,32.205,15.028,17.563,32.215,9.938z"/> + + <radialGradient id="collar_x5F_body_2_" cx="15.1587" cy="-765.7056" r="32.4004" gradientTransform="matrix(1 0 0 -1 0.1201 -708.5371)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#B0E8FF"/> + <stop offset="1" style="stop-color:#74AEEE"/> + </radialGradient> + <path id="collar_x5F_body_1_" fill="url(#collar_x5F_body_2_)" stroke="#5491CF" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494 + h48.51c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146 + c-1.771,1.655-5.61,2.802-10.063,2.802c-4.453,0-8.292-1.146-10.063-2.802c0,0-5.755,0.586-11.189,6.021 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> + + <radialGradient id="collar_x5F_r_2_" cx="31.5" cy="-755.832" r="9.2834" gradientTransform="matrix(1 0 0 -1 0.1201 -708.5371)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#80CCFF"/> + <stop offset="1" style="stop-color:#74AEEE"/> + </radialGradient> + <path id="collar_x5F_r_1_" fill="url(#collar_x5F_r_2_)" stroke="#5491CF" d="M38.159,41.381c0,0-0.574,2.369-3.013,4.441 + c-2.108,1.795-5.783,2.072-5.783,2.072l3.974,6.217c0,0,2.957-1.637,5.009-3.848c1.922-2.072,1.37-5.479,1.37-5.479L38.159,41.381z + "/> + + <radialGradient id="collar_x5F_l_2_" cx="19.1377" cy="-755.873" r="9.2837" gradientTransform="matrix(1 0 0 -1 0.1201 -708.5371)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#80CCFF"/> + <stop offset="1" style="stop-color:#74AEEE"/> + </radialGradient> + <path id="collar_x5F_l_1_" fill="url(#collar_x5F_l_2_)" stroke="#5491CF" d="M18.63,41.422c0,0,0.576,2.369,3.012,4.441 + c2.109,1.793,5.785,2.072,5.785,2.072l-3.974,6.217c0,0-2.957-1.637-5.007-3.85c-1.922-2.072-1.37-5.48-1.37-5.48L18.63,41.422z"/> + + <radialGradient id="Knob2_2_" cx="27.8872" cy="7.9414" r="0.9669" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#80CCFF"/> + <stop offset="1" style="stop-color:#74AEEE"/> + </radialGradient> + <circle id="Knob2_1_" fill="url(#Knob2_2_)" stroke="#5491CF" cx="28.258" cy="56.254" r="0.584"/> + + <radialGradient id="Knob1_2_" cx="27.9253" cy="1.6973" r="0.9669" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#80CCFF"/> + <stop offset="1" style="stop-color:#74AEEE"/> + </radialGradient> + <circle id="Knob1_1_" fill="url(#Knob1_2_)" stroke="#5491CF" cx="28.296" cy="62.499" r="0.584"/> +</g> +</svg> + + + + diff --git a/documentation/user_slack/workflow.md b/documentation/user_slack/workflow.md new file mode 100644 index 00000000..4af9229f --- /dev/null +++ b/documentation/user_slack/workflow.md @@ -0,0 +1,21 @@ +--- +layout: page +title: Spectrum 2 +--- + + + +## How does Spectrum 2 interact with my team? + +Spectrum 2 interconnects the Slack channels with the 3rd-party network contact list and rooms as showed in the following image: + +![Spectrum 2 Slack workflow](workflow.png) + +Spectrum 2 distinguishes between two Slack team members roles: + +* **The primary team owner** is able to configure interconnections between Slack channels and 3rd-party network channels and is also able to configure Spectrum 2 itself. +* **Other Slack team members** are able to write to channels and their messages are forwaded to 3rd-party network. + +For networks which have the contact list (like Skype, Jabber or Twitter), there is special mapping between single Slack channel and the contact list. In the image, that channel is called **#MainSlackChannel**. The name of this channel is configured by the Primary team owner. Whatever is written to the channel is sent to all people in the 3rd-party network contact list and when some of the 3rd-party contacts write an answer, it is forwarded to this Slack channel. + +For networks which support rooms (like Jabber or IRC), the Primary team owner can configure the interconnection between the 3rd-party room and Slack channel. Whatever is written to that Slack channel is forwarded to the 3rd-party room and vice-versa. diff --git a/documentation/user_slack/workflow.png b/documentation/user_slack/workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..d94790779a6075dfb7376b15a5828efe3ebce42d GIT binary patch literal 28382 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�c6%cgn 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 Hw|@TzF*`62 literal 0 HcmV?d00001