2009-01-13 18 views
7

कई अन्य SharePoint उपयोगकर्ताओं की तरह, मुझे एक कस्टम सूची परिभाषा बनाना पड़ा है। बहुत परेशानी के बाद, मैंने एक बनाने में कामयाब रहा है (मुझे लगता है, मुझे पहले सभी त्रुटियों से गुजरना है), लेकिन वहां एक "मूल" स्कीमा है जिसके साथ मैं शुरू कर सकता हूं, या Schema.xml पीढ़ी के लिए एक उद्देश्य निर्मित संपादक है?SharePoint में, कस्टम सूची 'schema.xml' फ़ाइल बनाने का सबसे आसान तरीका क्या है?

उत्तर

4

.b कस्टम सूची परिभाषा मैं हमेशा कुछ टेम्पलेट के रूप में सूची परिभाषा में बनाया का उपयोग बनाने के लिए।
नई सुविधा बनाएं, फिर मौजूदा सुविधा से schema.xml (शायद कुछ अन्य फाइलें भी मौजूद हों) की प्रतिलिपि बनाएँ और schema.xml फ़ाइल को सीधे कुछ टेक्स्ट एडिटर के साथ संशोधित करें। मैंने इसके लिए किसी भी कस्टम संपादक की कोशिश नहीं की है और हमेशा कॉपी-पेस्ट और बदलते गुण मानों के साथ काम किया है।

सूची परिभाषा में निर्मित 12 छत्ते में स्थित हैं सुविधाओं के रूप में:

  • कस्टम सूची - सुविधाएँ/CustomList/CustList/Schema.xml;
  • दस्तावेज़ लाइब्रेरी - विशेषताएं/दस्तावेज़ लाइब्रेरी/डॉक्लिब/schema.xml;
  • कैलेंडर - फ़ीचर/घटनाक्रम सूची/घटनाक्रम/schema.xml;
  • दूसरों को ढूंढने के लिए खोज का उपयोग करें।
3

आप उस सूची का चयन करने के लिए SharePoint manager का उपयोग कर सकते हैं, जिसे आप स्कीमा चाहते हैं और टेम्पलेट के रूप में उपयोग करते हैं।

कोई स्कीमा पीढ़ी संदर्भ पर निर्भर होगा, क्योंकि उससे सभी कस्टम फ़ील्ड के लिए GUIDs कि SharePoint साइट संग्रह के लिए विशिष्ट होता जब तक कि वे एक पहले से निर्दिष्ट सुविधा (पर एक XML स्कीमा पहले से ही बनाया गया है भरोसा) के हिस्से के रूप में स्थापित कर रहे हैं।

SharePoint प्रबंधक इस के लिए एक अच्छा उपकरण नहीं है क्योंकि यह इस समस्या के लिए विशिष्ट है, लेकिन क्योंकि यह बहुत किसी SharePoint इंस्टेंस से सभी प्रकार की जानकारी (जैसे स्कीमा) प्राप्त करने का उपयोगी तरीका है।

4

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

आपके द्वारा प्राप्त की गई .stp फ़ाइल मूल रूप से एक मजेदार नाम के साथ एक .cab फ़ाइल है। कैब करने के लिए नाम बदलें और मैनिफेस्ट निकालें, जिसमें आपके उपयोग के लिए लगभग उपयोग करने योग्य स्कीमा.एक्सएमएल फ़ाइल शामिल होगी।

आपको जो परिवर्तन करने की आवश्यकता है वह सूची रूपों का पथ या सेटअपपैथ है। आप manifest.xml फ़ाइल के नीचे इन्हें पाएंगे। ये फॉर्म, यदि आप डिफ़ॉल्ट SharePoint सूचियों का उपयोग करते हैं, तो SetupPath = "pages/form.aspx" पर सेट किया जा सकता है। यहाँ कस्टम सूची रूपों तत्व से एक उदाहरण है:

<Form Type="DisplayForm" Url="DispForm.aspx" 
SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
    <Form Type="EditForm" Url="EditForm.aspx" 
SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
    <Form Type="NewForm" Url="NewForm.aspx" 
SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 

तुम भी प्रत्येक दृश्य के लिए दृश्य पथ, जो SetupPath = होना चाहिए अद्यतन करने की आवश्यकता "पृष्ठों/viewpage.aspx" अपने मूल में डिफ़ॉल्ट रूपों का उपयोग कर यदि साइट।

ध्यान दें कि आपको अन्य विशेषताओं को भी संशोधित करने की आवश्यकता है, लेकिन यदि आप wss.xsd स्कीमा का पालन करना सुनिश्चित करते हैं और आपकी कस्टम सूची schema.xml wss.xsd स्कीमा को मान्य करता है तो आपको ठीक होना चाहिए।

3

Windows SharePoint Services 3.0 Tools: Visual Studio 2008 Extensions, Version 1.2 के साथ "SharePoint Solution Generator 2008" नामक एक एप्लिकेशन आता है।इस एप्लिकेशन में कुछ प्रतिबंध हैं (सबसे खराब आईएमओ that lookup columns disappear) है, लेकिन यह उन फ़ाइलों को बनाता है जिन्हें आपको मौजूदा शेयरपॉइंट-सूची से बाहर एक सुविधा बनाने के लिए आवश्यक है। इसमें schema.xml शामिल है।

3

मैं हमेशा उस तरह की चीजों को निकालने के लिए गैरी लैपॉइंट्स एसटीएसएडीएम एक्सटेंशन का उपयोग करता हूं। यही कारण है कि मैं यह पहली GUI का उपयोग करें और फिर सूची, सामग्री प्रकार, साइट कॉलम, आदि उचित विधि का उपयोग कर निकालने बनाने है।

