Monthly Archives: Decembris 2007

Izveidot stabiņu grafiem SharePoint

Pārskats:

(ATJAUNINĀJUMS 12/04/07: Beigās, saites uz citu blogu, kas risina šo caur ļoti interesantu web daļu papildina vēl viens interesants resurss)

Šī bloga ieraksts ir aprakstīts, kā izveidot bar graph koplietošanas vidē SharePoint. Tas darbojas WSS un MOSS vidēs, kā tas tikai ir atkarīgs no datu skata web daļa.

Kopumā pieeja ir šādi:

  1. Veidot sarakstu vai dokumentu bibliotēku, kas satur datus, kurus vēlaties attēlot grafā.
  2. Novietot saistīto dokumentu bibliotēkā / pielāgota saraksta uz lapu un to konvertēt datu skata web daļa (DVWP).
  3. Modificēt DVWP XSL, lai ģenerētu HTML, kas parāda, kā grafiku.

Biznesa scenāriju / Uzstādīšanas:

Man ir izveidojis pielāgotu sarakstu ar standarta virsraksta kolonnas un viena papildu kolonnas, "Statuss". Šo modeļu (ļoti vienkāršoti) Izdevumu atļaujas"" scenāriju, kur nosaukumā norāda projekta un statusa vērtību no saraksta:

  • Ierosināja
  • Procesā
  • Apstājies

Mērķis ir radīt interaktīvu horizontālu joslu diagrammu, kas parāda šo statusa kodi.

Ir aizpildīts saraksts un tas izskatās šādi:

attēlu

Izveidot datu skata Web daļa:

DVWP izveidot pielāgotu sarakstu pievienošana lapai (vietnes lapā manā gadījumā) un izpildiet norādījumus šeit (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).

Kā _ arī vienkārši izveidot DVWP, mums arī iestatīt rekvizīta peidžeru, lai rādītu visas pieejamās rindas. Man, tas izskatās kaut kas līdzīgs šim:

attēlu

Šajā brīdī, Es vienmēr aizvērt VPD un pārlūka. Pēc tam vēlreiz atvērt lapu, izmantojot pārlūkprogrammu. Tas palīdz izvairīties no nejauši mucking augšu web daļas izkārtojumu lapā.

Modificēt XSLT:

Ir pienācis laiks mainīt XSLT.

Es vienmēr izmantojiet visual studio šim. (Sk. šeit svarīga piezīme par intellisense, kas palīdzēs jums daudz par).

Izveidot tukšu projektu pievieno četrus jaunus failus (aizstāt vārdus "oriģināls" un "New" pēc vajadzības):

  • Original.XSLT
  • New.XSLT
  • Sākotnējā Params.xml
  • Jaunu Params.xml

Manā gadījumā, tas izskatās šādi:

attēlu

Modificēt web daļu un kopēt parametri un XSL "sākotnējā" versiju Visual Studio.

Šeit mērķis ir izraisīt XSL transformācijas atgriezīsimies uz HTML, kas atveido kā diagrammu no DVWP vaicājuma rezultātus.

Šajā nolūkā, tas palīdz vispirms apsvērt, kādi HTML vajadzētu izskatīties pirms mēs iegūt sajaukt ar ārprāts, kas ir pazīstams kā "XSL". (Lai būtu skaidrs, Šis ir vienkāršs piemērs; Nelietojiet to ierakstīt vai copy/paste vizuālā studija. Es sniegt pilnīgu triecienu sākuma punkts, ka turpmākajā write-up). Šādu paraugu grafiks tiek atveidots kā HTML tūlīt pēc:

Sample Bar Graph

Atbilstošu HTML:

<HTML>
<organizācija>
<centrs>
<tabulas platums = 80 %>
<TR><TD><centrs>Horizontālu joslu diagrammu</TD></TR>
<TR>
<Līdzināt TD = "centrs">
<tabulas apmales = "1" Width = 80 %>
<TR>
<TD width = 10 %>Atvērt</TD>
<TD><tabulas cellpadding ="0" cellspacing ="0" u = 0 width = 50 %><TR bgcolor = red><TD>&nbsp;</TD></TR></tabula></TD>
</TR>
<TR>
<TD width = 10 %>Slēgts</TD>
<TD><tabulas cellpadding ="0" cellspacing ="0" u = 0 width = 25 %><TR bgcolor = red><TD>&nbsp;</TD></TR></tabula></TD>
</TR>
<TR>
<TD width = 10 %>Apstājies</TD>
<TD><tabulas cellpadding ="0" cellspacing ="0" u = 0 width = 25 %><TR bgcolor = red><TD>&nbsp;</TD></TR></tabula></TD>
</TR>
</tabula>
</TD>
</TR>
</tabula>
</organizācija>
</HTML>

