Introducere în construirea de aplicații SharePoint

Important : Acest articol este tradus automat, consultați exonerarea de răspundere. Versiunea în limba engleză a acestui articol se poate găsi aici pentru referință.

În acest articol

Introducere

Instrumente și tehnologii utilizate

Aplicarea arhitectura și dezvoltare metodologia

Implementarea comune modele de design

Construirea șabloanelor

Rezumat

Resurse

Introducere

Windows SharePoint Services 3.0 este o tehnologie de Windows Server, care oferă un portofoliu integrate de colaborare și comunicare servicii. De asemenea, este o platformă pentru dezvoltarea aplicațiilor Web-based business. A profita de această capacitate, Microsoft a dezvoltat 40 aplicația șabloane pentru Windows SharePoint Services 3.0 pentru a furniza out of box soluții pentru a răspunde nevoilor de procese de afaceri specifice, cum ar fi coordonarea un birou sau urmărirea campanii de marketing, așa cum se arată în exemplul în figura 1.

Vizualizarea pagină de pornire integrat campanii de Marketing urmărire aplicației
Figura 1: Pagina de pornire vizualizarea integrat campanii de Marketing urmărire aplicației

Microsoft a dezvoltat aceste șabloane de aplicație descărcabil gratuit pentru a fi ușor de utilizat imediat după implementare. Clienții și partenerii, de asemenea, utiliza aceste șabloane de aplicație ca punct de plecare pentru soluții mai particularizate sau le pot utiliza ca predarea exemple ca acestea construi aplicațiile lor sofisticate Windows SharePoint Services 3.0 utilizând Microsoft Office SharePoint Designer 2007.

Obiectiv din acest articol descrie modul Microsoft dezvoltat șabloane de aplicație, identificând cele mai bune practici pentru cum să lucrați cu nucleu capacitățile din Windows SharePoint Services 3.0 și a Office SharePoint Designer 2007, cu scopul de a multă putere clienților și partenerilor pentru a crea aplicațiile lor. Articolul nu este un substituent pentru Windows SharePoint Services 3.0 SDK, nici nu este în primul rând o resursă pentru dezvoltatori. Dezvoltatorii ar trebui să utilizați SDK pentru înțelegerea, în general, cum să extindeți Windows SharePoint Services 3.0.

Acest articol este menit să fie o resursă pentru un nou tip de site-ul designeri. Deoarece Windows SharePoint Services și Office SharePoint Designer 2007 face posibilă pentru a construi atât de mult aplicație funcționalitatea prin UI, dezvoltare avansată competențe nu sunt necesare pentru a construi îmbogățit aplicații. Pentru a fi sigur, acest articol descrie unele implementări de cod particularizate pentru modele de proiectare mai ales dacă complicat, dar metodologia generală ar trebui să fie accesibil non-dezvoltatorii și sunt prezentate cu acea audiență Rețineți. Dezvoltatorii poate doriți să rapid citiți secțiunile inițiale pe instrumente și metodologia de și plătiți atrage atenția asupra Descrierea modelele de proiectare și exemple specifice de cum se implementează acele modele de proiectare.

Ceea ce privește structura de articol, prima secțiune, Instrumente și tehnologii utilizate, furnizează o prezentare generală a capacităților în Windows SharePoint Services 3.0 și Office SharePoint Designer 2007 care sunt utilizate în construirea de aplicații. În general, secțiunea următoare, aplicarea arhitectura și dezvoltare metodologia, descrie metodologia utilizat de Microsoft în toate șabloanele de aplicație. Metodologia este o abordare sentiment comun care clienți potențiali real de control scopul soluția, cum va fi utilizat, și de către cine și ce anume a tehnologiei a cel mai îndepărtat fără a fi necesar să scrieți cod particularizat. Se termină cu un proces de identificare zone în care vor fi necesare cod particularizat sau alt serviciu particularizate.

Următoarea secțiune de articol, de implementare a comune modele de design, se concentrează pe cum să utilizați tari atât Windows SharePoint Services și Office SharePoint Designer 2007 pentru aplicație proiectare cerințele comune, cum ar fi cum să creați acțiuni particularizate într-o listă de adrese. Acest lucru este de bază a acestui articol și descrie abordări pentru modele de proiectare care se repete în toate șabloanele de aplicație (şi într-adevăr, toate aplicațiile care pot apărea cu). Această secțiune oferă exemple pentru fiecare dintre cinci modele de design, inclusiv urmează instrucțiuni pentru lucrul cu Windows SharePoint Services UI sau cu Office SharePoint Designer 2007 și unele cod particularizate.

Secțiunea ultima de articol, construirea șabloanelor, descrie modul de a crea un șablon de fișier utilizând Office SharePoint Designer 2007. De asemenea, să acopere alte probleme, cum ar fi localizare.

Când terminați acest articol, ar trebui să aveți un bun înțelegerea cum se proiectează și arhitect o aplicație, cum să începem prin a componente un site direct în Windows SharePoint Services 3.0, inclusiv construirea liste legate, coloanele particularizate, biblioteci, fluxuri de lucru și așa mai departe, cum să apoi deschide site-ul din Office SharePoint Designer 2007 pentru a face mai particularizări, să creați formulare particularizate, adăugarea de cod particularizate pentru a modifica anumite comportamente , a crea fluxuri de lucru particularizate, și așa mai departe și, în cele din urmă, cum să creați șablonul de aplicație în sine și implementați-l pentru o utilizare.

Începutul paginii

Instrumente și tehnologii utilizate

Există un număr de tehnologii și instrumente care sunt oferite împreună pentru a face posibilă pentru a crea aplicații mai ușor ca oricând. În partea de tehnologii, capacități noi, cum ar fi suport de flux de lucru înseamnă că un proiectant de site-ul nu are pentru a scrie cod pentru a aduce flux de lucru pentru o aplicație. În partea de instrumente, Office SharePoint Designer 2007, Microsoft Visual Studio 2005 și alte instrumente face posibil să utilizați mai mic și mai puțin codul (adesea fără cod) pentru a face lucrurile utilizat pentru a fi foarte greu pentru a realiza.

În general, Microsoft a urmărit o strategie în toate aceste instrumente și tehnologii care se mută mai multe și mai mult de efort greu instalații în infrastructura în sine, oferindu-vă posibilitatea să fie mai un proiectant și mai puțin un dezvoltator. Cu alte cuvinte, Microsoft a făcut deja o mare parte din lucru greu o dată, astfel încât să puteți utiliza pur și simplu aceste capacități din aplicațiile într-un mod intuitivă prin interfața utilizator.

În scopul pregătirea pentru a înțelege cum diferitele tehnologii și instrumente luate împreună în procesul de creare de aplicație, următoarele secțiuni tratează Windows SharePoint Services 3.0, Office SharePoint Designer 2007și alte tehnologii mai exact în ceea ce privește relevante noile caracteristici și capacităților. Pentru mai multe completă discuții, examinați resursele de la finalul acestui articol.

Windows SharePoint Services 3.0

Windows SharePoint Services 3.0 conține unele dintre capacitățile nou puternice. Următoarele capacități noi și caracteristici sunt deosebit de relevante pentru construirea de aplicații particularizate și veți vedea multe dintre ele menționate din nou într-o versiune mai recentă secțiuni:

  • Biblioteci și liste   Windows SharePoint Services 3.0 introduce un număr de biblioteci noi și tipuri de liste, care pot fi utilizate ca bază pentru aplicații. Noi tipuri de biblioteci includ biblioteca de diapozitive, o bibliotecă de proiectat special pentru a stoca și a gestiona reutilizabil Microsoft Office PowerPoint 2007 diapozitive, o bibliotecă de conexiuni de date și alte persoane. 

  • Tipuri de conținut     Tipuri de conținut sunt un concept core utilizate în întreaga Windows SharePoint Services 3.0. Tipuri de conținut sunt proiectate să ajute utilizatorii organizați conținutul de pe site-urile SharePoint lor într-un mod mai semnificativ. Un tip de conținut este o colecție reutilizabil de setări care pot fi aplicate în anumite categorii de conținut. Tipuri de conținut vă permit să central gestionarea și reutilizarea metadate și comportamente de un tip de document sau element. De exemplu, vă puteți asocia fluxuri de lucru și evenimente la un tip de conținut, mai degrabă decât să adăugați fluxuri de lucru și evenimente la mai multe documente sau biblioteci.

  • Coloane de site    Coloane de site oferă un model de centrală, reutilizabil pentru definiție de coloană. Atunci când creați o coloană de site-ul, fiecare listă care utilizează această coloană are aceeași definiție și nu trebuie să reproduceți coloana din fiecare listă. Coloane de site vă oferă un mod pentru utilizatorii finali pentru a alege dintr-un set predefinit de coloane care ar putea fi utile în lista lor. Așadar, nu doar pot fi utilizate pentru a defini coloane central pentru șabloane de listă un renumit, dar acestea oferiți utilizatorilor o cale pentru a utiliza speciale coloane care pot avea sensuri particularizate.

  • Flux de lucru     În Windows SharePoint Services 3.0, un flux de lucru vă permite să atașați un proces de afaceri la elemente din liste și biblioteci. Acest proces poate controla aproape orice aspect al unui element, inclusiv ciclul de viață al acelui element. De exemplu, puteați crea un flux de lucru simplu care direcționează un document la o serie de utilizatori pentru aprobare. De obicei, un proiectant de site sau dezvoltator va crea fluxuri de lucru specifice. Proiectanții de site-ul să utilizați Office SharePoint Designer 2007 pentru a crea fluxuri de lucru utilizând mediul Expertul proiectant flux de lucru și dezvoltatorilor să utilizați Visual Studio 2005 pentru a crea mai puternice și complexe fluxuri de lucru.

  • Caracteristică cadru   Windows SharePoint Services 3.0 conține o structură nouă, numită o caracteristică"." O caracteristică pachete Windows SharePoint Services elementele care vă ajută un utilizator realiza un anumit obiectiv sau activități. O caracteristică conține una sau mai multe elemente. Un element este un concept atomice Windows SharePoint Services . caracteristici Windows SharePoint Services 3.0 oferă un cadru întreaga care puteți să optimizați ca un dezvoltator pentru a furniza funcționalități particularizate pentru soluții Windows SharePoint Services . Caracteristici oferă, de asemenea, administratorii cu o modalitate simplă de a adăuga sau elimina împachetate componente de funcționalitate. 

  • Îmbunătățire a evenimentului    Evenimente se încadrează în două categorii principale:

    • Lista evenimente    Evenimente de bază, inclusiv modificări, adăugări și mutări de elemente de listă și lista de coloane (schemă modificările)

    • Site-ul simplu evenimente    Ștergerea site-urile și colecțiile de site

      Evenimente sunt imagine "înainte de" evenimente, marcată de formatul de nume "XYZing", fie asincronă "evenimente, marcată de formatul de nume"ABCed"după".

  • Acces mobil   Windows SharePoint Services 3.0 furnizează capacități noi care permit liste pentru a fi redat corespunzător pe dispozitive mobile. Atunci când un utilizator navighează la un site Windows SharePoint Services 3.0 utilizând un dispozitiv mobil, browserul Web va fi Redirecționat la o versiune specifice pentru mobil a site-ului care redă conținutul site-ului și listelor într-un format care este cea mai potrivită pentru dispozitivul. 

Office SharePoint Designer 2007: instrument premier pentru construirea de aplicații SharePoint

Office SharePoint Designer 2007 este proiectat special pentru a vă ajuta să creați și particularizați site-uri Web și fluxuri de lucru încorporat cu SharePoint produselor și tehnologiilor (Windows SharePoint Services 3.0 și Microsoft Office SharePoint Server 2007). Aceasta le furnizează instrumente care profesioniștilor IT și soluții creatorii trebuie să dezvoltați aplicații SharePoint și soluții de flux de lucru care îmbunătăți agilitate organizaționale și automatizare procese de afaceri. Utilizarea Office SharePoint Designer 2007, nu trebuie să utilizați limbaje sau tehnici tradiționale de procedurală să procedați astfel:

  • Crearea vizualizărilor de date nu necesită cod și forme pe o varietate de surse de date, cum ar fi fișiere XML, bazele de date SQL, cum ar fi Microsoft SQL Server 2005 și servicii Web.

  • Crearea fluxurilor de lucru sofisticate, dinamică, nu necesită cod.

  • Efectuați aspect pagină și proiectare.

  • Creați pagini coordonatoare.

  • Editarea și se aplică foi de stiluri în cascadă (CSS).

  • Construiți pagini parte Web și să conectați părțile Web pentru a crea sofisticate de afaceri aplicații.

Visual Studio 2005

Visual Studio 2005 pot fi utilizate pentru adăugarea de cod particularizate pentru aplicațiile sau pentru a crea fluxuri de lucru particularizate. Utilizați Visual Studio 2005 proiectant pentru Windows flux de lucru Foundation pentru a crea șabloane de flux de lucru și activități de flux de lucru particularizate. Puteți să includeți codul în de flux de lucru, cât și forme de proiectare pentru a fi utilizate de flux de lucru să comunicați cu utilizatori de flux de lucru în timpul de asociere și runtime.

Visual Studio 2005 extensii pentru Windows SharePoint Services 3.0 este o descărcare gratuită care pachete împreună un set de instrumente pentru dezvoltarea de aplicații SharePoint particularizate utilizând Visual Studio 2005. Pachetul include șabloane de proiect Visual Studio pentru părțile Web, definiții de site, definiții de listă și un program independent utilitar, Generator de soluții SharePoint, care generează un proiect de definiție a site-ul de la un site SharePoint existent. Programul permite dezvoltatorilor să utilizați browserul și Office SharePoint Designer 2007 pentru a particulariza conținutul site-urile lor înainte de a crea codul utilizând Visual Studio 2005.

Extensii Visual Studio 2005 pentru Windows SharePoint Services 3.0 au fost retrasă, dar vă pot accesa în continuare Visual Studio 2008 extensiile pentru Windows SharePoint Services 3.0, v1.3.

Microsoft Office Access 2007

Microsoft Office Access 2007 vă permite să creați aplicații de urmărire, oferind o experiență de utilizator bogat pentru introducerea, gestionarea și raportarea datelor pentru scenarii țintă. Pentru mai multe informații despre cum să proiectați, crearea și partajarea șabloanelor de acces, consultați carte Raţională Ghidul de la Microsoft Office Access 2007 șabloane.

Abordări și tehnici generale

În contextul metodologia de dezvoltare cum este descris în secțiunea următoare, pașii generală de bază pentru crearea unei aplicații sunt:

  1. Decideți dacă veți avea nevoie de o definiție de site-ul sau un șablon de site.

  2. Crearea site-ul de bază în Windows SharePoint Services 3.0 sau Office SharePoint Server 2007.

  3. Utilizați Office SharePoint Designer 2007 pentru a deschide site-ul, efectuați modificările, etc.

  4. Utilizați Visual Studio 2005, dacă este necesar, pentru a crea suplimentare de cod particularizate, fluxuri de lucru particularizate, etc.

Începutul paginii

Aplicarea arhitectura și dezvoltare metodologia

Ca cu orice proiect de dezvoltare, arhitectura și construirea unei aplicații Windows SharePoint Services va avea ocazia mai mare pentru a avea succes dacă urmați un metodologia dovedite. Această secțiune descrie metodologia Microsoft utilizate în proiectarea toate șabloanele de descărcat aplicația. Nu va fi nimic surprinzător în abordarea aici, mai ales pentru dezvoltatori experimentați, dar luați în considerare unele dintre elemente specifice ale unui mediului SharePoint și îl reflecta lecții învățate de Microsoft, pentru ca aceasta să fie valori într-un context acest. Din nou, această secțiune va fi cel mai util pentru non-dezvoltatorii care știți cum să utilizați Windows SharePoint Services 3.0 și Office SharePoint Designer 2007.

Pe scurt, metodologia începe cu gândire în general despre ce aplicația trebuie să facă, care trebuie să o utilizați și altele mai departe. Apoi să caute în detaliu cum datele din aplicația trebuie să curgă, în cazul în care are nevoie să fie stocate și ce sunt relațiile acolo între diferitele părți de date. Cu un bun înțelegerea modelului de date și utilizarea scenarii, metodologia apelurilor pentru SAR în și începeți să construiți o versiune brute de aplicație în Windows SharePoint Services 3.0, construirea liste, biblioteci, fluxuri de lucru și așa mai departe, într-o manieră iterativ la punctul de a începe să căutați și să se comporte, în general, așa cum doriți. În cele din urmă, metodologia apelurilor pentru identificarea și compuneți reglajele și particularizări necesare pentru a face aplicația într-adevăr nu vă întrunește cerințele proces de afaceri.

Definirea funcțională cerințe pentru aplicația

În timp ce nu este necesar să aveți un document foarte detaliat specificațiile tehnice înainte de construirea unei soluții Windows SharePoint Services , este necesar să aibă o idee legată de modul în care aplicația trebuie să funcționeze. Punctul anterioare poate părea evident, dar dezvoltatorii de multe au avut dureri de nepotrivirile dintre ce credeți că participanții direct interesați doresc într-o aplicație și ce au nevoie de fapt pentru proces de afaceri pentru a reușit (desigur, participanții direct interesați, de obicei, dau seama acest după ce vor vedea aplicația aproape terminat!).

Toate acestea este pur și simplu să spunem că începând de la începutul înseamnă colectarea Cerințe funcționale și gândesc la ceea ce trebuie pentru a realiza aplicația. De exemplu, dacă aveți nevoie de o soluție de urmărire a proiectului, care doriți să identificați, cel puțin, astfel:

  • Care sunt actori/rolurile în proces de afaceri?    În acest caz, un proprietar de proiect creează un proiect și păstrează informații despre activități, probleme și așa mai departe și activități proprietarii au probleme și activitățile atribuite acestora și trebuie să interacționeze pentru a finaliza operațiunilor lor. Managerii trebuie să vadă comasate informații despre starea proiectului general.

  • Care sunt iu trebuie pentru actori diferite?    În acest caz, proprietarul de proiect, activitate proprietarilor și managerul trebuie diverse vizualizări relevante pentru activitățile lor. Activitate proprietari ar trebui să poată vedea toate problemele atribuite acestora, de exemplu, în timp ce proprietarul proiect ar trebui să poată vedea toate anterioare scadentă probleme.

  • Afaceri proces cum arată?    În acest caz, un proprietar de proiect creează un proiect, jaloane, activităților și intrările de buget și apoi urmărește progresului în timp. Proprietar de proiect au acces frecvente în toate piese de informații, în timp ce activități proprietarii trebuie să funcționeze în date, când ceva le este atribuit.

  • În cazul în care este datele?    Puteți utiliza numai datele în Windows SharePoint Services, sau va trebuie acces la date externe (de la o bază de date, printr-un serviciu Web, prin Catalog date firmă și așa mai departe), și vă trebuie pentru a stoca date în afara Windows SharePoint Services?

  • Ce sunt relațiile dintre datele?    În acest caz, trebuie să aibă un element de proiect, un element de jalon și elemente de activitate și problema și au o ierarhie logică. Utilizatorii sunt puncte de date și deci sunt lucruri cum ar fi buget, numărul de zile și altele.

O modalitate foarte bună de a găsi răspunsuri la cele mai multe dintre aceste întrebări este pentru a desena literal imagini pe o tablă albă, iterarea prin procesul de afaceri de câteva ori și cu câteva variații (crearea câteva proiecte, atribuirea de activități la două sau trei persoane în proiecte și așa mai departe). Conceptual, proiectul aplicație de urmărire este un design destul de simplu și cerințele sunt destul de clar în acest moment.

Validarea unui model de date

În timp ce modelul de date a fost deja discutat, este așa de important ca pentru a solicita o analiză detaliată. Neînţelegere modelul de date probabil vă va solicita să efectuați dramatice, la nivel de sistem se modifică o versiune mai recentă pe, deci este important să-l dreapta.

Este important să înțelegeți că există un număr de părți legate de informații, precum un număr de componente de meta-informații care descriu și a defini unde în proces de afaceri dat anumite informații se află. Din proiect urmărirea caz, trebuie să știți mai multe decât care este un proiect, un jalon și activități și probleme. Trebuie să știți că un proiect este elementul de nivel superior și care poate avea mai multe etape. Proiecte, de asemenea, puteți avea mai multe activități și probleme.

Determinarea componentele și relațiile lor

În acest moment, avem o descriere funcțională bună al aplicației. Următorul pas este să planificați arhitectura și decideți cum să utilizați diverse tehnologii și capacitățile de Windows SharePoint Services 3.0 și Office SharePoint Designer 2007. Fiecare aplicație va implică o combinație între caracteristicile și capacitățile cum este descris în secțiunea anterioară instrumentele și tehnologiile utilizate, inclusiv:

  • Liste și căutări

  • Vizualizări de listă particularizată (grupare, sortare, filtrare, etc., prin Windows SharePoint Services IU)

  • Flux de lucru

  • Pagini particularizate și vizualizări de date particularizate în Office SharePoint Designer 2007

Liste și căutări într-adevăr implementeze modelul de date. Astfel, în contextul proiectului aplicație de urmărire, utilizați o listă unică pentru proiecte, o altă listă (cu un câmp de căutare în lista de proiect) pentru jaloane, o altă listă cu un câmp de căutare în proiect listă de probleme și așa mai departe. Pentru vizualizări particularizate, se recomandă pur și simplu pentru a seta vizualizarea implicită pentru a Grupa stare și sortarea de sănătate.

General, un alt exercițiul tablă albă este în ordine aici, în cazul în care creați pur și simplu un mockup al aplicației, identificarea tehnologiile utilizate pentru fiecare fragment.

Începe construirea componente de aplicație

Din nou, nu este necesar să aveți un document foarte precis specificație tehnică în acest moment. Este mai importantă, presupunând că aveți un ghidaj bună în fluxul de date de bază și cerințele de interfață utilizator, pentru a începe pur și simplu componente.

Literal, acest lucru înseamnă crearea unui site nou utilizând unul dintre șabloanele absent casetă din Windows SharePoint Services 3.0, sau creați propriul șablon de site-ul avans și construirea o instanță nouă de site-ul pe care baza. Pentru mai multe aplicații, veți probabil doar utiliza șablonul Site de echipă sau Site necompletat ca de bază.

În proiectul aplicație de urmărire, primul lucru de făcut este să creați liste patru (liste de proiecte, activităților proiectului, problemele proiectului și jaloane din proiect). Apoi, creați coloane particularizate pentru fiecare dintre acele liste. Windows SharePoint Services 3.0 vă permite să creați un număr de tipuri de coloane diferite, inclusiv alegere, număr, persoană sau grupși Căutare (informații deja pe acest site). Listă proiecte în Microsoft project șablon de aplicație de urmărire utilizează multe dintre acestea, așa cum se arată în figura 2.

Coloane particularizate într-o listă
2 imagine: Coloane particularizate într-o listă

Coloana stare se bazează pe tipul de coloană alegere , coloana de buget este un număr de coloane (utilizând monedă) și așa mai departe.

În lista jaloane din proiect, o coloană de Căutare se utilizează, astfel încât să fie asociate un jalon într-o relație părinte-copil un proiect. Crearea unei coloane de căutare este pur și simplu o chestiune de alegerea lista în care doriți să căutați și apoi alegând coloana din acea listă (Windows SharePoint Services populează verticală automat), așa cum se arată în figura 3.

Definirea unei coloane de căutare pentru a prelua informațiile dintr-o altă listă
Figura 3: Definirea unei coloane de căutare pentru a prelua informațiile dintr-o altă listă

În acest moment, ar putea lucra în unele aplicații logică, construirea unui flux de lucru simplu pentru a notifica membri atunci când se creează proiecte noi. De asemenea, ar putea începe să creați vizualizări particularizate din liste utilizând Windows SharePoint Services UI sortarea și filtrarea la preferințele.

Determinarea particularizări necesare în aplicația

Funcțional, o mare parte din proiectul aplicație de urmărire a fost implementat cu doar Windows SharePoint Services UI. În acest moment, putem deja vedea ce lucruri funcționează, dar nu destul de bine, lucruri pe care nu se poate face prin Windows SharePoint Services UI, și așa mai departe. Anumite zone unde vă veți dori să beneficiați de Office SharePoint Designer 2007 sunt:

  • Aplicarea unei logici într-un flux de lucru    Fluxurile de lucru puteți să utilizați din caseta în Windows SharePoint Services 3.0 și Office SharePoint Server 2007 trebuie să specificați un utilizator sau a unui grup la care să-i atribuiți o activitate. Pentru proiect de aplicație de urmărire, avem nevoie de o modalitate de a determina dinamic un destinatar pentru o acțiune de flux de lucru, pe baza proprietăți proprietar într-o problemă sau activități. Utilizăm Office SharePoint Designer 2007 pentru a construi un flux de lucru nu necesită cod dinamic pentru această soluție.

  • Tablou de bord și managerul vizualizări    Am nevoie de un mod pentru a afișa o singură vizualizare combinată a tuturor proiectelor, toate bugete și așa mai departe. Vă puteți construi cu ușurință nu necesită cod vizualizărilor de date pentru a afișa asociat și combinate informații pentru un tablou de bord.

  • Relații părinte-copil    Există câteva probleme de accesibilitate de utilizat atunci când creați activități. Poate că am dori să aibă o activitate în mod implicit la un anumit proiect, în funcție de ce pagină suntem pe. Utilizăm Office SharePoint Designer 2007 se adaugă o logică pentru a automatiza legarea de un element la altul.

