Archive

Archive for the ‘TechEd’ Category

TechEd 2007: Develop a Community Solution with Visual Studio Tools for Office 3.0, Office Open XML File Formats and Windows SharePoint Services v3.0

November 8, 2007 Leave a comment

Offizielle Beschreibung

In this demo-only session we will build a restaurant community solution based on Windows SharePoint Services v3.0 and Office 2007 clients with Visual Studio 2008 in just 70 mins from scratch. You will learn how you can combine several 2007 Microsoft Office system technologies effectively for building professional solutions. Learn, how technologies such as SharePoint site templates and custom ASP.NET pages help you customizing the look and feel of your portal. See, how you can access information stored in custom XML data islands of Office Open XML packages placed in SharePoint document libraries by using the SharePoint object model and the System.IO.Packaging API. Finally you will learn, how you can build an Office-client that integrates with your portal through built-in and custom-developed SharePoint web services by leveraging the newest technologies introduced with Visual Studio 2008 Tools for Office. To get most out of this session you should be equipped with good .NET and basic ASP.NET, SharePoint and VSTO development know-how.

Vortragender: Mario Szpusta

Allgemein

In der Demo wird ein Word Formular verwendet um Informationen eines Restaurants aufzunehmen. Das word Formular wird in einer Doclib abgelegt. Für Word 2007 wird eine TaskPane mit WPF Controls erstellt welche das Durchsuchen der Doclib nach Restaurant ermöglicht. Benutzer ist in der Lage eine Einladungskarte für seine Freunde zu erstellen, in dem er das gewünschte Restaurant aus der Liste auswählt. Daten des Restaurants werden in das Doc übernommen.

Find xml in word document

· Get the root document

· Get relationships

· Go through the relationships, check the namespace of the related item

· Spfile.openbinarystream muss in memorystream umgewandelt werden, da word openxml einen stream braucht, indem es sich frei bewegen kann.

· Um das richtige package zu bekommen gibt es die hilfsklasse „PackUriHelper“

Custom Webservice

· Gründe für custom Webservice

o Es gibt kein Webservice von wss welches als Ergebnis das ges. Dokument zurückliefert

o Nicht alle wss Webservices sind interoperabel.

· Das Webservice analysiert die wss listen und erlaubt die suche über die Restaurants. Wird in einer Taskpane in word verwendet um eine Einladung zu erstellen.

· Bei der Methode Parameter [WebMethod (EnableSession=true)] – erlaubt weiter auth. Mechanismen und nicht nur Windows

· Das asmx des Webservices muss in das …12/isapi/ Verzeichnis kopiert werden (_vti_bin) Directory
in der _vti_bin ist das testing des Webservices nicht möglich.

· Dlls in das bin Verzeichnis oder in die gac

Ribbon in word

· Ist ein abgeschlossener Bereich.

· Das öffnen des taskpanes wird über die eventhandler bewerkstelligt.

TaskPane

· Um WPF Controls zu verwenden, muss ein ContainerControl WPF Host eingebaut werden.

· Properties werden in Properties.Settings.Default…. abgelegt. Genauer anschauen was das tut?

· Einfügen eines bildes : ctrl.range.inlineshape.

Using FormBase Auth in SharePoint

· Hier sei noch angemerkt, dass man nicht rein auf FDA umsteigen soll, da einige Sachen dann nicht funktionieren. Erweiterung des MOSS / WSS mit SharePoint Designer etc.
man sollte eine Zone als AD Zone belassen und eine weitere als FDA Zone deklarieren. Beide Zonen zeigen auf die gleichen Daten, nur der Zugang ist anders.

· Create Membership Diabase

· Configure conectionstrings (in der web.config der Webseite und der wss)

· Configure membership providers – in beiden web.config’s

o <membership defaultProvider=”RestaurantProvider”><provieders><add name=RestaurantProvieder ….>

o SharePoint central administration

§ Application management – authentication provider

§ Change from default to forms

§ Eintragen des Namen vom Provider welchen man zuvor konfiguriert hat

· Wenn man aus word auf SharePoint zugreifen will, muss man ein Cookie mitgeben

o Loginform

o Sharepoint hat ein Authentication.asmx welches das Cookie zurückliefert.

o Create coockiecontainer um mit Cookies zu arbeiten.

o Das auth..asmx liefert result. Dieses muss auf …NoError überprüft werden, erst dann das Cookie suchen

o Coockiecollection cookies=aservice.coockiecontainer.getcookies(new uri(Aservice.url))

o Um das eigene Service mit den Cookies verwenden zu können muss das eigene Service in das vti_bin Verzeichnis platziert werden.

ASP Seite um sich für die community anzumelden etc.

· Referenz auf die Masterpage (simple.master oder default.master)

· Asp:createuserwizard

· Nach dem registrieren der User müssen diese zu wss gruppen hinzugefügt werden.

· Asp Pages müssen unter 12templateslayouts (Pages mit source müssen hier liegen)

Tool: word Content control toolkit: erlaubt das verbinden von XML Daten in word Steuerelemente.

Fragen:

SharePoint extensions for vs 2008? Was wird das genau sein?

Web.ensureuser – genau anschauen was das tut

Wieso nicht infopath um Informationen des Restaurants aufzunehmen?

Categories: .NET, Open XML, TechEd, VSTO

TechEd 2007:Implementing Workflow Enabled Services and Durable Services using .NET Framework 3.5

November 8, 2007 Leave a comment

Offizielle Beschreibung

