Frage

muss ich auf eine Methode entscheiden, für eine Teilmenge des Inhalts in einer Sharepoint-Website zu speichern, so dass, wenn ich bestimmte Listen als Teil eines Feature Aktivierung löschen und neu erstellen, kann ich wieder einsetzen alle diese Inhalte zurück, wo es gehören soll. Ich habe eine Idee selbst, aber ich weiß nicht, ob es die einzige Methode ist, und was noch wichtiger ist, die richtige Methode.

Mein Mandant hat mir ein Sharepoint-System zu schaffen für sie mit ihre Kunden zu kommunizieren. Der Geschäftsprozess hat vielleicht 5 Stufen in ihm (vielleicht ist es mehr, ich weiß nicht einmal, weil sie sagen mir nicht alles), und das derzeitige System ich in den letzten Monaten geschrieben habe, ist vielleicht 2 Stufen durch. Dies trifft unsere Frist diese Systeme bis Montag nächste Woche abgeschlossen ... aber an diesem Punkt meines Mandant plant darauf, die Website live von diesem Punkt.

In der Tat, ihre Arbeit mit ihren Kunden wird parallel zu meiner Arbeit für sie läuft. Als ich meine eigene Arbeit auf einem separaten Testserver abgeschlossen ist, werde ich jede folgende Stufe des Prozesses auf den Live-Server schieben. Geplante Ausfallzeiten außerhalb der Geschäftszeiten (wie ein Wochenende) verfügbar sein wird für mich, diese Schübe auszuführen. Schritt zu halten, so dass meine Entwicklung ist schneller als der eigentliche Geschäftsprozess mein eigenes Problem ist und vom Thema ... also lassen Sie sich wieder auf das Problem, das ich zu Beginn dieses Beitrags angegeben.

In diesem System haben wir Sätze von Funktionen, die Listen für ihre zugeordneten Inhaltstypen und Feldtypen erstellen, wenn aktiviert, und diese Listen löschen, wenn die Funktion deaktiviert wird. Die meisten Updates brauchen nicht zu deaktivieren und diese Funktionen, wie Workflow-Änderungen, benutzerdefinierte Aktionen, benutzerdefinierte Formulare und ähnliche ilk zu reaktivieren. Aber es gibt einige Teile, die dies tun müssen. Auf meinem Test-Server, dann ist es für mich auszulöschen Listen in Ordnung, aber wenn die Website online ist, und es gibt reale Korrespondenzdaten, es ist absolut inakzeptabel, dies zu tun. Also, wenn ich brauche eine neue Änderung der Funktionalität zu implementieren, muss ich der Lage sein, die aktuell vorliegenden Daten zu speichern, in mehrere Listen, deaktivieren Sie die Funktion aktivieren Sie die Funktion und Wiederherstellung aller dieser Daten.

Vielleicht habe ich hissen mich von meiner eigenen Waffe geschlagen mit dem Feature-System implementiert ich. Leider ist die Notwendigkeit, später machen einige dieser „Projektseiten“ bedeutete, dass ich mit dem Begriff der viel von meinem Code zu tun hatte „wiederholt eingesetzt werden kann“ im Auge behalten.

Mein aktueller Plan ist durch Listen und Bibliotheken zu laufen, die durch die besondere Funktion betroffen sein werden, die zurückgesetzt werden soll. Dateien und all ihre Versionen werden in einem Verzeichnis auf dem Server gespeichert werden. Dann wird eine Reihe von Textdateien verwendet werden alle wichtigen Feldwerte zu speichern, für die Elemente. Dazu gehört auch eine Menge Quer Liste Referenz Lookups, die eingehalten werden müssen, aber das ist einfach genug. Dann deaktiviere ich die Funktion, die neue Lösung bereitstellen und die Funktion aktiviert. Wir laden alle Dateien in der Reihenfolge ihrer Versionen angegeben und aktualisieren Sie sie mit den gespeicherten Felder für diese Versionen, so dass wir die Version Struktur beibehalten. Da jeder ein erstes hochgeladen wird, wird die neue ID ausgesucht, und alle relevanten Lookups in den Rest der Dateien aktualisiert werden (in irgendeiner Art und Weise, dass ich sicherstellen, dass Sie wieder Update ich es nicht später mit einem falschen Wert, natürlich ). Danach laufen wir alle durch den Rest der Elemente in der Reihenfolge am ehesten zu den relationalen Daten korrekt zu halten. Diese grob fasst zusammen, was mein aktueller Plan ist. Zu meinem Vorteile gibt es keine langen Lauf Workflows im System, die davon betroffen werden, so gibt es nichts, was ich Sorge darum, dass nichts haben wird „noch läuft“, wenn ich dieses Zeug.

Ich weiß nicht, wirklich alle Nachteile dieses Ansatzes ... kann ich mir vorstellen, sie recht kräftig sind. Aber ich bin nicht sicher, was andere Entscheidungen, die ich noch habe, und meine Suche hat nichts aufgedreht. Gibt es jemand, kann eine bessere Idee denken? Oder wird jemand mir nur sagen, dass ich wirklich keine andere habenWahl? Vielen Dank im Voraus!

War es hilfreich?

Lösung

Nun, viel Glück ... Ich glaube nicht, dass Sie an dieser Stelle andere Wahl haben, wenn Sie wirklich zu löschen Zeug brauchen. wenn Sie könnten jedoch irgendwie kommen mit einem Weg, der nicht so ...

zu tun hat

Dennoch paar Dinge, die ich mir vorstellen kann - readding alles Stunden in Anspruch nehmen könnte, wenn jemand Lesezeichen ein Element oder den Link zu dem jemand anderes, es wird nicht funktionieren nach einem Update, werden Änderungen in dem Schema zu tun haben werden, um eine Schmerzen. Und wie es gewöhnlich der Fall mit Sharepoint, es wird sicherlich einige Probleme lauern knapp unter der Oberfläche, die Sie beißen, wenn Sie dort ankommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top