भूमिका और अनुमतियाँ
मान लीजिए आपने अपने कपड़ों की दुकान वाले Space में अपने सहकर्मी minji.kim@example.com को जोड़ा है। आप अपने सहकर्मी को उत्पाद जोड़ने और संपादित करने का काम सौंपना चाहते हैं, लेकिन उत्पाद हटाने या उसे बाहर सार्वजनिक करने तक का काम सौंपने में आपको हिचकिचाहट है। इस तरह "एक Space के भीतर कोई सदस्य क्या कर सकता है और क्या नहीं कर सकता" को तय करने वाला अनुमतियों का यह समूह ही SpaceRole है।
SpaceRole में हर सदस्य को एक-एक करके अलग से अनुमति देने के बजाय, अनुमतियों का एक समूह पहले से बनाकर रखा जाता है और फिर उसे सदस्य से जोड़ दिया जाता है। उदाहरण के लिए "उत्पाद को केवल पढ़ और संपादित कर सकने वाली" एक भूमिका एक बार बना लें, तो उत्पाद जोड़ने का काम सौंपे जाने वाले सहकर्मियों को बस वही एक भूमिका जोड़ देनी होती है। सदस्य बढ़ते जाएँ, तब भी हर बार शुरू से अनुमतियाँ तय करने की ज़रूरत नहीं पड़ती।
इस पृष्ठ में पहले हम देखेंगे कि SpaceRole क्या है और इसमें कौन-कौन सी अनुमतियाँ रखी जाती हैं, फिर कपड़ों की दुकान वाले Space में "उत्पाद पंजीकरण प्रभारी" भूमिका खुद बनाकर देखेंगे।
Space भूमिका, Organization भूमिका से अलग है
WEEGLOO में अनुमतियाँ तय करने की दो जगहें हैं। इन्हें आपस में भ्रमित करना आसान है, इसलिए पहले इनके बीच की सीमा खींच देते हैं।
- Organization भूमिका(Owner, Admin, Member) पूरी कंपनी के स्तर का दर्जा है। यह तय करती है कि सदस्यों को आमंत्रित करना या नया Space बनाना जैसे, पूरे Organization से जुड़े काम कौन कर सकता है।
- SpaceRole किसी एक विशेष Space के भीतर की अनुमति है। यह तय करती है कि उस कार्यक्षेत्र में आकर उत्पाद बनाना, संपादित करना और प्रकाशित करना जैसे, सामग्री से जुड़े काम कोई सदस्य कहाँ तक कर सकता है।
एक ही सहकर्मी को भी हर Space में अलग SpaceRole दी जा सकती है। शॉपिंग मॉल वाले Space में उसे उत्पाद संपादित करने तक की अनुमति दें, और कंपनी की आंतरिक सूचनाओं वाले Space में केवल पढ़ने की अनुमति दें, इस तरह। यह पृष्ठ केवल SpaceRole पर केंद्रित है। Organization भूमिका तथा सदस्य आमंत्रण और नियुक्ति को संगठन और स्पेस में बताया गया है।
भूमिका में क्या रखा जाता है: किस पर, कौन-सी क्रिया
एक SpaceRole में "किस वस्तु पर, कौन-सी क्रिया को, अनुमति देनी है या मना करना है" रखा जाता है।
सबसे पहले, अनुमति तय करने की वस्तुएँ चार तरह की होती हैं। इनमें से नीचे दी गई तीन वस्तुएँ एक ही क्रियाओं का समूह साझा करती हैं, और चौथी Script की क्रियाएँ अलग होने के कारण उसे आगे अलग से बताया गया है।
- Content Type: उत्पाद और सूचना जैसे ढाँचे
- Content: उस ढाँचे से बना एक-एक उत्पाद
- Media: अपलोड की गई तस्वीर और वीडियो जैसी फ़ाइलें
हर वस्तु पर जिन क्रियाओं की अनुमति दी या मना की जा सकती है, वे इस प्रकार हैं।
क्रियाएँ स्क्रीन पर अंग्रेज़ी में दिखाई देती हैं। हर क्रिया का अर्थ इस प्रकार है।
| क्रिया(स्क्रीन पर लिखावट) | यह क्या करती है |
|---|---|
| Read | सूची और सामग्री देखती है |
| Create | नया बनाती है |
| Edit | पहले से मौजूद चीज़ को बदलकर सहेजती है |
| Delete | हटाती है |
| Publish | बाहर सार्वजनिक (वितरण) होने के लिए प्रकाशित करती है |
| Unpublish | प्रकाशन उतारकर बाहरी सार्वजनिक रूप को रोकती है |
| Archive | संग्रह स्थिति में ले जाती है |
| Unarchive | संग्रह से वापस लाती है |
| All actions | ऊपर की सभी क्रियाओं को एक साथ अनुमति देती है |
कपड़ों की दुकान वाले उदाहरण से समझाएँ, तो "उत्पाद पंजीकरण प्रभारी" भूमिका में Content(उत्पाद) पर Read, Create, Edit की अनुमति दी जाती है और Delete, Publish को नहीं रखा जाता, इस तरह क्रियाओं को चुनकर रखा जाता है। ऐसा करने पर सहकर्मी उत्पाद बना और बदल तो सकता है, पर उसे हटा या बाहर सार्वजनिक नहीं कर सकता।
Publish क्या है और प्रकाशित करने पर वह बाहर कैसे सार्वजनिक (वितरण) होता है, यह स्थिति और प्रकाशन में विस्तार से बताया गया है।
अनुमति और मनाही
भूमिका की स्क्रीन पर अनुमत सूची और अस्वीकृत सूची अलग-अलग होती हैं। जिन क्रियाओं को करने देना है, उन्हें अनुमत सूची में एक-एक पंक्ति के रूप में डालने का तरीका है। महत्वपूर्ण बात यह है कि अनुमति सूची में न डाली गई क्रिया अपने आप मना कर दी जाती है। इसलिए सहकर्मी को जो क्रियाएँ देनी हैं केवल वही अनुमति में डाल दें, तो बाकी को अलग से रोके बिना ही रुक जाती हैं।
अस्वीकृत सूची "व्यापक अनुमति दे रखी हो, पर किसी एक खास हिस्से को अपवाद के रूप में रोकना हो तब" काम आने वाला सुरक्षा उपाय है। यदि कोई एक क्रिया अनुमति और मनाही दोनों में एक साथ आ जाए, तो मनाही हमेशा प्राथमिकता पाती है।
किसी खास प्रकार, खास व्यक्ति तक दायरा सीमित करना
किसी क्रिया की अनुमति देते समय, उस अनुमति को केवल एक प्रकार या किसी खास शर्त तक सीमित किया जा सकता है। उदाहरण के लिए नीचे जैसी सीमाएँ संभव हैं।
- केवल एक प्रकार तक: केवल "उत्पाद" Content Type पर लागू करें, और दूसरे Content Type पर लागू न करें।
- केवल अपने बनाए हुए तक: उस सदस्य को केवल अपने खुद के बनाए Content को ही संभालने दें, और दूसरों के बनाए को न छूने दें।
- केवल किसी खास Tag वाले तक: तय किए गए Tag वाले Content या Media पर ही लागू करें।
यदि दायरे को अलग से सीमित न करें, तो वह क्रिया उस वस्तु की समूची सीमा पर लागू होती है। उदाहरण के लिए Content पढ़ने को बिना सीमित किए अनुमति दें तो सारे Content पढ़े जा सकते हैं, और "उत्पाद" Content Type तक सीमित करें तो केवल उत्पाद पढ़े जा सकते हैं।
Tag क्या है, यह Tag में बताया गया है।
Script चलाने और प्रबंधित करने की अनुमतियाँ
SpaceRole में ऊपर की तीन वस्तुओं के अलावा Script से जुड़ी अनुमति भी रखी जाती है। Script एक ऐसा बैकएंड एंडपॉइंट है जिसे फ़्रंटएंड कॉल करता है और जिसे सर्वर कोड के बिना बनाया जाता है(Script देखें)। इसमें Execute(चलाना) क्रिया होती है, जो Content और Media में नहीं होती।
- Execute: उस Script को चलाने(कॉल करने) देती है। फ़्रंटएंड या साइन अप किया हुआ सदस्य किसी Script को कॉल करना चाहे, तो यह अनुमति ज़रूरी है।
- Read, Create, Edit, Delete: Script को देखने, बनाने, बदलने और हटाने की प्रबंधन अनुमतियाँ हैं।
किसी सदस्य को "केवल अपने बनाए हुए Script" ही संभालने देने के लिए, लेखक के आधार पर दायरा सीमित किया जा सकता है। प्रकाशन क्रिया नहीं होती। ऐसा इसलिए, क्योंकि Script प्रकाशित किया जाने वाला संसाधन नहीं है। उत्पाद में साइन अप किए हुए सदस्य(ServiceUser) के लिए आम तौर पर केवल Execute खुला रखा जाता है। इसका कारण यह है कि Script बनाने और बदलने का लेखन कंटेंट स्टूडियो के उपयोगकर्ता संभालते हैं।

अनुमति नियमों का सटीक प्रारूप SpaceRole और ServiceUserRole API रेफरेंस में बताया गया है।
Space सेटिंग बदल सकते हैं या नहीं, यह भी भूमिका तय करती है
यहाँ तक की बात कंटेंट और Script को संभालने की अनुमति की थी। भूमिका में एक और सूची रखी जाती है, जिसका स्वभाव इससे अलग है। यह इस बारे में है कि Space सेटिंग बदली जा सकती है या नहीं।
कपड़ों की दुकान वाले उदाहरण पर लौटें, तो आप सहकर्मी को उत्पाद पंजीकरण का काम सौंपना चाहेंगे, पर नया Locale जोड़ने या बाहरी साइट के इस्तेमाल के लिए टोकन जारी करने तक का काम सौंपना नहीं चाहेंगे। इस तरह के Space सेटिंग वाले काम कौन कर सकता है, यह इसी सूची से तय होता है।
ऊपर बताई गई अनुमतियों से अलग, इस सूची में न क्रियाएँ होती हैं और न दायरा सीमित करना। कोई आइटम चालू कर दें तो वह सेटिंग संभाली जा सकती है, और चालू न करें तो नहीं संभाली जा सकती। इन्हें Role बनाने या बदलने वाली स्क्रीन के Permissions टैब में चालू और बंद किया जाता है। सबसे ऊपर सभी प्रबंधन Permission चालू करने पर नीचे के सभी आइटम एक साथ चालू हो जाते हैं, और एक-एक करके सभी आइटम चालू करने पर भी यह टॉगल चालू दिखता है। चालू किए जा सकने वाले आइटम इस प्रकार हैं।
| आइटम | चालू करने पर क्या किया जा सकता है |
|---|---|
| Space जानकारी प्रबंधन | Space का नाम और विवरण बदलते हैं |
| Membership प्रबंधन | इस Space में सदस्य जोड़ते और हटाते हैं, तथा सदस्य की भूमिका बदलते हैं |
| Role प्रबंधन | इस पृष्ठ में जैसे बनाते हैं, वैसे भूमिकाएँ बनाते और बदलते हैं |
| Delivery Access Token प्रबंधन | केवल-पढ़ने वाले टोकन जारी करते और प्रबंधित करते हैं |
| Space Access Token प्रबंधन | पढ़ने-लिखने वाले टोकन जारी करते और प्रबंधित करते हैं |
| Locale प्रबंधन | भाषा जोड़ते हैं या आधार भाषा बदलते हैं |
| Email Account प्रबंधन | मेल भेजते समय इस्तेमाल होने वाला खाता दर्ज करते हैं |
| App प्रबंधन | मार्केट से ऐप लाकर इंस्टॉल करते हैं |
| Tag प्रबंधन | Tag बनाते, बदलते और हटाते हैं |
| Web Hosting प्रबंधन | साइट डिप्लॉय करते हैं और डोमेन जोड़ते हैं |
| ServiceLogin प्रबंधन | उत्पाद में साइन अप करने वाले सदस्यों का लॉगिन और सदस्य अनुमतियाँ सेट करते हैं |
| Webhook प्रबंधन | Webhook बनाते हैं और कॉल इतिहास देखते हैं |
| Scheduler प्रबंधन | Scheduler बनाते हैं और निष्पादन इतिहास देखते हैं |
| Monitoring देखें | इस Space ने जितना भंडारण और ट्रैफ़िक इस्तेमाल किया, वह देखते हैं |
ध्यान दें कि टोकन के दोनों प्रकार अलग-अलग आइटम के रूप में रखे गए हैं। केवल-पढ़ने वाला Delivery Access Token जारी करने की अनुमति दें और पढ़ने-लिखने वाला Space Access Token जारी करने से रोकें, ऐसा किया जा सकता है। सार्वजनिक साइट में डालने वाला पढ़ने का टोकन सहकर्मी खुद जारी करे, पर लिखने तक की क्षमता वाला टोकन केवल व्यवस्थापक बनाए, ऐसा चाहते हों तब इन्हें इस तरह बाँटकर दिया जाता है।
Scheduler प्रबंधन केवल इस एक आइटम से पूरा नहीं होता। Scheduler बनाते या बदलते समय, वह जिस Script को चलाएगा उसकी Execute अनुमति भी साथ होनी चाहिए(किसकी अनुमति से चलता है देखें)।
कोई भी आइटम चालू न करें, तो वह भूमिका केवल कंटेंट संभालने वाली भूमिका बन जाती है। आगे जो "उत्पाद पंजीकरण प्रभारी" भूमिका बनाकर देखेंगे, वह ऐसी ही है। वह उत्पाद पंजीकृत कर और बदल सकती है, पर Space की एक भी सेटिंग नहीं छू सकती।

