Domanda

Ho bisogno di decidere su un metodo per la memorizzazione di un sottoinsieme del contenuto di un sito di SharePoint, in modo che quando ho eliminare e ricreare alcuni elenchi come parte di un'attivazione delle caratteristiche, posso reinserire tutto questo torna contenuti in cui si dovrebbe appartenere. Ho un'idea me stesso, ma non so se è l'unico metodo e, soprattutto, il metodo giusto.

Il mio cliente mi ha creazione di un sistema di SharePoint per loro di comunicare con loro i clienti. Il processo di business ha forse 5 tappe in esso (forse è di più, io non so nemmeno perché non mi dicono tutto), e l'attuale sistema che ho scritto negli ultimi mesi è forse 2 tappe attraverso. Questo incontra la nostra scadenza di completare quei sistemi da Lunedi della prossima settimana ... ma a quel punto il mio cliente sta progettando di fare del sito live da quel punto.

In effetti, il loro lavoro con i clienti sarà in esecuzione in parallelo con il mio lavoro per loro. Come ho completare il mio lavoro su un server di test separato, io spingo ogni fase successiva del processo sul server di vivere. tempi di fermo pianificati durante i periodi non lavorativi (come un week-end) saranno disponibili per me per eseguire queste spinte. Tenere il passo in modo che il mio sviluppo è più veloce il processo di business attuale è il mio problema e off-topic ... quindi torniamo al problema che ho dichiarato all'inizio di questo post.

In questo sistema, si hanno una serie di caratteristiche che creeranno liste per i loro tipi di contenuto associati e tipi di campo quando attivato, ed eliminare queste liste quando la funzione è disattivata. La maggior parte degli aggiornamenti non hanno bisogno di disattivare e riattivare queste funzioni, come ad esempio i cambiamenti del flusso di lavoro, azioni personalizzate, moduli personalizzati, e ilk simili. Ma ci sono alcune parti che hanno bisogno di questo. Sul mio server di prova, va bene per me, per le liste cancella, ma una volta che il sito è attivo e non c'è corrispondenza dati reale, è assolutamente inaccettabile per fare questo. Così, quando ho bisogno di implementare una nuova modifica di funzionalità, ho bisogno di essere in grado di memorizzare i dati attualmente presenti in diverse liste, disattivare la funzione, riattivare la funzione, e il ripristino di tutti questi dati.

Forse io stesso ho paranco dalla mia stessa trappola con il sistema di funzione ho implementato. Purtroppo, la necessità di seguito fare diversi di questi "siti del progetto" significa che ho dovuto fare un sacco del mio codice con il concetto di "Può essere distribuito più volte" in mente.

Il mio piano attuale è quella di correre attraverso elenchi e raccolte, che saranno interessati dalla caratteristica particolare che deve essere ripristinato. File e tutte le loro versioni verranno salvati in una directory sul server. Poi, una serie di file di testo verrà utilizzato per memorizzare tutti gli importanti valori di campo per gli articoli. Questo comprende un sacco di cross-list ricerche di riferimento che dovranno essere mantenute, ma questo è abbastanza semplice. Poi, ho disattivare la funzione, implementare la nuova soluzione, e riattivare la funzione. Noi caricare tutti i file nell'ordine specificato dalle loro versioni e li aggiorna con i campi memorizzati per quelle versioni, in modo da mantenere la struttura di versione. Come ognuno è caricato prima, il nuovo ID è scelto, e tutte le ricerche rilevanti nel resto dei file vengono aggiornati (in qualche modo che mi assicuro non mi ri-aggiornamento in un secondo momento con un valore non corretto, naturalmente ). Dopo di che, si corre attraverso tutto il resto degli elementi nell'ordine più favorevole a mantenere i dati relazionali corretti. Questo riassume più o meno ciò che il mio piano attuale è. A mio vantaggio, non ci sono a lungo in esecuzione flussi di lavoro nel sistema che sarà interessata da questo, quindi non c'è niente che dovrà preoccuparsi di fare in modo nulla è "ancora in esecuzione" quando faccio queste cose.

Io non so davvero tutti i contro di questo approccio ... Posso immaginare sono abbastanza pesante. Ma io sono sicuro che cosa altre scelte ho anche, e le mie ricerche non ho alzato nulla. C'è qualcuno che può pensare di un'idea migliore? O sarà qualcuno mi dica che ho davvero nessun altroscelta? Grazie in anticipo!

È stato utile?

Soluzione

Beh, buona fortuna ... non credo di avere altre scelte a questo punto, se si ha realmente bisogno di roba di eliminazione. Tuttavia, se si potesse in qualche modo venire con un modo di non dover fare questo ...

Tuttavia, alcune cose mi vengono in mente - readding tutto potrebbe richiedere ore, se i segnalibri qualcuno una voce o invia il link a qualcun altro, non funzionerà dopo un aggiornamento, avendo a che fare cambiamenti nello schema sarà un dolore. E, come di solito avviene con SharePoint, ci sarà sicuramente qualche problema in agguato appena sotto la superficie a mordere quando si arriva.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top