Domanda

Questa è probabilmente una domanda molto semplice per molti, ma il mio background è come uno sviluppatore SharePoint. Ho fatto molto poco con le pagine wiki o le pagine del sito in generale.

Sto creando un sito SharePoint 2010 per un piccolo team nella nostra organizzazione e abbiamo selezionato per utilizzare il modello del sito del team. Ho passato un po 'di tempo aggiungendo pagine web, immagini e testo nella home page (Sitepages / home.aspx) come mezzo per visualizzare ciò che potremmo fare con il sito. Questo è stato tutto fatto nel mio ambiente di sviluppo.

Ora che siamo contenti della versione di sviluppo della pagina, esiste un modo per esportarlo e aggiungerlo al nostro progetto Visual Studio in modo che alla fine possa essere ri-distribuito alla produzione? Questo è anche un buon approccio, o dovremmo aspettarci solo di ricreare la pagina manualmente in produzione?

Il mio primo pensiero è stato che potremmo esportare la pagina da SPD e distribuirla tramite una funzione del modulo, ma da allora ho appreso che il controllo di EmbeddedFampField nella pagina Wiki lo rende impossibile.

Ho anche provato questo approccio: http://www.sharemuch.com/2012/02/20/How-to-automatich-provision-SharePoint-2010-Wiki-Page-content/ . La pagina risultante non renderà correttamente le parti Web (le parti Web non sono lì, solo un po 'di testo). Ottengo anche "La pagina corrente è stata personalizzata dal suo modello. Rivedi al modello" Messaggio e non riesci a farcela andare via, anche se clicco "Ripristina il modello".

Il mio modulo è simile a questo:

<Module Name="OneCallPages" Url="SitePages" SetupPath="FEATURES\MyProject.SharePoint_SiteAssetsFeature\MyProjectAssets\SitePages" List="119">
  <File Path="Welcome.aspx" Url="Welcome.aspx" Type="GhostableInLibrary">
    <Property
      Name="WikiField"
      Type="string"
      Value="..."/>
   </File>
</Module>
.

È stato utile?

Soluzione 2

Molte grazie a RJCUP3 per l'aiuto.Ho finito per usare l'approccio qui descritto qui: http://sharepointtruggle.blogspot.COM / 2011/10 / programmaticamente-provvisorio-wiki.html .

Fondamentalmente, implica la creazione di un file XML con il contenuto della pagina Wiki, quindi esporrando ciascuna delle parti Web sulla pagina da SPD e fare riferimento al contenuto del file risultante .Webpart (.dwp) da XML.Quindi una classe personalizzata si prende cura di creare la pagina Wiki a livello di programmazione e importazione delle parti Web.

Altri suggerimenti

Hai provato a salvare il sito come modello ed esportazione del .wsp?Quindi è possibile caricare il .WSP nel catalogo delle soluzioni sull'ambiente di destinazione e utilizzarlo come modello di sito per distribuire il layout della pagina.

Per salvare il sito come modello Vai su Impostazioni sito> Salva sito come modello.Facile come quello.

Il .WSP sarà memorizzato nel catalogo soluzioni che può essere navigato a:

http://[path to site collection]/_catalogs/solutions/

Step by Step Le istruzioni possono essere trovate qui .

.

Quando crei o copia le wikipages, assicurati di aggiungere la proprietà "Wikicontent" e le parti web. Imposta il wikicontent con:

Item[SPBuiltInFieldId.WikiField] = wikiContent;
Item.Update();
.

Aggiungi WebParts con Web Part Manager (questo esempio copia le parti Web da una pagina all'altra):

var wpManagerTemplate = webTemplate.GetLimitedWebPartManager(item.Url, System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);
var wpManagerNew = web.GetLimitedWebPartManager(newFile.Item.Url, System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);

 var webParts = wpManagerTemplate.WebParts;
 foreach (WebPart webpart in webParts)
 {
     wpManagerNew.AddWebPart(webpart, "wpz", webpart.ZoneIndex);
 }
.

Vedi anche: https:// sharepointkaos.wordpress.com/2015/08/07/copy-page-from-one-wikibriary-to-another/

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