Space बनाने पर साथ आने वाली Administrator भूमिका
नया Space बनाने पर Administrator नाम की एक भूमिका अपने आप साथ बन जाती है। यह भूमिका उस Space के भीतर हर चीज़ को संभाल सकने वाली सर्वोच्च अनुमति वाली भूमिका है। Space बनाने वाला व्यक्ति इसी Administrator भूमिका के साथ शुरुआत करता है।
Administrator भूमिका सिस्टम द्वारा पहले से तैयार की गई भूमिका है, इसलिए इसे संपादित या हटाया नहीं जा सकता। यदि आप अनुमति को सीमित करके सहकर्मी को देना चाहते हैं, तो Administrator को बदलने के बजाय नीचे बताए तरीके से एक नई भूमिका अलग से बनाकर दे दें।
"उत्पाद पंजीकरण प्रभारी" भूमिका बनाना
अब कपड़ों की दुकान वाले Space में सहकर्मी को देने के लिए "उत्पाद पंजीकरण प्रभारी" भूमिका खुद बनाकर देखते हैं। इस भूमिका को ऐसा बनाएँगे कि यह उत्पाद(Content) को Read, Create, Edit तो कर सके पर उसे हटा या प्रकाशित न कर सके।
- बायीं ओर के मेन्यू में Roles और Permissions को दबाएँ।
- सूची की ऊपर दायीं ओर बनाएं बटन को दबाएँ।
- Role विवरण टैब के नाम वाले खाने में
उत्पाद पंजीकरण प्रभारीलिखें। विवरण वाला खाना खाली छोड़ा जा सकता है।