Es mēdzu miris vienkārša pieeja, lai manas joslas izveide, nosakot fona krāsas kārtas uz "sarkano".

Līdzņemšanai te tas ir: Beigās, viss, ko mēs darām, ir izveidot HTML ar rindām un kolonnām.

XSLT veidnes:

Esmu kopēt XSLT, kas rada horizontālu joslu diagrammu. Tas ir diezgan labi komentēja, tāpēc es paradis pievienot daudz šeit, izņemot šīs piezīmes:

  • Es sāku ar noklusējuma XSL, kuru SharePoint Designer deva man, kad es pirmo reizi izveidota DVWP.
  • Man bija iespēja samazināt to uz leju no SPD 657 rindas, lai 166 līnijas.
  • Nav haoss ap ar XML faila parametri (kas ir atdalīts no XSL, un jūs zināt, ko es domāju, kad dodaties uz modificēt DVWP, pati; ir divi failu var modificēt). Tomēr, lai vienkāršotu to, Gandrīz visi no tiem bija noņemt no XSL. Tas nozīmē, ka, ja jūs vēlaties, lai izmantotu tos parametrus,, jums ir nepieciešams pievienot to mainīgo definīcijām atpakaļ uz XSL. Tas būs viegli, jo jums būs oriģināls XSL mainīgo definīcijām visual studio projektu.
  • Jums vajadzētu būt iespējai nokopējiet un ielīmējiet šo tieši visual studio projektu. Pēc tam, noņemt manas sarunas un ievietot savus zvanus uz "ShowBar".
  • Darbu, izveidojot rakšanās <href => šādi: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. Šī metode var būt vērtības citos kontekstos. Sākumā, Es domāju, ka būtu nepieciešama sarežģītāka formāts neatbilst: http://server/List/AllItems.aspx?View={guid}&FilterField1=blah&FilterValue1=blah, bet mana vidē, kas nav nepieciešama. Saraksta URL tiek nodota mums SharePoint, tāpēc tas ir diezgan viegli vispārināt.

Te nu tas ir:

<XSL:izvēršamā stila lapu versija="1.0" neiekļaut rezultātus prefiksus="r z o s ddwrt dt msxsl" 
xmlns:msxsl="urn:shēmas-microsoft-com:XSLT" xmlns:XSL="http://www.w3.org/ 1999/XSL/transformāciju"
xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer"
xmlns:ASP="http://schemas.microsoft.com/ASPNET/20" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"
xmlns:o="urn:shēmas-microsoft-com:biroja" xmlns:s="UUID:BDC6E3F0-6DA3-11D1-A2A3-00AA00C14882"
xmlns:DT="UUID:C2F41010-65B3 - 11. d. 1-A29F-00AA00C14882" xmlns:r="urn:shēmas-microsoft-com:rindkopu" xmlns:z="#RowsetSchema"
xmlns:ddwrt2="urn:FrontPage:iekšējā"
> <XSL:izvades metode="HTML" atkāpes="" /> <XSL:decimāldaļu formātā Nana="" /> <XSL:param vārds="ListUrlDir"></XSL:param> <!-- Es gribētu, lai atbalstītu rakšanās. --> <XSL:Veidne: atbilst="/" xmlns:SharePoint="Microsoft.SharePoint.WebControls"
xmlns:__designer=http://schemas.microsoft.com/WebParts/v2/DataView/designer xmlns:ASP="http://schemas.microsoft.com/ASPNET/20"
> <XSL:mainīgais vārds="dvt_StyleName">Tabula</XSL:mainīgais> <XSL:mainīgais vārds="Rindas" atlasiet="/dsQueryResponse/rindu/rindas" /> <XSL:mainīgais vārds="dvt_RowCount" atlasiet="skaits($Rindas)" /> <XSL:mainīgais vārds="IsEmpty" atlasiet="$dvt_RowCount = 0" /> <XSL:mainīgais vārds="dvt_IsEmpty" atlasiet="$dvt_RowCount = 0" /> <XSL:izvēlieties> <XSL:kad tests="$dvt_IsEmpty"> Nav datu grafiku!<br/> </XSL:kad> <XSL:Pretējā gadījumā> <!-- Interesanti sīkumi sākas šeit. Mums ir nepieciešams, lai definētu mainīgo lielumu katrai rindai pāri grafā: kopējo elementu skaitu un procenti no kopējā. --> <XSL:mainīgais vārds="totalProposed" atlasiet="skaits(/dsQueryResponse/rindu/rindas[normalizē telpa(@Status) = "Ierosināto"])" /> <XSL:mainīgais vārds="percentProposed" atlasiet="$totalProposed div $dvt_RowCount" /> <XSL:mainīgais vārds="totalInProcess" atlasiet="skaits(/dsQueryResponse/rindu/rindas[normalizē telpa(@Status) = "Procesā"])" /> <XSL:mainīgais vārds="percentInProcess" atlasiet="$totalInProcess div $dvt_RowCount" /> <XSL:mainīgais vārds="totalStalled" atlasiet="skaits(/dsQueryResponse/rindu/rindas[normalizē telpa(@Status) = "Apstājies"])" /> <XSL:mainīgais vārds="percentStalled" atlasiet="$totalStalled div $dvt_RowCount" /> <!-- Mēs definējam mūsu HTML tabula. Esmu aizņēmumu no dažiem standarta SharePoint stili šeit veikt konsekventu. Es domāju, ka tas būs godu pasaules css failā veiktajām izmaiņām kā arī dizaina ignorē. --> <tabula platums="100%" cellspacing="0" cellpadding="2" stils="apmali pa labi: 1 Solid #C0C0C0; apakšējās apmales: 1 Solid #C0C0C0; apmali pa kreisi stils: ciets; apmali pa kreisi platuma: 1; apmales augšējās stils: ciets; apmales augšējās platuma: 1;"> <TR> <TD Līdzināt="centrs"> <tabula apmale="1" platums="100%"> <!-- Par katru statusu, ko mēs vēlamies attēlot grafā, mēs saucam par "ShowBar" Veidne:. Mēs panesam to: 1. Rindas etiķeti. Tas ir pārveidots par hipersaiti. 2. Procenti (mainīgajam, no augšas). 3. Kodu no saraksta pamatā faktiskā lauka nosaukuma. Tas nav nepieciešams atbilstoši etiķetes rādīt. 4. Lauka vērtība atbilst par #3. 5. Kopējie krājumi no šī statusa kods (ne visas statusa kodi gala summas). Tas izstaro <TR></TR> un horizontālu joslu diagrammu, līniju. Katrs mēs vēlamies, lai apskatītu statusa kodam mēs saucam šo veidni. --> <XSL:zvanu veidni vārds="ShowBar"> <XSL:ar param vārds="BarDisplayLabel" atlasiet=""Ierosināto""/> <XSL:ar param vārds="BarPercent" atlasiet="$percentProposed"/> <XSL:ar param vārds="QueryFilterFieldName" atlasiet=""Statuss""/> <XSL:ar param vārds="QueryFilterFieldValue" atlasiet=""Ierosināto""/> <XSL:ar param vārds="TotalItems" atlasiet="$totalProposed"></XSL:ar param> </XSL:zvanu veidni> <XSL:zvanu veidni vārds="ShowBar"> <XSL:ar param vārds="BarDisplayLabel" atlasiet=""Apstājies""/> <XSL:ar param vārds="BarPercent" atlasiet="$percentStalled"/> <XSL:ar param vārds="QueryFilterFieldName" atlasiet=""Statuss""/> <XSL:ar param vārds="QueryFilterFieldValue" atlasiet=""Apstājies""/> <XSL:ar param vārds="TotalItems" atlasiet="$totalStalled"></XSL:ar param> </XSL:zvanu veidni> <XSL:zvanu veidni vārds="ShowBar"> <XSL:ar param vārds="BarDisplayLabel" atlasiet=""Procesā""/> <XSL:ar param vārds="BarPercent" atlasiet="$percentInProcess"/> <XSL:ar param vārds="QueryFilterFieldName" atlasiet=""Statuss""/> <XSL:ar param vārds="QueryFilterFieldValue" atlasiet=""Procesā""/> <XSL:ar param vārds="TotalItems" atlasiet="$totalInProcess"></XSL:ar param> </XSL:zvanu veidni> </tabula> </TD> </TR> </tabula> </XSL:Pretējā gadījumā> </XSL:izvēlieties> </XSL:Veidne:> <!-- Šī veidne, darbojas, rādot atsevišķas rindas bar graph. Jums droši vien veiksies tweaking šeit lielākā daļa. --> <XSL:Veidne: vārds="ShowBar"> <XSL:param vārds="BarDisplayLabel" /> <!-- lai parādītu etiķeti --> <XSL:param vārds="BarPercent"/> <!-- Procenti no kopējā. --> <XSL:param vārds="QueryFilterFieldName"/> <!-- Izmantota, lai pārlēktu uz vaicājumu & filtrs --> <XSL:param vārds="QueryFilterFieldValue"/> <!-- Izmantota, lai pārlēktu uz vaicājumu & filtrs --> <XSL:param vārds="TotalItems" /> <!-- kopējais skaits šajā barlabel --> <TR> <!-- Bar etiķete sevi. --> <TD klase="DV-formbody" platums="30%"> <!-- Šo nākamo pārskatu komplektu veido vaicājuma virkni, kas ļauj mums, lai urbt uz leju, lai filtrētu skatu pamatā esošos datus. Mēs izmantot dažas lietas šeit: 1. Mēs varam pāriet uz saraksta, lai filtrētu kolonnu FilterField1 un FilterValue1. 2. SharePoint iet mums galvenais parametrs, ListUrlDir, kas norāda uz pamatā esošo sarakstu, pret kuru šī DVWP ir "gaitas". Nav XSL fun? --> <XSL:teksts atspējot izvades bēg=""> <![CDATA[<a href ="]]></XSL:teksts> <XSL:vērtību no atlasiet="$ListUrlDir"/> <XSL:teksts atspējot izvades bēg=""><![CDATA[?FilterField1 =]]></XSL:teksts> <XSL:vērtību no atlasiet="$QueryFilterFieldName"/> <XSL:teksts atspējot izvades bēg=""><![CDATA[&FilterValue1 =]]></XSL:teksts> <XSL:vērtību no atlasiet="$QueryFilterFieldValue"/> <XSL:teksts atspējot izvades bēg=""><![CDATA[">]]></XSL:teksts> <XSL:vērtību no atlasiet="$BarDisplayLabel"/> <XSL:teksts atspējot izvades bēg=""><![CDATA[</a>]]></XSL:teksts> <!-- Tālāk mazliet rāda dažus numurus formātā: "(kopā / % kopā)" --> (<XSL:vērtību no atlasiet="$TotalItems"/> / <!-- Tas rada jauku procentu etiķete mums. paldies, Microsoft! --> <XSL:zvanu veidni vārds="percentformat"> <XSL:ar param vārds="procenti" atlasiet="$BarPercent"/> </XSL:zvanu veidni>) </TD> <!-- Beidzot, izstarot <TD> tagu Bārs pati.--> <TD> <tabula cellpadding="0" cellspacing="0" apmale="0" platums="{kārta($BarPercent * 100)+1}%"> <TR BGColor="sarkana"> <XSL:teksts atspējot izvades bēg=""><![CDATA[&nbsp;]]></XSL:teksts> </TR> </tabula> </TD> </TR> </XSL:Veidne:> <!-- Tas ir ņemts tieši no dažiem XSL konstatēts, MS veidnē. --> <XSL:Veidne: vārds="percentformat"> <XSL:param vārds="procenti"/> <XSL:izvēlieties> <XSL:kad tests="skaitļa formatēšana($procenti, '#,##0%;-#,##0%')= 'Nana'">0%</XSL:kad> <XSL:Pretējā gadījumā> <XSL:vērtību no atlasiet="skaitļa formatēšana($procenti, '#,##0%;-#,##0%')" /> </XSL:Pretējā gadījumā> </XSL:izvēlieties> </XSL:Veidne:> </XSL:izvēršamā stila lapu>

