approccio migliore per l'aggiunta di una parte web di una pagina esistente in più ambienti

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

  •  16-10-2019
  •  | 
  •  

Domanda

Se hai una pagina esistente in ogni ambiente per esempio default.aspx e si desidera aggiungere una web part e promuovere ad ogni ambiente qual è l'approccio migliore?

  1. Crea una WSP con una caratteristica ricevitore e aggiungere alla pagina attraverso l'attivazione
  2. Crea una WSP con una caratteristica e aggiungere un modulo con AllUserWebParts (richiede l'implementazione pagina aspx con esso però)
  3. esportazione e l'importazione web Manuale parte
  4. lo script PowerShell utilizzando SPLimitedWebPartManager
  5. Altro ...
È stato utile?

Soluzione

Si potrebbe trovare lo SP2010 client Object Model usefule qui. Esportare il web part a una Web Part Control Descrizione del file (con estensione dwp o .webpart) e poi capovolgere in questo modo:

using (ClientContext context = new ClientContext("http://server")) {

    Web web = context.Web;
    File file = web.GetFileByServerRelativeUrl("/SitePages/Default.aspx");
    LimitedWebPartManager wpMgr = file.GetLimitedWebPartManager(
        PersonalizationScope.Shared);

    WebPartDefinition webPartDef = wpMgr.ImportWebPart(  
        System.IO.File.ReadAllText("Content_Editor.dwp"));
    wpMgr.AddWebPart(webPartDef.WebPart, "Left", 1);

    context.ExecuteQuery();
}

Altri suggerimenti

Nella categoria "Altro", è sufficiente copiare e incollare il codice dalla pagina in un ambiente all'altro in SharePoint Designer. Tutto dipende dai requisiti di business, non è vero?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top