Un esempio di come creare, in SharePoint 2007 (WSS3 - MOSS), via codice una lista partendo da un template di lista salvato come file STP (tramite il metodo CreateListFromRpc).

C#

//using System.Collections.Specialized;
//using Microsoft.SharePoint;
NameValueCollection qs = new NameValueCollection();
qs.Add("CustomTemplate", "FileName.stp");
qs.Add("FeatureId", "{C5E8FDF8-6DA1-4cb6-8452-9B029D0AD092}");
qs.Add("ListTemplate", "30054");
qs.Add("Title", "MyDoc");
qs.Add("Description", "");
Uri u = new Uri("javascript:void(0)");
SPList list = web.Lists.CreateListFromRpc(qs, out u);
list.Title = "My Document Library";
list.Update();
Per far questo è necessario avere:
  • Il nome del file stp (i file stp si trovano in /_catalogs/lt/Forms/AllItems.aspx)
  • l'ID della feature da cui è stata creata la lista o document library (FeatureId = ListTemplate/Details/FeatureId)
  • L'ID assegnato al template di lista(ListTemplate = ListTemplate/Details/TemplateType)
le ultime due informazioni sono ricavabili dal file manifest.xml contenuto nel file stp (accessibile cambiando l'estensione da stp a cab).

XML

<?xml version="1.0" encoding="UTF-8" ?>
<ListTemplate WebUrl="http://localhost/miosito">
  <Details>
    <TemplateDescription></TemplateDescription>
    <TemplateTitle>MyTemplateList</TemplateTitle>
    <ProductVersion>3</ProductVersion>
    <Language>1033</Language>
    <TemplateID>1</TemplateID>
    <Configuration>1</Configuration>
    <FeatureId>{C5E8FDF8-6DA1-4cb6-8452-9B029D0AD092}</FeatureId>
    <TemplateType>30054</TemplateType>
    <BaseType>1</BaseType>
  </Details>
  ...
</ListTemplate>
Tags:
SharePoint498 SharePoint 2007218
Potrebbe interessarti anche: