Introduktion til oprettelse af SharePoint-programmer

Vigtigt: Denne artikel er maskinoversat. Se ansvarsfraskrivelsen. Du kan finde den engelske version af denne artikel her til din orientering.

Denne artikel indeholder

Introduktion

Anvendte værktøjer og teknologier

Programarkitektur, og udviklingsmetodologi

Implementering af almindelige designmønstre

Opbygning af skabeloner

Resume

Ressourcer

Introduktion

Windows SharePoint Services 3.0 er en teknologi på Windows Server, der tilbyder en integreret udvalg af samarbejds- og kommunikationstjenester. Det er også en platform til udvikling af webbaserede forretningsprogrammer. Ved at udnytte denne mulighed har Microsoft udviklet 40 programskabeloner til Windows SharePoint Services 3.0 for at levere køreklare løsninger, som kan løse kravene fra bestemte virksomhedsprocesser f.eks. koordinering af helpdesk eller sporing af marketingkampagner, som vist i eksemplet i figur 1.

Visning af startside i programmet Integrated Marketing Campaign Tracker
Figur 1. Visning af startside i programmet Integrated Marketing Campaign Tracker

Microsoft har udviklet disse programskabeloner, som frit kan downloades, til at være brugbare umiddelbart efter installation. Kunderne og partnerne kan imidlertid også bruge disse programskabeloner som udgangspunktet for mere tilpassede løsninger, eller de kan bruge dem som eksempler, når de opretter deres egne avancerede Windows SharePoint Services 3.0-programmer ved hjælp af Microsoft Office SharePoint Designer 2007.

Formålet med denne artikel er til at beskrive, hvordan Microsoft udviklede programskabeloner, der identificerer bedste fremgangsmåder til at arbejde med kernefunktioner i Windows SharePoint Services 3.0 og Office SharePoint Designer 2007, med det formål at gøre det muligt for kunder og partnere at oprette deres egne programmer. Artiklen erstatter ikke Windows SharePoint Services 3.0 SDK, den er heller ikke primært en udviklerressource. Udviklere skal bruge SDK for at forstå, hvordan de generelt udvider Windows SharePoint Services 3.0.

Denne artikel er beregnet til at være en ressource til en ny gruppe af webstedsdesignere. Da Windows SharePoint Services og Office SharePoint Designer 2007 gør det muligt at opbygge meget af programmets funktionalitet via brugergrænsefladen, er avancerede udviklingsfærdigheder ikke påkrævet til at opbygge omfattende programmer. I denne artikel beskrives nogle brugerdefinerede kodeimplementeringer for særligt svære designmønstre, men den overordnede metodologi skal være tilgængelig for ikke-udviklere og præsenteres med den målgruppe i tankerne. Udviklere vil muligvis hurtigt læse gennem de første afsnit om funktioner og metodologi og være mere opmærksom på beskrivelsen af designmønstrene og de specifikke eksempler på, hvordan man implementere disse designmønstre.

Med hensyn til artiklens struktur, så indeholder det første afsnit, Anvendte værktøjer og teknologier, en oversigt over de funktioner i Windows SharePoint Services 3.0 og Office SharePoint Designer 2007, der bruges til opbygning af programmer. Det næste afsnit, Programarkitektur og udviklingsmetodologi, beskriver generelt den metodologi, Microsoft bruger på tværs af alle programskabelonerne. Metodologi er en fremgangsmåde med sund fornuft, som fører til en ægte undersøgelse af formålet med løsningen, hvordan den kan bruges, og af hvem, og hvilke dele teknologi du kommer længst med uden at skrive brugerdefineret kode. Den slutter med en proces til at identificere områder, hvor der skal bruges brugerdefineret kode eller andet brugerdefineret arbejde.

Det næste afsnit i artiklen, Implementering af almindelige designmønstre, fokuserer på at bruge styrken af Windows SharePoint Services og Office SharePoint Designer 2007 for at adressere almindelige programdesignkrav, f.eks. hvordan du kan oprette brugerdefinerede handlinger på en liste. Det er kernen i artiklen, og der beskrives metoder til at designe mønstre, der gentages på tværs af alle programskabeloner (og faktisk alle programmer, som du kan komme frem til). Dette afsnit indeholder eksempler for hver af fem designmønstre, herunder foreskrevet vejledning til at arbejde med brugergrænsefladen Windows SharePoint Services eller med Office SharePoint Designer 2007 og noget brugerdefineret kode.

Det sidste afsnit i denne artikel, Opbygning af skabeloner, beskriver, hvordan du rent faktisk opretter en skabelonfil ved hjælp af Office SharePoint Designer 2007. Det dækker også andre problemer, f.eks lokalisering.

Når du er færdig med denne artikel, vil du have en god forståelse af, hvordan du kan designe og udvikle et program, hvordan du går i gang ved at opbygge et websted direkte i Windows SharePoint Services 3.0, herunder opbygge sammenkædede lister, brugerdefinerede kolonner, biblioteker og arbejdsprocesser osv., hvordan du derefter åbne webstedet i Office SharePoint Designer 2007 for at foretage yderligere tilpasninger, opretter brugerdefinerede formularer, tilføjer brugerdefineret kode for at ændre visse funktionsmåder, opretter brugerdefinerede arbejdsprocesser osv. og endelig, hvordan du opretter selve programskabelonen og installerer den til brug.

Toppen af siden

Anvendte værktøjer og teknologier

Der er et antal teknologier og værktøjer, som gør det muligt at oprette programmer nemmere end nogensinde før. På teknologisiden betyder nye funktioner som f.eks. understøttelse af arbejdsprocesser, at webstedsdesigneren ikke behøver at skrive kode for at få arbejdsprocesser til et program. På værktøjssiden, Office SharePoint Designer 2007, gør Microsoft Visual Studio 2005 og andre værktøjer det muligt at bruge mindre og mindre kode (ofte ingen kode) til at gøre ting, der tidligere var meget svært at udføre.

Generelt har Microsoft efterfulgt en strategi på tværs af alle disse værktøjer og teknologier, der flytter en mere og mere vanskelig arbejdsindsats til selve infrastrukturen, hvilket gør det muligt i højere grad at være designer i stedet for udvikler. Med andre ord har Microsoft allerede gjort meget af den hårde arbejde allerede, så du kan blot bruge disse funktioner i dine programmer intuitivt via brugergrænsefladen.

I følgende afsnit beskrives Windows SharePoint Services 3.0, Office SharePoint Designer 2007 og andre teknologier især med hensyn til relevante nye funktioner og muligheder, hvilket giver en forståelse af, hvordan de forskellige teknologier og værktøjer bliver samlet i oprettelsen af programmet. Gennemse ressourcerne sidst i denne artikel for mere omfattende diskussioner.

Windows SharePoint Services 3.0

