Kuukausiarkistot: Joulukuuta 2007

Luo pylväskaaviot SharePoint

Yleiskatsaus:

(PÄIVITYS 12/04/07: Toinen mielenkiintoinen voimavara lisätä toinen blogi, joka käsittelee tätä kautta erittäin mielenkiintoinen web-osan yhdistäminen)

Tämän blogimerkinnän kuvataan pylväskaavion luominen SharePoint. Tämä toimii WSS ja SAMMAL ympäristöissä kuin se vain riippuu tietonäkymä-web-osa.

Yleinen lähestymistapa on seuraava:

  1. Luo luettelo tai Kirjasto, joka sisältää kaavion tiedot.
  2. Paikka liittyvä tiedostokirjasto / mukautetun luettelon sivulle ja muuntaa sen tietonäkymän web-osa (DVWP).
  3. Muokkaa DVWP XSL HTML-koodia, joka näyttää kaaviona.

Business skenaario / Asennus:

Olen luonut mukautetun luettelon standardin asema-sarakkeen ja yhden ylimääräisen sarakkeen, "Tila". Tätä mallia (hyvin yksinkertaistetusti) "lupa kustannuksella" skenaario, jossa otsikko tarkoittaa hankkeen ja tilan arvo luettelosta:

  • Ehdotettu
  • Prosessissa
  • Pysähtynyt

Tavoitteena on tuottaa interaktiivinen vaaka pylväsdiagrammi, joka osoittaa nämä tilan koodit.

On asuttu luettelossa, ja se näyttää tältä:

kuva

Luoda tietonäkymä-Web-osa:

Luoda DVWP lisäämällä mukautetun luettelon sivulle (sivuston sivulla minun tapauksessani) ja seuraa ohjeita Täällä (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).

Lisäksi yksinkertaisesti perustamalla DVWP, Tarvitsemme myös kaikki saatavilla rivit henkilöhaku-ominaisuusikkunan. Minulle, Tämä näyttää tältä:

kuva

Tässä vaiheessa, Aina lähellä SPD ja selain. Olen uudelleen avaa sivu selaimella. Näin vältetään vahingossa sotkee web-osan asettelu sivulla.

Muokkaa XSLT:

Nyt on aika muuttaa XSLT.

Käytän aina visual studio tähän. (Ks. Täällä tärkeä huomautus jokseenkin intellisense, jotka auttavat sinua paljon).

Luo tyhjä projekti lisätä neljä uusia tiedostoja (ilmaisun "alkuperäinen" ja "New" tarvittaessa):

  • Original.XSLT
  • New.XSLT
  • Alkuperäinen Params.xml
  • Uusi Params.xml

Minun tapauksessani, se näyttää tältä:

kuva

Muokkaa web-osaa ja kopioida params ja XSL "alkuperäinen" versio Visual Studiossa.

Tavoitteena on aiheuttaa XSL tuloksia saamme takaisin DVWP kyselystä HTML-tiedostoksi, joka tekee kaaviona.

Tätä varten, se auttaa ensin miettiä, mitä HTML pitäisi näyttää ennen saada hämmentävät insanity, jota kutsutaan "XSL". (Ollakseni selkeä, Seuraavassa on vain esimerkki; Älä kirjoita tai kopioi/liitä visual studiossa. Annan täyden iskun lähtökohta joka myöhemmällä kirjoittaa ylös). Seuraavassa näyte kuviossa muodostetaan kohti heti HTML:

Näytepalkkikaavio

Vastaava HTML:

<HTML>
<kehon>
<Center>
<taulukko leveys = 80 %>
<TR><TD><Center>Vaakasuora palkki kaavio</TD></TR>
<TR>
<TD align = "center">
<taulukon reunan = "1" leveys = 80 %>
<TR>
<TD leveys = 10 %>Avoinna</TD>
<TD><taulukon cellpadding ="0" CellSpacing-arvon ="0" border = 0 width = 50 %><TR bgcolor = punainen><TD>&nbsp;</TD></TR></taulukko></TD>
</TR>
<TR>
<TD leveys = 10 %>Suljettu</TD>
<TD><taulukon cellpadding ="0" CellSpacing-arvon ="0" border = 0 width = 25 %><TR bgcolor = punainen><TD>&nbsp;</TD></TR></taulukko></TD>
</TR>
<TR>
<TD leveys = 10 %>Pysähtynyt</TD>
<TD><taulukon cellpadding ="0" CellSpacing-arvon ="0" border = 0 width = 25 %><TR bgcolor = punainen><TD>&nbsp;</TD></TR></taulukko></TD>
</TR>
</taulukko>
</TD>
</TR>
</taulukko>
</kehon>
</HTML>

