Sollte ich Lösungen und Funktionen in einem 1-1-Verhältnis?
-
22-08-2019 - |
Frage
Ich habe eine komplexe Sharepoint bereitstellen mit mehreren Eventreceivers und Workflows.
Ich habe Schemaänderungen auch auf bestehende Listen, das Hinzufügen neuer Spalten von Metadaten und Ändern vorhandener Spalten.
Soll ich einen einzigen Merkmal, Eventreceiver oder Workflow-Paket, zu einer einzigen Lösung, oder soll ich mehrere Funktionen innerhalb der einzelnen Lösung setzen, da sie alle zusammen arbeiten?
Ein wichtiger Grund ich frage ist für zukünftigen Code-Upgrades. Wenn die Funktionen getrennt sind, dann würde ein Upgrade in einem Teil des Codes nicht eine erneute deploy aller Funktionen in der Lösung erfordern. Ist das etwas, was mich kümmern sollte oder nicht die „Stsadmin -o upgradesolution“ kümmert sich um alle Probleme mit dem Upgrade von einer Lösung mit vielen Funktionen?
Lassen Sie mich wissen, ob dies Sinn zu allen Sharepoint-Gurus macht da draußen.
Danke,
Keith
Update: Mit Blick auf die Website drax verwiesen wird, ich diese Referenz-Website gefunden: http://msdn.microsoft.com /en-us/library/aa543659.aspx
Diese Aussage scheint auf die Verbesserung der Funktionen in Lösungen ein großes Handicap zu setzen:
Lösung Upgrade kann nur verwendet werden, ersetzen Dateien. Sie können neue Dateien hinzufügen in einer Lösung aktualisieren und entfernen Sie alte Versionen der Dateien, aber Sie können nicht Installieren der Funktionen oder Funktions Ereignis verwenden Handler Code für Funktion ausführen Installation und Aktivierung. Das Folgende Operationen werden nicht unterstützt in Lösung aktualisieren.
Entfernen alte Funktionen in einem neuen Version einer Lösung.
Das Hinzufügen von neuen Funktionen in einer Lösung aktualisieren.
Aktualisieren oder den Empfänger zu ändern Montag für bestehende Funktionen in einem neue Version einer Lösung.
Das Hinzufügen oder Ändern der Funktionselemente (Element.xml-Dateien) in einer neuen Version eine Lösung.
Das Hinzufügen oder Ändern der Funktions Eigenschaften in einer neuen Version eines Lösung.
Ändern der ID oder den Umfang der alten Features in einer neuen Version eines Lösung.
Entfernen von Funktionselementen (Element.xml-Dateien) in einer neuen Version eine Lösung.
Entfernen von Feature-Eigenschaften in einem neuen Version einer Lösung.
So ... Was können Sie mit einer Lösung zu tun Upgrade?
Lösung
Ich würde Ihnen raten gegen Splitting alles in mehrere Lösungen. Maintaing, die schnell Alptraum werden kann. Versuchen Sie, Ihr Projekt zu strukturieren, die WSP erstellen wird verwendet, sollte in gleicher Weise wie 12 Ordner von Sharepoint. Dann können Sie verwenden WSP-Builder , letzte stabile Version viele nützliche Sachen bringt.
Auch habe ich keine Probleme mit Umschichtung Lösungen bemerkt. Nach diesem Artikel und meiner Erfahrung Einsatz von WSP kümmert Synchronisation zwischen den Versionen. Also, wenn Sie einige neue Features hinzufügen, werden sie angezeigt, und wenn Sie entfernen / ändern Features werden sie entsprechend geändert werden.
EDITED:
So habe ich einige schnelle Forschung auf MOSS aktualisiert Thema. Laut MS gibt es zwei Möglichkeiten der Aktualisierung Lösungen:
- In-Place-Update
- Incremental Update
Im Grunde genommen in-Place-Update ist Standardweg updaten. Das heißt, Sie setzen auf build-in-Funktionalität, wie in dieser ( gleiches Dokument wie zuvor) Dokument geschrieben. Problem bei dieser Lösung ist, dass es ziemlich viel Funktionalität fehlt (Versionierung, von IDs von Funktionen zu ändern, ...).
Inkremental-Update (das ist, wie MS es wahrscheinlich nennt) verlassen Sie sich nicht auf build-in-Lösungen. Das heißt, es ist bis zu jeder es selbst zu implementieren :(. Was ist noch besser, ich war nicht wirklich in der Lage keine Richtlinien für diesen Ansatz zu finden. Ich diesen Ansatz nehme an, Sie nehmen möchte, ist Beispiel für Zwischenaktualisierung (Splitting Projekt in viele unabhängige Lösungen).
Beachten Sie auch, dass inkrementelle Update nicht offiziell von MS unterstützt wird.
Also ich weiß nicht wirklich, welchen Rat soll ich dir geben. Single WSP ist mehr als maintanable buch von ihnen, auch wenn Sie nur ein paar kleinere Änderungen tun Updates perfekt funktionieren. Aber wenn Sie benötigen einige größere strukturelle Änderungen vorzunehmen Probleme beginnen zu zeigen.
Ich werde wahrscheinlich warten und sehen, ob die Menschen mit mehr MOSS Expertise etwas zu diesem Thema sagen können.
Andere Tipps
Im Grunde (aus den Gründen, die Sie erwähnt haben), sollten Sie an Lösungen denken, wie Sie Baugruppen .Net würde - atomare Einheiten des Codes, der von den anderen getrennt eingesetzt werden können. Mit upgradesolution bewirkt eine redeploy aller enthaltenen Features - wenn nichts geändert hat, dann für die Websites, nichts sollte, die diese Funktion verwenden, ändern. Aber wenn, dass Sie nervös macht, sollten Sie es Aufspaltung.
UpgradeSolution ist wirklich praktisch, wenn Sie die Montage einfach aktualisieren und verlassen die bereitgestellten Dateien intakt.
Wenn Sie -local angeben, dann wird upgradesolution eine vollständige Iisreset über Ihre Infrastruktur durchzuführen. Das ist wirklich bemerkenswert, denn wenn Sie die richtige Zeit Upgrades auszuführen planen.