Dies ist der achte Teil einer Serie, die sich mit der Frage beschäftigt auf welche Arten Konfigurationen in Applikationen unter SharePoint gespeichert werden können. Es wird zuerst immer kurz die Methode vorgestellt, gefolgt von einem kurzen Beispiel und den Vor- und Nachteilen.
Eine vollständige Übersicht über bisherige und noch folgende Artikel ist hier zu finden.
In diesem Teil werden SharePoint Listen vorgestellt. Diese sind DIE zentrale Funktion innerhalb von SharePoint und bieten vielfältige Möglichkeiten zum Pflegen von Einstellungen an. Diese Methode ist hervorragend geeignet wenn Benutzer die Einstellungen selber pflegen können sollen.
Erstellen der Liste
Eine neue Liste ist sehr einfach zu erstellen. Hierzu gehen wir auf „Site Actions“ und wählen „More Options“:
Hier wählen wir „List“ -> „Custom List“ und geben der Liste einen Namen:
SharePoint legt für uns jetzt eine einfache Liste ohne besondere Spalten an. Wir fügen nun zwei neue Spalten mit „Create Column“ hinzu:
Die erste Spalte nennen wir „Wert“, die zweite „Kategorie“. Unsere Liste ist nun fertig und kann mit Beispielen gefüllt werden.
Zugriff auf Liste
Als Nächstes erstellen wir ein neues WebPart um in diesem die Werte auszulesen und anzuzeigen:
[ToolboxItemAttribute(false)]
public class WebPartMitListe : WebPart
{
protected override void CreateChildControls()
{
var konfigItems = new List<String>();
// Liste auslesen
var listItems = SPContext.Current.Web.Lists["Beispiel Liste"].Items;
// Items aus der Liste auf Datenobjekt mappen
foreach (SPListItem item in listItems)
{
konfigItems.Add(
string.Format("Name: {0}, Wert: {1}",item.Title, item["Wert"]));
}
// Gridview erzeugen und hinzufügen
var gridView = new GridView
{
ID = "GridViewKonfig",
AutoGenerateColumns = true,
DataSource = konfigItems
};
gridView.DataBind();
Controls.Add(gridView);
}
}
Der benötigte Code sehr überschaubar. Wichtig ist auch zu beachten, dass eine Liste auf verschiedenen Ebenen in der SharePoint Hierarchie abgelegt sein kann:
Ebene |
Ort |
SPFarm |
Liste in Central Administration. |
SPSite |
Liste im root Web der Site Collection. |
SPWeb |
Liste in SPWeb |
Listen auf External Content Types
Soll die Konfiguration nicht in SharePoint abgelegt werden oder eine bestehende Konfigurationsdatenbank verwendet werden, können wir auch eine Liste auf die im letzten Artikel vorgestellten External Content Types (ECT) aufsetzen. Dies geht sehr komfortabel über den SharePoint Designer. Dazu öffnen wir mit dem Designer wieder die Site, navigieren zu den External Content Types und wählen den im letzten Artikel erstellen ECT.
Im Ribbon wählen wir den Punkt „Create Lists & Form“.
Hier geben wir der Liste einen Namen und drücken „Ok“:
Der Designer legt nun für uns eine Liste in SharePoint an. Diese funktioniert wie eine normale Liste in SharePoint, allerdings mit ein paar Einschränkungen z.B. ist keine Versionierung mehr verfügbar.
Fazit
Wie immer zum Abschluss noch einmal die Vor- und Nachteile der Methode:
Vorteile:
- Administration
Zum Erstellen und Bearbeiten von Einträgen kann die gewohnte SharePoint Oberfläche verwendet werden. Zusätzlich können Einträge von SharePoint Versioniert werden.
- Sicherheit
Rechte können sehr granular in SharePoint verwaltet werden.
- Scope
Listen können auf verschiedenen Ebenen angelegt werden.
- Flexibel
Über External Content Types können beliebige Datenquellen angebunden werden. SharePoint kümmert sich hierbei um den Datenzugriff
Nachteile:
- Implementierung
Umsetzung ist aufwändiger im Vergleich zu anderen Methoden.
- Wartbarkeit
Listen müssen separat erstellt und deployed werden.