Introduktion till att bygga SharePoint-program

Viktigt!: Den här artikeln är maskinöversatt, se ansvarsfriskrivningen. Den engelska versionen av den här artikeln finns här för din referens.

Artikelinnehåll

Introduktion

Verktyg och teknik som används

Programarkitektur och utvecklingsmetodik

Implementera vanliga designmönster

Skapa mallar

Sammanfattning

Resurser

Introduktion

Windows SharePoint Services 3.0 är en teknik för Windows Server som erbjuder en integrerad samling tjänster för samarbete och kommunikation. Det är också en plattform för utveckling av webbaserade affärsprogram. Dra fördel av den här funktionen Microsoft har utvecklat 40 programmet mallar för Windows SharePoint Services 3.0 att ge out box-lösningar som underlättar hanteringen av behov av specifika affärsprocesser som samordna en supportavdelning eller spåra marknadsföringskampanjer, som du ser i exemplet i bild 1.

Startsidan i programmet Integrated Marketing Campaign Tracker
Bild 1: Startsidan i programmet Integrated Marketing Campaign Tracker

Microsoft utvecklade dessa kostnadsfria, nedladdningsbara programmallar för användning direkt efter distributionen. Kunder och partner kan dock även använda dessa programmallar som utgångspunkt för mer anpassade lösningar, eller använda dem som utbildningsexempel när de skapar sina egna avancerade Windows SharePoint Services 3.0-program med hjälp av Microsoft Office SharePoint Designer 2007.

Syftet med den här artikeln är att beskriva hur Microsoft utvecklat ansökningsmallar, identifiera rekommendationer för hur du arbetar med grundläggande funktionerna i både Windows SharePoint Services 3.0 och Office SharePoint Designer 2007, med målet att både kunder och partners att skapa sina egna program. I artikeln är främst en utvecklare resurs eller är inte en ersättning för Windows SharePoint Services 3.0 SDK. Utvecklare ska använda SDK för vanligen förstå hur du kan utöka Windows SharePoint Services 3.0.

Den här artikeln är tänkt som en resurs för en ny slags webbplatsdesigners. Eftersom Windows SharePoint Services och Office SharePoint Designer 2007 gör det möjligt att utveckla så många programfunktioner genom användargränssnittet krävs inga avancerade utvecklingskunskaper för att bygga avancerade program. Men för säkerhets skull beskriver den här artikeln vissa anpassade kodimplementeringar för särskilt knepiga designmönster. Den övergripande metoden bör dock vara begriplig även för den som inte är utvecklare, och presenteras med den målgruppen i åtanke. Utvecklare kanske vill ögna igenom de inledande avsnitten om verktyg och metoder och ägna mer tid åt beskrivningen av designmönster och de specifika exemplen på hur dessa kan implementeras snabbt.

Det första avsnittet i den här artikeln, Verktyg och tekniker som används, innehåller en översikt över funktionerna i Windows SharePoint Services 3.0 och Office SharePoint Designer 2007 som används för att bygga program. I nästa avsnitt, Programarkitektur och utvecklingsmetodik, beskrivs den metodik som Microsoft använt i alla programmallar. Metodiken bygger på en lättbegriplig modell som undersöker syftet med lösningen, hur den ska användas och av vem samt vilka delar av tekniken som tar dig längst utan att du behöver skriva anpassad kod. Den slutar med en process som identifierar områden där anpassad kod eller andra anpassade åtgärder krävs.

Nästa avsnitt i artikeln, Implementera vanliga designmönster, fokuserar på hur du använder funktionerna i både Windows SharePoint Services och Office SharePoint Designer 2007 för att tillgodose vanliga designbehov, till exempel hur du skapar anpassade åtgärder i en lista. Det här är kärnan i artikeln och beskriver designmönstren som återkommer i alla programmallar (och även alla program som du utvecklar). Det här avsnittet innehåller exempel på fem designmönster, inklusive riktlinjer för att arbeta med användargränssnittet i Windows SharePoint Services eller med Office SharePoint Designer 2007 och anpassad kod.

Den sista delen av artikeln, Skapa mallar, beskriver hur du skapar en mallfil med Office SharePoint Designer 2007. Artikeln tar även upp annat, som till exempel lokalisering.

Efter den här artikeln bör du ha en bra förståelse för hur du kan utforma och skapa ett program, hur du börjar bygga en webbplats direkt i Windows SharePoint Services 3.0, inklusive hur du skapar länkade listor, anpassade kolumner, bibliotek, arbetsflöden osv., hur du sedan öppnar webbplatsen i Office SharePoint Designer 2007 för att göra ytterligare anpassningar, skapa anpassade formulär, lägga till anpassad kod för att ändra vissa funktioner, skapa anpassade arbetsflöden osv., och slutligen hur du skapar själva programmallen och distribuerar den för användning.

Överst på sidan

Verktyg och teknik som används

Det finns ett antal tekniker och verktyg som tillsammans gör det enklare än någonsin att skapa program. På den tekniska sidan betyder nya funktioner, till exempel stöd för arbetsflöden, att en webbplatsdesigner inte behöver skriva kod för att integrera arbetsflöden i ett program. På verktygssidan gör Office SharePoint Designer 2007, Microsoft Visual Studio 2005 och andra verktyg det möjligt att använda mindre och mindre kod (ofta ingen alls) för att göra saker som förut var väldigt svåra att åstadkomma.

Microsofts strategi för alla dessa verktyg och tekniker har varit att bygga in mer och mer av det komplicerade arbetet i själva infrastrukturen, så att du kan fokusera mer på själva designen i stället för på utvecklingen. Det betyder att Microsoft redan har gjort mycket av arbetet en gång, så att du bara behöver använda dessa funktioner i programmen på ett intuitivt sätt i hela användargränssnittet.

De efterföljande avsnitten förklarar hur de olika teknikerna och verktygen används tillsammans i programutvecklingsprocessen med utgångspunkt i Windows SharePoint Services 3.0, Office SharePoint Designer 2007 och andra tekniker, med fokus på nya relevanta funktioner och möjligheter. Mer omfattande beskrivningar finns i resurserna sist i den här artikeln.

Windows SharePoint Services 3.0

Windows SharePoint Services 3.0 innehåller kraftfulla nya funktioner. Följande nya funktioner och funktioner som är särskilt relevanta till att bygga anpassade program och du kommer att se många av dem som nämns igen i senare avsnitt:

  • I Bibliotek och listor    Windows SharePoint Services 3.0 introduceras ett antal nya bibliotek- och listtyper som kan användas som grunden för program.  Exempel på nya bibliotekstyper är bildbiblioteket (ett bibliotek som är specifikt utformat för att lagra och hantera återanvändbara Microsoft Office PowerPoint 2007-bilder), dataanslutningsbiblioteket m.fl.

  • Innehållstyper     Innehållstyper är ett grundläggande begrepp som används i hela Windows SharePoint Services 3.0. Innehållstyper är utformade för att hjälpa användarna att ordna innehållet på sina SharePoint-webbplatser på ett mer meningsfullt sätt. En innehållstyp är en återanvändbar samling inställningar som kan tillämpas på särskilda innehållskategorier. Med hjälp av innehållstyper kan du hantera och återanvända metadata och beteenden för en dokument- eller objekttyp centralt. Du kan till exempel associera arbetsflöden och händelser med en innehållstyp i stället för att behöva lägga till arbetsflöden och händelser i flera dokument eller bibliotek.

  • Webbplatskolumner    Webbplatskolumner erbjuder en central återanvändbar modell för definitionen av kolumner. När du skapar en webbplatskolumn har varje lista som använder kolumnen samma definition och du behöver inte återskapa kolumnen i varje lista. Webbplatskolumner är ett sätt för slutanvändarna att välja från en fördefinierad uppsättning kolumner som kan vara relevant i deras lista. Det betyder att de inte bara kan användas för att definiera kolumner för välkända listmallar centralt, utan även för att ge vägledning om användningen av särskilda kolumner som kan ha en speciell innebörd.

  • Arbetsflöde     Med ett arbetsflöde i Windows SharePoint Services 3.0 kan du koppla en affärsprocess till objekt i listor och bibliotek. Den här processen kan styra nästan alla aspekter av ett objekt, inklusive objektets livscykel. Du kan till exempel skapa ett enkelt arbetsflöde som dirigerar ett dokument till ett antal användare för godkännande. Vanligtvis skapar en webbplatsdesigner eller utvecklare specifika arbetsflöden. Webbplatsdesigners kan använda Office SharePoint Designer 2007 för att skapa arbetsflöden med hjälp av guidemiljön i Arbetsflödesdesignern, och utvecklare kan använda Visual Studio 2005 för att skapa mer kraftfulla och komplexa arbetsflöden.

  • Funktionsramverk    Windows SharePoint Services 3.0 innehåller en ny struktur kallad en ”funktion”. En funktion paketerar Windows SharePoint Services-element som hjälper användaren att uppnå ett visst mål eller att utföra en uppgift. En funktion innehåller ett eller flera element. Ett element är ett kärnbegrepp i Windows SharePoint Services. Windows SharePoint Services 3.0-funktionerna tillhandahåller ett helt ramverk som du kan utnyttja som utvecklare för att erbjuda anpassade funktioner för Windows SharePoint Services-lösningar. Funktionerna gör det också enkelt för administratörer att lägga till eller ta bort paketerade funktionsdelar.

  • Händelseoptimering    Händelser kan delas in i två huvudkategorier:

    • Listhändelser    Viktiga händelser, inklusive ändringar, tillägg och borttagningar av listobjekt och listkolumner (schemaändringar)

    • Enkla webbplatshändelser    Borttagning av webbplatser och webbplatssamlingar

      Händelser är antingen synkrona ”före”-händelser, med namnformatet ”XYZing” eller asynkrona ”efter”-händelser, med namnformatet ”ABCed”.

  • Åtkomst från mobila enheter   Windows SharePoint Services 3.0 innehåller nya funktioner som gör att listor kan återges korrekt på mobila enheter.  När en användare bläddrar till en Windows SharePoint Services 3.0-webbplats från en mobil enhet dirigeras deras webbläsare till en mobilspecifik version av webbplatsen som återger webbplatsinnehåll och listor i ett format som passar enheten.