Microsoft utilizează aceeași iterativ abordare în timp ce construirea șabloane 40 aplicație și un set de abordări consistent, cu consistent cele mai bune practici, decizie copaci și așa mai departe, au fost dezvoltat pentru a optimiza pentru ceea ce trebuie făcut nativ din Windows SharePoint Services 3.0 și ce ar trebui să fie efectuate folosind Office SharePoint Designer 2007 și alte instrumente. Următoarea secțiune din acest articol discută despre aceste abordări, identificare cinci "proiectarea modele" și de modurile în care acestea ar trebui să fie implementat, cauza exemple de multe dintre șabloanele de aplicație pe drum. Ca atare, restul acestui document este mai detaliate și mai mult tehnic decât discuții despre metodologia.

Începutul paginii

Implementarea comune modele de design

În această secțiune, vom descrie cinci modele de proiectare de bază în contextul cum Microsoft efectiv utilizate le. Astfel, ne referim la un număr de exemple diferite din șabloane, inclusiv exemple de cod și câteva instrucțiuni pas cu pas, dacă este cazul. Dezvoltatorilor va găsi această secțiune și secțiuni rămase în modul de a construi de fapt un șablon de aplicație cel mai util, dar este scris să fie accesibil non-dezvoltatorii, de asemenea.

Pentru a începe, modelele de proiect sunt:

  • Formulare particularizate    Crearea particularizate și aspectul care oferă instrucțiuni pentru acțiune la anumite puncte în proces de afaceri (acestea includ doar expunerea corespunzătoare proprietățile pe care aveți permisiunea de a fi modificate sau sunt relevante într-o anumită etapă).

  • Flux de acțiune    Crearea bine definite acțiunile care duce în locul potrivit pentru actor dreapta (pentru acest lucru, avem nevoie de bun de navigare controlul care este sensibil la actor acțiunea efectuată și acțiunea seama).

  • Relații părinte-copil    Crearea unei relații între două sau mai multe liste SharePoint pentru căutare și referință.

  • Fluxuri de lucru    Utilizarea Office SharePoint Designer 2007 pentru a crea un proces de afaceri bazate pe Windows Foundation flux de lucru.

  • Tablouri de bord    Utilizarea părților Web pentru a crea o vizualizare unificat dispersate informațiilor în site-ul într-un singur loc.

Utilizând formulare particularizate

Formulare particularizate joacă un rol vitale în particularizarea interfața cu utilizatorul intrare date în Windows SharePoint Services. Așa cum vizualizărilor de listă particularizate sunt utilizate pentru a prezenta datele listă în moduri diferite, formulare particularizate sunt utilizate pentru a prezenta diferitele metode de capturat datele introduse de utilizator. Aveți nevoie pentru a crea cum ar fi formulare particularizate pot apărea motive diferite, în funcție de cerință de afaceri.

Particularizarea bazat pe activitate

Procese de afaceri solicita utilizatorilor să efectueze anumite acțiuni care afectează datelor de afaceri în diferite de puncte din procesul. O soluție de proces bun de afaceri vă ajută pentru a face munca lor prin expunerea informațiile corecte în fiecare etapă din procesul de utilizatori.

Windows SharePoint Services include un formular editare cu fiecare listă în mod implicit. Cu toate acestea, acest formular nu poate arăta cel mai bun set de câmpuri pentru o anumită etapă de un proces de afaceri și aceasta nu va aranja aceste câmpuri într-un mod care efectuează acțiunea necesare debifați. Pentru a asigura că utilizatorii vor putea edita cu ușurință informații corecte atunci când se efectuează o acțiune, puteți să creați un formular particularizat pentru fiecare acțiune.

Soluția de urmărire a erorilor utilizează formulare particularizate editare astfel încât în fiecare etapă a erorii procesul de urmărire, acesta este imediat clar ce informații ar trebui introduse pentru un element de erori. Fiecare acțiune în procesul de urmărire a problemelor are propria formă. De exemplu, atunci când utilizatorul alege pentru a rezolva o eroare, acestea sunt direcționate către pagina rezolvare (Resolve.aspx). Această pagină le permite să introduceți rezolvarea erorilor și numele persoanei care a rezolvat erorii. Utilizatorul face clic pe butonul rezolvarea pentru a remite modificările lor. Acest lucru furnizează un flux de acțiune care este ușor de utilizat și vă ajută să elimine erori sau informațiilor lipsă.

Crearea unui formular particularizat editare este relativ simplu să facă utilizând Office SharePoint Designer 2007:

  1. Crearea unei copii a implicit EditForm.aspx și redenumiți-o.

    Important : Este important că puteți crea o copie a implicit EditForm.aspx și redenumiți-o ca primul pas în acest proces. Dacă efectuați Pasul 2 din pagina EditForm.aspx originală, care va întrerupe ireversibil din listă.

  2. Ștergeți părții Web formular listă în formular editare nou.

  3. Inserarea unei vizualizări de date care conține datele pe care doriți să expune (în meniul Inserare , faceți clic pe Controalele SharePoint, apoi faceți clic pe Formular de listă particularizată).

  4. Utilizați metoda inserarea , Office SharePoint Designer 2007 creează automat un buton de Salvare a formularului. Codul de mai jos arată un exemplu de HTML particularizate pentru butonul Salvare .

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

Navigarea

După ce ați creat pagini corespunzătoare de roluri, trebuie totuși să vă oferă un mod pentru utilizatorii pentru a accesa rapid tabloul de bord relevante. În cazul în care soluție de planificare, am făcut acest lucru, utilizând un șablon XSL pentru a crea un link la tabloul de bord corectă pentru utilizatorul curent bazat pe rolul lor.

O limitare a această metodă este că dacă adăugați mai multe roluri la soluție, oferind particularizate tablouri de bord acestor roluri va necesita crearea paginilor .aspx suplimentare.

Este important să rețineți că această tehnică adăuga orice suplimentare control asupra cine are acces la informațiile de pe site-ul. Orice utilizator poate vizualiza încă teoretic orice informații în soluția.

Atribuirea rolurilor de utilizatori

Există diverse modalități de a crea roluri și atribuiți-le utilizatorilor. Cea mai bună soluție pentru această provocarea vor varia foarte mult în conformitate cu cerințele de o anumită aplicație sau a Organizației. Windows SharePoint Services nu oferă o modalitate de a furnizarea atribuirile de roluri din caseta. În unele cazuri, poate fi suficientă pentru asigurarea accesului roluri după ce s-a implementat un site sau pentru a permite utilizatorilor să atribuiți roluri de sine ca este necesar.

În cazul în care soluție de planificare, utilizatorii pot înregistra pentru rol care se aplică cel mai bine la ele. Acest lucru se termină la partea Web particularizate pe prima pagină a spațiului de lucru planificarea evenimentelor.

Alte exemple de acest model de proiectare

Pentru un alt server administrare exemplu de utilizare a formulare particularizate, consultați biblioteca de împrumut șablon de aplicație pentru Windows SharePoint Services 3.0.

Pentru un exemplu de administrare site, consultați producție procesul de gestionare șablon de aplicație pentru Windows SharePoint Services 3.0.

Controlul fluxului de acțiune

O aplicație Web lumii reale, care se generează după un proces de afaceri este foarte rar conținute într-o singură pagină Web sau o parte Web. În schimb, acesta se întinde pe mai multe componente astfel, fiecare responsabil pentru o distincte pas din procesul de afaceri. Prin urmare, navigarea fără probleme și cu ușurință între componentele unei aplicații devine un aspect cheie de proiectare de aplicație. Un model de proiectare cheie, apoi, este pentru a controla fluxul de acțiune de legare business acțiunile proces de navigare, astfel încât luarea unei acțiuni specifice duce utilizatorul la pagina următoare corespunzătoare sau acțiune următoare.

O metodă de control acțiune flux este de a utiliza capacitatea de acțiune particularizată în Windows SharePoint Services 3.0, care vă permite să adăugați propriile acțiuni la butonul Context încorporat pentru elementele dintr-o bibliotecă. O limitare a această capacitate este că acțiuni trebuie să fie codificate greu și nu poate fi parametrizate după numele elementului sau altă valoare dinamic.

O altă metodă, care vă permite să încorporați dinamice acțiuni în procesul de afaceri, este să creați liste particularizate cu SharePoint și să utilizați "câmpuri calculate." Șablonul de aplicație erorilor urmărire utilizează o listă particularizată de erori pentru a urmări starea erorilor și informații. Utilizând câmpuri calculată, Microsoft a putut să includă linkuri particularizate în vizualizarea listă, astfel încât un utilizator să ia măsuri în erori, cum ar fi "Activare" sau "Rezolva", și fiecare dintre aceste acțiuni are navigare care să aducă utilizatorului de particularizată corespunzătoare formular (consultați anterior model de proiectare) pentru a face ceea ce este necesar pentru a activa sau a rezolva o eroare.

Câmpurile calculată sunt o caracteristică de Windows SharePoint Services 3.0 care vă permite să aplicați un model de redare particularizate sub formă de coloană într-o listă SharePoint. Astfel, o acțiune de proces de afaceri (activați o eroare) este expus ca un buton într-o coloană care navighează utilizatorului la formular particularizat corectă pentru a efectua această acțiune de afaceri.

Câmpul calculată acceptă logica condiționate pentru a alege dacă se afișează o acțiune. De exemplu, dacă este activat deja erorii, vom nu se afișează butonul Activare . Un câmp calculat este adăugat la o listă SharePoint, adăugând un element de câmp la fișierul de schemă XML care definește din listă. <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>

Acest cod Arată XML pentru câmpul calculată activare. Acest câmp afișează starea portocaliu se poate face clic link dacă erorii nu a fost activat. Utilizatorul face clic pe link pentru a merge la formularul de activare pentru această problemă.

Elementul FieldRefs include o referință de câmp pentru câmpul de stare din lista de erori. Această referință permite să facem particularizate redarea acest câmp calculată pe baza stării erorilor.

Câmpul DisplayPattern de o coloană calculată conține calcule și redarea model pentru coloană. În acest exemplu, vom utiliza o declarație dacă-atunci-altceva pentru a determina dacă starea erorii este activă. Dacă erorii este activ, putem afișa nimic în câmpul de activare. Dacă erorii nu este activă, se afișează HTML în elementul Else . Acest cod HTML este imaginea și link pe care utilizatorul face clic pentru a activa erorii.

Alte exemple de acest model de proiectare

Pentru un alt server administrare exemplu de control fluxul de acțiune, consultați biblioteca de împrumut șablon de aplicație pentru Windows SharePoint Services 3.0.

Pentru un exemplu de administrare site, consultați angajat activitățile Site șablon de aplicație pentru Microsoft Windows SharePoint Services 3.0.

Utilizarea relații părinte-copil

Soluții pentru firme necesită adesea date pentru a fi vizualizate și utilizate în contextul unei relații la alte date. De exemplu, așa cum am văzut cu proiectul de aplicație de urmărire, proiecte, activități, probleme și jaloane fiecare stocate în propria lor lista SharePoint. Fiecare activitate, problema și jalon este asociat cu un element din listă de proiect. Menținerea relația dintre o listă și "fiu" informațiile conținute în alte liste poate constitui o provocarea.

Crearea unui link în mod implicit între un element de listă nou și una existentă

O singură provocarea comune este întâlnite atunci când un utilizator vrea să creați un element de listă care este legată la un element dintr-o listă de părinte. În proiectul mai multe soluții de urmărire, acest lucru se întâmplă atunci când un utilizator încearcă să creați o activitate care este legată la un proiect existent. Din caseta, nu există niciun mecanism în Windows SharePoint Services 3.0 pentru a crea automat o relație între un element de listă care este creat și una care există.

Din proiect pagina de detalii (DispForm.aspx) în mai multe proiect șablon de aplicație de urmărire, un utilizator poate crea activități noi sub acel proiect. Pagina Creare activitate nouă (NewForm.aspx) conține un meniu vertical în cazul în care utilizatorul poate selecta proiectul părinte pentru această activitate. Pentru a efectua această valoare implicită verticală proiectul părinte afișează pe pagina utilizatorului să poată naviga de la, vom trece ID-ul părinte proiect NewForm.aspx din șirul de interogare. În continuare, utilizând JavaScript, vom analiza valoarea ID-ul de proiect, și selectați relevante ale proiectului în caseta listă verticală. <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>

Acest cod Arată linkul din DispForm.aspx. Observați că ProjectID este inclus în șirul de interogare.

Atunci când se încarcă NewForm.aspx, JavaScript analizează ID-ul de proiect din șirul de interogare și să se schimbe lista verticală de proiect, astfel încât proiectul corectă este selectată.

JavaScript este conținută într-o parte Web Editor de conținut pe NewForm.aspx. Partea Web este setat să aibă nicio chrome, astfel încât să nu se afișează pe pagina dacă pagina este în modul de editare. JavaScript este plasat în zona de editor de conținut. <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>

ComandaspBodyOnLoadFunctionNames.push_adaugă funcția fillDefaultValues la lista de script-uri pentru a rula în timpul de încărcare.

Funcția fillDefaultValues surprinde proiect ID-ul sau ID jalon din șirul de interogare și îl transmite setSelectedOptions. Apoi setSelectedOptions setează valoarea din meniul vertical la ID-ul pentru proiectul părinte.

Alte exemple de acest model de proiectare

Pentru un alt server administrare exemplu de utilizare a părinte-copil vizualizărilor, consultați inventar urmărirea șablon de aplicație pentru Windows SharePoint Services 3.0.

Pentru un exemplu de administrare site, consultați deschiderea magazin nou șablon de aplicație pentru Windows SharePoint Services 3.0.

Utilizarea fluxului de lucru

Windows SharePoint Services 3.0 găzduiește Windows Foundation de flux de lucru pentru a activa logică de flux de lucru adăugat la aplicație. Office SharePoint Designer 2007 are un instrument puternice de proiectare bazată pe reguli pentru particularizarea și adăugarea condiționată logică în jurul out of caseta fluxurile de lucru. De asemenea, puteți crea mai complexe și particularizate fluxuri de lucru cu codul utilizând Visual Studio 2005 cu Visual Studio 2005 extensiile pentru Windows flux de lucru Foundation. În orice caz, există câteva considerații pentru când și cum să utilizați fluxul de lucru, după cum urmează.

Considerații de utilizarea fluxului de lucru

Flux de lucru este o soluție bună pentru operațiuni asincronă. În biblioteca de împrumut soluția, flux de lucru se utilizează atunci când un utilizator propune o nouă bibliotecă de active. Unul dintre motivele pentru acel flux de lucru este o alegere bună aici este că procesul între prezinte și aprobă nu este sincronizată.

Flux de lucru, de asemenea, funcționează bine pentru evenimentele planificate. În biblioteca de împrumut soluția, flux de lucru se utilizează pentru a gestiona extragerea și scadență dată mementouri pentru active. După ce un element este extras, fluxul de lucru trimite automat o scadență memento dată când elementul devine scadentă.

Flux de lucru pot fi utilizate ca un mijloc pentru a simplifica un altfel complicată activitate programare de pe server. Gestionarea fișelor de pontaj șablon de aplicație pentru Windows SharePoint Services 3.0 este un exemplu. Această aplicație urmărește durata unui angajat lucrul la o anumită activitate prin calcularea diferența de timp între pontare la intrare în și punch afară mărci de timp. În mod normal, urmărirea de mărci de timp ar necesită înregistrarea în jurnal în aceste două activități pe server (probabil la o bază de date)-rezultatul unui efort de dezvoltare remarcabile. În schimb, această aplicație se bazează pe un singur pas simplu flux de lucru. Atunci când utilizatorul pumni, fluxul de lucru creează o intrare din lista de timp jurnal și setează valoarea ora de început la marcă de timp curentă. În mod similar, atunci când utilizatorul pumni, fluxul de lucru actualizează rândul asociate în aceeași listă și setează valoarea ora de sfârșit. Durată de lucru a utilizatorului este pur și simplu diferența între ora de sfârșit și ora de început de valori, care se reflectă în coloana calculată etichetată ore.

Fluxuri de lucru execută asincron. În cazul în care creați o soluție în cazul în care rezultatele unei acțiuni trebuie să fie completate imediat după navigarea la pagina următoare, flux de lucru nu poate fi cea mai bună soluție. De exemplu, problemelor, soluții, flux de lucru nu este utilizată pentru a gestiona erori de activare și rezolvare. Unul dintre motivele pentru care această opțiune de proiectare este că modificările în stare erorilor trebuie să fie reflectate în interfața utilizator, imediat după ce un utilizator are acțiuni la o eroare.

Utilizarea Office SharePoint Designer 2007 pentru a construi un flux de lucru particularizate

Crearea unui flux de lucru utilizând Office SharePoint Designer 2007 este o experiență de cod liber. Cu un site-ul deschis, puteți pur și simplu faceți clic pe meniul fișier , indicați spre nou, faceți clic pe flux de lucru, apoi utilizați proiectant flux de lucru. Proiectant flux de lucru vă permite să creați reguli sofisticate și acțiuni și este integrat cu biblioteci și liste SharePoint, astfel încât să puteți utiliza câmpurilor și a valorilor direct din elemente de listă și bibliotecă pentru a genera logică de flux de lucru.

De exemplu, să presupunem că doriți să creați acțiuni de flux de lucru care trimite un mesaj de e-mail la un proprietar de activitate, ori de câte ori se creează o activitate nouă sau problema. Din șablonul de urmărire a proiectului, proprietarul este unei coloane particularizate în lista SharePoint, pentru ca fluxul de lucru să utilizați această coloană valoare și apoi dinamic determina adresa de e-mail real, la momentul rulării.

Pentru a afla mai multe despre fluxurile de lucru în Office SharePoint Designer 2007, consultați introducere în Microsoft Office SharePoint Designer 2007.

Alte exemple de acest model de proiectare

Pentru un alt exemplu de administrator de server de utilizarea fluxurilor de lucru, consultați managementul solicitărilor și interviu Management șablon de aplicație pentru Windows SharePoint Services 3.0.

Pentru un exemplu de administrare site, consultați clinice versiunea de încercare inițierea și gestionarea șablon de aplicație pentru Windows SharePoint Services 3.0.

Utilizarea tablourilor de bord

Printre multe beneficii ale părții Web infrastructură în Windows SharePoint Services 3.0 este capacitatea de a afișa informații împrăştiate în cadrul unui site SharePoint sau extern într-o singură pagină rezumat, numit un tablou de bord. O cerință de afaceri comune în mediile partajat este bazat pe roluri tablouri de bord, care poate oferi o vizualizare a informațiilor relevante pentru un rol sau altă persoană. Cum ar fi tablouri de bord pot profita de capacitățile puternice predefinite, cum ar fi parte Web de filtrare și audienței țintă, pentru a afișa informații pe baza care este vizualizarea paginii.

De asemenea, puteți accesa dincolo de aceste capacități și creați pagini separate pentru rolurile separat, astfel încât să aveți posibilitatea să particularizați într-adevăr nu doar informațiile prezentate, dar aspectul și alte aspecte ale paginii. Cum ar fi paginile particularizate pe bază de rol sunt utilizate pe scară largă prin șabloane de aplicație și pot include desigur, filtrarea și, de asemenea orientare către public.

Aplicația biblioteca de împrumut, de exemplu, aduce utilizarea tablourilor de bord pe bază de rol să prezentați informații care sunt cele mai relevante pentru utilizator bazat pe roluri ale utilizatorului. Pagina principală a site-ul are două pagini disponibile: una destinate utilizator bibliotecă (pagina implicită) și unul pentru Bibliotecarului.

În mod similar, aplicația birou are trei tablou de bord vizualizări disponibile în pagina principală: serviciu agent Home, cunoștințe Manager pornire și agent Service Manager pornire. Utilizatorul selectează hyperlinkul cele mai relevante pentru rolul lor. Partea Web vizualizare afișate în tabloul de bord, de asemenea, filtrează conținutul să se afișeze relevante pentru utilizator. Acest lucru se face aplicând un filtru în vizualizare. Următorii pași ilustrează modul în care se aplică acestor unui filtru la o vizualizare listă existentă.

  1. Navigați la pagina listă de vizualizare în browser.

  2. Găsiți controlul verticale din bara de instrumente listă și selectați vizualizarea pe care doriți să-l modificați, dacă vizualizarea nu este deja selectat.

  3. Salt la aceeași comandă verticale din nou și selectați modificare vizualizare.

  4. Pe pagina editare vizualizare, defilați la secțiunea filtru. Setați valoarea de filtrare după cum urmează:

    Afișați elementele atunci când coloana creat de este egal [mi] sau când coloana clienților este egal cu [mi].

  5. Faceți clic pe OK.

Pagina de pornire manager serviciu agent de aplicație de birou, afișate în figura 4, caracteristicile două părți Web tablou de bord care sintetizează solicitările de servicii de stare și prioritate în formă de un grafic cu bare.

O pagină de tablou de bord
Figura 4: O pagină de tablou de bord

Acestea sunt părți Web în Vizualizare date care reflectă datele conținute într-o listă numit solicitărilor de serviciu, care este, de asemenea, o parte din site-ul de ajutor soluția fix. Pentru a înțelege cel mai bine cum s-au creat aceste părți Web, deschideți site-ul în Office SharePoint Designer 2007 și încărcarea paginii HelpDeskManager.aspx care conține aceste părți Web. Vizualizarea paginii în Vizualizare scindată și veți vedea că codul din spatele părțile Web este un amestec de XLST, HTML și CSS marcaj limbi.

Să examinăm cum au fost create bare grafic cu bare pe parte Web. Vom lua generală serviciu solicitarea prioritate partea Web ca un exemplu. În Office SharePoint Designer 2007, în meniul Inserare , faceți clic pe Controalele SharePoint, apoi faceți clic pe Vizualizare date pentru a deschide panoul de activități bibliotecă sursă de date. Acest panou de activitate vă permite să ne naviga prin diverse surse de date în prezent accesibile la site-ul, inclusiv liste deja pe site-ul. În cazul nostru aici, vom extinde secțiunea intitulată Liste SharePoint și faceți clic pe numele listei, Solicitări de servicii, pentru a indica faptul că această listă va fi sursa de date noastre. În meniul contextual care apare, faceți clic pe Afișare date. Acest lucru se deschide un nou panou în panoul de activități denumit detalii de sursă de date care dezvăluie toate câmpurile și eșantion datele stocate în lista de solicitare de serviciu. Din acest panou, vom selectați numele de câmp dorit dorim să le afișați în partea Web, în cazul nostru, câmpul prioritate — și alegeți Inserare câmp selectat ca singur element vizualizare (Vezi figura 5).

Rețineți că este scopul nostru aici pentru a afișa numărul rezumate de toate activitățile grupate după prioritate. Acest lucru înseamnă că trebuie să lista opțiunile disponibile în câmpul prioritate o singură dată, apoi afișa numărul de fiecare valoare prioritate în lista alături de. Prin urmare, am opta pentru a afișa valorile prioritate ca un Singur element vizualizarea ca punct de pornire a noastră de personalizare. Selectați o Vizualizare mai multe elemente în schimb ar expune toate rândurile din listă.

Crearea unei pagini de tablou de bord în SharePoint Designer
Figura 5: Crearea unei pagini de tablou de bord în Office SharePoint Designer 2007

Acest lucru inserează o parte Web de vizualizare date în pagina de la punctul de cursorul. Cu toate acestea, partea Web afișează pur și simplu un rând de date și nu un grafic cu bare rezume solicitările de servicii de prioritate. Din fericire, deoarece partea Web este redat utilizând cod HTML și XSL, suntem gratuit pentru a personaliza codul pentru a se potrivi nevoilor noastre. Următoarea secțiune evidențiază unele dintre zonele cheie ale acestui particularizare pentru a efectua conversia această parte Web într-un grafic cu bare.

Am știu nostru lista sursă de date are trei valori posibile prioritate: (1) maxim, Normal (2) și (3) minim. Prin urmare, vom declara o variabilă XLST pentru fiecare valoare după cum urmează: <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)" />

