Fejlesztés Office és SharePoint 2010-reHolpár Péter
Grepton Zrt., Vezető fejlesztő[email protected]://pholpar.wordpress.com
Célok
− Érdeklődés felkeltése / fokozása a VS 2010 alapú Office 2010 és SharePoint 2010 megoldások iránt
− Alapfogalmak, technikák bemutatása
− Újdonságok felvillantása
Témakörök
− SharePoint 2010 fejlesztés natív Visual Studio 2010 eszközökkel
− Office 2010 felhasználói felület testreszabása
− Dokumentum generálás kódból− Dokumentum konverzió kódból− Munkafolyamat tervezés és
megvalósítás
SharePoint fejlesztői eszközök fejlődése
VS2005 VS2008 VS2010
F5 Deploy Debug
WSP csomag
SPSolGen
WSP View
+64 bit támogatás
Javított WSP View
Külön Package
Command
Parancssori build
+Szekvenciális
munkafolyamat
Állapotgép
munkafolyamat
VSeWSS VSeWSS 1.3
Vizuális
tervezőeszközök
Packaging &
Deployment
Project & Item sablonok
TFS integráció
Projektek & Eszköz
bővítés
Upgrade Tool
2007 2008 2009 2010
Visual Studio SharePoint támogatásaFejlesztői környezettel szembeni elvárások
− x64 operációs rendszer (munkaállomás is!)− Windows 7 (!)− Windows Vista SP1 (!)− Windows Server 2008− Windows Server 2008R2
− SharePoint 2010 lokálisan telepítve− SharePoint Foundation / SharePoint
Server− Visual Studio 2010
Projekt sablonok
Elem sablonok
Demó
− SharePoint fejlesztés VS 2010-zel− Lista sablonok és példányok− Eseménykezelők− Visual Web Part− Csatolt mappák− Deployment
Miért pont Office?− Felhasználók ismerik
− Kliens gépeken telepítve
− Egyszerű keretrendszer
− Szerver oldalhoz jól integrálódik (ld. SharePoint)
Egyszerű Office testreszabások
− Új tabok és csoportok létrehozása− Meglevő parancsok új csoporthoz adása− Korábbi csoportok újrahasznosítása
− Tabok, csoportok és parancsok átrendezése, átnevezése
− Testreszabások exportja/importja fájlba/fájlból
− Testreszabások törlése
Demó
− Ribbon testreszabása felhasználói felületről
RibbonX – Csoportok átméretezése
− Beépített csoportok átméreteződnek az ablakkal együtt
− Saját csoportok esetén is működik
<group id="Wheel" autoScale="true">
Context menü bővíthetősége− CustomUI segítégével bővíthetők a
context menük is
<customUI ...><ribbon> ... </ribbon><contextMenus>
<contextMenu idMso="MenuCell"><button id="ButtonRefresh" .../>
</contextMenu></contextMenus>
</customUI>
Backstage fontosabb elemei
Tartalom kapcsolása az elemekhez
private String _imageName = "firstImage.png"
public System.Drawing.Image GetCustomImage(IRibbonControl control){ WebClient webClient = new WebClient(); webClient.Credentials = CredentialCache.DefaultCredentials; byte[] imageBytes = webClient.DownloadData(String.Format( @"HTTP://SP2010/_layouts/images/{0}", _imageName); MemoryStream imageStream = new MemoryStream(imageBytes); System.Drawing.Image image = System.Drawing.Image.FromStream(imageStream); return image;}
<button id="MyButton" size="large" label="Do the job" getImage="GetCustomImage" onAction="MyButton_OnAction" />
Eseménykezelés, interakció
private IRibbonUI _ribbon;
public void Ribbon_Load(IRibbonUI ribbonUI){
_ribbon = ribbonUI;}
public void MyButton_OnAction(IRibbonControl control){
_imageName = "secondImage.png";_ribbon.InvalidateControl("MyButton");
}
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">...<button id="MyButton" size="large" label="Do the job" getImage="GetCustomImage" onAction="MyButton_OnAction" />
Mikor melyiket?− Ribbon
− Dokumentum tartalmának előállítása
− Backstage− Elkészült dokumentum mentése− Publikálása− Nyomtatása
Demó
− Backstage és ribbon testreszabása Visual Studio 2010 segítségével
− Kód csatolása a felhasználói felülethez− Események kezelése− Adatkapcsolat az Office kliens és a
SharePoint szerver között
Open XML 2.0− Dokumentumok dinamikus előállítása
− Content controlok tartalmának frissítésével
− Nulláról kódból
Demó
− Open XML 2.0 SDK eszközök− Dokumentum generálás Open XML
2.0-val
Word Automation Services− SharePoint Foundation része
− Ne felejtsük el létrehozni / elindítani a szükséges Service Applicationt és Service-t!
− Időzíthető gyakoriság− Dokumentumok konvertálása
− Pl. DOC-ból DOCX− Fix formátumra alakítás (PDF, XPS)− Mezők frissítése (pl. tartalomjegyzék,
dátum)− Alternatív formátumok (pl. HTML)
„Word-ösítése”
Fájlkonverzió kódból
ConversionJob conversionJob = new ConversionJob("Word Automation Services");
conversionJob.Name = "PDF conversion"; conversionJob.UserToken = web.CurrentUser.UserToken;conversionJob.Settings.UpdateFields = true;conversionJob.Settings.OutputSaveBehavior = SaveBehavior.AlwaysOverwrite;conversionJob.Settings.OutputFormat = SaveFormat.PDF;conversionJob.AddFile(wordFilename, wordFilename.Replace(".docx", ".pdf")); conversionJob.Start();
Demó
− PDF előállítása Word Automation Services segítségével
Munkafolyamat fejlesztés
Import
Export
FejlesztőBusiness Analyst/Process
DesignerMunkafolyamatváz tervezése
Munkafolyamatmegjelenítése
Üzleti folyamatábrák
tervezése
Egyedi webkijelzők
Munkafolyamat kód
Eseménykezelők
Lista definíciók
Alkalamazás oldalak
WSP Package
Designer/IW/Power UserListák létrehozása
Webkijelző tervezés
Webkijelző kapcsolat
Nézetek és űrlapok
Deklaratívmunkafolyamatok
Útravaló− Office 2010 fejlesztés VS 2010-zel
egyszerű− SharePoint adatok integrálása az új
eszközökkel nem igényel extra betanulást
− További hasznos információk:− Kérdések a szünetben is− „Ask the experts”− Követő események− Kérdőív
További információ− OpenXML Developer
http://openxmldeveloper.org− Microsoft Office Developer Center
http://msdn.microsoft.com/office− Office 2010 Developer Atlas
http://www.microsoft.com/resources/msdn/en-us/office/media/Atlas/Default.html
− John Durant blogjahttp://blogs.msdn.com/johnrdurant
− Brian Jones blogjahttp://blogs.msdn.com/brian_jones
− További hasznos linkek a blogomon
Kérdések???Holpár Pé[email protected]://pholpar.wordpress.com
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.