SharePoint 2010 & Office 2010 Launch

Gerade bei Microsoft gelesen:

Today, we officially announced that May 12th, 2010, is the launch date for SharePoint 2010 & Office 2010. In addition, we announced our intent to RTM (Release to Manufacturing) this April 2010.

Bessere SharePoint-Unterstützung in MindManager 8.2

Nun wird das Öffnen und Bearbeiten von Business Maps im aktuellen Service Pack für Mindjet MindManager in SharePoint Dokumentbibliotheken besser unterstützt.

Beim Anklicken einer Map in einer Bibliothek kann gewählt werden, ob die Map schreibgeschützt oder zum Bearbeiten geöffnet wird. Im DropDown-Menü zur Map-Datei findet sich weiterhin ein Eintrag zum Bearbeiten des Dokuments:

image

Die Map wird beim Speichern einer aus SharePoint geöffneten Datei auch direkt wieder dorthin geschrieben, nicht wie bisher in die Temporary Internet Files im Benutzerprofil.

BPOS Datumsfelder mit Silverlight updaten – Lösung für den Error Code 0×8102001c

In diesem Blog beschreibe ich, wie man mit Hilfe der BPOS Web Services Datumfelder updaten kann. Dabei wird die Lösung des folgenden Problems vorgestellt:

Beim updaten eines Datumsfeldes wird folgender Error Code zurückgegeben: 0×8102001c,
der auf einen unzulässigen Datums- Zeitwert verweist.

Ausgangspunkt ist ein Silverlight Gantt, das via Web Service ausgelesene Aufgaben anzeigt. Diese können im Panel verschoben werden. Der User entscheidet dann, ob er die Änderungen speichern möchte. Im Prototyp können Start- und Endedatum sowie der Titel zurückgeschrieben werden.

image

Gantt vor dem Verschieben der SAP Aufgaben

image

Gantt nach dem Verschieben der SAP Aufgaben

 

Diese Veränderung kann nun in die Aufgabenliste geschrieben werden. Hier der Quellcode:

Zunächst sehen Sie die Eventhandler des Buttons Änderungen speichern

private void Button_Click(object sender, RoutedEventArgs e)
      {
          List<Aufgaben> newAufgabenliste = new List<Aufgaben>();
          foreach (IGanttNode n in nodes)
          {
              ExampleGanttNode en = (ExampleGanttNode) n;

              newAufgabenliste.Add(ConvertNodeToAufgabe(en));
              if (en.ChildNodes != null)
              {
                  foreach (IGanttNode n2 in en.ChildNodes)
                  {
                      ExampleGanttNode en2 = (ExampleGanttNode)n2;
                      newAufgabenliste.Add(ConvertNodeToAufgabe(en2));
                  }
              }
          }
           UpdateAufgabenliste(newAufgabenliste);
      }

 

Dieser bereitet zunächst eine Aufgabenliste auf, die aus den Knoten der Gantt-Nodes konvertiert wird. Die Knoten sind Observable Objects, d.h. jede visuelle Änderung, also das Verschieben auf der Zeitleiste, wird in die zugrundeliegende Datenstruktur geschrieben.

Der Trick besteht darin, diese Knoten in eine Aufgabenliste zu konvertieren.

private Aufgaben ConvertNodeToAufgabe(ExampleGanttNode node)
       {
           Aufgaben result = new Aufgaben
           {
           Title = node.TaskName,
           StartDate = node.StartDate,
           EndeDate = node.EndDate,
           ID = node.ID
            };
           return result;
       }

Der Rückgabewert der Funktion ConvertNodeToAufgabe ist vom Typ Aufgaben, ein C# Typ, der eine BPOS-Aufgabenliste abbildet. Die folgende Grafik zeigt einen Ausschnitt.

image

Wir konvertieren also alle Knoten des Gantt in eine Aufgabenliste. Diese muss dann in die Aufgabenliste von BPOS zurück geschrieben werden. Das übernimmt die Funktion:

UpdateAufgabenliste(newAufgabenliste);