Inside .NET Framework 3.5, there is new functionality allowing Windows Communication Foundation (WCF) services to be built and consumed from a Windows Workflow Foundation (WF) workflow. This session will introduce the feature, discussing motivation, scenarios, and reasons for using this feature, an architectural overview and demos moving from a simple service written as a workflow to a complex scenario with many workflows communicating with each other. Additionally, the ability to execute workflows as a service requires the WCF runtime to be aware of durable instances, that is, the state of a given service. This talk will also highlight the ability to durably store the state of a WCF service written in imperative code.

Allgemein

In dieser Session wird über das Zusammenspiel zwischen WCF und WF berichtet. Man konnte Workflows zwar bereits mit VS 2005 anhand einer Message starten, aber das war kein einfaches Unterfangen.

Mit VS 2008 kommen weitere Steuerelemente welche WCF als Grundlage haben und anhand einer Message (welcher Art auch immer. WCF hat da ja einige Möglichkeiten) gestartet werden können.

Man geht sogar soweit, dass man nicht bei einem Start des Workflows über eine Message bewerkstelligen kann, sondern über Messages zwischen mehreren Workflows kommunizieren kann. somit sind natürlich log running Workflows möglich. Somit ist nicht nur eine Kommunikation in eine Richtung möglich. Duplex Communication ist jederzeit möglich.

Workflow Services

Man spricht von Workflow Services. Dies Bedeutet, dass man einen Workflow als Service zur Verfügung stellt. Dies Ermöglicht z.B einen bestehenden WF als Webservice zur Verfügung zu stellen. Die Implementierung würde mit Hilfe der WF gemacht werden und somit sehr dynamisch gehalten werden kann. Änderungen der Kundenanforderung können in manchen Fällen einfacher umgesetzt werden. Aus meiner Sicht bedeutet diese Erweiterung nicht, dass man jedes Webservice durch eine Workflow Service ersetzen soll. Hier muss man noch die Abgrenzungskriterien herausfiltern.

Erweiterungen in VS 2008

Wie bereits erwähnt gibt es neue WCF Activities im WF Designer. Wenn man ein Workflow Service programmiert bietet das VS 2008 die Möglichkeit dieses auch zu testen / debuggen. Man kann es sich wie ASP.NET Integration in VS ab der Version 2005 vorstellen. Ab VS 2005 wird Cassini mitgeliefert und dient als Entwicklungs-Webserver im VS2005. In 2008 gibt es eine ähnliche Komponente, welche den „Aufrufer“ des Workflow Service simuliert.

Conclusio

Ein guter Ausblick auf die Möglichkeiten und Sinnhaftigkeit des Zusammenspiels zwischen WF und WCF. Genaue UseCases in denen es Sinnvoll ist diese Technologien gemeinsam einzusetzen müssen evaluiert werden.

TechEd 2007: Extend the Office User Interface with Visual Studio Tools for the Office System (VSTO 3.0)

November 8, 2007 Leave a comment

Office developers have the opportunity to integrate their applications with the Office 2007 user interface (UI) using the Ribbon, menus, Action Panes, Task Panes, and Outlook Form Regions. RibbonX provides classes and XML schemas for creating visually compelling interfaces for your Office solutions. This session delves into the architecture and details of extending the UI in your Office solutions.

Vortragende: Christin Boyd (Program manager)

  • Allgemein
    in vielen Unternehmen besteht die Möglichkeit email, Dokumente, Telefonanlage etc. zu verbinden. Die wenigsten nehmen sich zeit dafür
  • Neuigkeiten in VS 2008
    Sowohl Office 2003 als auch Office 2007 Entwicklung möglich.
    Addins laufen getrennt von einander, abgekapselt.
  • Ribbon (The Office Fluent UI)
    Ribbon unterteilt sich in Ribbon – Group – Control oder Tab. Es ist möglich eigene ribbons, Groups etc. zu erstellen. Einbinden von eigenen controls in buildin ribbons ist nicht möglich
    in VS 2008 mit visuellen Designer, eigener ribbon tab in der Toolbox
    detaillierter Property Grid
    Ribbon wird als „new item“ zum Projekt hinzugefügt
    Controlidtype =custom – volle kontrollle über den Tab. =office – kann standardelelmente in eigenen ribbon einbauen
    ribbon kann zur laufzeit erweitert werden. man kann Buttons etc. entfernen oder hinzufügen zur Laufzeit.
  • Task Panes
    Actions panes != task panes – sehen gleich aus, programming model is different (siehe slide)
  • können wpf controls hosten.
  • unterschied zwischen ol und excel. Taskpane ist auf ein window aufgehängt. Im Excel wird jedes spreadsheet im selben window aufgemacht. Im OL wird jedes objekt in einem neuen window aufgemacht.
  • Word Content Controls & Dell demonstration
    Eine Mischung aus unseren Projekten für Magna und WAVE mit Einbindung des WSS v3. Benutzer erstellt ein wordtemplate und hat die möglichkeit über custom actionpane diese im SharePoint abzulegen. Über eine weitere Actionpane ist er in der Lage ein Dokument aus bestehenden Templates zusammen zu bauen. Das ablegen eines Word – Steuerelementes haben die Entwickler über die Zwischenablage gelöst. Somit bekommen sie einen String welchen sie einfach im WSS speichern können. Ein netter Einfall aus meiner Sicht.
  • Entwicklung der OL Forms
    Durch Wizards ist es möglich bestehende OL Forms wie z.B. contact zu importieren, zu verändern. Durch eigene Elemente zu erweitern, oder Felder zu löschen. Die neue form kann man als Addin installieren, oder die bestehende Form überschreiben. Hier ist noch zu klären, ob die Form tatsächlich verloren geht, oder nur „versteckt wird“.

Conclusio

Eine nette Session.

Categories: TechEd, VSTO