इसके बाद तय करते हैं कि यह भूमिका उत्पाद(Content) पर कौन-सी क्रियाएँ कर सकती है। क्रियाओं को अनुमत सूची में एक-एक पंक्ति के रूप में नियम बनाकर डालते हैं, और उसी पंक्ति में लागू करने का दायरा(Content Type) भी साथ चुनते हैं।
- Content टैब पर जाएँ।
- अनुमत के नीचे के + को दबाकर एक पंक्ति का नियम जोड़ें।
- उस पंक्ति में क्रिया को Read पर, और लागू करने वाले Content Type को "उत्पाद" पर चुनें। (लेखक, Tag वाले खाने "कोई भी…" वैसे ही रहने दें तो वह पूरी सीमा पर लागू होगा।)
- इसी तरह Create, Edit के नियम भी एक-एक पंक्ति और जोड़ें। तीनों पंक्तियों में Content Type "उत्पाद" ही रखें।
- हटाने(Delete) और प्रकाशन(Publish) को अनुमति में न डालें। अनुमति में न डाली गई क्रिया अपने आप मना कर दी जाती है, इसलिए सहकर्मी उत्पाद को हटा या बाहर सार्वजनिक नहीं कर सकेगा।

- ऊपर दायीं ओर के सहेजें बटन को दबाएँ।
सूची में उत्पाद पंजीकरण प्रभारी दिखने लगे तो भूमिका बन गई है। यह शुरू से मौजूद Administrator के साथ दिखती है।