Observați că XSL parametru @Priority se referă la numele câmpului de sursă de date. Deoarece codul pentru fiecare dintre valorile trei prioritate dispunerea în este similară, vă concentra pe grafice doar prima valoare de prioritate. Pentru a obține valoarea procentuale, vom defini o nouă variabile, percetHigh, pentru a calcula valoarea procentuale a solicitărilor de prioritate înaltă: <xsl:variable name="percentHigh" select="$High div $AllTasks" />

Codul care creează bara real este un șablon XSL, așa cum se arată mai jos: <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>

Rețineți că bara propriu-zis este un tabel cu două celule. Lățimea prima celulă, care reprezintă lățimea bara în grafic, este determinat de variabilă PercentValue , reprezentat în codul ca: td width="{round($PercentValue*100)+1}%"

Această celulă are, de asemenea, o clasă de stil CSS, ms-selectată, aplicat. Acest curs de stil este definită în fișierul de foaie de stil core.css după cum urmează: .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; }

Imagini de fundal, filedialogselected.gif, este ceea ce face celulă (adică bara) apar galben.

Alte exemple de acest model de proiectare

Pentru un alt server administrare exemplu de utilizarea tablourilor de bord, consultați Call Center șablon de aplicație pentru Windows SharePoint Services 3.0.

Pentru un exemplu de administrare site, consultați raportarea performanței în afaceri șablon de aplicație pentru Windows SharePoint Services 3.0.

Începutul paginii

Construirea șabloanelor

Șabloane de aplicație în Windows SharePoint Services vin în două tipuri: definiții de site-uri și șabloane de site-uri. Șabloane de aplicație 40 sunt un amestec de aceste două. Ambele tipuri de șabloane sunt disponibile utilizatorului pentru a alege pe pagina Site nou SharePoint , și ambele funcția foarte în mod similar pentru utilizatorul final. Cu toate acestea, metoda de crearea aceste șabloane și făcându-le disponibile pentru utilizare în formularul de creare a site-ul este foarte diferită.

Definiții de site

În sensul cel mai de bază, o definiție de site-ul este o colecție de fișiere XML, ansambluri și .aspx pagini care dictarea cum va fi structurat site-ul pe aceasta și ce va face aplicația subiacente în site-ul. Deoarece bază fișiere XML și .aspx pot fi accesate prin sistemul de fișiere, se poate fi clonat și a modificat cu ușurință pentru a recrea definiții de site-ul nou, efectuarea unor definiții de site foarte particularizabile.

După ce un site este furnizat (creat) la o definiție de site-ul, modificările efectuate în fișierele de definiție a site-ul în sistemul de fișiere pot încă propaga la site-ul acces asigurat. Cu toate acestea, modificarea fișiere de definiție site-ul după ce site-uri sunt furnizat nu este acceptată de Microsoft. Dacă oricare dintre paginile din site-ul folderul modificate utilizând un editor extern, cum ar fi Office SharePoint Designer 2007, pagina pierde conexiunea cu definiția site-ului în sistemul de fișiere. În schimb, pagina se salvează în sistemul de bază de date Windows SharePoint Services și se numește o pagină "particularizată" sau "fără fantome".

Dacă aveți nevoie pentru a particulariza o definiție de site-ul existent, vă abordare ar fi să înceapă cu o copie redenumite din definiția site-ului, în loc să modificați una existentă. Pentru a implementa modificări la o definiție de site-ul existent după site-uri au fost deja acces asigurat formular, trebuie să creați și să implementați un pachet de soluții upgrade-ul de definiția site-ului. Pentru detalii despre cum să faceți acest lucru, consultați articolele corespunzătoare din Windows SharePoint Services 3.0 SDK.

Șabloane de site

Un șablon de site este un site SharePoint împachetate în sus într-un singur fișier care poate fi dezarhivat pentru a crea site-uri noi cu similare structura și conținutul. Acest lucru înseamnă că, în scopul de a crea un șablon de site, trebuie să aveți un site SharePoint existent ca punct de plecare. Particularizarea site-urilor orice-aspecte de pagină, foi de stiluri, imagini, pagini coordonatoare, documente, liste, lista conținutul-pot fi capturate în șablon.

Procesul de capturat un site existent într-un șablon poate apărea direct de pe site-ul activități administrative (sub Setări Site) sau de la Office SharePoint Designer 2007. După ce a creat, șablonul de site-ul este stocat în Galeria de șabloane de Site din colecția de site-ul curent. Fișierul nu are o extensie .stp. Acest fișier poate fi descărcat de la Galeria de șabloane de site-ul și migrate la o altă colecție de site-uri sau la un alt server mediu. Ultima parte a acestei secțiuni delves în detalii despre crearea și utilizarea unui șablon de site.

Utilizarea unor definiții de site comparativ cu șabloanele de site

După cum am discutat pur și simplu, șabloanele de site de fapt sunt derivate din definiții de site. Atunci când alegeți între crearea unui nou definiția site-ului sau un șablon de site, luați în considerare următoarele:

  • Complexitatea de aplicație    Dacă necesităților dvs îndeosebi cosmetice, cum ar fi modificările de aspect și manipulare imagine la un site existent, șabloanele de site sunt mod de a merge. Pe de altă parte, dacă doriți să adăugați noi definiții de părți Web, sau doriți să o utilizați codul particularizat sau calculată câmpuri, ar trebui să creați o definiție de site particularizat.

  • Nivelul de acces în caseta server    Aveți acces la serverul Web întreaga? Sau doar la o colecție de site-ul special? Crearea și implementarea unui definiția site-ului necesită accesarea sistemul de fișiere pe server. Dacă nu aveți acces la această, sunteți limitat la crearea unui șablon de site-ul la nivel de colecție de site-ul care aveți acces. Suporte Rețineți că această cerință de acces nu se aplică pentru administratorii de site-ul, după ce implementat, orice una cu drepturi pentru a crea un nou site vor avea acces la fiecare tip de șablon de aplicație.

  • Frecvența de actualizări/modificări viitoare    Modificarea unui șablon de site nu afectează site-uri deja creat dintr-o, doar noul site-urile create după modificările sunt afectate. Implementarea unui pachet de soluții upgrade-ul de definiția site-ul afectează toate site-urile creat deja la acesta.

Instrucțiuni pentru crearea șabloanelor de site și a unor definiții de site

Crearea șabloanelor de site și definiții de site-ul implică diferite sume de complexitatea. Tehnici de bază sunt descrise în secțiunile următoare.

Crearea unui șablon de site

Așa cum discutate mai sus, un șablon de site este de fapt un site SharePoint, care este împachetate pentru reutilizare. Acest fișier împachetate există în Galeria de șabloane de site-ul la nivel de colecție de site-ul. Șabloanele de site în Galeria sunt disponibile pentru a crea site-uri noi la toate copilului site-ul niveluri de colecția de site-uri. Următorii pași vă ghidează în crearea unui nou șablon de site-ul de la un site existent:

  1. Deschideți site-ul existent în Office SharePoint Designer 2007 și asigurați-vă aspectul și conținutul site-ului sunt așa cum doriți.

  2. În meniul fișier , indicați spre Exportși apoi faceți clic pe Șablonul de site-ul SharePoint. Acest lucru vă duce la pagina setări site-ul Web.

  3. Introduceți un nume de fișier, titlu și o descriere pentru șablon.

  4. Opțional, selectați opțiunea Includere conținut dacă doriți datele în liste și biblioteci de documente incluse în șablon. De asemenea, ar trebui să selectați această opțiune dacă doriți să includeți fluxuri de lucru, deoarece fluxurile de lucru sunt fapt conținutul stocat într-o bibliotecă de documente.

  5. Faceți clic pe OK. Acest lucru creează un fișier șablon de site-ul cu o extensie .stp și plasează fișierul în Galeria de șabloane de site-ul site-ului părinte.

Din Galeria de șabloane de site-ul, puteți face clic pe numele șablonului pentru a descărca fișierul .stp local pe disc. De acolo, puteți încărca fișierul în altă Galeria de șabloane de site-ul.

Crearea unei definiția site-ului

Spre deosebire de șabloane de site, definiții de site sunt stocate în sistemul de fișiere. Fiecare definiția site-ului se află în folderul propriu pe server la:

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

Folderul de șablon de site-ul case diverselor elemente de site-ul, cum ar fi fișiere .aspx și .html, precum și resursele asociate, cum ar fi imagini și fișiere JavaScript. ONET. XML este fișier de definiție core site-ul care specifică diverse configurații și module pentru definiția site-ului. ONET. XML sunt stocate într-un subdirector denumit "XML".

Definiții de site sunt înregistrate cu Windows SharePoint Services și pus la dispoziție prin fișiere WEBTEMP XML. Toate fișierele WEBTEMP XML se află la

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

în cazul în care < LCID > este ID-ul de locație, cum ar fi 1033. Numele real al fișierul XML este prefixul "WEBTEMP" (de exemplu, WEBTEMPBT. XML).

Practic, creați o nouă definiția site-ului constă în două etape importante: (1) cum se configurează folderul definiția site-ului, și (2) crearea fișierul WEBTEMP XML care să înregistreze definiția site-ului cu Windows SharePoint Services. Primul pas poate fi realizat prin clonare un folder existent definiția site-ului și modificarea conținutul său pentru a se potrivi cu cerințele de afaceri. ONET. Fișier XML conține elemente care specifică cum diferite părți ale paginile site-ului se asigură accesul, cum ar fi bara de navigare, șabloanelor de document și șabloane de listă. Elementul configurațiile specifică liste și module care sunt create implicit atunci când este instanţiată definiția site-ului. Următorul fragment de ONET este. XML a erorilor de urmărire definiția site-ului, și afișează o porțiune a elementului configurațiile : <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>

Rețineți că acest definiția site-ului utilizează numeroase caracteristici, cum ar fi lista erorilor, lista de categorii erori, mobilitate redirecționați, etc. Aceste caracteristici sunt listate sub elemente SiteFeatures și WebFeatures cu caracteristica GUID. GUID se găsesc în elementul de caracteristici din interiorul corespunzătoare Feature.XML fișierul amplasat în acest folder:

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

Vă rugăm să consultați Windows SharePoint Services 3.0 SDK pentru mai multe detalii despre particularizarea ONET. XML.

Al doilea pas pentru a crea o definiție de site particularizat este pentru a crea fișierul WEBTEMP *. Fișier XML în acest folder:

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

Element de șabloane de acest fișier specifică configurațiile care pot fi utilizate pentru a s-a site-urile create din definiția site-ului. Următorul fragment ilustrează formatul de fișier WEBTEMPbt.XML, care se află fișierul de configurare utilizat de erori de urmărire definiția site-ului: <?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>

Observați că atributul nume șablon nod de mai sus trebuie să corespundă cu "*" în numele de fișier, WEBTEMP *. XML., de asemenea, Rețineți că atributul DisplayCategory al elementului configurare impune ce fila configurare va apărea pe în secțiunea Selectare șablon paginii crearea site-ul Web. Puteți să creați propriile filele amplasând propriile valori în acest atribut.

După ce fișierele definiția site-ului au fost create și plasate în foldere corespunzătoare în sistemul de fișiere, reporniți serviciul IIS. Definiția site-ul nou va fi disponibil pentru selecție în secțiunea Selectare șablon de pagină SharePoint Site nou în Windows SharePoint Services. Fișiere de definiție site-ul, de asemenea, poate fi împachetate ca fișier soluții pentru migrarea ușor la alt mediu SharePoint sau în același mediu de redistribuire. Un fișier soluția este un fișier cabinet cu o. WSP extensia (pentru pachet de soluții Web). Conține caracteristici, părți Web, ansambluri, cursuri resurse, etc. utilizate de definiția site-ului. Puteți utiliza instrumentul makecab.exe creați o. Fișier WSP. Vă rugăm să consultați Windows SharePoint Services 3.0 SDK despre cum să creați un fișier de soluții.

Localizarea unei definiția site-ului

Localizarea unei definiții de site-ul este facilita prin utilizarea fișierelor de resurse și detectarea cultură. În timp ce unui localizare tipice de aplicație ASP.NET 2.0 se termină în timpul compilare, localizare de site-uri SharePoint se termină în timpul site-ul de asigurare a accesului. Printre șabloanele de aplicație, toate șabloanele de site-ul 20 definiție au fost localizate în 10 limbi. Definiții de site-ul singuri sunt create într-o manieră limbaj neutru în timp ce literale șir sunt stocate în fișiere de resurse (.resx). Dacă doriți ca pentru a adăuga localizare propriile definiția site-ului, sau adăuga suport pentru o limbă nouă pentru a o definiție de site-ul existent, puteți face acest lucru prin crearea unui fișier nou de resursă. Fișierul se află în directorul resurse aflat în:

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

Acest fișier este, în esență, un fișier XML, editabil în orice editor de text. Pașii următori Arată cum să creați un fișier nou de localizare pentru a fi utilizată în definiția unui site-ului:

  1. Răsfoiți la Director resurse menționate mai sus și găsiți fișierul .resx existente pe care doriți să îl localize la o limbă nouă.

  2. Clona fișierul și dați-i același nume, cu excepția numele limba cultură (exemplu tsa-ro-us.resx la tsa-es-es.resx).

  3. Deschideți fișierul clonat într-un editor de text.

  4. Setați codul lcid pe a doua linie de fișier pentru a reprezenta limba. De exemplu, următorul cod setează limba spaniolă:

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

  1. Defilați în jos partea unde puteți vedea elementele de date , urmată de valoarea elementelor dintr-o pereche. Aceasta este în cazul în care vă asociați-nume resursă cu valoare șir localizate. Modificați valorile de șir în elementul de valoare pentru de setările regionale. Următorul exemplu de cod Arată un șir de resurse pentru o acțiune crearea client nou în limba spaniolă:

    <data name="Action_NewCustomer">
    <value>Crear un Nuevo cliente</value>
    </data>
  2. Salvați fișierul în folderul de resurse cu un nume, cum ar fi myCustomResource.es-es.resx (numele real depinde de numele cultură limba pentru care este destinat fișierul de resurse). Acest fișier este acum sunteți gata să fie utilizată de site-ul definiție fișiere în aplicația.

În ordine pentru definiția localizate site-ul să se afișeze ca șablon disponibilă pe pagina SharePoint Site nou pentru acea limbă, adăugați un fișier WEBTEMP la directorul < LCID > corespunzătoare, de asemenea. Consultați secțiunea anterioară, "Crearea un definiția site-ului," despre cum să adăugați un fișier nou WEBTEMP.

Resurse localizate referințe funcționează diferit în fișiere .aspx față de fișiere XML. De exemplu, referințe .aspx fișierele sunt evaluate la momentul rulării, în timp ce referințele de fișier XML sunt evaluate la site-ul Web este instanţiată. Pentru a accesa elementele XML din fișierul de resurse într-un fișier de definiție a site-ului, se utilizează următoarea sintaxă: $Resources: myCustomResource, DataName. De exemplu, pentru a consuma un șir de resurse dintr-un fișier .aspx, marcajul poate arăta astfel: <div> <asp:Label runat="server" Text="<%Resources:myCustomResource, Action_NewCustomer %>" /> </div>

Începutul paginii

Rezumat

Împreună, Windows SharePoint Services 3.0 și Office SharePoint Designer 2007 oferă instrumentele puternice trebuie să construiască și să particularizați interactiv, aplicațiile activate pentru fluxul de lucru. Dacă unul dintre șabloanele de descărcat aplicația 40 particularizarea sau construirea propriile, acest articol descrie metodologia dovedite și cele mai bune practici care chiar non-dezvoltatorii puteți utiliza pentru a reușit.

Dacă nu ați făcut deja acest lucru, următorul pas de efectuat este să descărcați șabloane de aplicație și începeți să le utilizați și să le deschideți în Office SharePoint Designer 2007. Apoi utilizați resursele din secțiunea următoare "Resurse" pentru a vă ajuta, vă construi propria aplicație.

Începutul paginii

Resurse

Pentru mai multe informații despre Windows SharePoint Services 3.0 și Office SharePoint Designer 2007, vă rugăm să consultați următoarele resurse:

Pentru mai multe resurse pentru dezvoltatori concentrate, vă rugăm să consultați următoarele:

Începutul paginii

Notă : Exonerare de răspundere pentru traducere automată: Acest articol a fost tradus de un sistem computerizat, fără intervenție umană. Microsoft oferă aceste traduceri automate pentru a ajuta utilizatorii vorbitori de alte limbi decât engleza să beneficieze de conținutul despre produsele, serviciile și tehnologiile Microsoft. Pentru că articolul a fost tradus de un computer, poate conține erori de vocabular, sintaxă sau gramatică.

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×