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.




Meta-Spalten füllen aus Liste der übergeordneten Website

Unbeantwortet Dieser Beitrag hat 5 Antworten

Ohne Rang
9 Beiträge
Azubi_GOB erstellt 24 März 2010 11:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich habe eine nicht leichte Aufgabe bekommen:

Auf der root-Website von Sharepoint existiert eine Liste mit Spalten. Nun gibt es mehrere untergeordnete Projektseiten als Websites, wo Dokumente ausgetauscht werden.

Es ist nun meine Aufgabe herauszufinden, wie ich beim hochladen eines Dokuments in einer Projektseite, die Bibliothek-Spalten (Projektname, Projektleiter etc.) mit den Informationen, aus der Liste die auf der root-Ebene liegt, vorbelege. Der Benutzer gibt also beim Hochladen eines Dokuments die Projektnr. an und die anderen Spalten sollen demnach dann gefüllt werden.

Die Projektnr. dient mir dann als Schlüssel zur Filterung um an die Informationen heranzukommen.

Ich möchte jetzt wissen, wie ich die EditForm.aspx einer Bibliothek anpassen kann, und dort Code hinzufüge, wo ich mit dem Sharepoint-Objektmodel z.B. auf die Liste zugreife um die anderen Eingabefelder im Formular vorzubelegen.

Muss ich da mit dem Sharepoint-Designer arbeiten, oder mit Visual Studio? Wo fange ich an?

 

Bin für jeden Hinweis dankbar!

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 März 2010 14:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das ist ein Fall für Visual Studio. Allerdings würde ich es gar nicht erst auf der EditForm versuchen, sondern gleich einen Eventhandler machen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
4 Beiträge
der_rooon Als Antwort am 25 März 2010 09:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hey

ich würde dir einen Blick auf die Design Patterns zum Sharepoint auf msdn empfehlen. Für dich wäre da das Repository Pattern interessant, da man so schön den Zugriff auf die Daten von Sharepointlisten o.ä. kapseln kann: http://msdn.microsoft.com/en-us/library/ee413961.aspx

Es gibt dort auch irgendwo VS-Projekte zum download, um sich die Implementierungen mal an Bsp. anzusehen.

Der initiale Entwicklungsaufwand ist sicher etwas höher. Dafür muss man sich später aber nicht mehr mit fehleranfälligem Code wie Lists["*name*] oder Field[*name*] rumschlagen, kann sich so nette funktionen wie GetMetaData(int projectId) bauen und du kannst deine Applikation leicht erweitern. Und wenn einmal Änderungen vorgenommen werden müssen, bspw kommt eine neue Spalte hinzu, musst du dies nur an einer zentralen Stelle einpflegen.

Viele Grüße

Ohne Rang
9 Beiträge
Azubi_GOB Als Antwort am 29 März 2010 08:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vielen Dank für den Tip.

Design Patterns für Sharepoint werde ich mir in Zukunft anschauen. Ich habe fürs Erste jetzt das Sharepoint-Objektmodel benutzt und das Event ItemAdded überschrieben. Das belegt mir die Felder wie gewünscht vor und füllt diese auch wenn man Drag+Drop mit Explorer-Ansicht benutzt.

Das Hinzufügen/Entfernen des Events habe ich mit einem Websitefeature realisiert, so dass pro Projekseite diese Funktion aktiviert und deaktiviert werden kann. Das ganze dann auch al Solution verpackt. Hat wunderbar funktioniert :)

Jetzt ist nur noch die Fine-Tuning Anforderung, das wenn eine Projektseite erstellt wird, das Feature auch schon aktiviert ist und man nicht manuell zu den Websitefeatures gehen muss. Gibt es eine Standardeinstellung für Features das diese als Standardeinstellung Aktiv=TRUE haben? Oder muss ich beim Event für WebsiteCreate mich einbinden?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 29 März 2010 09:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich würde dafür eine Website entsprechend vorkonfigurieren, mit aktiviertem Feature und anderen Dingen. Diese speicherst Du dann als Vorlage und zum Erstellen von neuen Projektsites verwendest Du dann diese Vorlage.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
9 Beiträge
Azubi_GOB Als Antwort am 29 März 2010 10:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ok, das lässt sich sehr schnell erledigen ^^

Danke!