Question

Je dois décider d'une méthode pour stocker un sous-ensemble du contenu dans un site SharePoint, de sorte que lorsque supprimer et recréer certaines listes dans le cadre d'une activation de fonction, je peux re-insérer tout ce contenu là où il devraient appartenir. J'ai une idée moi-même, mais je ne sais pas si c'est la seule méthode et plus important encore, la bonne méthode.

Mon client m'a pour eux la création d'un système de SharePoint pour communiquer avec leurs clients . Le processus d'affaires a peut-être 5 étapes (peut-être il est plus, je ne sais même pas parce qu'ils ne me disent pas tout), et le système actuel, je l'ai écrit au cours des derniers mois est peut-être 2 étapes par. Cela répond à notre date limite de la réalisation de ces systèmes d'ici lundi la semaine prochaine ... mais à ce moment-là mon client prévoit de rendre le site en direct à partir de ce moment-là.

En effet, leur travail avec leurs clients seront en cours d'exécution en parallèle avec mon travail pour eux. Alors que je termine mon travail sur un serveur de test séparé, je vais pousser chaque étape suivante du processus sur le serveur en direct. programmées pendant les périodes les temps d'immobilisation non commerciales (comme un week-end) seront disponibles pour moi d'effectuer ces poussées. Garder le rythme afin que mon développement est plus rapide que le processus d'affaires réel est mon problème et hors sujet ... alors revenons au problème je l'ai dit au début de ce post.

Dans ce système, nous avons des ensembles de fonctionnalités qui permettront de créer des listes pour les types de contenu associés et les types de champs lorsqu'il est activé, et supprimer ces listes lorsque la fonction est désactivée. La plupart des mises à jour ne ont pas besoin de désactiver et réactiver ces fonctionnalités, telles que les changements de flux de travail, des actions personnalisées, des formulaires personnalisés, et même acabit. Mais il y a certaines parties qui ne demandent. Sur mon serveur de test, il me va bien pour faire disparaître les listes, mais une fois que le site est en direct et il y a des données réelles de la correspondance, il est tout à fait inacceptable pour le faire. Alors, quand je dois mettre en œuvre un nouveau changement de fonctionnalité, je dois être en mesure de stocker les données actuellement présentes dans plusieurs listes, désactiver la fonction, réactiver la fonction, et restaurer toutes ces données.

Peut-être que je me hisser par mon propre jeu avec le système de fonction I mis en œuvre. Malheureusement, la nécessité de faire plus tard plusieurs de ces « sites du projet » signifiait que je devais faire beaucoup de mon code avec le concept de « peut être déployé à plusieurs reprises » à l'esprit.

Mon plan actuel est d'exécuter des listes et des bibliothèques qui seront affectées par la caractéristique particulière qui doit être remis à zéro. Les fichiers et toutes leurs versions seront enregistrées dans un répertoire sur le serveur. Ensuite, un ensemble de fichiers texte sera utilisé pour stocker toutes les valeurs de champ importantes pour les articles. Cela comprend un grand nombre de recherches de référence croisée liste qui devront être maintenus, mais c'est assez simple. Ensuite, je désactive la fonction, déployer la nouvelle solution, et réactiver la fonction. Nous téléchargeons tous les fichiers dans l'ordre spécifié par leurs versions et les mettre à jour avec les champs stockés pour ces versions, de sorte que nous retenons la structure de version. Comme chacun est d'abord téléchargé, le nouvel ID est choisi, et toutes les recherches pertinentes dans le reste des fichiers sont mis à jour (d'une certaine manière que je fais que je ne re-mettre à jour plus tard avec une valeur incorrecte, bien sûr ). Après cela, nous courons à travers tout le reste des éléments dans l'ordre le plus favorable au maintien de la bonne données relationnelles. Cela résume à peu près ce que mon plan actuel. Pour mon avantage, il n'y a pas de long flux de travail en cours d'exécution dans le système qui sera affecté par cela, donc il n'y a rien que je vais devoir vous soucier de faire que rien ne « en cours d'exécution encore » quand je fais ce genre de choses.

Je ne sais pas vraiment tous les inconvénients de cette approche ... Je peux imaginer qu'ils sont assez lourdes. Mais je ne suis pas sûr ce que d'autres choix que j'ai même, et mes recherches ont pas tourné quoi que ce soit. Est-ce qu'il ya quelqu'un qui peut penser à une meilleure idée? Ou quelqu'un vient de me dire que je ne sais vraiment pas d'autrechoix? Merci d'avance!

Était-ce utile?

La solution

Eh bien, bonne chance ... Je ne pense pas que vous avez d'autres choix à ce stade, si vous avez vraiment besoin de supprimer des choses. Cependant, si vous pouviez venir en quelque sorte une façon de ne pas avoir à faire ...

Cependant, peu de choses que je peux penser - readding tout pourrait prendre des heures, si quelqu'un bookmarks un élément ou envoie le lien à quelqu'un d'autre, il ne fonctionnera pas après une mise à jour, d'avoir à faire des changements dans le schéma sera un douleur. Et comme cela est généralement le cas avec SharePoint, il y aura sûrement quelques problèmes qui rôdent juste sous la surface de vous mordre quand vous y arrivez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top