यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
NocoBase में सामान्य डेटा ऑपरेशन (जैसे जोड़ना, हटाना, अपडेट करना और देखना) अंतर्निहित हैं। जब ये ऑपरेशन जटिल व्यावसायिक आवश्यकताओं को पूरा नहीं कर पाते हैं, तो आप वर्कफ़्लो में कस्टम एक्शन इवेंट का उपयोग कर सकते हैं। इस इवेंट को पेज ब्लॉक के "वर्कफ़्लो ट्रिगर करें" बटन से जोड़कर, उपयोगकर्ता के क्लिक करने पर एक कस्टम एक्शन वर्कफ़्लो ट्रिगर होगा।
वर्कफ़्लो बनाते समय, "कस्टम एक्शन इवेंट" चुनें:

v.1.6.0+
कॉन्टेक्स्ट प्रकार यह तय करता है कि वर्कफ़्लो को किन ब्लॉक के बटनों से जोड़ा जा सकता है:

जब कॉन्टेक्स्ट प्रकार सिंगल रिकॉर्ड या मल्टीपल रिकॉर्ड्स हो, तो आपको डेटा मॉडल को जोड़ने के लिए संग्रह चुनना होगा:

अगर आपको वर्कफ़्लो में ट्रिगरिंग डेटा रो के संबंधित डेटा का उपयोग करना है, तो आप यहां गहरे संबंधित फ़ील्ड चुन सकते हैं:

ये फ़ील्ड इवेंट ट्रिगर होने के बाद वर्कफ़्लो के कॉन्टेक्स्ट में स्वचालित रूप से प्रीलोड हो जाएंगे, ताकि वर्कफ़्लो में उनका उपयोग किया जा सके।
वर्कफ़्लो में कॉन्फ़िगर किए गए कॉन्टेक्स्ट प्रकार के आधार पर, विभिन्न ब्लॉक में एक्शन बटनों का कॉन्फ़िगरेशन भी भिन्न होता है।
v.1.6.0+
एक्शन बार और अन्य डेटा ब्लॉक में, आप "वर्कफ़्लो ट्रिगर करें" बटन जोड़ सकते हैं:



बटन जोड़ने के बाद, पहले बनाए गए नो-कॉन्टेक्स्ट वर्कफ़्लो को उससे जोड़ें। एक्शन बार में एक बटन का उदाहरण यहां दिया गया है:


किसी भी डेटा ब्लॉक में, सिंगल रिकॉर्ड के लिए एक्शन बार में "वर्कफ़्लो ट्रिगर करें" बटन जोड़ा जा सकता है, जैसे फ़ॉर्म, टेबल रो और विवरण में:



बटन जोड़ने के बाद पहले बनाए गए वर्कफ़्लो को जोड़ें:


इसके बाद, इस बटन पर क्लिक करने से कस्टम एक्शन इवेंट ट्रिगर होगा:

v.1.6.0+
टेबल ब्लॉक के एक्शन बार में, जब आप "वर्कफ़्लो ट्रिगर करें" बटन जोड़ते हैं, तो एक अतिरिक्त विकल्प होता है, जिसमें कॉन्टेक्स्ट प्रकार "नो कॉन्टेक्स्ट" या "मल्टीपल रिकॉर्ड्स" चुनना होता है:

जब "नो कॉन्टेक्स्ट" चुना जाता है, तो यह एक ग्लोबल इवेंट होता है, और इसे केवल नो-कॉन्टेक्स्ट प्रकार के वर्कफ़्लो से ही जोड़ा जा सकता है।
जब "मल्टीपल रिकॉर्ड्स" चुना जाता है, तो आप मल्टीपल रिकॉर्ड्स प्रकार के वर्कफ़्लो को जोड़ सकते हैं, जिसका उपयोग कई रिकॉर्ड्स चुनने के बाद बल्क एक्शन के लिए किया जा सकता है (वर्तमान में केवल टेबल द्वारा समर्थित है)। इस समय, उपलब्ध वर्कफ़्लो की सीमा केवल उन वर्कफ़्लो तक होती है जिन्हें वर्तमान डेटा ब्लॉक के संग्रह से मेल खाने के लिए कॉन्फ़िगर किया गया है:

बटन पर क्लिक करके ट्रिगर करते समय, टेबल में कुछ डेटा रो को चेक किया जाना चाहिए; अन्यथा, वर्कफ़्लो ट्रिगर नहीं होगा:

उदाहरण के लिए, हमारे पास एक "सैंपल" संग्रह है। "इकट्ठे किए गए" (स्टेटस) सैंपलों के लिए, हमें "निरीक्षण के लिए सबमिट करें" नामक एक एक्शन प्रदान करना होगा। यह एक्शन पहले सैंपल की बुनियादी जानकारी की जाँच करेगा, फिर एक "निरीक्षण रिकॉर्ड" बनाएगा, और अंत में सैंपल का स्टेटस "सबमिट किया गया" में बदल देगा। ऑपरेशन की यह श्रृंखला साधारण "जोड़ना, हटाना, अपडेट करना, देखना" बटन क्लिक से पूरी नहीं की जा सकती है, इसलिए इसे लागू करने के लिए कस्टम एक्शन इवेंट का उपयोग किया जा सकता है।
सबसे पहले, एक "सैंपल" संग्रह और एक "निरीक्षण रिकॉर्ड" संग्रह बनाएँ, और सैंपल संग्रह में कुछ बुनियादी टेस्ट डेटा दर्ज करें:

फिर, एक "कस्टम एक्शन इवेंट" वर्कफ़्लो बनाएँ। अगर आपको ऑपरेशन प्रक्रिया से समय पर प्रतिक्रिया चाहिए, तो आप सिंक्रोनस मोड चुन सकते हैं (सिंक्रोनस मोड में, आप मैन्युअल प्रोसेसिंग जैसे एसिंक्रोनस नोड्स का उपयोग नहीं कर सकते):

ट्रिगर कॉन्फ़िगरेशन में, संग्रह के लिए "सैंपल" चुनें:

व्यावसायिक आवश्यकताओं के अनुसार प्रक्रिया में तर्क को व्यवस्थित करें। उदाहरण के लिए, निरीक्षण के लिए सबमिशन तभी अनुमति दें जब इंडिकेटर पैरामीटर 90 से अधिक हो; अन्यथा, एक संबंधित संदेश प्रदर्शित करें:

रिस्पॉन्स मैसेज नोड का उपयोग सिंक्रोनस कस्टम एक्शन इवेंट में क्लाइंट को प्रॉम्प्ट मैसेज वापस करने के लिए किया जा सकता है। इसे एसिंक्रोनस मोड में उपयोग नहीं किया जा सकता है।
वर्कफ़्लो को कॉन्फ़िगर और सक्षम करने के बाद, टेबल इंटरफ़ेस पर वापस जाएँ और टेबल के एक्शन कॉलम में "वर्कफ़्लो ट्रिगर करें" बटन जोड़ें:

फिर, बटन के कॉन्फ़िगरेशन मेनू में, वर्कफ़्लो को जोड़ने का विकल्प चुनें और कॉन्फ़िगरेशन पॉप-अप खोलें:

पहले सक्षम किए गए वर्कफ़्लो को जोड़ें:

सबमिट करने के बाद, बटन टेक्स्ट को एक्शन नाम में बदलें, जैसे "निरीक्षण के लिए सबमिट करें"। कॉन्फ़िगरेशन प्रक्रिया अब पूरी हो गई है।
इसका उपयोग करने के लिए, टेबल में कोई भी सैंपल डेटा चुनें, और कस्टम एक्शन इवेंट को ट्रिगर करने के लिए "निरीक्षण के लिए सबमिट करें" बटन पर क्लिक करें। जैसा कि पहले व्यवस्थित किए गए तर्क के अनुसार, यदि सैंपल का इंडिकेटर पैरामीटर 90 से कम है, तो क्लिक करने के बाद निम्न प्रॉम्प्ट प्रदर्शित होगा:

यदि इंडिकेटर पैरामीटर 90 से अधिक है, तो प्रक्रिया सामान्य रूप से निष्पादित होगी, एक "निरीक्षण रिकॉर्ड" बनाएगी और सैंपल का स्टेटस "सबमिट किया गया" में बदल देगी:

इस बिंदु पर, एक साधारण कस्टम एक्शन इवेंट पूरा हो गया है। इसी तरह, ऑर्डर प्रोसेसिंग या रिपोर्ट सबमिशन जैसे जटिल ऑपरेशन वाले व्यवसायों के लिए भी, कस्टम एक्शन इवेंट का उपयोग करके इसे लागू किया जा सकता है।
कस्टम एक्शन इवेंट का ट्रिगरिंग केवल यूज़र इंटरफ़ेस एक्शन तक ही सीमित नहीं है; इसे HTTP API कॉल के माध्यम से भी ट्रिगर किया जा सकता है। विशेष रूप से, कस्टम एक्शन इवेंट सभी संग्रह एक्शन के लिए वर्कफ़्लो को ट्रिगर करने के लिए एक नया एक्शन प्रकार प्रदान करते हैं: trigger, जिसे NocoBase के मानक एक्शन API का उपयोग करके कॉल किया जा सकता है।
उदाहरण में बटन द्वारा ट्रिगर किया गया वर्कफ़्लो, इस तरह से कॉल किया जा सकता है:
चूंकि यह एक्शन सिंगल रिकॉर्ड के लिए है, मौजूदा डेटा पर इसे कॉल करते समय, आपको डेटा रो का ID निर्दिष्ट करना होगा, URL में <:id> भाग को बदलकर।
यदि इसे किसी फ़ॉर्म के लिए कॉल किया जाता है (जैसे बनाने या अपडेट करने के लिए), तो नए डेटा बनाने वाले फ़ॉर्म के लिए आप ID छोड़ सकते हैं, लेकिन आपको सबमिट किया गया डेटा निष्पादन कॉन्टेक्स्ट के रूप में पास करना होगा:
अपडेट फ़ॉर्म के लिए, आपको डेटा रो का ID और अपडेट किया गया डेटा दोनों पास करने होंगे:
यदि ID और डेटा दोनों पास किए जाते हैं, तो ID के अनुरूप डेटा रो पहले लोड की जाएगी, और फिर पास किए गए डेटा ऑब्जेक्ट के गुणों का उपयोग करके मूल डेटा रो को ओवरराइट किया जाएगा, ताकि अंतिम ट्रिगर डेटा कॉन्टेक्स्ट प्राप्त हो सके।
यदि संबंधित डेटा पास किया जाता है, तो उसे भी ओवरराइट किया जाएगा। संबंधित डेटा के अप्रत्याशित ओवरराइट से बचने के लिए, विशेष रूप से जब संबंधित डेटा आइटम के प्रीलोडिंग को कॉन्फ़िगर किया गया हो, तो आने वाले डेटा को सावधानी से संभालें।
इसके अतिरिक्त, URL पैरामीटर triggerWorkflows वर्कफ़्लो की कुंजी है; कई वर्कफ़्लो कुंजियों को अल्पविराम से अलग किया जाता है। यह कुंजी वर्कफ़्लो कैनवास के शीर्ष पर वर्कफ़्लो नाम पर माउस होवर करके प्राप्त की जा सकती है:

उपरोक्त कॉल सफल होने के बाद, संबंधित samples संग्रह के लिए कस्टम एक्शन इवेंट ट्रिगर होगा।
चूंकि बाहरी कॉल को भी उपयोगकर्ता पहचान पर आधारित होना चाहिए, HTTP API के माध्यम से कॉल करते समय, नियमित इंटरफ़ेस से भेजे गए अनुरोधों की तरह ही, आपको प्रमाणीकरण जानकारी प्रदान करनी होगी। इसमें Authorization रिक्वेस्ट हेडर या token पैरामीटर (लॉगिन पर प्राप्त टोकन), और X-Role रिक्वेस्ट हेडर (उपयोगकर्ता का वर्तमान भूमिका नाम) शामिल है।
यदि आपको इस एक्शन में एक-से-एक संबंधित डेटा (एक-से-कई वर्तमान में समर्थित नहीं है) के लिए इवेंट को ट्रिगर करना है, तो आप संबंधित फ़ील्ड के ट्रिगर डेटा को निर्दिष्ट करने के लिए पैरामीटर में ! का उपयोग कर सकते हैं:
उपरोक्त कॉल सफल होने के बाद, संबंधित categories संग्रह के लिए कस्टम एक्शन इवेंट ट्रिगर होगा।
HTTP API कॉल के माध्यम से एक्शन के बाद इवेंट को ट्रिगर करते समय, आपको वर्कफ़्लो की सक्षम स्थिति और संग्रह कॉन्फ़िगरेशन के मिलान पर भी ध्यान देना होगा; अन्यथा, कॉल सफल नहीं हो सकती है या त्रुटि हो सकती है।