A héten volt szerencsém SharePoint programozói tanfolyamot tartani a NetAcademiánál, ahol szokás szerint terítékre került egy nagy rakás ingyenesen letölthető, többnyire MVP-k által készített eszköz, ami segítheti a WSS programozók életét. Íme a kedvenceim listája:
SharePoint Server 2007 SDK (Microsoft)
A WSS és MOSS-sal kapcsolatos fejlesztői információk hivatalos forrása. A 176 MB-os letöltött állomány kicsomagolása után az igazi érték a 35 MB-os WSS3SDK.chm fájl, ami a WSS MSDN-szerű súgójának tekinthető. Örülhetünk, mert van már benne nyelvi szűrés, aztán meg sírhatunk, mert minden oldalon egyesével kell beállítani, ha a VB szintakszis nem érdekel. Ezen kívül óvatosan a példakódok átemelésével, mert nagyon nem egyértelmű, hogy melyik vonatkozik WSS 2.0-ra és melyik 3.0-ra; és persze ne lepődjünk meg, ha üres oldalt, vagy dokumentálatlan metódust találnánk.
A korábban külön életet élő Enterprise Content Management (ECM) Start Kit és Workflow Developer Starter Kit for WSS 3.0 is az SDK részeként tölthető le, tehát aki SharePointos WF activity-ket keres, az SDK példái között nézzen körül.
Vélemény: a SharePoint csapat úgy látszik eddig még nem tudta behozni a dokumentálás terén lévő elmaradásait, ezért az SDK olyan amilyen, de nélkülözhetetlen.
Letöltés (lehet, hogy később más URL-en lesz elérhető az újabb verzió!)
VSeWSS: Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions (Microsoft)
Ennek a csomagnak a telepítésével SharePointos project és item típusok jelennek meg a Studioban, az 1.0 verzióban például ezek:
- List Definition
- Field Control
- Module
- Content Type
- Web Part
- Team Site Definition
- Blank Site Definition
- List Definition
Az eszköz határozottan hiánypótló, kényelmes, hogy tud solution fájlt előállítani, és a debuggolást egybekötötték a telepítéssel, tehát egyetlen F5 után a frissen telepített kódunkat tesztelhetjük. Óriási probléma számomra, hogy csak VS 2005-öt támogat, 2008-at nem, ráadásul nagy csend van a következő verzióról.
A VSeWSS része a SharePoint Solution Generator (SPSolGen), amivel létező webhely vagy lista definíciót visszafejthetünk Visual Studio projektté.
Vélemény: célszerű kipróbálni, de csak annak javaslom a használatát, aki tudja, mi történik a háttérben.
Letöltés: 1.0 verzió, 1.1 CTP verzió
Induláshoz: Walkthrough, Projekt fájlok leírása
Cabinet SDK (Microsoft)
A SharePointra telepíthető solution fájlok valójában .CAB fájlok, melyek előállításához szükség van a Cabinet SDK-ban található MakeCAB.exe segédprogramra.
Vélemény: ha nem elég feature-be csomagolni a kódunkat, hanem solutiont kell előállítanunk, akkor bizony erre szükség lesz. A VSeWSS megkönnyítheti a használatát.
Letöltés | Leírás (KB 310618) | Walkthrough Studioban történő használatáról
Visual Studio 2005 extensions for .NET Framework 3.0 – Windows Workflow Foundation (Microsoft)
Ha VS 2005-ös fejlesztő környezetet alakítunk ki – például azért, mert a VSeWSS még nem támogatja a VS 2008-at – és workflow-t akarunk fejleszteni, akkor ez a csomag készíti fel a Studio WF projekt típus kezelésére.
Vigyázat, MSDN nincs benne, tehát WF témában nem találjuk meg az osztályokat és a cikkeket, azok ugyanis a Vista SDK-ba kerültek. VS 2008 esetén nincs ilyen probléma, ott az MSDN részét képezi a WF dokumentáció is.
Vélemény: kis méretű letöltés, gyors telepítés, nem zavar be a Studioba és pont ugyanazt tudja, mint a VS 2008-ba beépített változat.
Internet Explorer Developer Toolbar (Microsoft)
Webfejlesztőknek nem kell bemutatni ezt az Internet Explorer toolbarként települő eszközt, grafikai, design, arculati problémák megoldásához, CSS matatáshoz, master page készítéséhez óriási segítség.
Vélemény: Minden webfejlesztő gépén ott a helye.
Sysinternals DebugView (Microsoft)
Ez a Mark Russinovich által készített eszköz lehetővé teszi, hogy a System.Diagnostics.Debug osztály által a hibakeresési naplóba írt üzeneteket azonnal megtekinthessük. Ennek főként akkor van jelentősége, ha olyan kódot készítünk, amihez nincs felhasználói felület. Ilyen például egy Windows Service alkalmazás, egy webszolgáltatás vagy éppen egy SharePointos eseménykezelő. Ha írunk debug logot (illik), akkor folyamatosan nyomon követhetjük, hogyan fut a kódunk, ráadásul mindezt anélkül, hogy a VS debuggerét használnánk. Nem egyszer láttam már, hogy a DebugView segített megtalálni, hogy éles környezetben miért nem fut rendesen a fejlesztői gépen amúgy tökéletesen működő kód.
Vélemény: egyszerű, kis eszköz, megspórolhatjuk vele a debuggerben töltött idő egy részét.
.NET Reflector (Lutz Roeder)
A .NET Reflectort egy felügyelt kódban dolgozó fejlesztőnek sem kell bemutatni, lefordított kódokat fejthetünk vissza vele. Sajnos szükség van rá WSS fejlesztéskor is, az SDK-ban lévő dokumentáció ugyanis még "kihívásokkal küzd". Sajnos időnként makacsul frissíteni akarja magát a netről, ami VPC-s környezetben nem mindig szerencsés.
Vélemény: legyen kéznél, szükség lesz rá.
SharePoint Explorer (Ontolica)
Számtalanszor fordul elő, hogy gyorsan meg kellene nézni egy SharePoint objektum valamelyik tulajdonságát, például egy lista ID-ját, egy mező belső nevét, vagy egy nézethez definiált query feltételt. A SharePoint Explorer segítségével lefúrhatunk az objektum modellben és láthatjuk az egyes elemek tulajdonságait, köztük számos olyat, ami sehol nem jelenik meg a felhasználói felületen. Nagyon sokat segít az objektum modell megértésében annak ellenére, hogy a felület nem frissül magától, időnként újra kell indítani, ha látni szeretnénk a változásokat.
Vélemény: egyetlen kis .exe, amivel beleláthatunk a WSS lelkivilágába. Ha objektum modellt programozunk, sokat segíthet.
SharePoint Explorer Client (DotNetFactory)
A SharePoint Explorer Client segítségével Internet Explorer add-in formájában láthatjuk a WSS webhelyünk tartalom hierarchiáját. Kényelmes, hogy fa nézetben látunk mindent, hogy közvetlenül ugorhatunk az egyes listákra, webhelyekre vagy oldalakra és praktikus, hogy a létrehozás menüpont is kéznél van. Úgy vettem észre, hogy belassítja az IE indulását.
Vélemény: végfelhasználóknak kiváló a tartalom szervezésének megértéséhez, programozóknak jobb az Ontolica féle SharePoint Explorer.
U2U CAML Query Builder (Karine "The CAML Girl" Bosch, U2U)
Nem szeretünk kézzel CAML-t írni, még akkor sem, ha nincs benne HTML és szkript, csak XML, például egy nézet vagy lekérdezés query-jében. Ekkor jöhet jól ez az eszköz, amivel összekattintgathatjuk a CAML formátumú lekérdezést, amit azután csak be kell másolni a kódunkba. A 2.1.0.0 különálló Windows alkalmazás, a 3.0 már SharePoint feature-ként települ és újabb menüpontok és oldalak formájában érhető el. Úgy vettem észre, hogy a Windows alkalmazás felhasználói felülete nagyon nem bolondálló, de többet tud, mint a beépülő változat. A webes verzió felhasználói felülete szebb, de lényegesen lassabb.
Vélemény: segít nem megutálni a CAML-t, játszunk vele egy kicsit.
Letöltés | Leírás | Walkthrough
SharePoint CAML Viewer (Renaud "Stramit" Comte)
Az SPCamlViewer segítségével meglévő CAML-t fejthetünk vissza és másolhatunk át saját kódunkba. Például a WSS webes felületén összekattintgatunk egy nézetet, majd a hozzá tartozó query definíciót átmásoljuk egy SPQuery objektum Query tulajdonságába. Hasznos, hogy látjuk az összes mező adatait, a lista és a nézet ID-ját, sőt akár C# kódot is tud közvetlenül előállítani.
Vélemény: aki építés helyett a visszafejtést választja, annak hasznos lehet.
SharePoint Feature Manager (Todd S. Baginski)
Ahogy Windows alkalmazásainkhoz Windows Installer telepítőt vár tőlünk mindenki, úgy SharePoint kódunkat feature-be illik csomagolni. A feature telepítése, aktiválása, inaktiválása és eltávolítása legegyszerűbben az stsadm.exe paraméterezésével oldható meg. Ezeknek a parancssori utasításoknak az előállításához és futtatásához nyújthat segítséget Todd Baginski egyszerű Windows alkalmazása.
Vélemény: használhatjuk, ha nem írunk gyakran feature-t, egyébként úgyis lesz install.cmd és uninstall.cmd fájlunk, amit bekonfigurálunk a Studioban post build actionként.
SmartPart (Jan Tielens, U2U)
Aki hiányolja a designer támogatást a Studioból SharePoint webkijelzők fejlesztésekor, annak pont a SmartPartra van szüksége. Ez "Az év webkijelzője" díjat többször elnyert komponens lehetővé teszi, hogy Web User Control, azaz .ASCX fájl formájában készítsük el a kijelzőnket. Hátránya némi többlet telepítés és konfiguráció, de ha bonyolult felhasználói felületet kell készítenünk, akkor rengeteg időt spórolhatunk meg azzal, hogy a Toolboxról behúzogatjuk a vezérlőket és nem a CreateChildControls metódusban példányosítjuk és állítgatjuk be őket.
Sajnos a projekt a halálra ítélt GotDotNeten van egyelőre, és nagyon oda kell figyelni, hogy melyik verziót töltjük le.
Vélemény: feltétlenül próbáljuk ki, mielőtt nekiállunk karakterenként UI-t generálni.
Leírás | Letöltés | Walkthrough
CTExplorer: Content Type Explorer (Reiner Ganser)
A CTExplorer segítségével meglévő tartalom típusaink tulajdonságait tekinthetjük meg egy egyszerű Windows alkalmazásban. A tulajdonságok megtekintésén túl az igazi durranás ebben az eszközben, hogy képes a tartalom típusok feature-ként történő exportálására. Tehát ha szeretnénk egy új tartalom típust létrehozni, akkor exportálunk egy már létezőt és módosítjuk benne, amit szükséges.
Vélemény: saját tartalom típus kezeléséhez egyszerű kis kütyü. Ne várjunk tőle sokat, csak kezdőrúgást saját feature-ünk fejlesztéséhez.
SPMasterPicker: SharePoint Master Page Picker (Renaud "Stramit" Comte)
Azoknak jöhet jól ez az eszköz, akik saját mesterlapot fejlesztenek WSS alá és hiányolják a webes felületről azt az opciót, hogy hozzárendeljék új mesterüket egy webhely gyűjteményhez. Az SPMasterPicker solutionként/feature-ként települ és a Site Settings oldalon jelenít meg egy Select a Master Page opciót, amire kattintva a Master Page Gallery-ből választhatunk magunknak mester oldalt.
Vélemény: akik mesterlapot fejlesztenek, azok valószínűleg nem akarják a hozzárendelést lekódolni, nekik jól jöhet.
STSDEV: Simple Tools for SharePoint 2007 Development (Ted Pattison)
Ez a nemrég megjelent grafikus felhasználói felülettel ellátott parancssori eszköz Visual Studio projektek generálására képes. Azon túlmenően, hogy előállít számunkra egy teljes projektet, beépül a fordítási folyamatba is, így a forráskód újrafordításakor egy teljes SharePointos solution áll elő. Mi több, a Build parancs kiadásával egy kattintással telepíthetjük is az elkészült solutiont. Érdekes kezdeményezésnek tűnik, a SharePoint Solution Package (.wsp) és a szükséges .ddf fájl automatikus előállítása határozottan szimpatikus. Első tájékozódáshoz a screencastokat érdemes megnézni.
Vélemény: úgy látom, jó úton indult el ez a projekt, de még nincs túl sok tapasztalatom vele, nagyon friss.
Honlap | Letöltés (kód és screencast)
Egyéb hasznosnak tűnő eszközök
Ezekkel nincs sok tapasztalatom, de így meglesz minden egy helyen:
SharePoint Cross-Site Configurator
Az SPConfigurator célja, hogy egyszerűsítse sok site collection átkonfigurálását azzal, hogy mindent egy lépésben tehetünk meg. Honlap | Letöltés
LINQ to SharePoint
Egyedi LINQ query provider, ami lehetővé teszi a SharePoint adatbázisában található adatok lekérdezését LINQ szintakszissal. Még igencsak alpha verzió. Honlap | Letöltés
CAML.NET
John Holliday projektje CAML lekérdezések összerakására .NET-es szintakszissal. Honlap | Letöltés
Referencia oldalak
Néhány oldal az SDK-ból, amire gyakran van szükség:
- Best Practices: Using Disposable Windows SharePoint Services Objects – Kötelező olvasmány IDisposable témakörben!!!
- Setting Up Development Environments for the 2007 Microsoft Office System – egyszer érdemes elolvasni, főként annak, aki most esik neki először a WSS fejlesztésnek.
- Built-in list and library template IDs – az oldal közepén
- Default Custom Action Locations and IDs, URL token lista és John Holliday Custom Action Identifiers listája – CustomAction és HideCustomAction feature fejlesztéshez.
- How to: Create a Minimal Master Page – saját mesteroldal készítéséhez.