Käytin kuollut yksinkertainen tapa luoda minun baareja asettamalla taustavärin rivi "red".

Take-away täällä on: Lopulta, Me on luoda HTML rivejä ja sarakkeita.

XSLT-mallin:

Olen kopioinut XSLT, joka luo vaaka pylväskaavio. Se on melko hyvin kommentoineet niin ei lisätä paljon lukuun ottamatta nämä muistiinpanot:

  • Aloitin oletusarvoista xsl: ää, SharePoint Designer antoi minulle, kun olen luonut DVWP.
  • Minulla oli mahdollisuus kaataa tämä SPD: n 657 rivit 166 rivit.
  • Ei pelleillä parametrit XML-tiedosto (joka on erillään XSL ja tiedät mitä tarkoitan, kun menet muokata DVWP, itse; on kaksi tiedostoa, voit muokata). Kuitenkin, asian yksinkertaistamiseksi, Lähes kaikki heistä poistaminen XSL. Jos haluat käyttää parametreista, sinun tarvitsee vain lisätä muuttujien määritykset takaisin XSL. Se on helppoa, koska sinulla on alkuperäinen XSL muuttujien määritykset visual studio-projektiin.
  • Sinun pitäisi pystyä kopioi ja liitä tämä suoraan visual studio-projektiin. Sitten, Poista puheluni ja aseta puhelut ja "ShowBar".
  • Toimii luomalla porautuminen <href> Näin: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. Tämä tekniikka voi olla hyötyä muissa yhteyksissä. Aluksi, Ajattelin, että minun täytyisi noudattaa monimutkaisempi muoto: http://server/List/AllItems.aspx?View={guid}&FilterField1=blah&FilterValue1=blah, mutta minun ympäristössä ei ole välttämätön. Luettelon URL-osoite on siirtynyt meille SharePoint joten tämä on melko helppo yleistää.

Tässä se on:

<XSL:Stylesheet versio="1.0" Jätä pois-tulos-etuliitteet="RS z o s ddwrt dt msxsl" 
xmlns:msxsl="urn:schemas-microsoft-com:XSLT" xmlns:XSL="http://www.w3.org/1999/XSL/Transform"
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:schemas-microsoft-com:toimisto" xmlns:s="UUID:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:DT="UUID:C2F41010-65B3 - 11d 1-A29F-00AA00C14882" xmlns:RS="urn:schemas-microsoft-com:Rivijoukon" xmlns:z="#RowsetSchema"
xmlns:ddwrt2="urn:FrontPage:sisäinen"
> <XSL:lähtö menetelmä="HTML" luetelmakohta="Ei" /> <XSL:desimaalin-format NaN="" /> <XSL:Param Nimi="ListUrlDir"></XSL:Param> <!-- Tarvitse tätä tukea poraa alas. --> <XSL:malli ottelu="/" xmlns:SharePoint="Microsoft.SharePoint.WebControls"
xmlns:__designer=http://schemas.microsoft.com/WebParts/v2/DataView/designer xmlns:ASP="http://schemas.microsoft.com/ASPNET/20"
> <XSL:muuttuja Nimi="dvt_StyleName">Taulukko</XSL:muuttuja> <XSL:muuttuja Nimi="Rivit" Valitse="/dsQueryResponse/rivi/rivi" /> <XSL:muuttuja Nimi="dvt_RowCount" Valitse="määrä($Rivit)" /> <XSL:muuttuja Nimi="IsEmpty" Valitse="$dvt_RowCount = 0" /> <XSL:muuttuja Nimi="dvt_IsEmpty" Valitse="$dvt_RowCount = 0" /> <XSL:Valitse> <XSL:Milloin testi="$dvt_IsEmpty"> Tietoja ei ole kaavio!<br/> </XSL:Milloin> <XSL:muuten> <!-- Mielenkiintoisia juttuja alkaa tästä. Meidän on määriteltävä pari muuttujat kullakin rivillä kaaviossa: määrä ja prosenttiosuus kokonaissummasta. --> <XSL:muuttuja Nimi="totalProposed" Valitse="määrä(/dsQueryResponse/rivi/rivi[normalisoi tila(@Status) = "Ehdotettu"])" /> <XSL:muuttuja Nimi="percentProposed" Valitse="$totalProposed div $dvt_RowCount" /> <XSL:muuttuja Nimi="totalInProcess" Valitse="määrä(/dsQueryResponse/rivi/rivi[normalisoi tila(@Status) = "Keskeneräiset"])" /> <XSL:muuttuja Nimi="percentInProcess" Valitse="$totalInProcess div $dvt_RowCount" /> <XSL:muuttuja Nimi="totalStalled" Valitse="määrä(/dsQueryResponse/rivi/rivi[normalisoi tila(@Status) = "Pysähtynyt"])" /> <XSL:muuttuja Nimi="percentStalled" Valitse="$totalStalled div $dvt_RowCount" /> <!-- Määrittelemme HTML taulukossa täällä. Joitakin SharePoint vakiotyyleistä täällä johdonmukaisuuden lainaaminen. Uskon, että se asettaa etusijalle maailmanlaajuisen css-tiedostoon tekemäsi muutokset myös teeman ohittaa. --> <taulukko leveys="100%" CellSpacing-arvon="0" CellPadding="2" tyyli="oikeassa reunassa: 1 kiinteä #C0C0C0; reunus alhaalta: 1 kiinteä #C0C0C0; reunatyyli vasemmalle: kiinteä; vasen reuna: 1; Border-top-style: kiinteä; Border-top-width: 1;"> <TR> <TD Tasaa="Center"> <taulukko raja="1" leveys="100%"> <!-- Kunkin tilan, että haluamme kuvio, Me kutsumme "esityksiä järjestävä eloisa Show" malli. Se: 1. Rivin otsikko. Tämä muuttuu hyperlinkki. 2. Prosenttia (muuttujan ylhäältä). 3. Pelkkä kenttänimi pohjana olevan luettelon koodi. Tämä ei tarvitse vastaa näyttönimeä. 4. Kenttäarvon hyväksytty #3. 5. Tämän tilakoodin kohteiden määrä (ei kaikki tilakoodit yhteensä). Se säteilee <TR></TR> ja horisontaalisen pylväskaavion linja. Kutsumme tätä mallia kunkin tilakoodi, haluamme nähdä. --> <XSL:Call-template Nimi="Esityksiä järjestävä eloisa Show"> <XSL:param kanssa Nimi="BarDisplayLabel" Valitse="Ehdotettu""/> <XSL:param kanssa Nimi="BarPercent" Valitse="$percentProposed"/> <XSL:param kanssa Nimi="QueryFilterFieldName" Valitse=""Status""/> <XSL:param kanssa Nimi="QueryFilterFieldValue" Valitse="Ehdotettu""/> <XSL:param kanssa Nimi="TotalItems" Valitse="$totalProposed"></XSL:param kanssa> </XSL:Call-template> <XSL:Call-template Nimi="Esityksiä järjestävä eloisa Show"> <XSL:param kanssa Nimi="BarDisplayLabel" Valitse=""Pysähtynyt""/> <XSL:param kanssa Nimi="BarPercent" Valitse="$percentStalled"/> <XSL:param kanssa Nimi="QueryFilterFieldName" Valitse=""Status""/> <XSL:param kanssa Nimi="QueryFilterFieldValue" Valitse=""Pysähtynyt""/> <XSL:param kanssa Nimi="TotalItems" Valitse="$totalStalled"></XSL:param kanssa> </XSL:Call-template> <XSL:Call-template Nimi="Esityksiä järjestävä eloisa Show"> <XSL:param kanssa Nimi="BarDisplayLabel" Valitse=""Keskeneräiset""/> <XSL:param kanssa Nimi="BarPercent" Valitse="$percentInProcess"/> <XSL:param kanssa Nimi="QueryFilterFieldName" Valitse=""Status""/> <XSL:param kanssa Nimi="QueryFilterFieldValue" Valitse=""Keskeneräiset""/> <XSL:param kanssa Nimi="TotalItems" Valitse="$totalInProcess"></XSL:param kanssa> </XSL:Call-template> </taulukko> </TD> </TR> </taulukko> </XSL:muuten> </XSL:Valitse> </XSL:malli> <!-- Tämä malli toimi yksittäisten rivien näyttäminen pylväskaavio. Voit todennäköisesti tehdä useimmat säätämistä täällä. --> <XSL:malli Nimi="Esityksiä järjestävä eloisa Show"> <XSL:Param Nimi="BarDisplayLabel" /> <!-- ilmoittaa --> <XSL:Param Nimi="BarPercent"/> <!-- Prosenttiosuus kokonaissummasta. --> <XSL:Param Nimi="QueryFilterFieldName"/> <!-- Voidaan siirtyä kyselyn & suodatin --> <XSL:Param Nimi="QueryFilterFieldValue"/> <!-- Voidaan siirtyä kyselyn & suodatin --> <XSL:Param Nimi="TotalItems" /> <!-- Tämä barlabel määrä --> <TR> <!-- Baarissa etiketti itse. --> <TD luokan="MS-formbody" leveys="30%"> <!-- Tämä seuraava joukko lausuntoja rakentaa kyselymerkkijonon, joka antaa meille mahdollisuuden siirtyä alas suodatetun näkymän pohjana olevia tietoja. Teemme muutamia asioita täällä käyttää: 1. Voimme siirtää FilterField1 ja FilterValue1 luettelo suodattaa kohteet. 2. SharePoint on ohi tärkein parametri meille, ListUrlDir, joka viittaa pohjana olevan luettelon, josta tämä DVWP on "jatkuva". Ei ole XSL hauskaa? --> <XSL:teksti Poista lähtö paeta="Kyllä"> <![CDATA[<href ="]]></XSL:teksti> <XSL:arvo Valitse="$ListUrlDir"/> <XSL:teksti Poista lähtö paeta="Kyllä"><![CDATA[?FilterField1 =]]></XSL:teksti> <XSL:arvo Valitse="$QueryFilterFieldName"/> <XSL:teksti Poista lähtö paeta="Kyllä"><![CDATA[&FilterValue1 =]]></XSL:teksti> <XSL:arvo Valitse="$QueryFilterFieldValue"/> <XSL:teksti Poista lähtö paeta="Kyllä"><![CDATA[">]]></XSL:teksti> <XSL:arvo Valitse="$BarDisplayLabel"/> <XSL:teksti Poista lähtö paeta="Kyllä"><![CDATA[</a>]]></XSL:teksti> <!-- Seuraavan vähän jotkut numerot näkyvät muoto: "(yhteensä / % yhteensä)" --> (<XSL:arvo Valitse="$TotalItems"/> / <!-- Tämä luo mukava prosenttia otsikko meille. Kiitos, Microsoft! --> <XSL:Call-template Nimi="percentformat"> <XSL:param kanssa Nimi="prosenttia" Valitse="$BarPercent"/> </XSL:Call-template>) </TD> <!-- Lopuksi, päästää <TD> Tag varten bar itse.--> <TD> <taulukko CellPadding="0" CellSpacing-arvon="0" raja="0" leveys="{kierros($BarPercent * 100)+1}%"> <TR BgColor="punainen"> <XSL:teksti Poista lähtö paeta="Kyllä"><![CDATA[&nbsp;]]></XSL:teksti> </TR> </taulukko> </TD> </TR> </XSL:malli> <!-- Tämä on otettu suoraan joitakin XSL löysin MS-mallissa. --> <XSL:malli Nimi="percentformat"> <XSL:Param Nimi="prosenttia"/> <XSL:Valitse> <XSL:Milloin testi="numeron muotoileminen($prosenttia, '#,##0%;-#,##0%')= "NaN"">0%</XSL:Milloin> <XSL:muuten> <XSL:arvo Valitse="numeron muotoileminen($prosenttia, '#,##0%;-#,##0%')" /> </XSL:muuten> </XSL:Valitse> </XSL:malli> </XSL:Stylesheet>

Tulokset:

XSL ylhäältä Luo tämä kaavio:

kuva

Poraa tietoja klikkaamalla tilakoodi:

kuva

Päätelmänne?:

Pidäkin tätä?

Rakastan graafinen käsite, mutta vihaan sitä, että minun täytyy mennä ja tehdä niin paljon käsi-koodaus. Olen antanut ajattelematta onko pidäkin ja olen optimistinen, mutta olen myös hieman peloissaan, että voi olla seinään jossain tiellä, joka ei tarjoa mitään työ-ympäristössä. Jos jollakulla on hyviä ideoita tämän, Merkitse muistiin kommentteja tai email we.

Pystysuora kaaviot:

Tämä on horisontaalinen pylväskaavio. Se on varmasti mahdollista luoda pystysuoran kaavio. Meidän täytyy vain muuttaa HTML-koodia. Haluaisin aloittaa samalla tavalla: Luo HTML-edustus pystysuora pylväskaavio ja sitten selvittää, miten tästä kautta XSL. Jos joku on kiinnostunut, että, Voi olla suostutella kokeilla sitä ja poistaa kireyttä. Jos joku on jo tehnyt niin, kerro siitä minulle, ja linkin mielelläni blogiisi 🙂

Haaste pystysuoran kaavio on kaavion otsikot ovat vaikeampi hallita, mutta ei varmaankaan mahdotonta.

Kentän nimi Gotcha:

Ainakin kaksi asiaa kannattaa varoa kanssa kenttien nimet.

Ensimmäinen, kenttänimen välilyönnillä on ohitettava XSL. Tämä on todennäköisesti kysymys:

        <XSL:muuttuja Nimi="totalProposed" 
Valitse="määrä(/dsQueryResponse/rivi/rivi[normalisoi tila(@Status) = "Ehdotettu"])" />

Jos "-tila" sarakkeen nimi on itse asiassa "tilakoodi" sinun täytyy viitata "Status_x0020_Code":

   <XSL:muuttuja Nimi="totalProposed" 
Valitse="määrä(/dsQueryResponse/rivi/rivi[normalisoi tila(@Status_x0020_Code) = "Ehdotettu"])" />

Toinen, ja olen hieman fuzzy tästä, mutta sinun täytyy olla varuillaan kentän nimi muuttuu. Jos nimeät kentän "tilakoodi" ja sitten myöhemmin, sen nimeksi "AFE tila", "sisäinen nimi" ei muuta. Sisäinen nimi voi silti "tilakoodi" ja on viittaus "Status_x0020_Code". "Muut varat" linkit voivat auttaa diagnosoimaan ja korjaamaan tällaiset ongelmat.

Siitä, että väri:

Otin "punainen" koska se on miellyttää minua tällä hetkellä. Ei olisi iso juttu näyttää eri värejä niin, että enemmän kuin vain visuaalinen kuvaus useita, mutta myös hyödyllisiä KPI. Esimerkiksi, Jos prosenttiosuus "pysähtynyt" AFE ystävät on > 10% sitten näyttää punainen, muuten näyttää musta. Käyttö <XSL:Valitse> Tämä.

Muita resursseja:

Onnellinen transforming!

<Lopeta />

Tilaa blogiin!

SharePoint ei ole “Kenellä on oikeus” Raportit

PÄIVITYS 01/28/08: Codeplex-hankkeessa käsitellään: http://www.codeplex.com/AccessChecker. En ole käyttänyt sitä, mutta se näyttää lupaavalta, jos asiasta täytyy puuttua ympäristössäsi.

PÄIVITYS 11/13/08: Joel Oleson kirjoitti erittäin hyvä viesti suuremman turvallisuuden hallinta asiasta täällä: http://www.sharepointjoel.com/Lists/Posts/Post.aspx?Luettelo = 0cd1a63d % 2D183c % 2D4fc2 % 2 D 8320 % 2Dba5369008acb&ID = 113. Se yhdistää useita muita hyödyllisiä resursseja.

Foorumin käyttäjät ja asiakkaat usein kysyä tämänsuuntaisia: "Miten voin luoda luettelon käyttäjistä, joilla on pääsy sivuston" tai "Miten voi automaattisesti varoitan kaikki käyttäjille pääsyn luettelon muutoksista luetteloon?"

Ei out of the box ratkaisu tähän. Jos ajattelee sitä hetki, se ei ole vaikea ymmärtää miksi.

SharePoint-suojauksilla on erittäin joustava. Tällä hetkellä ainakin neljään pääluokkaan käyttäjien:

  • Anonyymit käyttäjät.
  • SharePoint käyttäjät ja ryhmät.
  • Active Directoryn käyttäjät.
  • Lomakkeiden perustuva autentikointi (FBA) käyttäjät.

Joustavuus tarkoittaa, että turvallisuus näkökulmasta, tietyn SharePoint-sivuston on dramaattisesti erilainen toinen. Jotta voidaan luoda access-luettelo-raportti, yksi on selvittää, miten sivusto suojataan, kyselyn useita eri käyttäjän profiili arkistoja ja esittää sen sitten hyödyllistä tavalla. Se on ankara arvoitus jotta ratkaista yleisesti.

Miten järjestöt käsittelevät tätä? Haluaisin mielelläni kuulla teiltä kommentteja tai Sähköposti.

</loppu>

Technorati Tags: ,