2015-03-09 5 views
7

मैं वर्तमान में एक प्रोजेक्ट पर काम कर रहा हूं जिसके लिए मुझे एक बहुत ही सरल साइटकोर वर्कफ़्लो सेट अप करने की आवश्यकता है। मेरे नए वर्कफ़्लो का उपयोग करने के लिए मौजूदा आइटम को संशोधित करते समय मैं कुछ कठिनाइयों में भाग रहा हूं। यह वही है जो मैंने किया:साइटकोर आइटम पर वर्कफ़्लो और वर्कफ़्लो स्टेट गुण सेट नहीं कर सकता

वर्कफ़्लो एक नया संस्करण बनाता है जब कोई सामग्री प्रबंधक किसी आइटम को संपादित करना प्रारंभ करता है और सबमिट बटन क्लिक होने पर आइटम प्रकाशित करता है।

Sitecore workflow items

मैं अपने टेम्पलेट्स के मानक मूल्यों के लिए इन कार्यप्रवाह आइटम कहा:

Workflow settings of standard values of templates

अगले कदम पहले से ही विद्यमान वस्तुओं पर कार्यप्रवाह सेटिंग्स निर्धारित करने की होगी। सौभाग्य से हम यह करने के लिए साइटकोर-पावरहेल का उपयोग कर सकते हैं।

function SetWorkflow($item) 
{ 
    $item.__Workflow = "{DE29E564-3157-4CAB-81B1-87DF2E983517}"; 
    $item."__Workflow state" = "{27633BF0-B76A-4450-A139-BA53F6943778}"; 
} 

get-childitem . -recurse -Language * | foreach-object { SetWorkFlow($_) } 

यह स्क्रिप्ट त्रुटियों के बिना चलता है।

अब मज़ा शुरू होता है: जब मैंने आइटम खोले तो मैंने वर्कफ़्लो और वर्कफ़्लो राज्य गुणों पर इस स्क्रिप्ट को नहीं बदला है। अजीब रूप से पर्याप्त, संपादक का कहना है कि खाली मूल्य मानक मानों से विरासत में प्राप्त किए जा रहे हैं, हालांकि मानक मान खाली नहीं हैं, मैंने इन्हें सेट किया है!

Workflow settings of the items

आप कहेंगे कि स्क्रिप्ट शायद विफल हो गई है और कोई मूल्यों को निर्धारित किया गया है। जब मैं साइटकोर-पावरहेल में मानों को देखता हूं, तो मैं देख सकता हूं कि मान वहां हैं।

get-childitem . -recurse -Language * | Format-Table Id, Language, __Workflow, "__Workflow state" 

ID               Language             __Workflow             __Workflow state 
--               --------             ----------             ---------------- 
{208D79B1-5B42-4713-A7F9-F2109588F639}      en               {DE29E564-3157-4CAB-81B1-87DF2E983517}      {27633BF0-B76A-4450-A139-BA53F6943778} 
{208D79B1-5B42-4713-A7F9-F2109588F639}      nl-NL              {DE29E564-3157-4CAB-81B1-87DF2E983517}      {27633BF0-B76A-4450-A139-BA53F6943778} 
{3F3B1132-02DA-4E75-928F-BDB8AED5C3CD}      nl-NL              {DE29E564-3157-4CAB-81B1-87DF2E983517}      {27633BF0-B76A-4450-A139-BA53F6943778} 
{8AF23DC5-E7FE-47E3-AC65-AA3D41D81F97}      en               {DE29E564-3157-4CAB-81B1-87DF2E983517}      {27633BF0-B76A-4450-A139-BA53F6943778} 
{8AF23DC5-E7FE-47E3-AC65-AA3D41D81F97}      nl-NL              {DE29E564-3157-4CAB-81B1-87DF2E983517}      {27633BF0-B76A-4450-A139-BA53F6943778} 

etc.etc. 