Office SharePoint Designer 2007: Det bästa verktyget för att skapa SharePoint-program

Office SharePoint Designer 2007 har utformats specifikt för att hjälpa dig att skapa och anpassa webbplatser och arbetsflöden som skapats med SharePoint-produkter och -teknik (Windows SharePoint Services 3.0 och Microsoft Office SharePoint Server 2007). Den innehåller verktyg som IT-proffs och lösningsutvecklare behöver för att utveckla SharePoint-baserade program och arbetsflödeslösningar som förbättrar organisationens flexibilitet och automatiseringen av affärsprocesser. Med Office SharePoint Designer 2007 behöver du inte använda traditionella procedurbaserade kodningsspråk eller kodningstekniker för att göra följande:

  • Skapa datavyer och dataformulär utan kod för en rad olika datakällor, till exempel XML-filer, SQL-databaser som Microsoft SQL Server 2005 och webbtjänster.

  • Skapa avancerade, dynamiska arbetsflöden utan kod.

  • Skapa sidlayouter och siddesign.

  • Skapa huvudsidor.

  • Redigera och använda överlappande formatmallar (CSS).

  • Skapa webbdelssidor och ansluta webbdelar för att skapa avancerade affärsprogram.

Visual Studio 2005

Visual Studio 2005 kan användas för att lägga till anpassad kod till program eller för att skapa anpassade arbetsflöden. Du kan använda Visual Studio 2005 Designer för Windows Workflow Foundation för att skapa mallar för arbetsflöden och anpassade arbetsflödesaktiviteter. Du kan ta med kod i arbetsflödet samt designformulär som ska användas av arbetsflödet för att kommunicera med arbetsflödesanvändarna under associeringen och körningen.

Visual Studio 2005 Extensions för Windows SharePoint Services 3.0 är en kostnadsfri nedladdning som kombinerar en uppsättning verktyg för att utveckla anpassade SharePoint-program med hjälp av Visual Studio 2005. Paketet innehåller Visual Studio-projektmallar för webbdelar, webbplatsdefinitioner, listdefinitioner och ett fristående verktygsprogram, SharePoint Solution Generator, som genererar ett webbplatsdefinitionsprojekt från en befintlig SharePoint-webbplats. Programmet hjälper utvecklare att använda webbläsaren och Office SharePoint Designer 2007 för att anpassa innehållet på deras webbplatser innan de skapar kod med hjälp av Visual Studio 2005.

Visual Studio 2005-tillägg för Windows SharePoint Services 3.0 har tagits bort, men du kan fortfarande komma Visual Studio 2008 Extensions för Windows SharePoint Services 3.0, v1.3.

Microsoft Office Access 2007

Microsoft Office Access 2007 kan du skapa uppföljning program och innehåller en omfattande användarupplevelse för att ange, hantera och rapportering av data för begränsade scenarier. Mer information om hur du designar, skapa och dela Access-mallar finns bok I Rational Guide till Microsoft Office Access 2007-mallar.

Metoder och allmänna tekniker

Med avseende på utvecklingsmetoderna som beskrivs i nästa avsnitt utgår du från följande grundläggande steg när du skapar ett program:

  1. Avgör om du behöver en webbplatsdefinition eller en webbplatsmall.

  2. Skapa grundwebbplatsen i Windows SharePoint Services 3.0 eller Office SharePoint Server 2007.

  3. Använd Office SharePoint Designer 2007 för att öppna webbplatsen, göra ändringar osv.

  4. Använd Visual Studio 2005 om det behövs för att skapa ytterligare anpassad kod, anpassade arbetsflöden osv.

Överst på sidan

Programarkitektur och utvecklingsmetodik

Precis som med alla utvecklingsprojekt ökar chansen till ett lyckat resultat om du följer beprövade metoder när du strukturerar och bygger ett Windows SharePoint Services-program. I det här avsnittet beskrivs den metod som Microsoft har använt för att skapa de nedladdningsbara programmallarna. Det finns inget överraskande i den här modellen, särskilt inte för erfarna utvecklare, men den tar hänsyn till några specifika detaljer i SharePoint-miljön och den återspeglar Microsofts erfarenheter, vilket gör den värdefull i sammanhanget. Återigen, det här avsnittet kommer att vara till störst nytta för den som inte är utvecklare, men som har erfarenhet av att använda Windows SharePoint Services 3.0 och Office SharePoint Designer 2007.

I korthet börjar metoden med att vi tänker igenom vad programmet ska göra, vem som ska använda det och så vidare. Därefter tittar den mer ingående på hur data i programmet ska flöda, var de ska lagras och relationerna mellan olika datadelar. Med en god förståelse av datamodellen och användningsscenarierna är det lätt att genast sätta igång och börja bygga en första, grov version av programmet i Windows SharePoint Services 3.0 och att på ett iterativt sätt skapa listor, bibliotek, arbetsflöden osv. så att det så småningom börjar se ut och bete sig som önskat. Därefter är det dags att identifiera och göra de justeringar och anpassningar som krävs för att programmet ska passa dina affärsbehov.

Definiera funktionskraven för programmet

Även om det inte är nödvändigt att ha detaljerade tekniska specifikationer innan en Windows SharePoint Services-lösning utvecklas, är det viktigt att ha en god uppfattning om hur programmet ska fungera. Föregående punkt kan tyckas självklar, men som många utvecklare vet kan det vara stor skillnad mellan vad intressenterna tror att de vill ha i ett program och vad som faktiskt krävs för en lyckad affärsprocess (självklart inser intressenterna ofta detta när programmet nästan är klart).

Vad detta vill säga är att vi redan från början bör identifiera de funktionella kraven och tänka igenom vad programmet ska utföra. Om du till exempel behöver en lösning för projektuppföljning bör du åtminstone identifiera följande:

  • Vilka är aktörerna/rollerna i affärsprocessen?    I detta fall skapar en projektägare ett projekt och hanterar all information om uppgifter, problem osv. Uppgiftsägare tilldelas problem och uppgifter och måste interagera för att utföra sina jobb. Projektledare behöver få sammanfattningar om den övergripande projektstatusen.

  • Vilka är de olika aktörernas användargränssnittsbehov?    I detta fall behöver projektägaren, uppgiftsägarna och projektledaren olika vyer som är relevanta för deras aktiviteter. Uppgiftsägarna borde till exempel kunna se alla problem som de tilldelats, medan projektägaren borde kunna se alla problem som förfallit.

  • Hur ser affärsprocessen ut?    I detta fall skapar en projektägare ett projekt, milstolpar, uppgifter och budgetposter och spårar sedan förloppet över tid. Projektägaren har regelbunden åtkomst till all information, medan uppgiftsägarna måste agera på informationen när de tilldelas något.

  • Var finns data?     Kommer du bara använda data i Windows SharePoint Services eller behöver du åtkomst till externa data (från en databas, via en webbtjänst, genom affärsdatakatalogen och så vidare), och behöver du lagra data utanför Windows SharePoint Services?

  • Hur ser relationerna mellan data ut?    I detta fall behöver vi ett projektobjekt, ett milstolpeobjekt och uppgifts- och ärendeobjekt, som alla har en logisk hierarki. Användarna är även datapunkter och så är även t.ex. budgeten, antalet dagar osv.

Ett bra sätt att hitta svar på de flesta av de här frågorna är att bokstavligen rita bilder på en whiteboard och gå igenom affärsprocessen några gånger och med några få variationer (genom att skapa några projekt, tilldela uppgifter till två eller tre personer mellan projekt och så vidare). Rent konceptuellt är projektuppföljningsprogrammet en ganska enkel design och kraven är ganska tydliga i det här läget.

Verifiera datamodellen

Även om datamodellen redan har diskuterats är den så pass viktig att en djupare analys krävs. Det är mycket viktigt att du förstår datamodellen för att undvika drastiska, systemomfattande ändringar längre fram.

Det är viktigt att förstå att det finns ett antal relaterade informationsbitar, samt metainformation som beskriver och definiera var i affärsprocessen en viss uppgift finns. I projektuppföljningsexemplet måste vi veta mer än att det finns ett projekt, en milstolpe och uppgifter och ärenden. Vi måste veta att ett projekt är objektet på den översta nivån och att det kan ha flera milstolpar. Projekt kan också ha flera uppgifter och ärenden.

Fastställa komponenterna och deras relationer

I detta läge har vi en bra funktionell beskrivning av programmet. Nästa steg är att planera arkitekturen och bestämma hur du använder olika tekniker och funktioner i Windows SharePoint Services 3.0 och Office SharePoint Designer 2007. Alla program involverar någon kombination av funktionerna som beskrivs i det tidigare avsnittet Verktyg och tekniker som används, inklusive:

  • Listor och uppslag

  • Anpassade listvyer (gruppering, sortering, filtrering osv. genom användargränssnittet i Windows SharePoint Services)

  • Arbetsflöde

  • Anpassade sidor och anpassade datavyer i Office SharePoint Designer 2007

Listorna och uppslagen implementerar verkligen datamodellen. Så, inom ramen för projektuppföljningsprogrammet använder du en lista för projekt, en annan lista (med ett uppslagsfält för projektlistan) för milstolpar, en annan lista med ett uppslagsfält för projektlistan för ärenden och så vidare. För anpassade sidvyer kanske du bara vill ställa in standardvyn för gruppering efter status och sortering efter tillstånd.

En annan whiteboard-övning är på sin plats här, där du bara skapar ett utkast av programmet och identifierar de tekniker som används för varje del.

Börja skapa programmets komponenter

Återigen, det är inte nödvändigt att ha ytterst exakta tekniska specifikationer i detta läge. Det är viktigare att börja bygga, under förutsättning att du har en god uppfattning om det grundläggande dataflödet och användargränssnittsbehoven.

Bokstavligen innebär det att du skapar en ny webbplats med någon av de färdiga mallarna i Windows SharePoint Services 3.0, eller att du skapar en egen webbplatsmall i förväg och bygger en ny webbplatsinstans utifrån den. För många program använder du förmodligen bara mallen Gruppwebbplats eller Tom webbplats som utgångspunkt.

I projektuppföljningsprogrammet är det första du gör att skapa fyra listor (projektlista, projektuppgifter, projektärenden och projektmilstolpar). Sedan skapar du anpassade kolumner för var och en av dessa listor. I Windows SharePoint Services 3.0 kan du skapa ett antal olika kolumntyper, inklusive Val, Tal, Person eller grupp och Uppslag (information som redan finns på webbplatsen). Listan Projektlista i Microsofts mall för projektuppföljningsprogrammet använder många av dessa, som du ser i bild 2.

Anpassade kolumner i en lista
Bild 2: Anpassade kolumner i en lista

Kolumnen Status baseras på kolumntypen Val, budgetkolumnen är en talkolumn (som använder valuta) och så vidare.

I listan med projektets milstolpar används en uppslagskolumn så att en milstolpe kan associeras i en underordnad/överordnad-relation med ett projekt. När du skapar en uppslagskolumn väljer du bara listan som du vill leta i och väljer sedan kolumnen från den listan (Windows SharePoint Services fyller automatiskt i den nedrullningsbara listrutan), som du ser i bild 3.

Definiera en uppslagskolumn så att den hämtar information från en annan lista
Bild 3: Definiera en uppslagskolumn så att den hämtar information från en annan lista

I detta läge kan du arbeta med en del programlogik och skapa ett enkelt arbetsflöde som informerar medlemmarna när nya projekt skapas. Du kan också börja skapa anpassade vyer i listor med hjälp av användargränssnittet i Windows SharePoint Services för att sortera och filtrera informationen efter önskemål.

Fastställa vilka anpassningar som behövs i programmet

Rent funktionsmässigt har en hel del av projektuppföljningsprogrammet implementerats med bara användargränssnittet i Windows SharePoint Services. I detta läge kan vi redan se vad som fungerar men inte tillräckligt bra, vad som inte kan göras via användargränssnittet i Windows SharePoint Services och så vidare. Några områden där vi vill dra nytta av Office SharePoint Designer 2007 är:

  • Programlogik i ett arbetsflöde    Arbetsflödena som du kan använda direkt i Windows SharePoint Services 3.0 och Office SharePoint Server 2007 måste definiera antingen en användare eller en grupp som en uppgift ska tilldelas till. För vårt projektuppföljningsprogram behöver vi ett sätt att dynamiskt fastställa en mottagare för en arbetsflödesåtgärd, baserat på ägaregenskapen i ett ärende eller en uppgift. Vi kan använda Office SharePoint Designer 2007 för att skapa ett dynamiskt arbetsflöde utan kodning för den här lösningen.

  • Instrumentpanels- och chefsvyer    Vi behöver ett sätt att visa en kombinerad vy över alla projekt, alla budgetar och så vidare. Vi kan enkelt skapa datavyer utan kod för att visa kopplad och kombinerad information för en instrumentpanel.

  • Överordnad/underordnad-relationer    Det finns några problem med användarvänligheten när nya uppgifter skapas. Kanske vill vi att en uppgift som standard ska kopplas till ett visst projekt, beroende på vilken sida vi är på. Vi kan använda Office SharePoint Designer 2007 för att lägga till logik som automatiserar länkningen av ett objekt till ett annat.

Microsoft använde samma iterativa metod när man skapade de 40 programmallarna och en uppsättning enhetliga metoder, med konsekventa metodtips, beslutsträd och så vidare, utvecklades för att optimera det som kan göras internt i Windows SharePoint Services 3.0 och det som kan göras med hjälp av Office SharePoint Designer 2007 och andra verktyg. Nästa avsnitt i den här artikeln beskriver dessa metoder och identifierar fem ”designmönster” och hur de bör implementeras, med hänvisningar till exempel från många av programmallarna. Resten av detta dokument är mer detaljerat och tekniskt sett djupare än diskussionen om metodik.

Överst på sidan

Implementera vanliga designmönster

I det här avsnittet beskriver vi de fem grundläggande designmönstren med utgångspunkt i hur Microsoft har använt dem. Vi kommer alltså att referera till ett antal olika exempel för mallarna, till exempel kodexempel och stegvisa instruktioner då det är lämpligt. Det här avsnittet och resten av avsnitten om hur du skapar en programmall är mest användbara för utvecklare, men har skrivits för att även andra ska ha nytta av dem.

Designmönstren är som följer:

  • Anpassade formulär    Att skapa en anpassad stil och design som ger vägledning på vissa ställen i affärsprocessen (detta involverar bland annat exponering av lämpliga egenskaper som kan ändras eller som är relevanta i ett visst skede).

  • Åtgärdsflöde    Att skapa väldefinierade åtgärder som leder rätt aktör till rätt stället (här krävs en bra navigeringskontroll som känner av vilken åtgärd som utförs och vilken aktör som vidtar åtgärden).

  • Överordnad/underordnad-relationer    Att skapa en relation mellan två eller fler SharePoint-listor för sökning och referens.

  • Arbetsflöden    Att använda Office SharePoint Designer 2007 för att skapa en affärsprocess med Windows Workflow Foundation.

  • Instrumentpaneler    Att använda webbdelar för att skapa en enhetlig vy över olika typer av information på webbplatsen på ett och samma ställe.

Använda anpassade formulär

Anpassade formulär spelar en viktig roll i anpassningen av användargränssnittet för datainmatning i Windows SharePoint Services. Precis som anpassad listvyer används för att presentera listdata på olika sätt används anpassade formulär för att presentera olika metoder för att samla in användarindata. Behovet av att skapa dessa anpassade formulär kan uppkomma av olika anledningar, beroende på företagets behov.

Uppgiftsbaserad anpassning

Affärsprocesser kräver att användare utför väldigt specifika åtgärder som påverkar affärsdata vid olika tidpunkter i processen. En bra affärsprocesslösning gör det enkelt för användarna att utföra sitt arbete genom att exponera rätt information i varje steg i processen.

Windows SharePoint Services inenhåller ett redigeringsformulär med varje lista som standard. Men det här formuläret kanske inte visar den bästa uppsättningen fält för en viss fas i en affärsprocess, och det ordnar inte fälten på ett sätt som tydliggör den nödvändiga åtgärden. För att se till att användarna enkelt kan redigera rätt information när de utför en åtgärd kan du skapa ett anpassat formulär för varje åtgärd.

Lösningen Bugguppföljning använder anpassade redigeringsformulär så att det i varje fas i bugguppföljningsprocessen är tydligt vilken information som ska anges för en buggpost. Varje åtgärd i bugguppföljningsprocessen har sitt eget formulär. När en användare till exempel väljer att lösa en bugg dirigeras användaren till lösningssidan (Resolve.aspx). På den här sidan kan användaren ange bugglösningen och namnet på den person som åtgärdade buggen. Användaren klickar på knappen Lös för att skicka sina ändringar. Detta åtgärdsflöde är enkelt att använda och minimerar antalet fel eller information som saknas.

Det är relativt enkelt att skapa ett anpassat redigeringsformulär med hjälp av Office SharePoint Designer 2007:

  1. Skapa en kopia av standardsidan EditForm.aspx och byt namn på den.

    Viktigt!: Det är viktigt att du skapar en kopia av standardsidan EditForm.aspx och att du byter namn på den som det första steget i den här processen. Om du utför steg 2 på den ursprungliga EditForm.aspx-sidan bryts listan.

  2. Ta bort webbdelen Listformulär i det nya redigeringsformuläret.

  3. Infoga en datavy som innehåller de data som du vill exponera (klicka på SharePoint-kontrollerInfoga-menyn och sedan på Anpassat listformulär).

  4. Office SharePoint Designer 2007 skapar automatiskt en Spara-knapp för formuläret med hjälp av Infoga-metoden. Koden nedan visar ett exempel på anpassad HTML för Spara-knappen.

<input type="button" value="Save" name="btnSave" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__redirectsource')}"/>

Navigering

När du har skapat sidor som motsvarar dina användarroller måste du fortfarande ge användarna ett sätt att snabbt komma åt den relevanta instrumentpanelen. I lösningen Planering av evenemang använde vi en XSL-mall för att skapa en länk till rätt instrumentpanel för den aktuella användaren baserat på deras roll.

En begränsning med den här tekniken är att du måste skapa ytterligare ASPX-sidor om du lägger till fler roller i lösningen och skapar anpassade instrumentpaneler för dessa.

Det är viktigt att notera att den här tekniken inte ger någon ytterligare kontroll över vem som har åtkomst till information på webbplatsen. Alla användare kan fortfarande teoretiskt sett visa all information i lösningen.

Tilldela användare roller

Du kan skapa roller och tilldela dem till användare på flera olika sätt. Den bästa lösningen varierar mycket beroende på kraven i ett visst program eller en viss organisation. Windows SharePoint Services tillhandahåller ingen färdig lösning för att etablera rolltilldelningar. I vissa fall kan det räcka att etablera roller när en webbplats har distribuerats eller att tillåta användare att tilldela roller till sig själva efter behov.

I lösningen Planering av evenemang kan användarna registrera sig för den roll som passar dem bäst. Detta görs via den anpassade webbdelen på den första sidan på arbetsytan för Planering av evenemang.

Andra exempel på detta designmönster

En annan server admin exempel på användning av anpassade formulär, finns i Lånebibliotek programmet mall för Windows SharePoint Services 3.0.

Ett exempel på admin, finns i tillverkning Process Management programmet mall för Windows SharePoint Services 3.0.

Kontrollera åtgärdsflödet

Ett webbprogram som är utformat efter en affärsprocess är sällan begränsat till en enda sida eller en enda webbdel. I stället spänner det över flera sådana komponenter, som var och en ansvarar för ett särskilt steg i affärsprocessen. Därför blir en smidig och enkel navigering mellan komponenterna i ett program en av de viktigaste aspekterna i programmets design. Ett viktigt designmönster är alltså att styra åtgärdsflödet genom att binda åtgärder i affärsprocessen till navigeringen, så att en viss åtgärd leder användaren till rätt sida eller efterföljande åtgärd.

En metod för att styra åtgärdsflödet är att använda funktionen Anpassa åtgärd i Windows SharePoint Services 3.0. Med den här funktionen kan du lägga till egna åtgärder till knappen för inbäddad kontext för objekt i ett bibliotek. En begränsning med den här funktionen är att åtgärder måste hårdkodas och inte kan parametriseras efter namnet på objektet eller något annat dynamiskt värde.

Ett annat sätt att integrera dynamiska åtgärder i affärsprocessen är att skapa anpassade SharePoint-listor och använda ”beräknade fält”. Programmallen Bugguppföljning använder en anpassad bugglista för att spåra buggstatus och information. Genom att använda beräknade fält kunde Microsoft lägga till anpassade länkar i listvyn så att en användare kan vidta åtgärder med buggar, till exempel ”Aktivera” eller ”Lös”. Var och en av dessa åtgärder har dessutom navigeringskontroller som tar användaren till rätt anpassat formulär (se föregående designmönster) för att göra det som krävs för att aktivera eller lösa buggen.

Beräknade fält är en funktion i Windows SharePoint Services 3.0 som gör att du kan använda ett anpassat återgivningsmönster som en kolumn i en SharePoint-lista. Alltså visas en åtgärd i affärsprocessen (aktivera en bugg) som en knapp i en kolumn som dirigerar användaren till rätt formulär för att utföra åtgärden.

Det beräknade fältet stöder villkorsstyrd logik så att en åtgärd visas eller inte. Om buggen till exempel redan är aktiverad visar vi inte knappen Aktivera. Ett beräknat fält läggs till i en SharePoint-lista genom att ett Field-element läggs till i XML-schemafilen som definierar listan. <Field ID="{EA1D0509-767B-4576-ABEF-FC66647037B9}" Name="ActivateBug" Group="_Hidden" Type="Computed" Sortable="FALSE" Filterable="FALSE" DisplayName="$Resources:tsa,Activate_DispName;" ClassInfo="Icon" AuthoringInfo="$Resources:core,Linked_Item;"> <FieldRefs> <FieldRef ID="{94f89715-e097-4e8b-ba79-ea02aa8b7adb}" Name="FileRef"/> <FieldRef ID="{3f277a5c-c7ae-4bbe-9d44-0456fb548f94}" Name="Status"/> <FieldRef Name="ID" /> </FieldRefs> <DisplayPattern> <IfEqual> <Expr1>$Resources:core,Status_Active;</Expr1> <Expr2> <Field Name="Status"/> </Expr2> <Then> </Then> <Else> <HTML><![CDATA[<a href="]]></HTML> <HttpHost/> <UrlDirName> <HTML>/</HTML> <LookupColumn URLEncodeAsURL="TRUE" Name="FileRef"/> </UrlDirName> <HTML><![CDATA[/Activate.aspx?ID=]]></HTML> <Column HTMLEncode="TRUE" Name="ID"> </Column> <HTML><![CDATA[" onclick="GoToLink(this);return false;" target="_self">]]></HTML> <HTML><![CDATA[<img border="0" alt="]]></HTML> <HTML>$Resources:tsa,Activate_DispName;</HTML> <HTML><![CDATA[" src="]]></HTML> <HttpHost/> <UrlDirName> <HTML>/</HTML> <LookupColumn URLEncodeAsURL="TRUE" Name="FileRef"/> </UrlDirName> <HTML><![CDATA[/IMNBUSY.GIF">]]></HTML> <HTML><![CDATA[</a>]]></HTML> </Else> </IfEqual> </DisplayPattern> </Field>

Den här koden visar XML-koden för det beräknade fältet ”Activate”. Det här fältet visar en klickbar orange statuslänk om buggen inte har aktiverats. Användaren kan klicka på länken för att gå till aktiveringsformuläret för buggen.

Elementet FieldRefs innehåller en fältreferens till statusfältet i bugglistan. Med den här referensen kan vi anpassa återgivningen av det beräknade fältet beroende på buggens status.

Fältet DisplayPattern för en beräknad kolumn innehåller beräkningarna och återgivningsmönstren för kolumnen. I det här exemplet använder vi en ”if then else”-sats för att avgöra om buggens status är aktiv. Om buggen är aktiv visar vi inget i fältet ”Activate”. Om buggen inte är aktiv visas HTML-koden i Else-elementet. Den här HTML-koden är bilden och länken som användaren kan klicka på för att aktivera buggen.

Andra exempel på detta designmönster

En annan server admin exempel styra åtgärd flöde finns Lånebibliotek programmet mall för Windows SharePoint Services 3.0.

Ett exempel på admin, finns i anställd aktiviteter program webbplatsmall för Microsoft Windows SharePoint Services 3.0.

Använda överordnad/underordnad-relationer

Affärslösningar kräver ofta att data visas och används i relation till andra data. Som vi såg i projektuppföljningsprogrammet lagras till exempel projekt, uppgifter, problem och milstolpar i egna SharePoint-listor. Varje uppgift, problem och milstolpe associeras med ett objekt i projektlistan. Att underhålla relationen mellan en lista och den underordnade informationen i andra listor kan utgöra en utmaning.

Skapa en standardlänk mellan ett nytt listobjekt och ett befintligt

En vanlig utmaning uppstår när en användare vill skapa ett listobjekt som är relaterat till ett objekt i en överordnad lista. I projektuppföljningslösningen inträffar detta när en användare försöker skapa en uppgift som är relaterad till ett befintligt projekt. Det finns ingen färdig mekanism i Windows SharePoint Services 3.0 för att automatiskt skapa en relation mellan ett listobjekt som skapas och ett som redan finns.

På projektinformationssidan (DispForm.aspx) i programmallen för projektuppföljning kan användaren skapa nya uppgifter under det projektet. Den nya uppgiftsgenereringssidan (NewForm.aspx) innehåller en listruta där användaren kan välja det överordnade projektet för uppgiften. För att den här listrutan som standard ska visas för det överordnade projektet på sidan som användaren navigerade från skickar vi ID:t för det överordnade projektet till NewForm.aspx i frågesträngen. Därefter använder vi JavaScript för att parsa projektets ID-värde och välja relevant projekt i listrutan. <a href="../ProjectTasks/NewForm.aspx?ProjectID={$ProjectID}" onclick="javascript:this.href = unescapeProperly(escape(this.href)); GoToLink(this); return false;" target="_self">Create a new Task...</a>

Den här koden visar länken från DispForm.aspx. Observera att ProjectID ingår i frågesträngen.

När NewForm.aspx har lästs in parsar JavaScript projekt-ID:t från frågesträngen och ändrar projektets listruta så att rätt projekt väljs.

JavaScript-koden finns i en webbdel av typen Innehållsredigerare i NewForm.aspx. Webbdelen är konfigurerad utan sidhuvud så att den inte visas på sidan om sidan inte är i redigeringsläge. JavaScript-koden placeras inuti innehållsredigeringsområdet. <script type="text/javascript"> _spBodyOnLoadFunctionNames.push("fillDefaultValues"); function fillDefaultValues() { var qs = location.search.substring(1, location.search.length); var args = qs.split("&"); var vals = new Object(); for (var i=0; i < args.length; i++) { var nameVal = args[i].split("="); var temp = unescape(nameVal[1]).split('+'); nameVal[1] = temp.join(' '); vals[nameVal[0]] = nameVal[1]; } setLookupFromFieldName("Project", vals["ProjectID"]); setLookupFromFieldName("Milestone", vals["MilestoneID"]); } function setLookupFromFieldName(fieldName, value) { if (value == undefined) return; var theSelect = getTagFromIdentifierAndTitle("select","Lookup",fieldName); if (theSelect == null) { var theInput = getTagFromIdentifierAndTitle("input","",fieldName); ShowDropdown(theInput.id); var opt=document.getElementById(theInput.opt); setSelectedOption(opt, value); OptLoseFocus(opt); } else { setSelectedOption(theSelect, value); } } function setSelectedOption(select, value) { var opts = select.options; var l = opts.length; if (select == null) return; for (var i=0; i < l; i++) { if (opts[i].value == value) { select.selectedIndex = i; return true; } } return false; } function getTagFromIdentifierAndTitle(tagName, identifier, title) { var len = identifier.length; var tags = document.getElementsByTagName(tagName); for (var i=0; i < tags.length; i++) { var tempString = tags[i].id; if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) { return tags[i]; } } return null; } </script>

Kommandot _spBodyOnLoadFunctionNames.push lägger till funktionen fillDefaultValues i listan med skript som ska köras i samband med inläsningen.

Funktionen fillDefaultValues registrerar projekt-ID:t eller milstolpe-ID:t från frågesträngen och skickar det till setSelectedOptions. Sedan anger setSelectedOptions värdet för listrutan till ID:t för det överordnade projektet.

Andra exempel på detta designmönster

En annan server admin exempel på användning av underordnade och överordnade objekt vyer finns i Lageruppföljning programmet mall för Windows SharePoint Services 3.0.

Ett exempel på admin, finns i nya Store öppnar programmet mall för Windows SharePoint Services 3.0.

Använda arbetsflöde

Windows Workflow Foundation i Windows SharePoint Services 3.0 gör att du kan lägga till arbetsflödeslogik i ett program. Office SharePoint Designer 2007 har ett kraftfullt regelbaserat designverktyg som hjälper dig att anpassa och lägga till villkorsstyrd logik till de färdiga arbetsflödena. Du kan också skapa mer komplexa och anpassade arbetsflöden med kod med hjälp av Visual Studio 2005 med Visual Studio 2005 Extensions för Windows Workflow Foundation. Som du ser nedan finns det dock några saker att tänka på vad gäller när och hur ett arbetsflöde ska användas.

Att tänka på i samband med användningen av arbetsflöden

Arbetsflöden är en bra lösning för asynkrona åtgärder. I lösningen med lånebiblioteket används ett arbetsflöde när en användare föreslår en ny bibliotekstillgång. En anledning till att arbetsflöden är ett bra val här är att processen mellan den som ger förslaget och godkännaren inte är synkrona.

Arbetsflöden fungerar även bra för schemalagda händelser. I lösningen med lånebiblioteket används ett arbetsflöde för att hantera utcheckning och påminnelser om förfallodatumet för tillgångar. När ett objekt checkas ut skickar arbetsflödet automatiskt en påminnelse om förfallodatumet för objektet.

Arbetsflöde kan användas som ett sätt för att förenkla en annars komplicerade programming aktivitet på servern. Mall för hantering av tidkort för Windows SharePoint Services 3.0 är ett exempel. Det här programmet spårar varaktigheten för en anställd arbete med en viss aktivitet genom att beräkna skillnaden mellan hålslag i och hålslag ut tidsstämplar. Normalt sett att hålla reda på tidsstämplar kräver loggning i dessa två aktiviteter på servern (antagligen till en databas) – ett märkbara utveckling som. Det här programmet i stället förlitar sig på ett enkelt arbetsflödessteg. När användaren slår arbetsflödet skapas en post i listan tid Log och anger värdet starttid till den aktuella tidsstämpeln. På samma sätt när användaren slår arbetsflödet uppdaterar den associerade raden i samma lista och ställer in värdet för sluttid. Varaktigheten för användarens arbete är bara det för skillnad mellan sluttid och starttid värden som visas i den beräknade kolumnen timmar.

Arbetsflöden körs asynkront. Om du skapar en lösning där resultatet av en åtgärd måste slutföras direkt innan användaren navigerar till nästa sida, kanske ett arbetsflöde inte är den bästa lösningen. Exempelvis används inte arbetsflödet i bugguppföljningslösningen för att hantera buggaktiveringar och bugglösningar. En av orsakerna till detta designval är att ändringar i buggstatusen måste återspeglas i användargränssnittet direkt efter att en användare utför en buggrelaterad åtgärd.

Använda Office SharePoint Designer 2007 för att skapa ett anpassat arbetsflöde

Att skapa ett arbetsflöde med hjälp av Office SharePoint Designer 2007 kräver ingen kod. Med en öppen webbplats klickar du bara på Arkiv-menyn, pekar på Nytt, klickar på Arbetsflöde och använder sedan Arbetsflödesdesignern. Med Arbetsflödesdesignern kan du skapa avancerade regler och åtgärder. Arbetsflödesdesignern är integrerad med SharePoint-baserade listor och bibliotek så att du kan använda fält och värden direkt från list- och biblioteksobjekt för att hantera arbetsflödeslogiken.

Anta att du vill skapa en arbetsflödesåtgärd som skickar ett e-postmeddelande till en uppgiftsägare när en ny uppgift eller ett nytt ärende skapas. I projektuppföljningsmallen är ägaren en anpassad kolumn i SharePoint-listan så att arbetsflödet kan använda den här kolumnens värde och sedan dynamiskt fastställa e-postadressen vid körningstillfället.

Mer information om arbetsflöden i Office SharePoint Designer 2007 finns i Introduktion till Microsoft Office SharePoint Designer 2007.

Andra exempel på detta designmönster

En annan server admin exempel med att använda arbetsflöden finns i tjänster och mall för intervju Management för Windows SharePoint Services 3.0.

Ett exempel på admin, finns i klinisk prövning initiering och hantering av programmet mall för Windows SharePoint Services 3.0.

Använda instrumentpaneler

Bland de många fördelarna med den webbdelsbaserade infrastrukturen i Windows SharePoint Services 3.0 är möjligheten att visa olika typer av information på en SharePoint-webbplats eller externt på en sammanfattningssida, en så kallad instrumentpanel. Ett vanligt affärsbehov i delade miljöer är rollbaserade instrumentpaneler, som kan visa en vy över relevant information för en roll eller person. Den här typen av instrumentpaneler kan utnyttja kraftfulla inbyggda funktioner, till exempel webbdelsfiltrering och målgruppsinriktning, och visa information baserat på vem som tittar på sidan.

Du kan också gå längre och skapa separata sidor för olika roller så att du verkligen kan anpassa inte bara den information som visas, men även layouten och andra aspekter av sidan. Sådana anpassade rollbaserade sidor används genomgående i programmallarna och kan självklart även innehålla filtrering och målgruppsanpassning.

Exempelvis använder programmet med lånebiblioteket rollbaserade instrumentpaneler för att visa den information som är mest relevant för användaren baserat på användarens roll. Huvudsidan på webbplatsen har två tillgängliga sidor: en som är avsedd för biblioteksanvändaren (standardsidan) och en för bibliotekarien.

På motsvarande sätt finns det tre tillgängliga instrumentpanelsvyer på huvudsidan i supportprogrammet: Startsida för servicerepresentant, Startsida för kunskapshanterare och Startsida för Servicerepresentant Användaren väljer den länk som är mest relevant för deras roll. Webbdelsvyn som visas på instrumentpanelen filtrerar också innehållet så att det är relevant för användaren. Detta görs genom att ett filter tillämpas på vyn. Följande steg visar hur ett sådant filter används för en befintlig listvy.

  1. Gå till sidan med listvyn i webbläsaren.

  2. Leta upp den nedrullningsbara kontrollen i listverktygsfältet och välj den vy som du vill ändra om vyn inte redan är vald.

  3. Gå till samma nedrullningsbara kontroll igen och välj Ändra den här vyn.

  4. Rulla ned till filteravsnittet på sidan Redigera vy. Ange filtervärdet så här:

    Visa objekten när kolumnen Skapat av är lika med [Jag] eller när kolumnen Kund är lika med [Jag].

  5. Klicka på OK.

Startsidan för Servicerepresentant i supportprogrammet i bild 4 innehåller två webbdelar av typen Instrumentpanel som sammanfattar serviceförfrågningar efter status och prioritet i form av ett stapeldiagram.

En instrumentpanelssida
Bild 4: En instrumentpanelssida

Det här är webbdelar av typen Datavy som återger data som finns i listan Serviceförfrågningar, som också är en del av webbplatsen för supportlösningen. Det blir lättare att förstå hur de här webbdelarna skapats om du öppnar webbplatsen i Office SharePoint Designer 2007 och läser in sidan HelpDeskManager.aspx som innehåller dessa webbdelar. Visa sidan i delad vy så ser du att koden bakom webbdelarna är en blandning av XLST-, HTML- och CSS-markeringsspråk.

Vi ska titta lite närmare på hur staplarna i stapeldiagrammet i webbdelen skapades. Vi tar webbdelen Övergripande prioritet för serviceförfrågningar som exempel. På Infoga-menyn i Office SharePoint Designer 2007 klickar du på SharePoint-kontroller och sedan på Datavy för att öppna åtgärdsfönstret Datakällbibliotek. I det här fönstret kan vi bläddra igenom olika datakällor som är tillgängliga för webbplatsen, inklusive listor som redan finns på webbplatsen. I det här fallet expanderar vi avsnittet SharePoint-listor och klickar på listnamnet, Serviceförfrågningar, för att definiera den här listan som vår datakälla. På snabbmenyn som visas klickar vi på Visa data. Nu öppnas en ny panel i åtgärdsfönstret kallad Information om datakälla som visar alla fält och exempeldata som lagras i listan Serviceförfrågan. Från den här panelen väljer vi de fältnamn som vi vill visa i webbdelen – i det här fallet fältet Prioritet – och väljer Infoga markerat fält som vy med enskilt objekt (se bild 5).

Observera att vårt mål här är att visa antalet uppgifter grupperade efter prioritet. Det innebär att vi bara måste visa de tillgängliga alternativen i listan Prioritet en gång och sedan visa antalet för varje prioritetsvärde bredvid i listan. Därför väljer vi att visa prioritetsvärdena som en Vy med enskilt objekt som utgångspunkt för vår anpassning. Om vi i stället valt en Vy med flera objekt hade alla rader i listan visats.

Skapa en Instrumentpanelssida i SharePoint Designer
Bild 5: Skapa en instrumentpanelssida i Office SharePoint Designer 2007

Nu infogar vi en webbdel av typen Datavy på sidan där markören är placerad. Webbdelen visar dock bara en rad med data, inte ett stapeldiagram som sammanfattar serviceförfrågningar efter prioritet. Eftersom webbdelen återges med hjälp av HTML- och XSL-kod kan vi som tur är anpassa koden efter våra behov. I följande avsnitt beskrivs några viktiga delar i den här anpassningen för att konvertera webbdelen till ett stapeldiagram.

Vi vet att vår listdatakälla har tre möjliga prioritetsvärden: (1) Hög, (2) Normal och (3) Låg. Därför deklarerar vi en XLST-variabel för varje värde på följande sätt: <xsl:variable name="High" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Priority) = '(1) High'])" /> <xsl:variable name="Normal" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Priority) = '(2) Normal'])" /> <xsl:variable name="Low" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Priority) = '(3) Low'])" /> <xsl:variable name="AllTasks" select="count(/dsQueryResponse/Rows/Row)" />

Observera att XSL-parametern @Priority refererar till namnet på datakällans fält. Eftersom koden för att rita ut vart och ett av de tre prioritetsvärdena är nästan likadan fokuserar vi på att bara rita det första prioritetsvärdet. För att få fram procentvärdet definierar vi en ny variabel, percetHigh, för att beräkna procentvärdet för högprioriterade förfrågningar: <xsl:variable name="percentHigh" select="$High div $AllTasks" />

Koden som skapar själva stapeln är en XSL-mall, som du ser nedan: <xsl:template name="ChartRow"> <xsl:param name="RowName"></xsl:param> <xsl:param name="Value"></xsl:param> <xsl:param name="PercentValue"></xsl:param> <tr> <td class="ms-formbody" width="125px" style="vertical-align:middle"> <xsl:value-of select="$RowName"/>: <xsl:value-of select="$Value" /> <xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes"> &amp;nbsp; </xsl:text>( <xsl:call-template name="percentformat"> <xsl:with-param name="percent" select="$PercentValue"/> </xsl:call-template>) </td> <td> <table width="100%" > <tr> <td width="{round($PercentValue*100)+1}%" height="15px" class="ms-selected"><xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes">&amp;nbsp;</xsl:text> </td> <td width="100%" > <xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes">&amp;nbsp;</xsl:text> </td> </tr> </table> </td> </tr> </xsl:template>

Observera att själva stapeln är en tabell med två celler. Bredden på den första cellen, som representerar bredden på stapeln i diagrammet, bestäms av variabeln PercentValue, som i koden representeras som: td width="{round($PercentValue*100)+1}%"

