SharePoint 2010 - Verbesserungen bei Master Detail Relationships

Von Gerald Werner 8. December 2009 14:02

Verbesserungen bei Lookup Fields

Die Verwendung von Nachschlagefeldern war ja ein Muss bei vielen SharePoint 2007 Portalen. Leider sind sie bei uns Consultants nicht immer geliebt: die Beziehungen werden sehr lose im System abgebildet, viele Funktionen mussten mit Eventhandlern und anderen Tricks ergänzt werden.

Im neuen SharePoint 2010 wird nun vieles besser:

- Lookups können nun auch mit constraints definiert werden: Das Löschen eines Parents mit existierenden Children kann verhindert werden. Alternativ dazu können wir die untergeordneten Elemente gleich mitlöschen.

- Es können auch weitere Informationen des übergeordneten Eintrages zur Anzeige heranzogen werden (man kannte das vom BDC)

image

Customizing von Forms

Neu ist nun auch, dass man im Browser die entsprechenden Formulare zur Anzeige, Erfassung und Bearbeitung von Elementen bearbeiten kann (durch einen entsprechenden Link im Ribbon). Man kann dabei sehr einfach „related Lists“ einfügen. SharePoint kümmert sich dabei um die Connections und den Rest … etwaige Fallen die mit der alten SharePoint Designer Version aufgetreten sind nun Vergangenheit.

clip_image004

So könnte dann das Detail aussehen (und ja: man kann die Darstellung im Dialog auf die normale Formansicht umstellen … bin mir sicher dass das einige so haben wollen … Navigation und so ;)

clip_image006 

Natürlich wäre es jetzt noch schön wenn man auf den Link unten klickt, der neue Contact sich öffnet und die Beziehung automatisch hergestellt wird … geht aber leider nicht (out-of-the-box). Einen eleganten Weg das zu realisieren wären Custom Actions.

Custom Actions

SharePoint Designer 2010 hat ja einen gröberen Redesign hinter sich! Custom Actions mussten ja über Features eher umständlich erstellt werden. Nun konfiguriert man das bequem über den Designer. Und damit kann der Ribbon um nette Custom Funktionen ergänzt werden! (z.B.: das Starten eines Workflows oder eben auch das Verlinken auf einen URL)

clip_image008

In unserem Beispiel verweisen wir auf das Erfassungsformulars des Contacts mit der entsprechenden Id des Parent Accounts. Das Ganze sieht dann sehr schön integriert aus!

clip_image010

Zuletzt müssen wir das Erfassungsformular noch modifizieren damit der Standardwert richtig gesetzt wird. Dazu müssen wir aber in die Trickkiste greifen und mit der ClientAPI und Javascript werken – mehr sei nicht verraten ;)

Tipp hierfür noch für 2007: JQuery for SharePoint … genial, einfach und kostenlos bei codeplex erhältlich.

www.xing.com/profile/Gerald_Werner)

Comments

6/21/2010 4:59:39 PM #

Ich habe folgendes Problem mit diesem Bespiel:

Ich habe für ein Anzeige-Formular DispForm.aspx eine "custom action" definiert, die auch wunderbar funktioniert.

Sobald ich aber über die Web-Oberfläche dem Formular eine "related list" hinzufüge, wird die Schaltfläche meiner "custom action" im Ribbon deaktiviert. Sobald ich das "related list"-Webpart wieder entferne, lässt sich auch meine "custom action"-Schaltfläche wieder benutzen.

Ohne dieses Problem wäre dies eine sehr schöne Lösung ohne viel Programmieraufwand.

Deschepper Germany | Reply

6/21/2010 11:12:33 PM #

Hallo,

arbeiten Sie noch mit der Beta Version? Mit der RTM habe ich kein Problem damit - die custom action im "Formularmenüband anzeigen" ist bei Anzeige des Items aktiv.

Schöne Grüße
Gerald Werner

Gerald Werner Austria | Reply

6/22/2010 9:06:37 AM #

Ja, aber jetzt werde ich wohl die RTM installieren! Smile

Ich habe übrigens das Anlegen eines Detail-Datensatzes mit Hilfe eines 1-Schritt Workflows "Listenelement erstellen" realisiert. Das Schöne an einer solchen Lösung ist, dass man nichts an den Quelltexten ändern muss.

Deschepper Germany | Reply

Add comment




  Country flag

biuquote
  • Comment
  • Preview
Loading



Menü

Home
Über diesen Blog
Archiv
Abonnieren Feed
Kontakt

Dieser Blog wird von Microsoft Österreich betrieben.

http://www.microsoft.com/austria | © 2009 Microsoft Corporation. Alle Rechte vorbehalten.
BlogEngine.NET 1.5.0.7 powered by atwork