SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Webpart Deployment auf eine SiteCollection beschränken

Unbeantwortet Dieser Beitrag hat 4 Antworten

Ohne Rang
9 Beiträge
Mario Kretschmer erstellt 29 Juni 2009 16:34
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe eine Frage bezüglich des Deployments von Webparts.
Es gibt mehrere Möglichkeiten Webparts auf dem Sharepoint-Server zu installieren:

- Installation ins GAC
- Installation ins bin-Verzeichnis der Web
- als wsp-Datei
 
Bei jeder dieser Möglichkeiten  kann der installierte Webpart standardmäßig von jedem SiteCollection-Administrator zum Webpartkatalog der SiteCollection hinzugefügt werden.
Gibt es eine Möglichkeit einen Webpart nur einer einzigen SiteCollection zur Verfügung zu stellen, so dass er in allen anderen Seiten auch für die SiteCollection-Administratoren unsichtbar bleibt.

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 30 Juni 2009 08:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Kurze Antwort: nein

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 30 Juni 2009 09:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ein WebPart kann nur im GAC oder Bin Verzeichnis der WebAnwendung liegen, die WSP Datei ist nur das Feature. Es gibt zum WebPart ein *.webpart Datei die das WebPart beschreibt und auch welches Assembly und Klasse dafür verantwortlich ist (muss als SafeControl in *.webconfig sein)

Es ist nämlich auch möglich ein WebPart hinzufügen was nicht im Globalen WebPart Katalog aufgelistet ist in dem man es einfach der Webseite dierekt hinzufügt. Manuell oder per Feature über das Module->File element oder auch bei FeatureActivated zur Webseite somit ist es nicht im Globalen WebPart Katalog vorhanden.

 

Ohne Rang
9 Beiträge
Mario Kretschmer Als Antwort am 30 Juni 2009 16:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das man ein Webpart direkt in der Webseite hinzufügen kann, ist mir bekannt. Meiner Meinung nach ist es dafür aber notwendig, dass die entsprechende DLL-Datei im bin-Verzeichnis oder im GAC vorhanden sein muss. Damit könnte ein SiteCollectionAdministrator den Webpart in den Webpart-Katalog aufnehmen, was ja verhindert werden soll.

Was meinst du mit Hinzufügen "per Feature über das Module->File Element"?

Ohne Rang
5 Beiträge
Rene Muster Als Antwort am 3 Juli 2009 19:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Um ein WebPart sinnvoll (!) zu deployen, sollte dieses ja in einem Feature enthalten sein. Definierst du in diesem Feature - welches über die feature.xml auch die von Thomas erwähnte .webpart Datei enthalten sollte - den Scope auf "Site" muss erst das Feature aktiviert werden. Dann werden automatisch die .webpart Dateien in die WebPartGallerie hochgeladen.

Die feature.xml sollte also solch einen Eintrag haben:

  <ElementManifests>
    <ElementManifest Location="elements.xml"/>
    <ElementFile Location="MeinWebPart.webpart"/>
  </ElementManifests>

und die elements.xml solch einen:

  <Module Name="WebPartPopulation" Url="_catalogs/wp" RootWebOnly="TRUE">
    <File Url="MeinWebPart.webpart" Type="GhostableInLibrary">
      <Property Name="Group" Value="Meine Gruppe"></Property>
      <Property Name="QuickAddGroups" Value="Meine Gruppe" />
    </File>
  </Module>

 

Über die Property-Elemente kannst du noch die diversen Properties für das WebPart setzen.