På den här cellen har vi också tillämpat en CSS-formatklass, ms-selected. Den här formatklassen definieras i filen core.css så här: .ms-selected { background-position:left top; color:#000000; background-image:url("/_layouts/images/filedialogselected.gif"); background-color:#FFE499; border-top:1px solid #FFE499; border-bottom:1px solid #FFE499; background-repeat:repeat-x; }

Bakgrundsbilden, filedialogselected.gif, är det som gör att cellen (dvs. stapeln) visas i gult.

Andra exempel på detta designmönster

Se Callcenter programmet mall för Windows SharePoint Services 3.0till en annan server admin exempel på användning av instrumentpaneler.

Ett exempel på admin, finns i Business prestanda rapportering programmet mall för Windows SharePoint Services 3.0.

Överst på sidan

Skapa mallar

Det finns två typer av programmallar i Windows SharePoint Services: webbplatsdefinitioner och webbplatsmallar. De 40 programmallarna är en blandning av dessa två. Användaren kan välja båda typerna av mallar på sidan Ny SharePoint-webbplats, och båda fungerar på nästan samma sätt för slutanvändaren. Hur mallarna skapas och görs tillgängliga för användning i formuläret för webbplatsgenerering skiljer sig dock kraftigt.

Webbplatsdefinitioner

I sin mest grundläggande betydelse är en webbplatsdefinition en samling XML-filsammansättningar och ASPX-sidor som anger hur webbplatsen som baseras på den ska vara strukturerad och vad det underliggande programmet på webbplatsen ska göra. Eftersom de grundläggande XML- och ASPX-filerna kan nås via filsystemet kan de enkelt klonas och ändras för att skapa nya webbplatsdefinitioner, vilket gör webbplatsdefinitioner mycket anpassningsbara.

När en webbplats har etablerats (skapats) från en webbplatsdefinition kan ändringar i webbplatsens definitionsfiler i filsystemet fortfarande spridas till den etablerade webbplatsen. Dock går det inte att ändra webbplatsens definitionsfiler när webbplatserna har etablerats. Om någon av sidorna i den etablerade webbplatsen ändras med hjälp av en extern redigerare som Office SharePoint Designer 2007 går sidans anslutning till webbplatsdefinitionen i filsystemet förlorad. I stället sparas sidan i Windows SharePoint Services-databassystemet och kallas för en ”anpassad” eller ”återställd” sida.

Om du behöver anpassa en befintlig webbplatsdefinitionen är din metod att börja med en omdöpta kopia av webbplatsdefinitionen, i stället för att ändra en befintlig lista. Om du vill implementera ändringar i en befintlig webbplatsdefinitionen när webbplatser har redan tillhandahållna formulär, måste du skapa och distribuera en webbplats definition uppgradera lösningspaket. Mer information om hur du gör detta finns i motsvarande artiklar i Windows SharePoint Services 3.0 SDK.

Webbplatsmallar

En webbplatsmall är en SharePoint-webbplats paketerad i en enda fil som kan packas upp för att skapa nya webbplatser med liknande struktur och innehåll. Det innebär att för att kunna skapa en webbplatsmall så måste vi ha en befintlig SharePoint-webbplats som utgångspunkt. Alla webbplatsanpassningar – sidlayouter, formatmallar, bilder, huvudsidor, dokument, listor, listinnehåll – kan samlas i mallen.

En befintlig webbplats kan hämtas till en mall direkt via webbplatsens administrativa uppgifter (under Webbplatsinställningar) eller från Office SharePoint Designer 2007. När webbplatsmallen har skapats lagras den i galleriet med webbplatsmallar för den aktuella webbplatssamlingen. Filen har filnamnstillägget .stp. Den här filen kan hämtas från galleriet för webbplatsmallar och migreras till en annan webbplatssamling eller till en annan servermiljö. I den senare delen av det här avsnittet förklarar vi i mer detalj hur en webbplatsmall skapas och används.

Använda webbplatsdefinitioner eller webbplatsmallar

Som vi nyss beskrivit kommer webbplatsmallarna i själva verket från webbplatsdefinitioner. När du väljer mellan att skapa en ny webbplatsdefinition eller en webbplatsmall bör du tänka på följande:

  • Programmets komplexitet    Om dina behov främst är kosmetiska, till exempel layoutändringar och bildjusteringar på en befintlig webbplats, bör du använda webbplatsmallar. Om du i stället vill lägga till nya webbdelsdefinitioner eller om du vill använda anpassad kod eller beräknade fält bör du skapa en anpassad webbplatsdefinition.

  • Din åtkomstnivå på servern    Har du åtkomst till hela webbservern? Eller bara till en viss webbplatssamling? För att kunna skapa och distribuera en webbplatsdefinition krävs åtkomst till serverns filsystem. Om du inte har den här typen av åtkomst kan du bara skapa en webbplatsmall på den webbplatssamlingsnivå som du har åtkomst till. Tänk på att det här åtkomstkravet inte gäller för webbplatsadministratörer – när de distribuerats kan alla med behörighet att skapa en ny webbplats komma åt endera typ av programmall.

  • Frekvens för framtida uppdateringar/ändringar    Ändringar i en webbplatsmall påverkar inte webbplatser som redan skapats från den – endast nyare webbplatser som skapas efter ändringarna påverkas. Distributionen av ett lösningspaket för uppgradering av webbplatsdefinitioner påverkar alla webbplatser som redan har skapats från det.

Anvisningar för hur du skapar webbplatsmallar och webbplatsdefinitioner

Utvecklingen av webbplatsmallar och webbplatsdefinitioner involverar olika mängd komplexitet. De grundläggande teknikerna beskrivs i nästa avsnitt.

Skapa en webbplatsmall

Som vi nämnt tidigare är en webbplatsmall i själva verket en SharePoint-webbplats som paketerats för återanvändning. Den här paketerade filen finns i galleriet för webbplatsmallar på webbplatssamlingsnivån. Webbplatsmallarna i galleriet kan användas för att skapa nya webbplatser på alla underordnade webbplatsnivåer i webbplatssamlingen. Följande steg hjälper dig att skapa en ny webbplatsmall från en befintlig webbplats:

  1. Öppna den befintliga webbplatsen i Office SharePoint Designer 2007 och kontrollera att du är nöjd med layouten och innehållet på webbplatsen.

  2. Peka på ExporteraArkiv-menyn och klicka sedan på SharePoint-platsmall. Nu kommer du till webbsidan Webbplatsinställningar.

  3. Ange ett filnamn, en rubrik och en beskrivning för mallen.

  4. Du kan också välja alternativet Inkludera innehåll om du vill ta med data i listor och dokumentbibliotek i mallen. Du bör också välja det här alternativet om du vill ta med arbetsflöden eftersom arbetsflöden i själva verket är innehåll som lagras i ett dokumentbibliotek.

  5. Klicka på OK. Nu skapas en mallfil från webbplatsen med filnamnstillägget .stp och filen placeras i galleriet för webbplatsmallar för den överordnade webbplatsen.

Från galleriet kan du klicka på mallnamnet för att hämta STP-filen lokalt till disken. Härifrån kan du överföra filen till ett annat mallgalleri.

Skapa en webbplatsdefinition

Till skillnad från webbplatsmallar lagras webbplatsdefinitioner i filsystemet. Varje webbplatsdefinition finns i en egen mapp på servern i:

% CommonProgramFiles %\Microsoft Shared\Web server extensions\12\TEMPLATE\ SiteTemplates

Mappen med webbplatsmallar innehåller olika webbplatselement, till exempel ASPX- och HTML-filer samt associerade resurser, till exempel bilder och JavaScript-filer. ONET.XML är den grundläggande webbplatsdefinitionsfilen som anger webbplatsdefinitionens olika konfigurationer och moduler. ONET.XML lagras i en underkatalog med namnet ”XML”.

Webbplatsdefinitioner registreras med Windows SharePoint Services och görs tillgängliga via WEBTEMP XML-filer. Alla WEBTEMP XML-filer finns i

% CommonProgramFiles % \ \Microsoft Shared\Web server extensions\12\TEMPLATE\ < LCID > \XML

där < LCID > är plats-ID:t, till exempel 1033. XML-filens namn har prefixet ”WEBTEMP” (till exempel WEBTEMPBT.XML).

Utvecklingen av en ny webbplatsdefinition kan delas in i två grundläggande steg: (1) konfigurera mappen för webbplatsdefinitionen och (2) skapa WEBTEMP XML-filen som ska registrera webbplatsdefinitionen med Windows SharePoint Services. Det första steget kan du göra genom att klona en befintlig webbplatsdefinitionsmapp och ändra dess innehåll så att det passar företagets krav. ONET.XML-filen innehåller element som anger hur olika delar av webbplatssidorna etableras, till exempel navigeringsfältet, dokumentmallar och listmallar. Elementet Configurations anger listorna och modulerna som skapas som standard när webbplatsdefinitionen instantieras. Följande utdrag kommer från ONET.XML i webbplatsdefinitionen för Bugguppföljning och visar en del av elementet Configurations: <Configurations> <Configuration ID="0" Name="Default"> <SiteFeatures> <!-- BasicWebParts Feature --> <Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" /> <!-- Three-state Workflow Feature --> <Feature ID="FDE5D850-671E-4143-950A-87B473922DC7" /> <!-- TSA Fields and Content Types --> <Feature ID="75A0FEA7-CD50-401e-AF0E-782F3662A299" /> </SiteFeatures> <WebFeatures> <!-- TeamCollab Feature --> <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" /> <!-- MobilityRedirect --> <Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" /> <!-- Bug Tracking Categories List --> <Feature ID="75A0FEA7-42E8-4527-8313-F63C4C49A7E6" /> <!-- Bug Tracking Bugs List --> <Feature ID="75A0FEA7-2D1E-451a-B445-16BC346D7D8E" /> <!-- Bug Tracking Bugs List Instance --> <Feature ID="75A0FEA7-2D1E-451a-B445-16BC346D7D8F" /> ... ... <!-- Post Provisioning Event Handler --> <Feature ID="75A0FEA7-B0EF-434e-90D6-CE997D970564"> <Properties> <Property Key="ZonedWebPartsUrlList" Value="$Resources:core,lists_Folder;/Bugs/Resolve.aspx,$Resources:core,lists_Folder;/Bugs/Activate.aspx,$Resources:core,lists_Folder;/Bugs/Close.aspx"/> </Properties> </Feature> </WebFeatures> </Configuration> </Configurations>

Observera att den här webbplatsdefinitionen använder ett stort antal funktioner, till exempel Bugglista, listan Buggkategorier, Mobilitetsomdirigering osv. Dessa funktioner visas under elementet SiteFeatures och WebFeatures med tillhörande funktions-GUID. GUID finns i funktionselementet i motsvarande Feature.XML-fil i den här mappen:

% CommonProgramFiles %\Microsoft Shared\Web server extensions\12\TEMPLATE\FEATURES

Hänvisa till Windows SharePoint Services 3.0 SDK för mer information om hur du anpassar ONET. XML.

Nästa steg när du skapar en anpassad webbplatsdefinition är att skapa WEBTEMP*.XML-filen i den här mappen:

% CommonProgramFiles %\Microsoft Shared\Web server extensions\12\TEMPLATE\ < LCID > \XML

Elementet Templates i den här filen anger de konfigurationer som kan användas för att instantiera webbplatserna som skapas från webbplatsdefinitionen. I följande utdrag illustreras WEBTEMPbt.XML-filens format, som är konfigurationsfilen som används av webbplatsdefinitionen för Bugguppföljning: <?xml version="1.0" encoding="utf-8" ?> <Templates xmlns:ows="Microsoft SharePoint"> <Template Name="BT" ID="75801"> <Configuration ID="0" Title="Bug Database" Hidden="FALSE" ImageUrl="/_layouts/images/stsprev.png" Description="A site for teams to track bugs in their shared software projects." DisplayCategory="Application Templates" > </Configuration> </Template> </Templates>

Observera att attributet Name i noden Template ovanför måste matcha ”*” i filnamnet, WEBTEMP*.XML. Observera också att attributet DisplayCategory för elementet Configurations avgör vilken flik som konfigurationen visas på i avsnittet Mallval på sidan Skapa webbplats. Du kan skapa egna flikar genom att placera dina egna värden i det här attributet.

När platsen definitionsfiler har skapats och placeras i lämpliga mappar i filsystemet, starta om IIS-tjänsten. Ny webbplatsdefinitionen kommer att vara tillgängligt för urval i avsnittet Mallval på sidan Ny SharePoint-webbplats i Windows SharePoint Services. Webbplats definitionsfiler kan också paketeras som en lösningsfil för enkelt migrering till en annan SharePoint-miljön eller omdistribution i samma miljö. En lösningsfilen är en skåp med en. WSP-tillägg (för webblösningspaket). Den innehåller funktioner, webbdelar, ventilmontering klass resurser, etc. som används av webbplatsdefinitionen. Du kan använda verktyget makecab.exe skapa en. WSP-fil. Hänvisa till Windows SharePoint Services 3.0 SDK om hur du skapar en lösningsfil.

Lokalisera en webbplatsdefinition

Lokaliseringen eller översättningen av en webbplatsdefinition sker med hjälp av resursfiler och kulturidentifiering. När en typisk ASP.NET 2.0-programlokalisering görs under kompileringen sker lokaliseringen av SharePoint-webbplatsen när webbplatsen etableras. Bland programmallarna har alla 20 mallarna för webbplatsdefinitioner lokaliserats till 10 språk. Själva webbplatsdefinitionerna skapas på ett språkneutralt sätt medan teckensträngarna lagras i resursfiler (.resx). Om du vill lägga till lokalisering till en egen webbplatsdefinition eller lägga till stöd för ett nytt språk i en befintlig webbplatsdefinition kan du göra det genom att skapa en ny resursfil. Filen placeras i katalogen Resources i:

% CommonProgramFiles %\Microsoft Shared\Web server extensions\12\Resources

Den här filen är i princip en XML-fil som kan redigeras i valfri textredigerare. Följande steg illustrerar hur du kan skapa en ny lokaliseringsfil för användning i en webbplatsdefinition:

  1. Bläddra till katalogen Resources som nämns ovan och leta upp den befintliga RESX-fil som du vill lokalisera till ett nytt språk.

  2. Klona filen och ge den samma namn, förutom namnet på språkkulturen (till exempel tsa-en-us.resx till tsa-es-es.resx).

  3. Öppna den klonade filen i en textredigerare.

  4. Ange lcid-koden på den andra raden i filen för att representera språket. Exempelvis ställer följande kod in språket till spanska:

<!-- _lcid="3082" _version="12.0.5006.3000" _dal="1" ––>

  1. Bläddra ned till den del där du ser data-elementen följt av value-elementen i ett par. Det är här som du parar ihop resursnamnet med det lokaliserade strängvärdet. Ändra strängvärdena i value-elementet för ditt språk. Följande kodexempel illustrerar en resurssträng för åtgärden skapa ny kund på spanska:

    <data name="Action_NewCustomer">
    <value>Crear un Nuevo cliente</value>
    </data>
  2. Spara filen i mappen Resources med ett namn som myCustomResource.es -es.resx (det egentliga namnet beror på namnet på språkkulturen som resursfilen avser). Nu kan webbplatsdefinitionsfilerna i programmet referera till den här filen.

För att den lokaliserade webbplatsdefinitionen ska visas som en tillgänglig mall på sidan Ny SharePoint-webbplats för det språket lägger du även till en WEBTEMP-fil i relevant <LCID>-katalog. Information om hur du lägger till en ny WBTEMP-fil finns i det föregående avsnittet, ”Skapa en webbplatsdefinition”.

Lokaliserade resursreferenser fungerar inte likadant i ASPX-filer och XML-filer. Till exempel utvärderas referenser i ASPX-filer vid körningen medan XML-filreferenser utvärderas när webbplatsen instantieras. För att komma åt XML-elementen i resursfilen i en webbplatsdefinitionsfil används följande syntax: $Resources:myCustomResource, DataName. Om du till exempel vill använda en resurssträng från en ASPX-fil kan koden se ut ungefär så här: <div> <asp:Label runat="server" Text="<%Resources:myCustomResource, Action_NewCustomer %>" /> </div>

Överst på sidan

Sammanfattning

Tillsammans tillhandahåller Windows SharePoint Services 3.0 och Office SharePoint Designer 2007 de kraftfulla verktyg som du behöver för att skapa och anpassa interaktiva, arbetsflödesaktiverade program. Oavsett om du anpassar någon av de 40 nedladdningsbara programmallarna eller om du bygger egna beskriver den här artikeln beprövade metoder och bästa praxis som även den som inte är utvecklare kan använda för att lyckas.

Om du inte redan har gjort det är det dags att ladda ned programmallarna och börja använda och öppna dem i Office SharePoint Designer 2007. Använd sedan resurserna under avsnittet Resurser nedan, där du får hjälp med att bygga egna program.

Överst på sidan

Resurser

Mer information om Windows SharePoint Services 3.0 och Office SharePoint Designer 2007 finns i följande resurser:

Fler resurser för utvecklare finns här:

Överst på sidan

Obs!: Ansvarsfriskrivning för maskinöversättning: Den här artikeln har översatts av ett datorsystem utan mänsklig inblandning. Microsoft erbjuder dessa maskinöversättningar för att hjälpa icke engelskspråkiga användare att ta del av information om Microsofts produkter, tjänster och tekniker. Eftersom artikeln är maskinöversatt kan den innehålla fel i ordval, syntax och grammatik.

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×