Menyebarkan Adaptor Kontrol di SharePoint

Apakah ada cara untuk menyebarkan Adaptor Kontrol secara otomatis (beberapa modifikasi menu) di SharePoint menggunakan solusi dan fitur WSP? Bisakah saya mengedit/menyebarkan beberapa file ".browser" secara terprogram?

Jika tidak memungkinkan, apa alternatifnya (beberapa praktik yang baik)?

Saya memerlukan ini untuk situs Penerbitan.


person Robert Vuković    schedule 11.03.2009    source sumber


Jawaban (3)


Selain itu, dengan Fitur Anda selalu memiliki kemampuan untuk menentukan FeatureReceiver yang pada dasarnya merupakan info ke perakitan yang disediakan pengembang untuk menyerahkan peristiwa siklus hidup Fitur (misalnya onFeatureInstalled, onFeatureActivated, dll.) Di sana Anda dapat menulis kode .Net untuk berinteraksi infrastruktur.

person Mark Mascolino    schedule 12.03.2009
comment
Menurut Anda, saya harus, di dalam Fitur, menulis kode .NET kosong dan meletakkan file di folder fisik? Mungkin patut dicoba jika saya bisa mendapatkan jalur lengkap dalam Fitur tersebut. - person Robert Vuković; 12.03.2009
comment
Saya rasa Anda seharusnya bisa mendapatkan folder aplikasi melalui model objek SharePoint karena Anda mengetahui aplikasi mana yang menerapkan fitur Anda. - person Flo; 13.03.2009
comment
Ini adalah situs penerbitan dan harus disebarkan ke dua folder virtual (FBA) :(. Tapi mungkin saya bisa mengelolanya juga. - person Robert Vuković; 16.03.2009

Anda dapat memberi kesempatan pada WSPBuilder. Ini adalah paket alat sumber terbuka solusi SharePoint. Saya tahu dengan WSPBuilder Anda pasti menyebarkan file ke folder bin dan resource dalam direktori aplikasi (...\Inetpub\wwwroot\wss\VirtualDirectories\80).

Jadi mungkin juga memungkinkan untuk menyebarkan file ke folder App_Browsers. Saya pikir ini patut dicoba.

person Flo    schedule 12.03.2009

Ini artikelnya menjelaskan tugas ini. Anda dapat menambahkan metode seperti ini ke kelas halaman master Anda:

private static void AddControlAdapterToType<T>(Type controlType) where T : ControlAdapter, new()
   {
       if (controlType == null)
       {
           throw new ArgumentNullException("controlType", "This argument can not be null!");
       }

       var adapters = HttpContext.Current.Request.Browser.Adapters;
       var key = controlType.AssemblyQualifiedName;
       if (!adapters.Contains(key))
       {
           var adapter = typeof(T).AssemblyQualifiedName;
           adapters.Add(key, adapter);
       }
   }

Dan kemudian Anda memanggilnya dari konstruktor Halaman Master seperti ini:

AddControlAdapterToType<YourCustomAdapter>(typeof(Microsoft.SharePoint.WebPartPages.ContentEditorWebPart));
person Serhiy    schedule 24.01.2013