Rezultāti:

XSL no augšas rada šis grafiks:

attēlu

Detalizēti pamatā esošos datus, noklikšķinot uz statusa kods:

attēlu

Noslēdzot domas:

Tas ir ģeneralizēta?

Es mīlu šo grafēšanas koncepciju, bet es ienīst faktu, ka man iet, un darīt tik daudz roku kodēšana. Esmu devis mazliet doma, vai tas var vispārināt, un es esmu optimistisks, bet es esmu arī mazliet baismīgs, ka var būt kaut kur pa ceļu, kas jebkurā darba ap to vairs nepiedāvās ķieģeļu mūra. Ja kāds ir dažas labas idejas par šo, Lūdzu pierakstiet komentārus vai e-pasts mani.

Vertikālas diagrammas:

Tas ir horizontālu joslu diagrammu. Tas noteikti ir iespējams izveidot vertikālas diagrammas. Mums ir nepieciešams, lai mainītu HTML. Varētu startēt tādā pašā veidā: Izveidot HTML atveidojumu vertikālo joslu diagrammu un pēc tam saprast, kā nokļūt, izmantojot XSL. Ja kāds ir ieinteresēts, ka, Es varētu pārliecināt to izmēģinātu, un izstrādāt kinks. Ja kāds jau ir darīts, ka, please let me know and I’ll gladly link to your blog 🙂