मैंने हाथों से वर्कफ़्लो और वर्कफ़्लो राज्य गुणों को सेट करने का प्रयास किया। यह थोड़े काम करता है, मैं एक बार वर्कफ़्लो के माध्यम से जा सकता हूं। जब कोई नया संस्करण जोड़ा जाता है तो वर्कफ़्लो और वर्कफ़्लो स्टेट प्रॉपर्टी डिफ़ॉल्ट रूप से उनके 'खाली' मानक मानों पर डिफ़ॉल्ट होती हैं जो उस आइटम के वर्कफ़्लो को तोड़ती हैं।

क्या किसी को पता है कि यहां क्या हो रहा है? मैं वर्कफ़्लो और वर्कफ़्लो राज्य गुणों को एक बार और सभी के लिए कैसे सेट कर सकता हूं?

उत्तर

3

अपने बेस टेम्पलेट के मानक मानों पर, क्या आपने वर्कफ़्लो को Workflow फ़ील्ड पर सेट किया था? इसे वास्तव में Default workflow फ़ील्ड पर सेट करने की आवश्यकता है। अन्य 3 फ़ील्ड "वर्तमान स्थिति" फ़ील्ड हैं, यानी यह वर्तमान में मौजूद वर्कफ़्लो का कौन सा चरण संग्रहीत करता है, इन्हें आपके टेम्पलेट और मानक मानों में खाली छोड़ दिया जाना चाहिए।

अधिक जानकारी Sitecore Workflow Reference की धारा 3.3.1 से:

आइटम

डिफ़ॉल्ट रूप से करने के लिए वर्कफ़्लो असाइन आइटम एक कार्यप्रवाह में जब बनाया नहीं रखा जाता है। साइटकोर केवल वर्कफ़्लो में आइटम रखता है यदि "प्रारंभिक" वर्कफ़्लो संबंधित डेटा टेम्पलेट मानक मान आइटम के लिए सेट किया गया है। प्रारंभिक वर्कफ़्लो मानक टेम्पलेट में डिफ़ॉल्ट वर्कफ़्लो फ़ील्ड से मेल खाता है।

+1

यह देखने के लिए खुशी हुई कि आपने इसके लिए पावरशेल एक्सटेंशन का उपयोग किया है और यह तथ्य कि यह इसके परिणामों की पुष्टि कर रहा है।हालांकि मुझे चिंता है कि आप उन्हें सामग्री संपादक में नहीं देख पाएंगे। मेरा सवाल यह है कि यह अभी भी मामला है या नहीं। एक गलती जो मैं आमतौर पर जांचते समय करता हूं वह यह है कि मैं उस आइटम को चेक करता हूं जिसे मैं गेट-चाइल्ड इटिम-रेकर्स कह रहा था, जबकि स्क्रिप्ट केवल अपने बच्चों पर ही काम करेगी। :) मैं यह नहीं कह रहा हूं कि यह मामला यहां है, लेकिन मैंने इस स्क्रिप्ट को चलाया है और सामग्री संपादक ने दिखाया है कि आप जिन परिणामों की उम्मीद कर रहे थे, उन्हें दिखाया गया है, सिर्फ यह सोचकर कि यह आपके मामले में अलग क्यों होगा। –

+0

ओह ... मुझे लगता है कि मैंने अपनी टिप्पणी जोड़ने के बजाय प्रतिक्रिया संपादित की है ... मैं वास्तव में इसके बारे में वास्तव में क्षमा चाहता हूं :( –

+0

हाय एडम, साइटकोर सामग्री संपादक पावरहेल स्क्रिप्ट द्वारा निर्धारित मान प्रदर्शित नहीं कर सकता है __ वर्कफ़्लो और __ वर्कफ़्लो राज्य फ़ील्ड के कारण ये "वर्तमान स्थिति" फ़ील्ड जाममीकम द्वारा वर्णित है। साइटकोर पावरहेल हमेशा मेरी अन्य शक्तियों की स्क्रिप्ट के लिए एक आकर्षण की तरह काम करता है। इस अद्भुत टूल को बनाने के लिए धन्यवाद! –

संबंधित मुद्दे