Frage

Zunächst sagen wir, ich habe zwei Standortsammlungen in einer einzigen Web-App in Port 80:

    .
  1. Hauptseite Sammlung: /
  2. verschachtelte Site-Sammlung: / site / special /

    Nehmen wir an, ich habe ein Modul in einer Site-Collection-SCAPED-Funktion, deren Zweck darin besteht, ein paar Skripts in einer Site-Sammlung hinzuzufügen (dies kann genauso einfach als ScriptLink-Steuerelemente in einer benutzerdefinierten Master-Seite bereitgestellt werden Für eine Site-Sammlung gilt meine Frage immer noch): generasacodicetagpre.

    Beide der obigen Arbeiten, sofern das Merkmal in der Site-Site-Site-Site aktiviert ist, wird die Funktion aktiviert. Wenn ich jedoch nur das Feature auf die sekundäre 'spezielle' Site Collection (neue Isolationsgrenze, verschachtelte URL-Pfad) bereitstellt, wird der Script1-Referenzpause nicht angezeigt?

    Der Browser sucht nach Custom1.js auf dem folgenden Pfad:

    / style library / mysolution / custom1.js

    Wenn wirklich die Datei bei ist

    / site / special / style library / mysolution / custom1.js

    Der zweite ScriptLink funktioniert immer, da _LAYOUTS global ist und der Browser somit immer findet /_layouts/mysolution/custom2.js egal welche Site-Sammlung die Funktion eingesetzt wurde.

    richtig? Ich denke, ich mache nur einen Sanity-Check.

    Ich bin durch den einfachen Zugriff auf Skripts, den ich auf einer Ad-hoc-Basis in der Bibliothek /--Bibliothek / bearbeiten kann .

War es hilfreich?

Lösung

Versuchen Sie dies für den ersten Link, da es genau ansprechen soll, was Sie sehen, obwohl bestimmte Bedienelemente den Wert nicht erweitern. generasacodicetagpre.

, ob es sich in _layouts oder Stilbibliothek handelt, ist eine Debatte, die seit der SP2007-Beta 2006 ohne einen klaren Gewinner tobte.Die allgemeine Regel ist, dass, wenn die Datei etwas von Site-Besitzern modifiziert werden kann, dann sollte es in "Stilbibliothek" unterwegs sein, und wenn die Datei etwas ist, das nur Admins-Modifizierungen modifizieren sollen, ist es in _layouts.Ich vereinfache natürlich, wie es mindestens ein Dutzend Unterschiede zwischen den beiden Standorten gibt.

Dies ist nur ein weiterer der Orte, an denen die offizielle SharePoint-Antwort auf alles gilt: "Es hängt von" ab

Andere Tipps

Bitte schauen Sie sich die Antworten auf diese Frage auch . Es ist ein komplexes Thema ohne "richtige" Antwort. Ich denke, Chris O'Brien summierte es in seiner Antwort ziemlich gut.

Meine persönliche Meinung ist, dass es abhängt :) In Ihrem Fall, da Sie dieselbe .js-Datei in zwei (oder mehr) Site-Sammlungen verwenden möchten, würde ich es definitiv unter "_LAYOUTS" stellen.

Eine andere Frage ist: Haben Sie Entwicklungsstadien? Entwicklungsabnahme-Produktion? Haben Sie eine Art Quellkontrolle? Wenn die Antwort auf eines davon Ja ist, dann würde ich es noch einmal unter "_layouts" setzen. Besonders weil es eine JavaScript-Datei ist. Warum? Da JavaScript auch "Code" enthält, führt es eine Art Logik aus, manchmal hat es sogar Geschäftslogik (etwas ausblenden, wenn einige Felder ausgefüllt sind, die Daten vor dem Senden usw. bestätigen.). Wenn der gesamte .NET-Code die Entwicklung-> Annahme vor der Produktion durchläuft, warum sollte der JavaScript-Code "privilegiert" sein, indem er direkt zur Produktion geht? Warum sollte es nicht die gleichen Testphasen durchgehen? Natürlich sollte es.

und wenn Sie eine Quellsteuerung haben und ein Modul verwenden, um Ihre Datei in einer Dokumentenbibliothek als "GhostableInlibrary" bereitzustellen, denke ich, dass es der Beginn eines Albtraums ist, wenn Sie die Benutzer anpassen lassen. Stellen Sie sich vor, Sie haben Ihre Datei (JS oder CSS) über das Modul auf 10 Standortsammlungen bereitgestellt. Bei 5 von ihnen haben Site-Administratoren die Datei geändert. Dies bedeutet, dass Ihre Datei jetzt von der Version im Dateisystem entkoppelt ist. Wenn Sie als Nächstes einige globale Änderungen in dieser Datei bereitstellen möchten, und möchten, dass sie auf allen Site-Sammlungen angewendet werden soll, fehlt es still, wenn die Datei angepasst wurde. Sie benötigen zunächst diese Dateien auf der Website-Definition, und dann wird Ihre vom Modul geschobene Datei berücksichtigt. Sie verlieren jedoch jede Änderung, die die Site-Administratoren vorgenommen haben. Oder, wenn Sie einige dieser Änderungen behalten möchten, und legen Sie es in Ihre Version auf der Quellsteuerung an ... Sie müssen jede benutzerdefinierte Datei mit einem nacheinander annehmen, sie manuell mit der A-Source-Steuerung vergleichen und die Änderungen zusammenführen . Nein, ich denke, das ist besser, vermieden zu werden.

Sie wissen jedoch, dass Ihre SharePoint-Farm besser ist und wie es verwendet wird. Möglicherweise gibt es vielleicht einige Besonderheiten in Ihrem Setup, die danach, diese Dateien in die Stilbibliothek zu bringen. Wenn ja, bitte sag mir, ich bin neugierig :)

Prost!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top