private void UpdateAufgabenliste(List<Aufgaben> newAufgabenlist)
       {
           StringBuilder sb = new StringBuilder();
           sb.Append(”<Batch OnError=\”Continue\”>”);

           int indexer = 1;
           foreach(Aufgaben a in newAufgabenlist) {
               String dateS = DateTime.Parse(a.StartDate.ToString()).ToString(”yyyy-MM-ddTHH:mm:ssZ”);
               String dateE = DateTime.Parse(a.EndeDate.ToString()).ToString(”yyyy-MM-ddTHH:mm:ssZ”);
               sb.Append(”<Method ID = \”" + indexer + “\” Cmd=\”Update\”>”);
               sb.Append(”<Field Name = \”ID\”>” + a.ID + “</Field>”);
               sb.Append(”<Field Name=\”Title\”>” + a.Title + “</Field>”);
               sb.Append(”<Field Name=\”StartDate\”>” + dateS + “</Field>”);
               sb.Append(”<Field Name=\”DueDate\”>” + dateE  + “</Field>”);
               sb.Append(”</Method>”);
               indexer++;
           }
           sb.Append(”</Batch>”);

           XElement batch = XElement.Parse(sb.ToString());
          // MessageBox.Show(batch.ToString());
           proxy.UpdateListItemsAsync(ListGUID.Aufgaben, batch);
       }

Die entscheidenden Zeilen sind rot hervorgehoben. Die in der Aufgabenliste als DateTime typisierten Start- und Endedaten werden jeweils in einen String gewandelt, der das gezeigte Format besitzt. Mit Hilfe einer StringBuilder Instanz wird eine XML-Struktur gebaut, die als Batch, also als Folge von Befehlen, an den Web Service gesendet wird.

Wir erzeugen dann ein XElement auf der Basis der StringBuilder Instanz.

XElement batch = XElement.Parse(sb.ToString());

Als nächstes wird der asynchrone Web Service von Silverlight aufgerufen. Dabei übergeben wir eine List-GUID und besagtes XElement.

proxy.UpdateListItemsAsync(ListGUID.Aufgaben, batch);

Alle Datumsfelder werden nun anstandslos aktualisiert und in die BPOS-Aufgabenliste geschrieben.

Die folgende Bilder zeigen das gesendete XElement sowie den Response des Web Service.

image

 

image

MindBusiness-Linktipps auf Delicious

Kennen Sie schon unsere Bookmark-Liste? Hier finden Sie interessante Links rund um SharePoint, InfoPath, Webdesign etc.:

http://delicious.com/MindBusiness

Natürlich können Sie diese Bookmarks dort auch per RSS-Feed abonnieren!

Neues in SharePoint 2010 (Teil III) – Der Gruppenkalender

Wir hatten schon von der Option in SharePoint 2010-Kalendern berichtet…, mit der mehrere Kalender zusammengefasst in einer Ansicht angezeigt werden können.

Nun noch zweite Erweiterung der bisher bekannten Kalenderfunktionalität – in einem Kalender kann die sog. Gruppenkalenderoption aktiviert werden. Dies geschieht über die Listeneinstellungen/Allgemeine Einstellungen:

image

In Menüband Kalendertools können nun neben den normalen Tages/Wochen/Monatsansichten auch Gruppenansichten gewählt werden:

image

Über die Personenauswahl kann die Übersicht nach SharePoint-Gruppen bzw. Anwendern gefiltert werden. Und so schaut es im Kalender selbst aus:

image

Pro Teammitglied wird also eine Zeile mit den Terminen angezeigt, unten können einfach Personen hinzugefügt werden.

Generell für alle Kalenderansichten gilt, dass beim Berühren eines Tages mit der Maus ein neuer Termin einfach über den Hinzufügen-Link oder per Doppelklick hinzugefügt werden kann, in der Abbildung also ein Termin am 21. Donnerstag.

Silverlight – Silber-Hybrid –“out of browser –Applikationen”

-Ob eine Silverlight-Anwendung direkt auf dem Desktop oder im Browser läuft, ändert nichts an ihrem Funktionsumfang.

Wer an Java-Applets denkt, erinnert sich an die Sandbox, wir haben mit Silverlight die Möglichkeit – gerade mit Silverlight 4 beta die Möglichkeiten ERP Systeme in BPOS zu migrieren.

-Silverlight 3 kann aus einer Browser-Anwendung eine lokal installierte Desktop-Applikation erzeugen

-Die Sicherheitsphilosophie – das Sandbox-Modell – halten auch sogenannte lokale Anwendungen ein.

-Für den Entwickler, der diese Duplizierung vorsehen muss, ist der Aufwand denkbar gering

Nun zu Silverlight 4 Beta

Die Gesamtstrategie Cloud (Wolke)/SaaS (Software as a Service – Software zum Mieten)/SPLA/Azure (Plattformen – Software nach Bedarf zum Mietpreis) wird durch die kommenden Möglichkeiten von Microsoft – BP0S (Business Process Online Services – www.cloudig.de) von Silverlight 4 extremst unterstützt werden, d.h.:

Mittels der neuen Einstellung “Trusted Aplication” hebelt der Entwickler viele Security Einschränkungen des Sandox-Modells aus:

-Zugriff auf das lokale Dateisystem

-Zugriff auf Webinhalte in anderen Domänen

-keine Rückfragen beim Anwender bei Open/FileSaveDialog, Clipboard-Zugriff “FullScreenMode” und Ähnlichem.

_

Äußerst reizvoll im Kontext bestehende ERP-Systeme in BPOS einzubinden ist die native Integration, gemeint ist damit das Out-of-Browser Applikationen auf lokale COM-Objekte zugreifen können. Da es diese aber nur auf Windows Betriebssysteme gibt, wären solche Anwendungen nicht mehr plattformunabhängig. Der Vorteil der  COM-Objekte läge in der einfachen Integration von MS Office, WMI, ADO oder anderen Windows APIs. Silverlight selbst installiert keine Komponenten, sondern verwendet lediglich die vorhanden.

Desktop/Client/Server Interaktion, d.h. ob die Anfrage vom Client startet oder vom Server – stehen diese Interaktionen soweit auseinander, es muss gelingen die bestehenden Anwendungen mit neuen Möglichkeiten der Cloud zu verbinden, sowie eine ggf. Offline Funktion/Nutzung zu haben.

Weitere Quellen: 

IX-Bericht Januar 2010:

Sourcecode für eine Beispielanwendung:

ftp://ftp.heise.de/pub/ix/ix_listings/2010/01/silber-desktop

Silber-Hybrid

Neues in SharePoint 2010 (Teil II) – Kalenderüberlagerung

Weiter geht es mit den Neuerungen, die wir für Sie in SharePoint 2010 entdecken.

Für Teamfunktionalitäten ist es häufig sehr hilfreich, über mehrere Kalender hinweg Termine in einer Übersicht zu sehen. In Outlook 2007 und 2010 ist das ja sehr schön gelöst, in SharePoint gab es bisher diese Möglichkeit nicht (außer evtl. über das Webpart für Inhaltsabfragen). In SharePoint 2010 können nun bis zu 10 Kalender in einer Ansicht dargestellt werden, dabei können die Termine aus dem jeweiligen Kalender unterschiedlich eingefärbt werden.

Um das zu ermöglichen, wird eine normale Kalenderliste erstellt. Im Menüband zum Kalender findet man die Schaltfläche für die Kalenderüberlagerung:

image

Dort können zusätzliche Kalender zur Ansicht hinzugefügt werden, möglich sind dabei SharePoint und Exchange-Kalender (!). Dann die jeweilige Adresse und die gewünschte Kalenderfarbe wählen – schon erscheinen in der Kalender ansicht die Termine des hinzugefügten Kalenders:

image

Links im Schnellstart wird die Farblegende angezeigt, außerdem können die Kalender selbst direkt von dort aus geöffnet werden:

image

Neues in SharePoint 2010 (Teil I) – Gültigkeitsprüfung in Listen

Willkommen in unserer Serie rund um SharePoint 2010, deren Neuerungen wir in einigen Beiträgen zeigen möchten. SharePoint 2010 bietet viele "große" neue Funktionalitäten (Visio Services, Performance Point…), auf die wir beizeiten natürlich auch eingehen. Für die nächsten Folgen möchten wir ihnen die (vermeintlich) kleinen Details zeigen, die Sie z.B. in Listen und Bibliotheken finden können.

Natürlich verwenden wir die aktuelle Beta-Version, so dass sich die gezeigten Funktionen bis zum endgültigen Release noch ändern können.

Wir starten mit einem hübschen Feature, nämlich eine verbesserte Gültigkeitsprüfung für Listen und Bibliotheken.

Bisher waren nur eingeschränkt Gültigkeitsprüfungen möglich, z.B. dass ein Zahlenwert zwischen 0 und 100 liegen muss. Im neuen SharePoint finden Sie die Möglichkeit, Formeln für diese Gültigkeitsprüfung zu definieren. Dies finden Sie in den Einstellungen für Listen/Bibliotheken.

Ein Beispiel ist, dass Sie z.B. in Aufgabenlisten verhindern können, dass das Fälligkeitsdatum vor dem Anfangsdatum liegt, es muss dabei die Bedingung für einen korrekten Eintrag definiert werden:

image

Werden beim Erstellen/Bearbeiten der Aufgabe nun falsche Datumswerte eingetragen, wird dies direkt im Formular angezeigt:

image

Für komplexere Prüfungen können Sie natürlich auch InfoPath einsetzen, aber mit der gezeigten Erweiterung können schon einige Fälle mehr als bisher abgedeckt werden, um vom Benutzer korrekte Eingaben zu erhalten.

Bis zum nächsten Mal…

SharePoint 2010-Evaluierungshandbuch

SharePoint aktuell – lesenswert !

SharePoint 2010-Evaluierungshandbuch

Im Microsoft Download Center ist in deutschsprachiger Version das "Evaluierungshandbuch für SharePoint 2010-Entwickler" abrufbar. Es enthält auf 127 Seiten eine Beschreibung der Entwicklerplattform SharePoint 2010 sowie exemplarische Vorgehensweisen für einige der für Entwickler neuen Funktionen.
>> Kostenloser Download: SharePoint 2010-Evaluierungshandbuch

Office 2010 – Top 10 Neuheiten der einzelnen Produkte

Die 10 Top Neuheiten der einzelnen Office 2010 Applikationen sind in diesen PDF-Dokumenten aufgeführt. Laden Sie sich die Dokumente einfach aus meinem Windows Live SkyDrive herunter und Sie erfahren, welche Innovationen in den einzelnen Produkten stecken. Alle Dokumente sind auf Deutsch.

Hier gehts zum SkyDrive.