logologo
शुरू करें
मार्गदर्शिका
विकास
प्लगइन
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
शुरू करें
मार्गदर्शिका
विकास
प्लगइन
API
logologo

परिचय

FlowEngine क्या है?
FlowEngine और Plugin के बीच संबंध
क्विक स्टार्ट
लर्निंग रोडमैप

गाइड

FlowModel रजिस्टर करें
FlowModel बनाएँ
FlowModel रेंडर करें
FlowModel इवेंट फ्लो और कॉन्फ़िगरेशन
FlowModel परसिस्टेंस
FlowModel लाइफसाइकिल
FlowModel कॉन्टेक्स्ट सिस्टम
रिएक्टिव मैकेनिज्म: Observable
FlowModel बनाम React.Component

डेफिनेशंस

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Previous PageFlowModel लाइफसाइकिल
Next Pageरिएक्टिव मैकेनिज्म: Observable
TIP

यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें

#संदर्भ प्रणाली का अवलोकन

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

  • FlowEngineContext (वैश्विक संदर्भ): यह विश्व स्तर पर अद्वितीय है और सभी मॉडल तथा वर्कफ़्लो द्वारा सुलभ है। यह वैश्विक सेवाओं, कॉन्फ़िगरेशन आदि को पंजीकृत करने के लिए उपयुक्त है।
  • FlowModelContext (मॉडल संदर्भ): इसका उपयोग मॉडल ट्री के भीतर संदर्भ साझा करने के लिए किया जाता है। उप-मॉडल स्वचालित रूप से पैरेंट मॉडल के संदर्भ का प्रतिनिधित्व करते हैं, और समान नाम ओवरराइड का समर्थन करते हैं। यह मॉडल-स्तरीय तर्क और डेटा अलगाव के लिए उपयुक्त है।
  • FlowRuntimeContext (वर्कफ़्लो रनटाइम संदर्भ): यह हर बार वर्कफ़्लो निष्पादित होने पर बनाया जाता है और पूरे वर्कफ़्लो निष्पादन चक्र के दौरान बना रहता है। यह वर्कफ़्लो के भीतर डेटा पास करने, वेरिएबल संग्रहीत करने और रनटाइम स्थिति रिकॉर्ड करने के लिए उपयुक्त है। यह mode: 'runtime' | 'settings' दो मोड का समर्थन करता है, जो क्रमशः रनटाइम मोड और सेटिंग्स मोड के अनुरूप हैं।

सभी FlowEngineContext (वैश्विक संदर्भ), FlowModelContext (मॉडल संदर्भ), FlowRuntimeContext (वर्कफ़्लो रनटाइम संदर्भ) आदि, FlowContext के उप-वर्ग या इंस्टेंस हैं।


#🗂️ पदानुक्रम आरेख

FlowEngineContext (वैश्विक संदर्भ)
│
├── FlowModelContext (मॉडल संदर्भ)
│     ├── उप FlowModelContext (उप-मॉडल)
│     │     ├── FlowRuntimeContext (वर्कफ़्लो रनटाइम संदर्भ)
│     │     └── FlowRuntimeContext (वर्कफ़्लो रनटाइम संदर्भ)
│     └── FlowRuntimeContext (वर्कफ़्लो रनटाइम संदर्भ)
│
├── FlowModelContext (मॉडल संदर्भ)
│     └── FlowRuntimeContext (वर्कफ़्लो रनटाइम संदर्भ)
│
└── FlowModelContext (मॉडल संदर्भ)
      ├── उप FlowModelContext (उप-मॉडल)
      │     └── FlowRuntimeContext (वर्कफ़्लो रनटाइम संदर्भ)
      └── FlowRuntimeContext (वर्कफ़्लो रनटाइम संदर्भ)
  • FlowModelContext, प्रतिनिधि तंत्र (delegate mechanism) के माध्यम से FlowEngineContext के गुणों और विधियों तक पहुँच सकता है, जिससे वैश्विक क्षमताओं को साझा किया जा सकता है।
  • एक उप-मॉडल का FlowModelContext, प्रतिनिधि तंत्र (delegate mechanism) के माध्यम से पैरेंट मॉडल के संदर्भ (तुल्यकालिक संबंध) तक पहुँच सकता है, और समान नाम ओवरराइड का समर्थन करता है।
  • अतुल्यकालिक पैरेंट-चाइल्ड मॉडल प्रतिनिधि संबंध (delegate relationship) स्थापित नहीं करते हैं, ताकि स्थिति प्रदूषण से बचा जा सके।
  • FlowRuntimeContext हमेशा प्रतिनिधि तंत्र (delegate mechanism) के माध्यम से अपने संबंधित FlowModelContext तक पहुँचता है, लेकिन यह परिवर्तनों को ऊपर की ओर प्रसारित नहीं करता है।

#🧭 रनटाइम और सेटिंग्स मोड (mode)

FlowRuntimeContext दो मोड का समर्थन करता है, जिन्हें mode पैरामीटर द्वारा अलग किया जाता है:

  • mode: 'runtime' (रनटाइम मोड): इसका उपयोग वर्कफ़्लो के वास्तविक निष्पादन चरण के दौरान किया जाता है। गुण और विधियाँ वास्तविक डेटा लौटाते हैं। उदाहरण के लिए:

    console.log(runtimeCtx.steps.step1.result); // 42
  • mode: 'settings' (सेटिंग्स मोड): इसका उपयोग वर्कफ़्लो डिज़ाइन और कॉन्फ़िगरेशन चरण के दौरान किया जाता है। गुण एक्सेस एक वेरिएबल टेम्पलेट स्ट्रिंग लौटाता है, जिससे एक्सप्रेशन और वेरिएबल चयन सुविधाजनक होता है। उदाहरण के लिए:

    console.log(settingsCtx.steps.step1.result); // '{{ ctx.steps.step1.result }}'

यह दोहरी-मोड डिज़ाइन रनटाइम पर डेटा उपलब्धता सुनिश्चित करता है और कॉन्फ़िगरेशन के दौरान वेरिएबल संदर्भ और एक्सप्रेशन जनरेशन को सुविधाजनक बनाता है, जिससे वर्कफ़्लो इंजन के लचीलेपन और उपयोगिता में वृद्धि होती है।