هل من الممكن النسخ الاحتياطي واستعادة تخصيصات الصفحة الشخصية بعد الحذف؟

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/78990

سؤال

لدينا رمز مخصص للسماح للمستخدمين بإزالة أو إضافة أو إعادة ترتيب أجزاء الويب على صفحة في وجهة نظرهم الشخصية.إنها صفحة صفحة ويب للنشر التي تم إنشاؤها بواسطة وحدة نمطية باستخدام القوالب.

كيف يمكننا إجراء تحديثات لهذه الصفحة، كما أقول لإزالة جزء ويب؟(على ما يبدو، إذا قمت بتعيين InglyIfalReadyExists= سيتم إضافة أجزاء الويب الحقيقية إلى الصفحة.) حتى الآن، لقد حذفنا وإعادة إنشاء الصفحة.هذا يدمر أي شخصيات جزء ويب قد يكون لدى المستخدم، وهذا لم يعد مقبولا كما نحن الآن في الإنتاج.

هل هناك طريقة للنسخ الاحتياطي واستعادة عرض شخصي للمستخدمين بعد حذف وإعادة إنشاء صفحة؟

هل كانت مفيدة؟

المحلول

In simple terms doing something like (important here is of course PersonalizationScope.User):

        SPLimitedWebPartManager webPartManager = SPContext.Current.Web.GetLimitedWebPartManager(this.Request.Url.ToString(), PersonalizationScope.User);
        int wpCounter = webPartManager.WebParts.Count; //get counter
        /*either start looping or for a single web part use*/        
WebPart webPart = webPartManager.WebParts[wpId];
         /*do something with the web part*/

But this has 1 important limitation - it only works for Web parts placed in Web part zone. In addition there is a method (actually part of the ASP.NET Web part infrastructure) called SavePersonalizationState via the Personalization property on each Web part, see more here (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.personalizationprovider.savepersonalizationstate(v=vs.90).aspx). I haven't really been in a situation to try myself!

The biggest challenge would be maybe to collect personalization data for all users. Maybe the fact that it uses the Provider pattern could help, by using the FindState method (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.personalizationprovider.findstate(v=vs.90).aspx) to extract all data.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top