बनाई हुई भूमिका को सहकर्मी को देना
भूमिका बना देने भर से वह अपने आप किसी पर लागू नहीं हो जाती। बनाई हुई भूमिका को सदस्य से जोड़ना होता है, तभी वह प्रभावी होती है।
सहकर्मी को Space में नियुक्त करते समय उस Space के भीतर उसकी जो भूमिका होगी, उसे साथ ही चुना जाता है, और तभी अभी बनाई हुई उत्पाद पंजीकरण प्रभारी को चुन लें। यदि सहकर्मी पहले से ही Space में मौजूद है, तो सदस्य सूची में उस सहकर्मी की भूमिका बदलकर भी लागू किया जा सकता है। एक सदस्य को कई भूमिकाएँ एक साथ भी दी जा सकती हैं। ऐसी स्थिति में हर भूमिका की अनुमत क्रियाएँ सब मिल जाती हैं, और किसी भी एक भूमिका में अनुमत क्रिया हो तो वह सदस्य उसे कर सकता है। (मनाही का अनुमति पर प्राथमिकता पाना केवल एक ही भूमिका के भीतर लागू होता है। एक भूमिका में मना किया गया हो, तब भी दूसरी भूमिका अनुमति दे तो वह क्रिया हो जाती है।)
सदस्य को Space में नियुक्त करने और भूमिका चुनने के विस्तृत चरण संगठन और स्पेस में बताए गए हैं।
आगे क्या करें
- संगठन और स्पेस: सहकर्मी को Space में नियुक्त करें और अभी बनाई हुई भूमिका उससे जोड़ें।
- टोकन: व्यक्ति नहीं, बल्कि बाहरी साइट या प्रोग्राम कंटेंट को पढ़ या लिख सके, इसके लिए दिए जाने वाले एक्सेस टोकन यहाँ बताए गए हैं। यहाँ बनाई हुई भूमिका टोकन से भी जुड़ती है। Delivery Access Token से जोड़ने पर भूमिका उस टोकन के पढ़ने के दायरे को, और Space Access Token से जोड़ने पर पढ़ने-लिखने के दायरे को तय करती है। जारी करने और प्रबंधन की अनुमति दोनों टोकन के लिए अलग-अलग है, इसलिए ऊपर Space सेटिंग की सूची में केवल एक को भी चालू किया जा सकता है।
- API रेफरेंस: प्रोग्राम से भूमिका सीधे बनाने या अनुमति नियमों को संभालते समय ज़रूरी अनुरोध प्रारूप जैसी तकनीकी विशिष्टियाँ यहाँ बताई गई हैं।