STSADM/PowerShell Commands में एक्सटेंशन की गैरी सूची देखें।

0

ईजी के उत्तर में जोड़ना, यदि आप केवल मौजूदा सूची से जुड़े फ़ील्ड को बदलना चाहते हैं (लेकिन विचारों को छोड़ दें, आदि अनिवार्य रूप से वही), तो आपको अनिवार्य रूप से दो स्थानों में चीजों को बदलना होगा: सूची/मेटाडेटा/फ़ील्ड्स, और सूची/मेटाडेटा/व्यू/व्यू/व्यूफिल्ड्स।

फील्ड अनुभाग अपेक्षाकृत सीधे आगे है, मानते हुए कि आप the documentation का पालन करते हैं।

किसी दिए गए दृश्य में कॉलम दिखाने के लिए, आपको किसी दिए गए दृश्य के लिए व्यूफ़िल्ड्स अनुभाग को संपादित करना होगा। उदाहरण के लिए, यदि आप कॉलम शीर्षक, लेखक, और प्रकाशक का नाम दिया है आप इस प्रकार, दृश्य में दिखाई दृश्य के ViewFields अनुभाग ढूंढें और इसे संपादित करना चाहते हैं कि:

<ViewFields> 
    <FieldRef Name="Title" /> 
    <FieldRef Name="Author" /> 
    <FieldRef Name="Publisher" /> 
</ViewFields> 

इन फ़ील्ड में (और केवल उन क्षेत्रों) तब उस दृश्य में प्रदर्शित होना चाहिए।

1

सभी schema.xml फ़ाइलों के साथ बड़ी समस्या जो आप सामान्य रूप से कॉपी करेंगे, यह है कि कोड का 9 0% विभिन्न दृश्य तत्वों के भीतर रहता है। इसके लिए एक बेहद सरल समाधान है - डिफ़ॉल्ट व्यू स्टाइल का उपयोग करें।

यहां से शुरू करने के लिए एक सीधी-आगे, पठनीय न्यूनतम स्कीमा है। विवरण के लिए http://mo.notono.us/2009/02/moss-dreaded-schemaxml.html पढ़ें। जब तक आप सच में, सच गाया एचटीएमएल बदलाव करने की जरूरत है, दृश्य CAML साथ खिलवाड़ परेशान नहीं है:

<?xml version="1.0" encoding="utf-8"?> 
<List xmlns:ows="Microsoft SharePoint" Id="{AB426CDE-98F2-432A-B296-880C7931DEF3}" 
    Title="Setting" Url="Lists/Setting" BaseType="0" 
    FolderCreation="FALSE" DisableAttachments="TRUE" VersioningEnabled="FALSE" 
    Direction="$Resources:Direction;" 
    xmlns="http://schemas.microsoft.com/sharepoint/"> 
     <MetaData> 
       <Fields> 
        <Field Type="Text" Name="Title" DisplayName="Name" Required="TRUE" /> 
        <Field Type="Text" Name="Value" DisplayName="Value" Required="TRUE" /> 
       </Fields> 
       <Views> 
        <View BaseViewID="0" Type="HTML" WebPartZoneID="Main" DisplayName="All Items" DefaultView="TRUE" 
         MobileView="True" MobileDefaultView="False" SetupPath="pages\viewpage.aspx" 
         ImageUrl="/_layouts/images/issues.png" Url="AllItems.aspx"> 
          <ViewStyle ID="17"/> 
          <RowLimit Paged="TRUE">100</RowLimit> 
          <Toolbar Type="Standard" /> 
          <ViewFields> 
            <FieldRef Name="Edit" /> 
            <FieldRef Name="Title"/> 
            <FieldRef Name="Value"/> 
          </ViewFields> 
          <Query> 
            <OrderBy> 
             <FieldRef Name="Title"/> 
            </OrderBy> 
          </Query> 
        </View> 
       </Views> 
       <Forms> 
        <Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
        <Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
        <Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
       </Forms> 
       <DefaultDescription>Settings used in the application.</DefaultDescription> 
     </MetaData> 
</List> 
1

मैं स्वयं और अमीर फिन एक उपकरण कहा जाता SPSource कि इंजीनियरों सूचियाँ रिवर्स टेम्पलेट, सामग्री प्रकार सूची में लिखा है और साइट कॉलम। कृपया http://spsource.codeplex.com/ में यह बाहर की जाँच विस्तृत उपयोगकर्ता गाइड और वेबकास्ट आप को दिखाने के लिए कि यह कैसे उपयोग करने के लिए कर रहे हैं।

0

वह ब्राउज़र बनाएं जो आप अपने स्थानीय विकास पर्यावरण पर ब्राउज़र विकल्पों का उपयोग करके विकसित करना चाहते हैं। साइट को टेम्पलेट के रूप में सहेजें। इसे स्थानीय फाइल सिस्टम में डाउनलोड करें।

अब टेम्पलेट, एक समाधान पैकेज से आयात के साथ एक नया दृश्य स्टूडियो परियोजना बनाने। फ़ाइल सिस्टम पर संग्रहीत समाधान पैकेज का पता लगाएं। अब जब आप समाधान देखते हैं, तो आपको आपके द्वारा बनाई गई सूची मिल जाएगी। फ़ाइल schema.XML सूची का निर्धारण में स्थित हो जाएगा। सामग्री प्रकार, फील्ड्स और दृश्य सामग्री कॉपी करके उसे अपनी schema.xml फाइल करने के लिए पेस्ट कर दें।