Aggiornamento delle funzionalità sugli elenchi definiti XML
-
10-12-2019 - |
Domanda
Ho creato un progetto che ha definito alcuni tipi di contenuto e elenchi tramite XML.Dopo il suo rilascio, dobbiamo apportare alcuni aggiornamenti su questa funzione per includere alcune nuove funzionalità.La mia preoccupazione è che dal momento che tutto è stato fatto tramite XML potrebbe verificarsi problemi principali.
Gli elenchi inizialmente creati sono critici.Facendo un aggiornamento-spsolution sta percorrendo gli elenchi e cercherà di provvedere a quelli nuovi o vedranno che esistono già e non fanno nulla?Gli aggiornamenti non stanno toccando gli elenchi, ma aggiornando alcune pagine ASPX, file JavaScript e aggiungendo la localizzazione.
Dal momento che questo progetto, ho spostato a creare e provisioning list tramite il codice di attivazione delle funzioni anziché le istanze dell'elenco statico, ho potuto gestire tutto nel ricevitore di eventi di aggiornamento delle funzionalità se questo è stato il caso.
Soluzione
Elenchi definiti tramite XML vengono cancellati se si sceglie "Distribuisci" da Visual Studio, ma rimangono intatti usando Update-SPSolution
. Se si stanno cambiando solo i file, le pagine o il codice distribuiti nel proprio assemblaggio, le modifiche dovrebbero essere spinta con un Update-SPSolution
.
L'unica cosa che potrebbe essere necessario considerare è che i file che sono stati distribuiti su SharePoint tramite moduli in SP 2010 non vengono automaticamente sovrascritti utilizzando Update-SPSolution
in modo da poterli rimuovere prima se ci sono modifiche a loro. Questo non è il caso con i file distribuiti sul file system. Importante da notare è che il comando Update-SPSolution
non attiva l'evento SPFeatureReceiver.FeatureUpgrading
in modo che non sia un approccio valido per rimuovere questi file. Vedi: Aggiorna-spsolution Trigger a spfeature.upgrade ()?
In SP 2013 è possibile utilizzare l'attributo ReplaceContent="TRUE"
per gestire questo problema. Vedi: Scrivendo i file ghostabili nelle librerie di SharePoint 2013 utilizzando elementi di funzionalità (nessun codice)