2010-05-03 10 views
10

में उपयोगकर्ता-विशिष्ट डेटा को कैसे संग्रहीत करें मेरे पास कुछ उपयोगकर्ता-विशिष्ट डेटा है जिसे मुझे SharePoint में स्टोर करने और कस्टम वेबपर्ट्स के माध्यम से उपयोगकर्ता के लिए सुलभ बनाने की आवश्यकता है। आइए पसंदीदा यूआरएल की एक सूची कहें। इस जानकारी को स्टोर करने का सबसे सरल तरीका क्या होगा?SharePoint

  • एसपीयूसर के लिए कुछ अंतर्निहित संपत्तिबैग या इसी तरह के बारे में मुझे पता नहीं है।
  • एसपीएलिस्ट, उपयोगकर्ता कॉलम के माध्यम से जुड़ा हुआ है।
  • एसपीयूसर आईडी के माध्यम से जुड़े कस्टम डेटाबेस तालिका।
  • अन्यथा?

मेरे लिए आरटीएफएम की तरह लगता है, लेकिन मैं शायद गलत प्रश्न पूछ रहा हूं।

[अपडेट]

हम अंत में एक साधारण सूची में यह जानकारी संग्रहीत, एक निश्चित स्थान में, पर फिल्टर करने के लिए एक व्यक्ति क्षेत्र के साथ। शायद वास्तव में सबसे सरल समाधान, लेकिन तकनीकी रूप से मुझे लगता है कि नीचे दिया गया उत्तर अच्छा है।

उत्तर

5

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

उपयोगकर्ता जानकारी सूची एक मानक शेयरपॉइंट सूची है जो SharePoint उपयोगकर्ता जानकारी संग्रहीत करने के लिए उपयोग करती है। उपयोगकर्ता जानकारी सूची तक पहुंचने के लिए आप साइट संग्रह के रूट वेब पर जा सकते हैं और SiteUserInfoList प्रॉपर्टी

ई.जी. का उपयोग कर सकते हैं।

SPList userInformationlist = SPContext.Current.Site.RootWeb.SiteUserInfoList; 
//Or 
SPWeb web = SPContext.Current.Site.RootWeb; 
SPList userInformationlist = web.SiteUserInfoList; 

एक उपयोगकर्ता सूची आइटम का उपयोग करने के लिए आप उपयोगकर्ता आईडी का उपयोग कर सकते ListItem उपयोगकर्ता से वापस सूचना सूची प्राप्त करने के लिए

E.G.

SPListItem currentUserItem = userInformationlist.GetItemById(web.CurrentUser.ID); 

आप MOSS उपयोग कर रहे हैं आप उपयोगकर्ता प्रोफ़ाइल इस जानकारी को संग्रहीत और यह साइट संग्रह में उपलब्ध इस मेरी साइट की जरूरत नहीं है सक्षम होने के लिए कर सकते हैं। इसे एक्सेस करने के लिए आपको उपयोगकर्ता प्रोफ़ाइल कक्षाओं का उपयोग करने की आवश्यकता होगी।

+0

बहुत अच्छे सुझाव! SiteUserInfoList के बारे में नहीं पता था, और शायद मैं एक साइट संग्रह से दूर हो सकता हूं (बड़ा शेयरपॉइंट लेआउट डिज़ाइन अभी भी लंबित है)। चूंकि मुझे स्टोर करने की आवश्यकता डेटा की मात्रा छोटी है और यह परमाणु है, मैं इसे एक नोट नोट फ़ील्ड में रोक सकता हूं। –

+0

उपयोगकर्ता प्रोफ़ाइल का संपत्ति बैग भी अच्छी तरह से काम करना चाहिए। कुछ डेटा संग्रहीत करने के लिए प्रोफ़ाइल बनाने के लिए थोड़ा भारी हाथ लगता है, लेकिन यह बहुत अच्छी तरह से काम कर सकता है। –

+0

उपयोगकर्ता जानकारी सूची कोर डब्लूएसएस सूची है, एमओएसएस के पास एसएसपी द्वारा प्रदान किया गया एक अलग उपयोगकर्ता प्रोफ़ाइल डेटाबेस है जो स्थानीय डेटा सूचना सूची में कुछ डेटा सिंक करता है, यह उपयोगकर्ता प्रोफ़ाइल डेटाबेस का उपयोग करने के लिए अधिक भारी हाथ होगा लेकिन यह इस बात पर निर्भर करता है कि आप इस डेटा को एक्सेस करना चाहते हैं क्योंकि उपयोगकर्ता जानकारी सूची साइट चयन में संग्रहीत है। –

1

यह एक बहुत अच्छा सवाल है।

हालांकि मैं कोई एक परिपूर्ण उत्तर, यहाँ कुछ चीजें आप पर विचार कर सकते हैं: एक ब्राउज़र कुकी में

  • स्टोर डेटा अगर यह संभव है।

  • उपयोगकर्ता के लॉगिन आईडी द्वारा की गई संपत्तियों में साइट संग्रह के रूटवेब में स्टोर करें। यदि उपयोगकर्ता के पास सबवेब तक पहुंच है, लेकिन रूटवेब नहीं है तो आप गुणों को पढ़ने/लिखते समय ऊंचा करना चाहेंगे।

+1

मैं रूटवेब्स गुण संग्रह की अनुशंसा नहीं करता; आपके पास अपनी साइट पर प्रदर्शन समस्याएं होंगी क्योंकि यह बड़ी संख्या में रिकॉर्ड्स के लिए डिज़ाइन नहीं की गई है। –

+0

क्रिएटिव सोच, लेकिन कुकीज़ सिर्फ उतनी ही नहीं है जितनी कि मैं चीजें बनना चाहता हूं। –

2

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

2

एक वेबपेज बनाएं जो कस्टम डेटाबेस को पढ़ता/लिखता है और आपके पास साइटकोलेक्शन, वेबएप, या यहां तक ​​कि अलग-अलग फार्मों में वेबपार्ट का उपयोग करने की लचीलापन होगी।

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