Windows SharePoint Services 3.0 indeholder nogle effektive nye funktioner. De følgende nye funktioner og funktioner, der særligt vedrører opbygning af brugerdefinerede programmer, og du får vist mange af dem nævnt igen i afsnit senere:

  • Biblioteker og lister    Windows SharePoint Services 3.0 introducerer et antal nye biblioteks- og listetyper, der kan bruges som basis for programmer.  Nyt bibliotekstyper omfatter slidebiblioteket, et bibliotek der er specielt designet til at lagre og administrere genanvendelige Microsoft Office PowerPoint 2007-slides, et bibliotek med dataforbindelser og andre.

  • Indholdstyper     Indholdstyper er et grundlæggende koncept, der bruges i hele Windows SharePoint Services 3.0. Indholdstyper er designet til at hjælpe brugerne med at organisere indholdet på deres SharePoint-websteder på en måde, der giver mere mening. En indholdstype er en genanvendelig samling af indstillinger, der kan anvendes på visse kategorier af indhold. Indholdstyper gør det muligt centralt at administrere og genbruge metadata og funktionsmåder af et dokument eller elementtype. Du kan f.eks. knytte arbejdsprocesser og begivenheder til en indholdstype, i stedet for at skulle føje arbejdsprocesser og begivenheder til flere dokumenter eller biblioteker.

  • Webstedskolonner    Webstedskolonner indeholder en central model, der kan genbruges, til kolonnedefinitioner. Når du opretter en webstedskolonne, har hver liste, der bruger denne kolonne, samme definition, og du behøver ikke at genskabe kolonnen i hver liste. Webstedskolonner giver dig en metode til slutbrugere til at vælge fra et foruddefineret sæt kolonner, som kan være nyttigt på deres liste. Så de kan ikke kun bruges til at definere kolonner centralt for kendte listeskabeloner, men de giver også brugerne en måde at bruge særlige kolonner, som kan have brugerdefinerede betydninger.

  • Arbejdsproces    I Windows SharePoint Services 3.0 gør en arbejdsproces det muligt at knytte en forretningsproces til elementer på lister og biblioteker. Denne proces kan styre næsten alle aspekter af et element, herunder livscyklus for det pågældende element. Du kan f.eks. oprette en simpel arbejdsproces, der fører et dokument til en serie af brugere til godkendelse. Typisk opretter en webstedsdesigner eller -udvikler bestemte arbejdsprocesser. Webstedsdesignere kan bruge Office SharePoint Designer 2007 til at oprette arbejdsprocesser ved hjælp af guiden Workflow Designer og udviklere kan bruge Visual Studio 2005 til at oprette mere effektive og komplekse arbejdsprocesser.

  • Funktionen Framework    Windows SharePoint Services 3.0 indeholder en ny struktur, som kaldes en "funktion".  En funktion pakker Windows SharePoint Services elementer, som hjælper brugeren med at nå et bestemt mål eller en bestemt opgave. En funktion indeholder et eller flere elementer. Et element er et atomisk Windows SharePoint Services begreb. Windows SharePoint Services 3.0 funktioner giver en hel struktur, du kan udnytte som en udvikler for at angive brugerdefinerede funktioner til Windows SharePoint Services løsninger. Funktioner giver også administratorer en nem måde at tilføje eller fjerne pakkede funktionselementer.

  • Forbedring af begivenheden    Begivenheder er opdelt i to overordnede kategorier:

    • Liste over begivenheder    Kernebegivenheder, herunder ændringer, tilføjelser og fjernelse af listeelementer og listen over kolonner (skemaændringer)

    • Simple webstedsbegivenheder    Sletning af websteder og grupper af websteder

      Begivenheder er synkrone "før"-begivenheder, angivet med navneformatet "XYZing", eller asynkrone "efter"-begivenheder, der er angivet med navneformatet "ABCed".

  • Mobil enhedsadgang   Windows SharePoint Services 3.0 indeholder nye funktioner, der tillader, at lister bliver gengivet korrekt på mobilenheder.  Når en bruger åbner et Windows SharePoint Services 3.0 websted ved hjælp af en mobilenhed, bliver webbrowseren omdirigeret til en mobilspecifik version af webstedet, som gengiver webstedsindhold og vises i et format, der er mest relevant for enheden.

Office SharePoint Designer 2007: Introduktion til oprettelse af SharePoint-programmer

Office SharePoint Designer 2007 er udviklet specielt til at oprette og tilpasse websteder og arbejdsprocesser, der er opbygget med SharePoint-produkter og -teknologier (Windows SharePoint Services 3.0 og Microsoft Office SharePoint Server 2007). Det indeholder værktøjer, som it-medarbejdere skal bruge til at udvikle SharePoint-baserede programmer og arbejdsprocesløsninger, der forbedrer den organisatoriske fleksibilitet og automatisering af forretningsprocesser. Ved hjælp af Office SharePoint Designer 2007 behøver du ikke at bruge traditionelle procedurale kodningssprog eller teknikker til at gøre følgende:

  • Oprette datavisninger og formularer uden brug af kode på mange forskellige datakilder – f.eks. XML-filer, SQL-databaser, f.eks. Microsoft SQL Server 2005 og Web Services.

  • Oprette avancerede, dynamiske, arbejdsprocesser uden brug af kode.

  • Udføre sidelayout og design.

  • Oprette mastersider.

  • Redigere og anvende CSS'er (Cascading Style Sheet).

  • Opbygge webdelssider og forbinde webdele for at oprette avancerede virksomhedsløsninger.

Visual Studio 2005

Visual Studio 2005 kan bruges til at føje brugerdefineret kode til programmer eller til at oprette brugerdefinerede arbejdsprocesser. Du kan bruge Visual Studio 2005 Designer for Windows Workflow Foundation til at oprette arbejdsprocesskabeloner og brugerdefinerede arbejdsprocesaktiviteter. Du kan medtage kode i din arbejdsproces samt designe formularer, der skal bruges af arbejdsprocessen til at kommunikere med arbejdsprocesbrugerne under tilknytning og runtime.

Udvidelser til Visual Studio 2005 for Windows SharePoint Services 3.0 kan downloades gratis, og de kombinerer et sæt værktøjer til udvikling af brugerdefinerede SharePoint-programmerne ved hjælp af Visual Studio 2005. Bundtet omfatter Visual Studio-projektskabeloner til webdele, webstedsdefinitioner, listedefinitioner og et enkeltstående program, SharePoint-løsningsgeneratoren, som opretter et webstedsdefinitionprojekt fra et eksisterende SharePoint-websted. Programmet gør det muligt for udviklere bruge browseren og Office SharePoint Designer 2007 til at tilpasse indholdet af deres websteder, før de opretter kode ved hjælp af Visual Studio 2005.

Visual Studio 2005-udvidelser til Windows SharePoint Services 3.0 har været går på pension, men du kan stadig få Visual Studio 2008 udvidelser til Windows SharePoint Services 3.0, v1.3.

Microsoft Office Access 2007

Microsoft Office Access 2007 gør det muligt at oprette sporingsprogrammer, tilbyde en omfattende brugeroplevelse ved indtastning, administration og rapportering af data for målrettede scenarier. Du kan få yderligere oplysninger om, hvordan du designer, opretter og deler Access-skabeloner, i bogen The Rational Guide To Microsoft Office Access 2007 Templates.

Strategier og generelle teknikker

I forbindelse med den udviklingsmetodologi, der er beskrevet i næste afsnit, er de grundlæggende overordnede trin til oprettelse af et program:

  1. Beslut, om du skal bruge en webstedsdefinitionen eller en webstedsskabelon.

  2. Opret kernewebstedet i Windows SharePoint Services 3.0 eller Office SharePoint Server 2007.

  3. Brug Office SharePoint Designer 2007 til at åbne webstedet, foretage ændringer osv.

  4. Brug Visual Studio 2005, hvis det er nødvendigt, til at oprette yderligere brugerdefinerede kode, brugerdefinerede arbejdsprocesser osv.

Toppen af siden

Programarkitektur, og udviklingsmetodologi

Som med ethvert udviklingsprojekt, vil planlægning af arkitektur og opbygning af et Windows SharePoint Services-program give større muligheder for succes, hvis du har fulgt dokumenterede metoder. Dette afsnit beskrives den metodologi Microsoft bruger med at designe alle de programskabeloner, der kan downloades. Der vil ikke være noget overraskende i denne måde, især for erfarne udviklere, men den tager hensyn til nogle af specifikationerne for SharePoint-miljøet, og den afspejler de erfaringer, som Microsoft har lært, så den vil have værdi i denne kontekst. Igen vil denne sektion især være nyttig for andre brugere, der ved, hvordan man bruger Windows SharePoint Services 3.0 og Office SharePoint Designer 2007.

Kort sagt starter metodologien med at tænke generelt over, hvad programmet skal gøre, hvem der skal bruge det osv. Derefter ser den mere i detaljer på, hvordan dataene skal køre gennem programmet, hvor det skal gemmes, og hvilke relationer der er mellem forskellige data. Med en god forståelse af datamodellen og brugsscenarier kan man bruge metodologien med det samme og begynde at opbygge ud fra en rå version af programmet i Windows SharePoint Services 3.0, opbygge lister, biblioteker, arbejdsprocesser osv. og gentage til det punkt, hvor den begynder at se ud og fungere som ønsket. Til sidst kan man bruge metodologien til at identificere og finjustere de tilpasninger, der skal bruges, for at programmet virkelig passer til dine forretningsbehov i processen.

Definere funktionelle krav til programmet

Selvom det ikke er nødvendigt at have meget detaljerede tekniske specifikationer dokumenteret, før man opbygger en Windows SharePoint Services-løsning, det er nødvendigt at have en idé om, hvordan programmet skal fungere. Det foregående punkt virker måske indlysende, men mange udviklere har oplevet, at der kan være stor uoverensstemmelse mellem, hvad interessenter ønsker af et program, og hvad de rent faktisk har brug for, for at forretningsprocessen kan få succes (selvfølgelig opdager interessenterne normalt dette, efter at de ser det næste færdige program!).

Alt dette er blot at sige, at man fra begyndelsen skal indsamle de funktionelle krav og tænke over, hvad programmet skal udføre. Hvis du f.eks. har brug for en løsning til projektsporing, skal du mindst identificere følgende:

  • Hvad er aktørerne/rollerne i forretningsprocessen?    I dette tilfælde opretter en projektejer et projekt og vedligeholder oplysninger om opgaver, problemer osv., og opgaveejerne har tildelt problemer og opgaver og skal interagere for at udføre deres arbejde. Ledere skal se de samlede oplysninger om den overordnede projektstatus.

  • Hvad er behovet i brugergrænsefladen de forskellige aktører?    I dette tilfælde har projektejeren, opgaveejere og lederen forskellige synspunkter på, hvad der er relevant for deres aktiviteter. Opgaveejerne burde f.eks. kunne se alle problemer, der er tildelt dem, mens projektejeren burde kunne se alle ældre problemer.

  • Hvordan ser forretningsprocessen ud?    I dette tilfælde opretter en projektejer et projekt, milepæle, opgaver og budgetposter, og sporer derefter fremskridt over tid. Projektejeren har ofte adgang på tværs af alle dele af oplysninger, mens opgaveejerne skal handle på data, når noget bliver tildelt dem..

  • Hvor er dataene?     Vil du kun bruge dataene i Windows SharePoint Services, eller skal du have adgang til eksterne data (fra en database, via en webtjeneste, gennem forretningsdatakataloget, osv.), og skal du kunne gemme data uden for Windows SharePoint Services?

  • Hvad er relationerne mellem dataene?    I dette tilfælde kan vi skal have et projektelement, et milepælelement og et opgave- og problemelement, og de har en logisk hierarki. Brugere er også datapunkter, og så er f.eks. budget, antal af dage og lignende.

En god måde at få svar på de fleste af disse spørgsmål er bogstaveligt at tegne billeder på en tavle, gennemgå forretningsprocessen et par gange og med et par variationer (oprette nogle projekter, tildele opgaver til to eller tre personer på tværs af projekter osv.). Begrebsmæssigt er projektetsporingsprogrammet et ret simpelt design, og kravene er ret tydelige på nuværende tidspunkt.

Validere din datamodel

Selvom datamodellen allerede er blevet diskuteret, er det så vigtige, at det kræver en dybere analyse. Hvis datamodellen misforstås kræver det sandsynligvis, at du skal gøre væsentlige systemændringer senere. Så det er vigtigt at få den på plads fra starten.

Det er vigtigt at forstå, at der er et sæt relaterede oplysninger samt et antal metaoplysninger, der beskriver og definere, hvor i forretningsprocessen en given oplysning er placeret. I projektetsporingen skal vi vide mere end, at der er tale om et projekt, en milepæl og opgaver og problemer. Vi skal vide, at et projekt er det øverste element, der kan have flere milepæle. Projekter kan også have flere opgaver og problemer.

Bestemme komponenterne og deres relationer

På dette tidspunkt har vi en god funktionelle beskrivelse af programmet. Det næste trin er at planlægge arkitekturen og beslutte, hvordan du kan bruge de forskellige teknologier og egenskaberne i Windows SharePoint Services 3.0 og Office SharePoint Designer 2007. Hver program medfører en kombination af de funktioner og egenskaber, der er beskrevet i afsnittet Anvendte værktøjer og teknologier, herunder:

  • Lister og opslag

  • Brugerdefinerede listevisninger (gruppering, sortering, filtrering osv., via brugergrænsefladen Windows SharePoint Services)

  • Arbejdsproces

  • Brugerdefinerede sider og brugerdefinerede datavisninger i Office SharePoint Designer 2007

Lister og opslag implementerer datamodellen. Så i forbindelse med projektsporingsprogrammet vil du bruge en liste til projekter og en anden liste (med et opslagsfelt til projektlisten) til milepæle, en anden liste med et opslagsfelt til projektlisten til problemer osv. For brugerdefinerede sidevisninger kan du blot angive standardvisningen til gruppen på status og sortere efter tilstand.

Nu er en anden tavleøvelse på sin plads her, hvor du blot skal lave en model af programmet og identificere teknologier, der bruges til hver enkelt del.

Start med at bygge programmets komponenter

Igen er det ikke nødvendigt at have et helt præcis teknisk specifikation dokumenteret på nuværende tidspunkt. Det er vigtigere, at du blot går i gang med at bygge, hvis du har godt styr på det grundlæggende dataflow og kravene til brugergrænsefladen.

Det betyder bogstaveligt talt, at du opretter et nyt websted ved hjælp af en af de køreklare skabeloner i Windows SharePoint Services 3.0 eller opretter din egen webstedsskabelon og opretter en ny webstedsforekomst baseret på denne skabelon. For mange programmer vil du sandsynligvis bruge skabelonen Teamwebsted eller Tomt websted som dit base.

Det første, du skal gøre i projektsporingsprogrammet, er at oprette fire lister (liste over projekter, projektopgaver, projektproblemer og projektmilepæle). Derefter kan du oprette brugerdefinerede kolonner for hver af disse lister. Windows SharePoint Services 3.0 lader dig oprette flere forskellige kolonnetyper, herunder Valg, Tal, Person eller gruppe og Opslag (oplysninger, der allerede findes på dette websted). Projektlisten i Microsofts skabelon til projektsporingsprogrammet bruger mange af disse, som vist i figur 2.

Brugerdefinerede kolonner i en liste
Figur 2: Brugerdefinerede kolonner på en liste

Kolonnen Tilstand er baseret på kolonnetypen Valg, kolonnen Budget er en Tal kolonne (bruger valuta) osv.

På listen Projektmilepæle bruges kolonne Opslag, så en milepæl kan være knyttet til en underordnet-overordnet-relation med et projekt. Når ud opretter en opslagskolonne, skal du blot vælge den liste, hvor du vil have vist, og derefter vælge kolonnen fra den pågældende liste (Windows SharePoint Services udfylder rullemenuen automatisk), som vist i figur 3.

Definition af en opslagskolonne til at tage oplysninger fra en anden liste
Figur 3: Definition af en opslagskolonne til at tage oplysninger fra en anden liste

På nuværende tidspunkt kan du arbejde i en vis programlogik, oprette en simpel arbejdsproces for at underrette medlemmer, når der oprettes nye projekter. Du kan også begynde at oprette brugerdefinerede visninger i lister ved hjælp af brugergrænsefladen Windows SharePoint Services til at sortere og filtrere til dine præferencer.

Bestemme de tilpasninger, der er nødvendig i programmet

Funktionelt set er det meste af projektsporingsprogrammet blevet implementeret kun med brugergrænsefladen Windows SharePoint Services. På dette tidspunkt kan vi allerede se, hvad der fungerer, men ikke godt nok, hvad der ikke kan udføres via brugergrænsefladen Windows SharePoint Services osv. Nogle områder, hvor vi skal kunne udnytte Office SharePoint Designer 2007, er:

  • Programlogik i en arbejdsproces    De arbejdsprocesser, der er køreklare i Windows SharePoint Services 3.0 og Office SharePoint Server 2007, skal angive en bruger eller en gruppe, som du vil tildele en opgave til. Til vores projektsporingsprogram har vi brug for en metode til dynamisk at bestemme en modtager for handling i en arbejdsproces, baseret på egenskaben Ejer i et problem eller en opgave. Vi kan bruge Office SharePoint Designer 2007 til at oprette en dynamisk arbejdsproces uden brug af kode til denne løsning.

  • Dashboard og ledervisninger    Vi har brug for en metode til at vise en samlet visning af alle projekter, alle budgetter osv. Vi kan nemt oprette datavisninger uden brug af kode til at vise forbundne og kombinerede oplysninger til et dashboard.

  • Overordnet/underordnet-relationer    Der er nogle få brugervenlige problemer, når du opretter opgaver. Vi vil måske gerne have en standardopgave til et bestemt projekt, afhængigt af hvilken side vi er på. Vi kan bruge Office SharePoint Designer 2007 til at tilføje logik for at automatisere sammenkædning af ét element til en anden.

Microsoft har anvendt den samme tilgang under oprettelsen af 40 programskabeloner og et sæt af ensartet metoder, med ensartet bedste fremgangsmåder, beslutningstræer osv., blev udviklet til at optimere til det, der skal udføres indbygget i Windows SharePoint Services 3.0 og hvad der skal gøres ved hjælp af Office SharePoint Designer 2007 og andre værktøjer. I næste afsnit i denne artikel beskrives disse metoder, der identificeres fem "designmønstre" og den måde, de burde blive gennemført på, med indsættelse eksempler fra mange af programskabelonerne undervejs. Resten af dette dokument er derfor mere detaljeret og mere teknisk end diskussionen om metodologi.

Toppen af siden

Implementering af almindelige designmønstre

I dette afsnit beskriver vi de fem grundlæggende designmønstre i relation til, hvordan Microsoft bruger dem. Derfor refererer vi til en række forskellige eksempler på tværs af skabelonerne, herunder eksempler på kode og nogle få trinvise vejledninger, hvor det er relevant. Udviklere vil finde dette afsnit og de resterende afsnit om, hvordan du rent faktisk opbygger et programskabelon, meget nyttige, men det er skrevet for at være tilgængelige for ikke-udviklere også.

Designmønstrene er:

  • Brugerdefinerede formularer    Oprettelse af det brugerdefinerede udseende giver vejledning til handlinger på bestemte tidspunkter i forretningsprocessen (det omfatter kun at bruge de relevante egenskaber, der har tilladelse til at blive ændret eller er relevante på et givet tidspunkt).

  • Handlingsflow    Oprettelse af klart defineret handlinger, der fører til det rigtige sted for den rigtige aktør (vi skal bruge et godt navigationskontrolelement, som kan registrere den handling, der tages, og den aktør, som udfører handlingen, for at gøre det).

  • Overordnet/underordnet-relationer    Oprettelse af en relation mellem to eller flere SharePoint-lister til opslag og reference.

  • Arbejdsprocesser    Brug Office SharePoint Designer 2007 til at oprette en Windows Workflow Foundation-baseret forretningsproces.

  • Dashboards    Brug webdele til at oprette en samlet visning af spredte oplysninger på hele webstedet på ét sted.

Brug af brugerdefinerede formularer

Brugerdefinerede formularer spiller en vigtig rolle i tilpasse brugergrænsefladen til datainput i Windows SharePoint Services. Ligesom brugerdefinerede listevisninger bruges til at vise listedata på forskellige måder, bruges brugerdefinerede formularer til at præsentere forskellige metoder til registrering af brugerinput. Nødvendigheden for at oprette disse brugerdefinerede formularer kan opstå af forskellige årsager, afhængigt af de forretningsmæssige behov.

Opgavebaseret tilpasning

Virksomhedsprocesser kræver af brugerne, at de udfører bestemte handlinger, der påvirker virksomhedsdata på forskellige tidspunkter i processen. En god løsning til virksomhedsprocesser gør det nemt for brugerne at udføre deres arbejde ved at bruge de rigtige oplysninger på hvert enkelt trin i processen.

Windows SharePoint Services indeholder en redigeringsformular med hver liste som standard. Denne formular kan imidlertid ikke vise det bedste sæt af felter for en bestemt fase af en forretningsproces, og den vil ikke arrangere disse felter på en måde, så den nødvendige handling bliver tydelig. Du sikrer, at brugerne nemt kan redigere de rigtige oplysninger, når de udfører en handling, ved at oprette en brugerdefineret formular for hver handling.

Løsningen Fejlregistrering bruger brugerdefinerede redigeringsformularer, så at de forskellige faser af sporing af fejl i processen tydeligt viser, hvilke oplysninger der skal angives for et fejlelement. Hver handling i fejlsporingsprocessen har sin egen formular. Når en bruger f.eks. vælger at løse en fejl, dirigeres de til en side med løsningen (Resolve.aspx). Denne side giver dem mulighed for at angive fejlløsningen og navnet på den person, der har løst fejlen. Brugeren klikker på knappen Løs for at sende deres ændringer. Det giver en handlingsflow, der er let at bruge og hjælper med at undgå fejl eller manglende oplysninger.

Det er ret nemt at oprette en brugerdefineret redigeringsformular ved hjælp af Office SharePoint Designer 2007:

  1. Opret en kopi af standard EditForm.aspx, og omdøb den.

    Vigtigt: Det er vigtigt, at du opretter en kopi af standard EditForm.aspx og omdøber den som det første trin i processen. Hvis du udfører trin 2 på den oprindelige EditForm.aspx, vil du uigenkaldeligt ødelægge listen.

  2. Slet listeformularen Webdel i din nye redigeringsformular.

  3. Indsæt en datavisning, som indeholder de data, du vil vise (klik på SharePoint-kontrolelementer på menuen Indsæt, og klik derefter på brugerdefineret listeformular).

  4. Ved at bruge metoden Indsæt opretter Office SharePoint Designer 2007 automatisk en Gem knap til formularen. Nedenstående kode viser et eksempel på brugerdefinerede HTML for knappen Gem.

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

Navigation

Når du har oprettet sider, der svarer til dine roller, skal du stadig give en måde for brugerne, så de hurtigt kan få adgang til det relevante dashboard. I løsningen Eventplanlægning har vi lavet denne ved hjælp af en XSL-skabelon til at oprette et link til den korrekte dashboard for den aktuelle bruger, der er baseret på deres rolle.

Én begrænsning af denne metode er, hvis du føjer flere roller til din løsning, hvilket giver brugerdefinerede dashboards til disse roller. Det kræver oprettelse af yderligere .aspx-sider.

Det er vigtigt at være opmærksom på, at denne metode ikke tilføjer yderligere kontrol over, hvem der har adgang til oplysninger på webstedet. Alle brugere kan stadig teoretisk set få vist alle oplysninger i løsningen.

Tildele roller til brugerne

Der er flere forskellige måder at oprette roller og tildele dem til brugere. Den bedste løsning til denne udfordring varierer meget efter kravene i et bestemt program eller en bestemt organisation. Windows SharePoint Services indeholder ikke en måde til at klargøring køreklare rolletildelinger. I nogle tilfælde kan være det tilstrækkeligt at klargøre roller efter et websted er blevet installeret, eller tillade at brugerne kan tildele roller til sig selv efter behov.

I løsningen Eventplanlægning kan brugerne tilmelde sig den rolle, der bedst gælder for dem.. Det gør du via brugerdefinerede webdel på forsiden af arbejdsområdet Eventplanlægning.

Andre eksempler på dette designmønster

Du kan finde et andet serveradministratoreksempel på brug af brugerdefinerede formularer i Lending Library application template for Windows SharePoint Services 3.0.

Du kan finde et eksempel på en webstedsadministrator i Manufacturing Process Management application template for Windows SharePoint Services 3.0.

Styre handlingsflow

Et webprogram i den virkelige verden, som er udformet efter en forretningsproces, er sjældent indeholdt i en enkelt webside eller en webdel. I stedet for strækker det sig over flere komponenter, som hver kan være ansvarlig for et særskilte trin i forretningsprocessen. Det betyder, at det at kunne navigere problemfrit og nemt mellem komponenterne i et program bliver et vigtigt aspekt af programmets design. Et centralt designmønster, er derefter, at kontrollere handlingsflowet ved binde handlinger i forretningsprocessen til navigationen, så det foretager en bestemt handling, som fører brugeren til den relevante næste side eller næste handling.

En metode til at styre handlingsflowet er at bruge egenskaben Brugerdefineret handling i Windows SharePoint Services 3.0, hvilket gør det muligt at føje dine egne handlinger til knappen Integreret kontekst for elementer i et bibliotek. Én begrænsning af denne mulighed er, at handlinger skal være faste og kan ikke være parametre af navnet på elementet eller en anden dynamisk værdi.

En anden metode, der gør det muligt at inkorporere dynamiske handlinger i din forretningsproces, er at oprette brugerdefinerede SharePoint-lister og bruge "beregnede felter." Programskabelonen til sporing af fejl bruger en brugerdefineret fejlliste til at registrere fejlstatus og -oplysninger. Ved at bruge beregnede felter kunne Microsoft inkorporere brugerdefinerede links til listevisningen, så en bruger kan reagere på fejl, f.eks. "Aktivere" eller "Løse", og hver af disse handlinger har navigation, der sender brugeren til den rigtige brugerdefineret formular (se forrige designmønster) for at gøre det, der er nødvendigt for at aktivere eller løse fejlen.

Beregnede felter er en funktion i Windows SharePoint Services 3.0, der gør det muligt at anvende et brugerdefineret gengivelsesmønster som en kolonne i en SharePoint-liste. Derfor fremvises forretningsproceshandlingen (aktivering af en fejl) som en knap i en kolonne, der sender brugeren til den korrekte brugerdefinerede formular til at udføre forretningshandlingen.

Det beregnede felt understøtter betinget logik for at vælge, om en handling skal vises. Hvis fejlen f.eks. er allerede aktiveret, vises knappen Aktivér ikke. Et beregnet felt føjes til en SharePoint-liste ved at føje en Felt-element til XML-skemafilen, der definerer listen. <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>

Denne kode viser XML for det beregnede felt Aktivér. Dette felt viser et orange statuslink, man kan klikke på, hvis fejlen ikke blev aktiveret. Brugeren kan klikke på linket for at gå til formularen Aktivér for denne fejl.

Elementet FieldRefs indeholder en feltreference til statusfeltet i listen over fejl. Denne reference giver os mulighed for at udføre en brugerdefineret gengivelse af dette beregnet felt, der er baseret på fejlens status.

Feltet DisplayPattern i en beregnet kolonne indeholder beregninger og gengivelsesmønster for kolonnen. I dette eksempel bruger vi sætningen if-then-else til at afgøre, om status af fejlen er aktiv. Hvis fejlen er aktiv, vises der intet i feltet Aktivér. Hvis fejlen ikke er aktiv, vises HTML-koden i elementet Ellers. HTML-koden er det billede og link, som brugeren kan klikke på for at aktivere fejlen.

Andre eksempler på dette designmønster

Du kan finde et andet serveradministrationseksempel til kontrol af handlingsflowet i Lending Library application template for Windows SharePoint Services 3.0.

Du kan finde et eksempel på en webstedsadministrator i Employee Activities Site application template for Microsoft Windows SharePoint Services 3.0.

Bruge overordnede/underordnede relationer

Virksomhedsløsninger kræver ofte, at data bliver vist og bruges i forbindelse med en relation til andre data. Som vi f.eks. har set med projektsporingsprogrammet, gemmes projekter, opgaver, problemer og milepæle i hver deres egen SharePoint-liste. Hver opgave problem eller milepæl er knyttet til et element på projektlisten. Det at vedligeholde relationen mellem en liste og "underordnede" oplysningerne i andre lister kan udgøre en udfordring.

Oprette et standardlink mellem et nyt listeelement og et eksisterende

En almindelig udfordring opstår, når en bruger ønsker at oprette et listeelement, der er relateret til et element i en overordnede liste. I flere projektetsporingsløsninger sker det, når en bruger forsøger at oprette en opgave, der er relateret til et eksisterende projekt. Der er ikke ingen køreklar funktion i Windows SharePoint Services 3.0 til automatisk at oprette en relation mellem et listeelement, der skal oprettes og et, som findes.

En bruger kan oprette nye opgaver i projektet fra siden med projektdetaljer (DispForm.aspx) i flere skabeloner til projektsporingsprogrammer. Siden til oprettelse af nye opgaver (NewForm.aspx) indeholder en rullemenu, hvor brugeren kan vælge det overordnede projekt til denne opgave. Vi sender id'et for det overordnede projekt til NewForm.aspx i forespørgselsstrengen for at gøre denne rulleliste til standard i det overordnede projekt, der vises på den side, som brugeren kom fra. Derefter bruger vi JavaScript til at fortolke projektets id-værdi og vælge det relevante projekt i feltet med rullelisten. <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>

Denne kode viser linket fra DispForm.aspx. Bemærk, at ProjectID kun er inkluderet i forespørgselsstrengen.

Når NewForm.aspx indlæses, analyserer JavaScript projektets id fra forespørgselsstrengen og ændrer projektrullelisten, så det korrekte projekt er markeret.

JavaScript'et er indeholdt i webdelen Indholdsredigering på NewForm.aspx. Webdelen er indstillet til ingen krom, så det vises ikke på siden, medmindre siden er i redigeringstilstand. JavaScript'et er placeret inde i området til redigering af indhold. <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>

Kommandoen _spBodyOnLoadFunctionNames.push føjer funktionen fillDefaultValues til listen over scripts, der kan køres under indlæsning.

Funktionen fillDefaultValues registrerer et projekt-id eller milepæl-id fra forespørgselsstrengen og overfører dem til setSelectedOptions. Derefter angiver setSelectedOptions værdien i rullemenuen til id'et for det overordnede projekt.

Andre eksempler på dette designmønster

Du kan finde et andet serveradministratoreksempel på brug af overordnede/underordnede visninger i Inventory Tracking application template for Windows SharePoint Services 3.0.

Du kan finde et eksempel på en webstedsadministrator i New Store Opening application template for Windows SharePoint Services 3.0.

Bruge arbejdsproces

Windows SharePoint Services 3.0 er vært for Windows Workflow Foundation for at gøre det muligt at føje arbejdsproceslogikken til et program. Office SharePoint Designer 2007 har et effektit regelbaseret designværktøj til tilpasning og tilføjer betingede logik omkring køreklare arbejdsprocesser. Du kan også oprette mere komplekse og brugerdefinerede arbejdsprocesser med kode ved hjælp af Visual Studio 2005 med Visual Studio 2005 udvidelser til Windows Workflow Foundation. Der er nogle overvejelser i forbindelse med hvornår og hvordan du bruger arbejdsprocesser, som følger.

Overvejelser om brugen af arbejdsprocessen

Arbejdsproces er en god løsning for asynkrone handlinger. I løsningen Udlånsbibliotek bruges arbejdsprocesser, når en bruger foreslår et nyt biblioteksaktiv. En af grundene til, at arbejdsprocessen er et godt valg her, er, at processen mellem omfang og godkender ikke er synkron.

Arbejdsproces fungerer også godt til planlagte begivenheder. I løsningen udlånsbibliotek bruges arbejdsproces til at håndtere kassen og påmindelser om forfaldsdato for aktiver. Når et element er tjekket ud, sender arbejdsprocessen automatisk påmindelse om en forfaldsdato, når elementet forfalder.

Arbejdsproces kan bruges som en måde til at forenkle en ellers kompliceret programmeringsopgave på serveren. Timecard Management application template for Windows SharePoint Services 3.0 er et eksempel. Dette program registrerer varigheden af en medarbejders arbejde på en bestemt opgave ved at beregne forskellen mellem tidsstempler for start og slut. Normalt vil det at holde styr på tidsstempler kræve logføring i disse to aktiviteter på serveren (sandsynligvis til en database) – en væsentlig udviklingsindsats. I stedet afhænger dette program af et simpelt arbejdsprocestrin. Når brugeren starter, oprettes arbejdsprocessen en post på listen over tidslog og indstiller værdien for starttidspunkt til det aktuelle tidsstempel. Når brugeren å samme måde stopper, opdaterer arbejdsprocessen den tilknyttede række i den samme liste og angiver sluttidspunktet. Varigheden af brugerens arbejde er ganske enkelt forskellen mellem sluttidspunktet og starttidspunktet, som afspejles i den beregnede kolonne med navnet Timer.

Arbejdsprocesser udføres asynkront. Hvis du opretter en løsning, hvor resultaterne af en handling skal udføres umiddelbart før, der navigeres til næste side, er arbejdsprocessen måske ikke den bedste løsning. I fejlsporingsløsning, bruges arbejdsprocessen f.eks. ikke til at håndtere fejlaktivering og -løsning. En af årsagerne til dette designvalg er, at ændringer i fejlstatus skal afspejles i brugergrænsefladen, umiddelbart efter at en bruger handler på en fejl.

Bruge Office SharePoint Designer 2007 til at oprette en brugerdefineret arbejdsproces

Du bruger ikke kode til at oprette en arbejdsproces ved hjælp af Office SharePoint Designer 2007. Med et websted, der er åben, skal du blot klikke på menuen Filer, pege på Ny, klikke på Arbejdsproces og derefter bruge Workflow Designer. Med Workflow Designer kan du oprette avancerede regler og handlinger, og det er integreret med SharePoint-lister og -biblioteker, så du kan bruge felter og værdier direkte fra liste- og bibliotekselementer til at drive dit arbejdsproceslogik.

Lad os antage, at du vil oprette en arbejdsproceshandling, der sender en mail til en opgaveejer, når der oprettes en ny opgave eller et problem. I projektsporingsskabelonen er Ejer en brugerdefineret kolonne i SharePoint-listen, så arbejdsprocessen kan bruge denne kolonnes værdi og derefter dynamisk bestemme den faktiske mailadresse på kørselstidspunktet.

Du kan få mere at vide om arbejdsprocesser i Office SharePoint Designer 2007 i Introduktion til Microsoft Office SharePoint Designer 2007.

Andre eksempler på dette designmønster

Du kan finde et andet serveradministratoreksempel på brug af arbejdsprocesser i Job Requisition and Interview Management application template for Windows SharePoint Services 3.0.

Du kan finde et eksempel på en webstedsadministrator i Clinical Trial Initiation and Management application template for Windows SharePoint Services 3.0.

Bruge dashboards

Blandt de mange fordele i webdelinfrastrukturen i Windows SharePoint Services 3.0 er muligheden for at få vist oplysninger, som er spredt på et SharePoint-websted eller eksternt på én oversigtssiden, som kaldes et dashboard. Et fælles forretningsbehov i delte miljøer er rollebaseret dashboards, som kan give en oversigt over de relevante oplysninger for en rolle eller person. Sådanne dashboards kan drage fordel af effektive indbyggede funktioner, f.eks. webdelen Filtrering og målretning til målgrupper for at vise oplysninger baseret på, hvem der får vist siden.

Du kan også gå ud over disse egenskaber og oprette separate sider til separate roller, så du virkelig kan tilpasse ikke kun de oplysninger, der præsenteres, men også layoutet og andre aspekter af siden. Sådanne tilpassede rollebaserede sider bruges udbredt gennem programskabelonerne og kan selvfølgelig indeholde filtrering og målretning af målgrupper også.

Programmet Udlånsbibliotek bruger f.eks. rollebaserede dashboards til at vise oplysninger, der er mest relevante for brugeren, baseret på brugerens rolle. Startsiden på webstedet har to tilgængelige sider: en målrettet mod biblioteksbrugeren (standardsiden) og en til bibliotekaren.

På samme måde har programmet Helpdesk tre tilgængelige dashboardvisninger på hovedsiden: Service Rep Home, Knowledge Mgr Home og Service Rep Mgr Home. Brugeren markerer det link, der er mest relevant for deres rolle. Den webdel, der vises i dashboardet, filtrerer også de oplysninger, som er relevante at vise for til brugeren. Det gør du ved at anvende et filter til visningen. Følgende trin illustrerer, hvordan et sådan filter anvendes til en listevisning.

  1. Gå til siden med listevisningen i browseren.

  2. Find rullelisten på listeværktøjslinjen, og vælg den visning, du vil ændre, hvis visningen ikke allerede er markeret.

  3. Gå til den samme rullelisten igen, og vælg Rediger denne visning.

  4. Rul ned til sektionen Filter på siden Rediger visning. Angiv filterværdien som følger:

    Vis elementerne, når kolonne Oprettet af er lig med [mig], eller når kolonne Kunde er lig med [mig].

  5. Klik på OK.

Siden Service Rep Mgr Home på programmet Helpdesk vises i figur 4 nedenfor, og det indeholder to dashboard-webdele, der opsummerer serviceanmodninger efter status og prioritet i form af et søjlediagram.

En dashboardside
Figur 4: En dashboardside

Disse er Datavisnings-webdele, der afspejler dataene fra en liste med navnet Serviceanmodninger, som også er en del af webstedet Helpdesk. Åbn webstedet i Office SharePoint Designer 2007 for bedre at forstå, hvordan disse webdele er oprettet, og indlæs siden HelpDeskManager.aspx, der indeholder disse webdele. Få vist siden i et opdelt skærmbillede, og du kan se, at koden bag webdelene er en blanding af XLST-, HTML- og CSS-markeringerssprogene.

Lad os undersøge hvordan søjlerne i søjlediagram på webdelen er blevet oprettet. Vi tager webdelen Overall Service Request Priority som et eksempel. Klik på SharePoint-kontrolelementer i Office SharePoint Designer 2007 under menuen Indsæt, klik derefter på Datavisning for at åbne opgaveruden Datakildebibliotek. I denne opgaverude kan man gennemse forskellige datakilder, der aktuelt er tilgængelige for webstedet, herunder lister, som allerede findes på webstedet. I vores tilfælde udvider vi afsnittet SharePoint-lister og klikker på listenavnet Serviceanmodninger for at angive, at denne liste er vores datakilde. Klik på Vis Data i den genvejsmenu, der vises. Det åbner et nyt panel i opgaveruden, som hedder Oplysninger om datakilde, der vises alle felter og eksempeldata, som findes på listen Serviceanmodninger. I dette panel vælger vi de ønskede feltnavne vi vil gerne vise i webdelen – i vores tilfælde feltet Prioritet – og vælger Indsæt markeret felt som enkelt elementvisningen (se figur 5 nedenfor).

Bemærk, at vores mål her er at vise en opsummeret optælling af alle de opgaver, der er grupperet efter prioritet. Det betyder, at vi kun skal vise de tilgængelige indstillinger i feltet Prioritet én gang og derefter vise en optælling af hver prioritetsværdi på listen. Derfor vælger vi at vise prioritetsværdierne som en Enkelt elementvisning som udgangspunktet for vores tilpasning. Hvis du vælger en Flere elementvisninger i stedet, vises alle rækker på listen.

Oprette en Dashboard-side i SharePoint Designer
Figur 5: Oprette en dashboardsiden i Office SharePoint Designer 2007

Det indsætter en webdelen Datavisning på siden ved markøren. Webdelen viser dog blot én række af data og ikke et søjlediagram, der opsummerer serviceanmodninger efter prioritet. Da webdelen gengives ved hjælp af HTML- og XSL-kode, skal vi heldigvis ikke tilpasse koden til vores behov. I følgende afsnit fremhæves nogle af de vigtigste områder af tilpasning til at konvertere denne webdel til et søjlediagram.

Vi ved, at vores listedatakilde har tre mulige prioritetsværdier: (1) Høj, (2) Normal (3) Lav. Derfor erklærer vi en XLST-variabel for hver værdi, som følger: <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)" />

Bemærk, at XSL-parameteren @Priority henviser til navnet på feltet Datakilde. Da koden til at vise de tre prioritetsværdier ligner hinanden, vil vi fokusere på kun at vise den første prioritetsværdi. Vi definerer en ny variabel, percetHigh, til at beregne procentværdien af anmodninger af høj prioritet for at få procentværdien: <xsl:variable name="percentHigh" select="$High div $AllTasks" />

Den kode, der opretter den faktiske linje, er en XSL-skabelon, som vist nedenfor: <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>

Bemærk, at selve linjen er en tabel med to celler. Bredden af den første celle, som repræsenterer bredden på linjen i grafen, bestemmes af variablen PercentValue, der er repræsenteret i koden som: td width="{round($PercentValue*100)+1}%"

Denne celle har også en ms-valgt anvendt CSS-typografiklasse. Denne typografiklasse er defineret i typografiarkfilen core.css som følger: .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; }

Baggrundsbilledet, filedialogselected.gif, er det, der gør, at cellen (dvs. linjen) vises med gult.

Andre eksempler på dette designmønster

Du kan finde et andet serveradministratoreksempel på brug af dashboard i Call Center application template for Windows SharePoint Services 3.0.

Du kan finde et eksempel på en webstedsadministrator i Business Performance Reporting application template for Windows SharePoint Services 3.0.

Toppen af siden

Opbygning af skabeloner

Programskabeloner i Windows SharePoint Services leveres i to typer: webstedsdefinitioner og webstedsskabeloner. De 40 programskabelonerne er en blanding af disse to. Brugeren kan vælge begge typer skabeloner på siden Nyt SharePoint-websted, og begge fungerer på stort samme måde over for slutbrugeren. Metoden til at oprette disse skabeloner og gøre dem tilgængelige til brug i formularen til oprettelse af websted er imidlertid meget forskellig.

Webstedsdefinitioner

I sin mest grundlæggende form er en webstedsdefinition en samling af XML-filer, samlinger og .aspx sider, der bestemmer, hvordan det websted, der er baseret på det, skal være struktureret, og hvad det underliggende program på webstedet skal udføre. Da de grundlæggende XML- og .aspx filer er tilgængelige via filsystemet, kan de nemt klones og ændres for at oprette nye webstedsdefinitioner, hvilket gør det nemt at tilpasse webstedsdefinitionerne.

Når et websted er klargjort (oprettet) af en webstedsdefinitionen, kan ændringer, der er foretaget til webstedets definitionsfiler i filsystemet, stadigvæk overføres til det klargjorte websted. Imidlertid understøtter Microsoft ikke ændring af webstedets definitionsfiler, når websteder er klargjort. Hvis alle siderne på det klargjorte webstedet ændres ved hjælp af en ekstern editor f.eks Office SharePoint Designer 2007, mister siden forbindelsen til webstedsdefinitionen i filsystemet. I stedet gemmes siden i databasesystemet Windows SharePoint Services, og det kaldes en "tilpasset" eller "replikeret" side.

Hvis du vil tilpasse en eksisterende webstedsdefinitionen, skal du vælge at starte med en omdøbt kopi af webstedsdefinitionen i stedet for at ændre en eksisterende. Hvis du vil implementere ændringer til en eksisterende webstedsdefinitionen, når websteder er allerede blevet klargjort, skal du oprette og implementere en opgraderet løsningspakke til webstedsdefinitionen. Du kan få mere at vide om, hvordan du gør det, i de tilsvarende artikler i Windows SharePoint Services 3.0 SDK.

Webstedsskabeloner

En webstedsskabelon er et SharePoint-websted, der er pakket i en enkelt fil, der kan være pakkes ud for at oprette nye websteder med lignende struktur og indhold. Det betyder, at hvis vi skal oprette en webstedsskabelon, skal vi bruge et eksisterende SharePoint-websted som et udgangspunkt. En hvilken som helst webstedstilpasning – sidelayout, typografiark, billeder, mastersider, dokumenter, lister, liste over indhold – kan registreres i skabelonen.

Processen med registrering af et eksisterende websted til en skabelon kan ske direkte fra webstedets administrative opgaver (under webstedsindstillinger) eller fra Office SharePoint Designer 2007. Når webstedsskabelonen er oprettet, gemmes den i galleriet med webstedsskabeloner for den aktuelle gruppe af websteder. Filen har filtypenavnet .stp. Denne fil kan hentes fra galleriet med webstedsskabeloner og overføres til en anden gruppe af websteder eller til et andet servermiljø. Den sidste del af dette afsnit viser flere detaljer om oprettelse og brug af en webstedsskabelon.

Brug af webstedsdefinitioner kontra webstedsskabeloner

Som vi lige har beskrevet, er webstedsskabeloner faktisk afledt webstedsdefinitioner. Når du skal vælge mellem at oprette en ny webstedsdefinition eller en webstedsskabelon, skal du overveje følgende:

  • Kompleksiteten af programmet    Om dit behov er hovedsageligt kosmetiske, f.eks layoutændringer og billedbehandlinger til et eksisterende websted, skal du bruge webstedsskabeloner. Hvis du på den anden side vil tilføje nye webdelsdefinitioner eller bruge brugerdefineret kode eller beregnede felter, bør du derimod oprette en brugerdefineret webstedsdefinition.

  • Dit adgangsniveau på serveren    Har du adgang til hele webserveren? Eller blot til en bestemt gruppe af websteder? Du skal have adgang til serverens filsystem for at kunne oprette og udrulle en webstedsdefinitionen. Hvis du ikke har denne adgang, er du begrænset til oprettelse af en webstedsskabelon for den gruppe af websteder, du har adgang til. Husk, at dette adgangskrav ikke gælder for webstedsadministratorer – når installeret har en person med rettigheder til at oprette et nyt websted adgang til begge typer programskabeloner.

  • Hyppighed af fremtidige opdateringer/ændringer    Ændring af en webstedsskabelon påvirker ikke websteder, der allerede er oprettet fra den – kun nyere websteder der er oprettet, når ændringerne er påvirket. Implementering af en opgraderingsløsningpakke til en webstedsdefinition, påvirker alle de websteder, der allerede er oprettet fra den.

Vejledning til oprettelse af webstedsskabeloner og webskabeloner

Oprettelse af webstedsskabeloner og webskabeloner involverer forskellige mængder kompleksitet. Det grundlæggende beskrives i næste afsnit.

Oprette en webstedsskabelon

Som nævnt tidligere, er en webstedsskabelon faktisk et SharePoint-websted, som er pakket til senere brug. Denne pakkede fil findes i galleriet med webstedsskabeloner på niveauet med grupper af websteder. De brugerdefinerede skabeloner i galleriet er tilgængelige til at oprette nye websteder på det underordnede webstedsniveauer af gruppen af websteder. Følgende trin hjælper dig med at oprette en ny webstedsskabelonen fra et eksisterende websted:

  1. Åbn det eksisterende websted i Office SharePoint Designer 2007, og kontroller derefter, at layoutet og indholdet på webstedet er, som du ønsker det.

  2. Peg på Eksporter i menuen Filer, og klik derefter på SharePoint-webstedsskabelon. Det fører dig til websiden med webstedsindstillinger.

  3. Angiv et filnavn, titel og beskrivelse af skabelonen.

  4. Du kan også markere indstillingen Medtag indhold, hvis du vil bruge data i lister og dokumentbiblioteker, der er inkluderet i skabelonen. Du bør også vælge denne indstilling, hvis du vil medtage arbejdsprocesser, fordi arbejdsprocesser faktisk er indhold, der er gemt i et dokumentbibliotek.

  5. Klik på OK. Det opretter en skabelonfil ud af webstedet med en .stp-fil og placerer filen i galleriet med webstedsskabeloner i det overordnede websted.

Fra skabelongalleriet på webstedet kan du klikke på navnet på skabelonen for at downloade .stp-filen lokalt på disken. Herfra kan du uploade filen til et andet galleri med webstedsskabeloner.

Oprette en webstedsdefinition

I modsætning til webstedsskabeloner gemmes webstedsdefinitioner i filsystemet. Hver webstedsdefinitionen er placeret i sin egen mappe på serveren på:

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

Mappen webstedsskabelon indeholder forskellige webstedselementer f.eks. .aspx- og .html-filer samt de tilknyttede ressourcer som f.eks. billeder og JavaScript-filer. ONET. XML er kernewebstedsdefinitionsfilen, der angiver de forskellige konfigurationer og moduler for webstedsdefinitionen. ONET. XML findes i en undermappe, der hedder "XML".

Webstedsdefinitioner er registreret med Windows SharePoint Services og gøres tilgængelige via WEBTEMP XML-datafiler. Alle WEBTEMP XML-filerne findes i

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

hvor er <LCID> er placerings-id'et, f.eks. 1033. Det faktiske navn på XML-filen er præfikset "WEBTEMP" (f.eks, WEBTEMPBT. XML).

Grundlæggende består det at oprette en ny webstedsdefinitionen af to overordnede trin: (1) konfigurere mappen med webstedsdefinition og (2) oprette WEBTEMP XML-filen, der registrerer webstedsdefinitionen med Windows SharePoint Services. Det første trin kan udføres ved at kopiere en mappe med en eksisterende webstedsdefinition og ændre dens indhold, så den passer til virksomhedens behov. ONET. XML-filen indeholder elementer, som angiver, hvordan forskellige dele af webstedssider klargøres, f.eks. på navigationslinjen, dokumentskabeloner og listen over skabeloner. Elementet Konfigurationer angiver lister og moduler, der er oprettet som standard, når en forekomst af webstedsdefinitionen instantieres. Følgende uddrag er fra ONET. XML af webstedsdefinitionen til fejlsporing, og du får vist en del af elementet Konfigurationer: <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>

Bemærk, at denne webstedsdefinition bruger mange funktioner f.eks. fejlliste, fejlkategoriliste, mobilitetsomdirigering osv. Disse funktioner er anført under elementerne SiteFeatures og WebFeatures med funktionens GUID'er. GUID'erne findes i funktionselementet i den tilsvarende Feature.XML-fil, der er placeret i denne mappe:

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

Se Windows SharePoint Services 3.0 SDK for at få mere at vide om tilpasning af ONET. XML.

Det andet trin i oprettelsen af en brugerdefineret webstedsdefinitionen er at oprette filen WEBTEMP *. XML-fil i denne mappe:

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

Elementet Skabeloner i denne fil angiver de konfigurationer, der kan bruges til at oprette en forekomst af de websteder, der er oprettet fra webstedsdefinitionen. Følgende uddrag illustrerer formatet af filen WEBTEMPbt.XML, som er den konfigurationsfil, der bruges af webstedsdefinitionen til sporing af fejl: <?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>

Bemærk, at attributtet Navn for skabelonnoden ovenfor, skal stemme overens med "*" i filnavnet, WEBTEMP *. XML. Bemærk også, at attributten DisplayCategory til elementet Konfiguration bestemmer, hvilken fanen konfigurationen vises på i sektionen Skabelonvalg på siden Opret websted. Du kan oprette dine egne faner ved at placere dine egne værdier på denne attribut.

Når webstedets definitionsfiler er blevet oprettet og placeret i relevante mapper i filsystemet, skal du genstarte IIS-tjenesten. Den nye webstedsdefinition vil være tilgængelig i afsnittet Valg af skabelon på siden Nyt SharePoint-websted i Windows SharePoint Services. Webstedets definitionsfiler kan også pakkes som en løsningsfil til let overførsel til et andet SharePoint-miljø eller geninstallation i det samme miljø. En løsningsfil er en kabinetfil med .WSP-filtypen (for Web Solution Package). Den indeholder funktioner, webdele, samlinger, klasseressourcer osv. og bruges af webstedsdefinitionen. Du kan bruge værktøjet makecab.exe til at oprette en .WSP fil. Se Windows SharePoint Services 3.0 SDK om, hvordan du opretter en løsningsfil.

Lokalisering af en webstedsdefinition

Lokalisering af en webstedsdefinition er let via ressourcefiler og registrering af kulturelle forskelle. Mens lokalisering af et typisk ASP.NET 2.0-program udføres under kompileringen, lokaliseres SharePoint-webstedet under klargøring af webstedet. Blandt programskabelonerne, er alle 20 skabeloner til webstedsdefinition blevet oversat til 10 sprog. Webstedsdefinitionerne selv er oprettet på en sprogneutral måde, mens strengkonstanter er gemt i ressourcefiler (.resx). Hvis du gerne vil føje lokalisering til din egen webstedsdefinition eller føje understøttelse af et nyt sprog til en eksisterende webstedsdefinitionen, kan du gøre det ved at oprette en ny ressourcefil. Filen placeres i mappen ressourcer, der er placeret på:

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

Denne fil er i bund og grund en XML-fil, som kan redigeres i en teksteditor. Følgende trin viser, hvordan du kan oprette en ny lokaliseringsfil til brug i en webstedsdefinition:

  1. Gå til mappen Ressourcer, der er nævnt ovenfor, og find den eksisterende .resx-fil, du vil oversætte til et nyt sprog.

  2. Klon filen og giv det samme navn, med undtagelse af sprog-kulturnavnet (eksempel tsa-da-us.resx til tsa-es-es.resx).

  3. Åbn den klonede fil i et tekstredigeringsprogram.

  4. Indstil koden lcid på den anden linje i filen til at repræsentere sproget. Følgende kode angiver f.eks. spansk:

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

  1. Rul ned til den del, hvor elementet Data findes efterfulgt af elementerne Værdi i par. Det er der, hvor du parrer ressourcenavnet med en lokaliseret strengværdi. Ændr værdierne i elementet Værdi for din landestandard. Følgende kodeeksempel viser en ressourcestreng til handlingen Opret ny kunde på spansk:

    <data name="Action_NewCustomer">
    <value>Crear un Nuevo cliente</value>
    </data>
  2. Gem filen i mappen Ressourcer med et navn som f.eks. myCustomResource.es -es.resx (det faktiske navn på afhænger af sproget kulturnavn, som ressourcefilen er beregnet til). Denne fil er nu klar til at referere webstedets definitionsfiler i dit program.

Før den lokaliserede webstedsdefinition kan vises som en skabelon, der er tilgængelige på siden Nyt SharePoint-websted for dette sprog, skal du også føje en WEBTEMP-fil til den relevante <LCID>-mappe. Se det forrige afsnit, "Oprettelse af en webstedsdefinition" for, hvordan du tilføjer en ny WEBTEMP-fil.

Lokaliseret ressourcereferencer fungerer anderledes i .aspx-filer, end de gør i XML-filer. Referencer i *.aspx-filer evalueres f.eks. på kørselstidspunktet, mens XML-filreferencer evalueres, når webstedet er instantieret. Brug følgende syntaks: $Resources: myCustomResource, DataName for at få adgang til XML-elementerne i ressourcefilen i et websteds definitionsfil. Hvis du f.eks. vil bruge en ressourcestreng fra en .aspx-fil, skal markeringerne se nogenlunde sådan ud: <div> <asp:Label runat="server" Text="<%Resources:myCustomResource, Action_NewCustomer %>" /> </div>

Toppen af siden

Oversigt

Windows SharePoint Services 3.0 og Office SharePoint Designer 2007 leverer samlet de avancerede værktøjer, du skal bruge til at oprette og tilpasse interaktive, arbejdsprocesaktiverede programmer. Uanset om du tilpasser af en af 40 programskabeloner eller bygger dine egne, beskriver denne artikel de dokumenterede metoder og bedste praksis, som ikke-udviklere kan bruge til at få succes.

Hvis du ikke allerede har gjort det, et det næste skridt at downloade programskabelonerne og begynde at bruge dem og åbne dem i Office SharePoint Designer 2007. Derefter skal du følge ressourcerne i afsnittet nedenfor "Ressourcer" for at hjælpe dig, efterhånden som du opbygger egen programmer.

Toppen af siden

Ressourcer

Du kan få flere oplysninger om Windows SharePoint Services 3.0 og Office SharePoint Designer 2007 i følgende ressourcer:

For flere udviklerprioriterede ressourcer se følgende:

Toppen af siden

Bemærk: Ansvarsfraskrivelse for maskinoversættelse: Denne artikel er blevet oversat af et computersystem uden menneskelig indgriben. Microsoft tilbyder disse maskinoversættelse for at hjælpe ikke-engelsktalende brugere til at kunne nyde indhold om Microsofts produkter, tjenester og teknologier. Da artiklen er maskinoversat, kan den indeholde forkerte ord eller syntaks- eller grammatikfejl.

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×