Domāju, ka problēma ar vertikālo diagrammu, ir uzlīmes grafika ir grūtāk pārvaldīt, Protams, nav neiespējami, bet.

Lauka nosaukums Gotcha:

Ir vismaz divas lietas, pievērsiet uzmanību ar lauku nosaukumiem.

Pirmais, lauka nosaukums, ar atstarpi ir izbēguši XSL. Tas droši vien būs jautājums šeit:

        <XSL:mainīgais vārds="totalProposed" 
atlasiet="skaits(/dsQueryResponse/rindu/rindas[normalizē telpa(@Status) = "Ierosināto"])" />

Ja jūsu "statuss" kolonna patiesībā ir nosaukta "statusa kods" tad jums vajadzēs atsaukties uz to kā "Status_x0020_Code":

   <XSL:mainīgais vārds="totalProposed" 
atlasiet="skaits(/dsQueryResponse/rindu/rindas[normalizē telpa(@Status_x0020_Code) = "Ierosināto"])" />

Otrais, un es esmu mazliet neskaidrs šajā, bet jums arī ir par brīdinājumu par lauka nosaukuma izmaiņas. Ja jūsu laukā "statusa koda nosaukums" un pēc tam vēlāk par, pārdēvēt to "AFE Status", "iekšējais nosaukums" nevar mainīt. Iekšējais nosaukums joprojām būs "statusa kods" un jābūt atsaucas kā "Status_x0020_Code". "Citi resursi" saites var palīdzēt diagnosticēt un novērst šāda veida problēmas.

Par šo krāsu:

Es paņēmu "sarkans" jo tas ir patīkami man tajā brīdī. Tas nebūtu liels darījumu, lai parādītu dažādās krāsās tā, lai nodrošinātu vairāk nekā tikai vizuālo aprakstu par skaitli, bet arī sniegt noderīgas veiktspējas Pamatrādītāju. Piemēram, Ja procentuālo daudzumu "apstājies" AFE ir ir > 10% tiek rādīta sarkanā, Pretējā gadījumā liecina, ka melnā krāsā. Lietošanas <XSL:izvēlieties> lai to paveiktu.

Citi resursi:

Laimīgs, pārveidojot!

<beigām />

Abonēt manu blogu!

Technorati Tags: Technorati Tags: , , , , , ,

SharePoint nenodrošina “Kam ir pieejama” Ziņojumi

ATJAUNINĀJUMS 01/28/08: Šis codeplex projekts risina šo jautājumu: http://www.codeplex.com/AccessChecker. Man nav lietojuši, bet tas izskatās daudzsološi, ja tas ir jautājums, kas jums ir nepieciešams vērsties savā vidē.

ATJAUNINĀJUMS 11/13/08: Joel Oleson wrote līdz ļoti labs pastu par lielāku drošības pārvaldības jautājumu šeit: http://www.sharepointjoel.com/ Lists/Posts/Post.aspx?Saraksts = 0cd1a63d % 2D183c % 2D4fc2 %2 D 8320 % 2Dba5369008acb&ID = 113. Tas saites uz citu noderīgu resursu skaitu.

Foruma lietotāji un klienti bieži uzdot jautājumu gar šīs līnijas: "Kā izveidot sarakstu no visiem lietotājiem ar piekļuvi vietnei" vai "kā var man automātiski brīdināt visiem lietotājiem ar piekļuvi sarakstam par sarakstā veiktās izmaiņas?"

Nav neviena ārpus box risinājums šai. Ja jūs domājat par to, kādu brīdi, tas nav grūti saprast, kāpēc.

Komponenta SharePoint drošību ir ļoti elastīgs. Ir vismaz četras galvenās kategorijas lietotājiem:

  • Anonīmiem lietotājiem.
  • SharePoint lietotājiem un grupām.
  • Active Directory lietotājus.
  • Veidlapas, kuru pamatā autentifikācijas (FBA) lietotāji.

Elastīgumu, kas nozīmē, ka no drošības viedokļa, jebkurā konkrētā SharePoint vietnē būs krasi atšķiras no otra. Lai ģenerētu sarakstu access atskaiti, ir nepieciešams, lai pārliecinātos, cik vietu ir drošs, vairāku citu lietotāja profila krātuvēs vaicājumu un pēc tam iesniegt to noderīgu modes. Tā ir smaga problēma apkopojoši risināt.

Kā organizācijas nodarbojas ar šo? Es labprāt vēlētos dzirdēt no jums ir komentāri vai e-pasts.

</beigās>

Technorati Tags: Technorati Tags: ,