Μηνιαία Αρχεία: Δεκεμβρίου 2007

Δημιουργία ραβδογράμματα στο SharePoint

Επισκόπηση:

(Η ΕΝΗΜΕΡΩΜΈΝΗ ΈΚΔΟΣΗ 12/04/07: Προστεθεί μια άλλη ενδιαφέρουσα πηγή στο τέλος σύνδεση σε ένα άλλο blog που ασχολείται με αυτό μέσω ενός πολύ ενδιαφέρουσα τμήματος web)

Αυτό το ιστολόγιο εισόδου περιγράφει πώς να δημιουργήσετε ένα γράφημα ράβδων στο SharePoint. Αυτό λειτουργεί τόσο WSS, και ΒΡΎΟ περιβάλλον, καθώς εξαρτάται μόνο από το τμήμα web προβολής δεδομένων.

Η συνολική προσέγγιση που έχει ως εξής:

  1. Δημιουργία μιας λίστας ή βιβλιοθήκης εγγράφων που περιέχει τα δεδομένα που θέλετε να.
  2. Τοποθετήστε τη βιβλιοθήκη του συσχετιζόμενου εγγράφου / προσαρμοσμένη λίστα επάνω σε μια σελίδα και να το μετατρέψει σε ένα τμήμα web προβολής δεδομένων (DVWP).
  3. Τροποποιήσετε το DVWP XSL για τη δημιουργία HTML που παρουσιάζει ως ένα γράφημα.

Επιχειρηματικό σενάριο / Εγκατάστασης:

Έχω δημιουργήσει μια προσαρμοσμένη λίστα με πρότυπο στήλη τίτλος και μία πρόσθετη στήλη, "Κατάσταση". Αυτά τα πρότυπα (πολύ απλουστευτικά) "άδεια για δαπάνη" σενάριο όπου ο τίτλος αντιπροσωπεύει το έργο και το καθεστώς μια τιμή από τη λίστα των:

  • Προτείνει
  • Στη διαδικασία
  • Αδιέξοδο

Ο στόχος είναι να παράγει μια διαδραστική οριζόντιο ραβδόγραμμα που δείχνει αυτούς τους κωδικούς κατάστασης.

Εγώ έχουν πληθυσμό τον κατάλογο και να μοιάζει με αυτό:

εικόνα

Δημιουργήσετε το τμήμα Web προβολής δεδομένων:

Δημιουργήστε το DVWP με την προσθήκη την προσαρμοσμένη λίστα σε μια σελίδα (στη δική μου περίπτωση της ιστοσελίδας) και ακολουθήστε τις οδηγίες Εδώ (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).

Εκτός από απλά τη δημιουργία του DVWP, πρέπει επίσης να ορίσετε την ιδιότητα σελιδοποίησης για να δείξει όλες τις διαθέσιμες γραμμές. Για μένα, Αυτό φαίνεται κάτι σαν αυτό:

εικόνα

Σε αυτό το σημείο, Κλείνω πάντα το SPD και το πρόγραμμα περιήγησης. Στη συνέχεια ανοίξτε εκ νέου την σελίδα χρησιμοποιώντας τη μηχανή αναζήτησης. Αυτό αποφεύγει κατά λάθος χαλάει την δικτυακή διάταξη μέρος στη σελίδα.

Τροποποιήσετε XSLT:

Είναι πλέον καιρός να τροποποιήσετε XSLT.

Χρησιμοποιώ πάντα το οπτικό στούντιο για αυτό. (Δείτε Εδώ για μια σημαντική σημείωση για intellisense που θα σας βοηθήσει πολύ).

Μπορώ να δημιουργήσω ένα κενό έργο προσθέσετε τέσσερα νέα αρχεία (αντικαθιστώντας τις λέξεις "πρωτότυπο" και νέα"" ανάλογα με την περίπτωση):

  • Original.XSLT
  • New.XSLT
  • Αρχική Params.xml
  • Νέα Params.xml

Στην περίπτωσή μου, μοιάζει με αυτό:

εικόνα

Τροποποιήσει το τμήμα web και να αντιγράψετε το params και XSL στο αρχικό"" έκδοση του Visual Studio.

Ο στόχος εδώ είναι να προκαλέσει το XSL για να μετατρέπει τα αποτελέσματα που έχουμε πάρει πίσω από το ερώτημα DVWP στην HTML που καθιστά ως ένα γράφημα.

Για το σκοπό αυτό, βοηθά να εξετάσουμε πρώτα τι η HTML πρέπει να μοιάσει με προτού εμείς να μπερδευτεί από την παραφροσύνη που είναι γνωστό ως "XSL". (Για να είμαι σαφής, το ακόλουθο είναι απλά ένα παράδειγμα; Μην πληκτρολογείτε ή copy/paste στο οπτικό στούντιο. Παρέχω ένα πλήρες χτύπημα αφετηρία για αυτό αργότερα στο το write-up). Στο ακόλουθο γράφημα δείγμα αποδίδεται σύμφωνα με τον κώδικα HTML, αμέσως μετά:

Sample Bar Graph

Αντίστοιχη HTML:

<HTML>
<οργανισμός>
<κέντρο>
<Πίνακας πλάτος = 80%>
<TR><TD><κέντρο>Οριζόντιο ραβδόγραμμα</TD></TR>
<TR>
<TD align = "center">
<τραπέζι σύνορα = "1" πλάτος = 80%>
<TR>
<πλάτος TD = 10%>Ανοικτή</TD>
<TD><Πίνακας cellpadding ="0" cellspacing ="0" σύνορα = 0 πλάτος = 50%><χρώμα φόντου TR = κόκκινο><TD>&nbsp;</TD></TR></Πίνακας></TD>
</TR>
<TR>
<πλάτος TD = 10%>Κλειστό</TD>
<TD><Πίνακας cellpadding ="0" cellspacing ="0" σύνορα = 0 πλάτος = 25%><χρώμα φόντου TR = κόκκινο><TD>&nbsp;</TD></TR></Πίνακας></TD>
</TR>
<TR>
<πλάτος TD = 10%>Αδιέξοδο</TD>
<TD><Πίνακας cellpadding ="0" cellspacing ="0" σύνορα = 0 πλάτος = 25%><χρώμα φόντου TR = κόκκινο><TD>&nbsp;</TD></TR></Πίνακας></TD>
</TR>
</Πίνακας>
</TD>
</TR>
</Πίνακας>
</οργανισμός>
</HTML>

Χρησιμοποίησα ένα νεκρό απλό προσέγγιση για τη δημιουργία μου μπαρ ορίζοντας το χρώμα του φόντου μιας γραμμής σε "κόκκινο".

Το take-away εδώ είναι αυτό: Στο τέλος, το μόνο που κάνουμε είναι η δημιουργία HTML με γραμμές και στήλες.

Πρότυπο XSLT:

Έχω αντιγράψει XSLT που παράγει ένα οριζόντιο ραβδόγραμμα. Είναι αρκετά καλά σχολίασε έτσι εγώ δεν θα προσθέσει πολύ εδώ εκτός από αυτές τις σημειώσεις:

  • Ξεκίνησα με την προεπιλογή XSL που SharePoint Designer μου έδωσε όταν δημιούργησα πρώτα το DVWP.
  • Ήμουν σε θέση να περιορίσει αυτό από του SPD 657 γραμμές να 166 γραμμές.
  • Δεν χαζεύω με το αρχείο παραμέτρων XML (που είναι ξεχωριστό από το XSL και να γνωρίζετε τι εννοώ όταν θα πάτε να τροποποιήσετε το DVWP ίδια; Υπάρχουν δύο αρχεία που μπορείτε να τροποποιήσετε). Ωστόσο, να την απλοποιήσει, Σχεδόν όλοι τους έκανα το αφαιρέσετε από το XSL. Αυτό σημαίνει ότι αν θέλετε να κάνετε χρήση εκείνων των παραμέτρων, πρέπει ακριβώς να αυξάνω τους ορισμούς της μεταβλητής πίσω το XSL. Που θα είναι εύκολο, δεδομένου ότι θα έχετε το αρχικό ορισμοί μεταβλητών XSL σε σας οπτικός στούντιο προβλημένος.
  • Θα έπρεπε να είναι σε θέση να αντιγράψετε και να επικολλήσετε αυτό απευθείας σε σας οπτικός στούντιο προβλημένος. Στη συνέχεια, Αφαιρέστε τις κλήσεις μου και τοποθετήστε το δικό σας ζητεί να "ShowBar".
  • Το τρυπάνι κάτω έργων δημιουργώντας ένα <a href> Σαν αυτό: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. Αυτή η τεχνική μπορεί να είναι του τιμή σε άλλα πλαίσια. Κατά την πρώτη, Σκέφτηκα ότι θα πρέπει να είναι σύμφωνες με μια πιο σύνθετη μορφή: http://server/List/AllItems.aspx?View={guid}&FilterField1=blah&FilterValue1=blah, αλλά στο περιβάλλον μου ότι δεν είναι απαραίτητο. Ο κατάλογος URL είναι πέρασε σε μας από το SharePoint, έτσι αυτό είναι αρκετά εύκολο να γενικεύσουμε.

Εδώ είναι:

<XSL:stylesheet έκδοση="1.0" εξαίρεση-αποτέλεσμα-προθέματα="RS z o s ν dt msxsl" 
xmlns:msxsl="δοχείο:schemas-microsoft-com:XSLT" xmlns:XSL="http://www.w3.org/ 1999 / / μετασχηματισμό XSL"
xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer"
xmlns:ASP="http://schemas.microsoft.com/ASPNET/20" xmlns:ν="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"
xmlns:o="δοχείο:schemas-microsoft-com:γραφείο" xmlns:s="UUID:BDC6E3F0-6DA3-11D1-A2A3-00AA00C14882"
xmlns:DT="UUID:C2F41010-65B3 - 11d 1-A29F-00AA00C14882" xmlns:RS="δοχείο:schemas-microsoft-com:σύνολο γραμμών" xmlns:z="#RowsetSchema"
xmlns:ddwrt2="δοχείο:FrontPage:εσωτερική"
> <XSL:εξόδου μέθοδος="HTML" περίπτωση="Όχι" /> <XSL:δεκαδικό-format NaN="" /> <XSL:Παράμ Όνομα="ListUrlDir"></XSL:Παράμ> <!-- Χρειάζομαι αυτό για να στηρίξει ένα τρυπάνι-κάτω. --> <XSL:πρότυπο αγώνα="/" xmlns:SharePoint="Microsoft.SharePoint.WebControls"
xmlns:__designer=http://schemas.microsoft.com/WebParts/v2/DataView/designer xmlns:ASP="http://schemas.microsoft.com/ASPNET/20"
> <XSL:μεταβλητή Όνομα="dvt_StyleName">Πίνακας</XSL:μεταβλητή> <XSL:μεταβλητή Όνομα="Σειρές" Επιλέξτε="/dsQueryResponse/γραμμών/εγγραφών" /> <XSL:μεταβλητή Όνομα="dvt_RowCount" Επιλέξτε="καταμέτρηση($Σειρές)" /> <XSL:μεταβλητή Όνομα="IsEmpty" Επιλέξτε="$dvt_RowCount = 0" /> <XSL:μεταβλητή Όνομα="dvt_IsEmpty" Επιλέξτε="$dvt_RowCount = 0" /> <XSL:Επιλέξτε> <XSL:Όταν δοκιμή="$dvt_IsEmpty"> Υπάρχει καθόλου δεδομένα σε γράφημα!<br/> </XSL:Όταν> <XSL:διαφορετικά> <!-- Τα ενδιαφέροντα πράγματα αρχίζει από εδώ. Πρέπει να ορίσουμε ένα ζευγάρι των μεταβλητών για κάθε γραμμή στο γράφημα: συνολικό αριθμό των στοιχείων και τοις εκατό του συνολικού. --> <XSL:μεταβλητή Όνομα="totalProposed" Επιλέξτε="καταμέτρηση(/dsQueryResponse/γραμμών/εγγραφών[ομαλοποιήσει-χώρος(@Status) = «Προτείνει»])" /> <XSL:μεταβλητή Όνομα="percentProposed" Επιλέξτε="$totalProposed div $dvt_RowCount" /> <XSL:μεταβλητή Όνομα="totalInProcess" Επιλέξτε="καταμέτρηση(/dsQueryResponse/γραμμών/εγγραφών[ομαλοποιήσει-χώρος(@Status) = «Στη διαδικασία»])" /> <XSL:μεταβλητή Όνομα="percentInProcess" Επιλέξτε="$totalInProcess div $dvt_RowCount" /> <XSL:μεταβλητή Όνομα="totalStalled" Επιλέξτε="καταμέτρηση(/dsQueryResponse/γραμμών/εγγραφών[ομαλοποιήσει-χώρος(@Status) = «Αδιέξοδο»])" /> <XSL:μεταβλητή Όνομα="percentStalled" Επιλέξτε="$totalStalled div $dvt_RowCount" /> <!-- Ορίζουμε εδώ μας πίνακα HTML. Δανείζομαι από κάποιο πρότυπο SharePoint στυλ εδώ ώστε να είναι συνεπείς. Νομίζω ότι αυτό θα τιμήσει τις αλλαγές στο αρχείο css παγκόσμια καθώς και αντικαθιστά το θέμα. --> <Πίνακας πλάτος="100%" cellspacing="0" CellPadding="2" στυλ="συνόρων τα δεξιά: 1 στερεά #C0C0C0; σύνορα-κάτω: 1 στερεά #C0C0C0; αριστερά-στυλ περιγράμματος: στερεά; πλάτος περιγράμματος-αριστερά: 1; κορυφή-στυλ περιγράμματος: στερεά; πλάτος περιγράμματος-κορυφή: 1;"> <TR> <TD Στοίχιση="κέντρο"> <Πίνακας σύνορα="1" πλάτος="100%"> <!-- Για κάθε κατάσταση που θέλουμε να γραφήματος, Καλούμε την ShowBar"" πρότυπο. Περνάμε αυτό: 1. Μια ετικέτα για την γραμμή. Αυτό έχει μετατραπεί σε μια υπερ-σύνδεση. 2. Το ποσοστό (μεταβλητή από ψηλά). 3. Το όνομα του πραγματικού πεδίου του κώδικα από την υποκείμενη λίστα. Αυτό δεν χρειάζεται να ταιριάζει με την ετικέτα εμφάνισης. 4. Τιμή πεδίου συμφωνημένα για #3. 5. Σύνολο στοιχείων του αυτός ο κωδικός κατάστασης (δεν το γενικό σύνολο του όλους τους κωδικούς κατάστασης). Εκπέμπει ένα <TR></TR> και η γραμμή οριζόντιο γράφημα ράβδων. Καλούμε αυτό το πρότυπο για κάθε κωδικό κατάστασης που θέλουμε να προβάλετε. --> <XSL:κλήση-πρότυπο Όνομα="ShowBar"> <XSL:με Παράμ Όνομα="BarDisplayLabel" Επιλέξτε="«Προτείνει»"/> <XSL:με Παράμ Όνομα="BarPercent" Επιλέξτε="$percentProposed"/> <XSL:με Παράμ Όνομα="QueryFilterFieldName" Επιλέξτε="«Καθεστώς»"/> <XSL:με Παράμ Όνομα="QueryFilterFieldValue" Επιλέξτε="«Προτείνει»"/> <XSL:με Παράμ Όνομα="TotalItems" Επιλέξτε="$totalProposed"></XSL:με Παράμ> </XSL:κλήση-πρότυπο> <XSL:κλήση-πρότυπο Όνομα="ShowBar"> <XSL:με Παράμ Όνομα="BarDisplayLabel" Επιλέξτε="«Αδιέξοδο»"/> <XSL:με Παράμ Όνομα="BarPercent" Επιλέξτε="$percentStalled"/> <XSL:με Παράμ Όνομα="QueryFilterFieldName" Επιλέξτε="«Καθεστώς»"/> <XSL:με Παράμ Όνομα="QueryFilterFieldValue" Επιλέξτε="«Αδιέξοδο»"/> <XSL:με Παράμ Όνομα="TotalItems" Επιλέξτε="$totalStalled"></XSL:με Παράμ> </XSL:κλήση-πρότυπο> <XSL:κλήση-πρότυπο Όνομα="ShowBar"> <XSL:με Παράμ Όνομα="BarDisplayLabel" Επιλέξτε="«Στη διαδικασία»"/> <XSL:με Παράμ Όνομα="BarPercent" Επιλέξτε="$percentInProcess"/> <XSL:με Παράμ Όνομα="QueryFilterFieldName" Επιλέξτε="«Καθεστώς»"/> <XSL:με Παράμ Όνομα="QueryFilterFieldValue" Επιλέξτε="«Στη διαδικασία»"/> <XSL:με Παράμ Όνομα="TotalItems" Επιλέξτε="$totalInProcess"></XSL:με Παράμ> </XSL:κλήση-πρότυπο> </Πίνακας> </TD> </TR> </Πίνακας> </XSL:διαφορετικά> </XSL:Επιλέξτε> </XSL:πρότυπο> <!-- Αυτό το πρότυπο does the δουλειά εμφανίζει μεμονωμένες γραμμές στο γράφημα ράβδων. Θα κάνετε πιθανώς οι περισσότεροι από σας μικροαλλαγές εδώ. --> <XSL:πρότυπο Όνομα="ShowBar"> <XSL:Παράμ Όνομα="BarDisplayLabel" /> <!-- ετικέτα για να δείξει --> <XSL:Παράμ Όνομα="BarPercent"/> <!-- Τοις εκατό του συνολικού. --> <XSL:Παράμ Όνομα="QueryFilterFieldName"/> <!-- Για να μεταβείτε στο ερώτημα & φίλτρο --> <XSL:Παράμ Όνομα="QueryFilterFieldValue"/> <!-- Για να μεταβείτε στο ερώτημα & φίλτρο --> <XSL:Παράμ Όνομα="TotalItems" /> <!-- συνολική απαρίθμηση των αυτή barlabel --> <TR> <!-- Η γραμμή ετικέτα ίδια. --> <TD Κατηγορία="MS-formbody" πλάτος="30%"> <!-- Αυτό το επόμενο σύνολο των καταστάσεων δημιουργεί μια συμβολοσειρά ερωτήματος που μας επιτρέπει να τρυπάνι κάτω σε μια φιλτραρισμένη προβολή από τα υποκείμενα δεδομένα. Κάνουμε χρήση των μερικά πράγματα εδώ: 1. Μπορεί να περνάμε FilterField1 και FilterValue1 σε μια λίστα για το φιλτράρισμα σε μια στήλη. 2. SharePoint περνά μια βασική παράμετρος μας, ListUrlDir που αφορά την υποκείμενη λίστα κατά του οποίου αυτή DVWP είναι "τρέχει". Δεν είναι διασκέδαση XSL? --> <XSL:κείμενο Απενεργοποίηση-εξόδου-διαφυγή="Ναι"> <![CDATA[<ένα href ="]]></XSL:κείμενο> <XSL:αξία των Επιλέξτε="$ListUrlDir"/> <XSL:κείμενο Απενεργοποίηση-εξόδου-διαφυγή="Ναι"><![CDATA[?FilterField1 =]]></XSL:κείμενο> <XSL:αξία των Επιλέξτε="$QueryFilterFieldName"/> <XSL:κείμενο Απενεργοποίηση-εξόδου-διαφυγή="Ναι"><![CDATA[&FilterValue1 =]]></XSL:κείμενο> <XSL:αξία των Επιλέξτε="$QueryFilterFieldValue"/> <XSL:κείμενο Απενεργοποίηση-εξόδου-διαφυγή="Ναι"><![CDATA[">]]></XSL:κείμενο> <XSL:αξία των Επιλέξτε="$BarDisplayLabel"/> <XSL:κείμενο Απενεργοποίηση-εξόδου-διαφυγή="Ναι"><![CDATA[</ένα>]]></XSL:κείμενο> <!-- Το επόμενο κομμάτι δείχνει κάποιους αριθμούς με τη μορφή: "(συνολικά / % του συνολικού)" --> (<XSL:αξία των Επιλέξτε="$TotalItems"/> / <!-- Αυτό δημιουργεί μια ωραία τοις εκατό ετικέτα για μας. Ευχαριστώ, Microsoft! --> <XSL:κλήση-πρότυπο Όνομα="μορφή ποσοστού"> <XSL:με Παράμ Όνομα="τοις εκατό" Επιλέξτε="$BarPercent"/> </XSL:κλήση-πρότυπο>) </TD> <!-- Τέλος, εκπέμπουν μια <TD> ετικέτα για το μπαρ ίδια.--> <TD> <Πίνακας CellPadding="0" cellspacing="0" σύνορα="0" πλάτος="{γύρο($BarPercent * 100)+1}%"> <TR χρώμα φόντου="κόκκινο"> <XSL:κείμενο Απενεργοποίηση-εξόδου-διαφυγή="Ναι"><![CDATA[&nbsp;]]></XSL:κείμενο> </TR> </Πίνακας> </TD> </TR> </XSL:πρότυπο> <!-- Αυτό έχει ληφθεί άμεσα από κάποια XSL που βρήκα σε ένα πρότυπο MS. --> <XSL:πρότυπο Όνομα="μορφή ποσοστού"> <XSL:Παράμ Όνομα="τοις εκατό"/> <XSL:Επιλέξτε> <XSL:Όταν δοκιμή="μορφή-αριθμός($τοις εκατό, '#,##0%;-#,##0%')= «NaN»">0%</XSL:Όταν> <XSL:διαφορετικά> <XSL:αξία των Επιλέξτε="μορφή-αριθμός($τοις εκατό, '#,##0%;-#,##0%')" /> </XSL:διαφορετικά> </XSL:Επιλέξτε> </XSL:πρότυπο> </XSL:stylesheet>

Τα αποτελέσματα:

Το XSL από ψηλά δημιουργεί αυτό το γράφημα:

εικόνα

Τρυπάνι κάτω σε το υποκείμενο των δεδομένων, κάνοντας κλικ στο ο κωδικός κατάστασης:

εικόνα

Συμπερασματικές σκέψεις:

Μπορεί αυτό να γενικευθεί?

Μου αρέσει αυτή η γραφική έννοια, αλλά μισώ το γεγονός ότι πρέπει να πάει και να κάνει τόσο πολύ χέρι-κωδικοποίησης. Έχω δώσει μια μικρή σκέψη, κατά πόσον μπορεί να γενικευθεί και να είμαι αισιόδοξος, αλλά, επίσης είμαι λίγο φοβισμένη ότι μπορεί να υπάρξει ένα τοίχο από τούβλα κάπου κατά μήκος της διαδρομής που δεν θα προσφέρουν κάθε έργο-γύρω. Αν κάποιος έχει κάποιες καλές ιδέες σχετικά με αυτό, Παρακαλώ κάνετε ένα σημείωμα στα σχόλια ή email μου.

Κάθετη γραφήματα:

Πρόκειται για ένα οριζόντιο ραβδόγραμμα. Είναι βεβαίως δυνατό να δημιουργήσετε ένα γράφημα κάθετη. Εμείς απλά πρέπει να αλλάξετε τον κώδικα HTML. Θα ήθελα να ξεκινήσω τον ίδιο τρόπο: Δημιουργήστε μια αντιπροσώπευση HTML από ένα κατακόρυφο ραβδόγραμμα και στη συνέχεια να καταλάβω πώς να πάρει ότι μέσω XSL. Εάν κάποιος is ενδιαφερόμενοs σε αυτό, Ίσως πεισθώ να δοκιμάσουν και της εργασίας τις συστροφές. Αν κάποιος έχει κάνει ήδη, please let me know and I’ll gladly link to your blog 🙂

Νομίζω ότι η πρόκληση με μια κάθετη γραφική παράσταση είναι ότι οι ετικέτες για το γράφημα είναι πιο δύσκολο να διαχειριστεί, αλλά σίγουρα δεν είναι αδύνατο.

Του πεδίου όνομα Gotcha:

Υπάρχουν τουλάχιστον δύο πράγματα για να κοιτάξει έξω με σας ονόματα πεδίων.

Πρώτη, ένα όνομα πεδίου με ένα διάστημα πρέπει να φυγεῖν σε το XSL. Αυτό πιθανότατα θα αποτελέσει ένα θέμα εδώ:

        <XSL:μεταβλητή Όνομα="totalProposed" 
Επιλέξτε="καταμέτρηση(/dsQueryResponse/γραμμών/εγγραφών[ομαλοποιήσει-χώρος(@Status) = «Προτείνει»])" />

Αν σας κατάσταση"" στήλη είναι πραγματικά το όνομα "κωδικός κατάστασης" τότε θα πρέπει να αναφέρονται ως "Status_x0020_Code":

   <XSL:μεταβλητή Όνομα="totalProposed" 
Επιλέξτε="καταμέτρηση(/dsQueryResponse/γραμμών/εγγραφών[ομαλοποιήσει-χώρος(@Status_x0020_Code) = «Προτείνει»])" />

Δεύτερη, και είμαι λίγο ασαφής σχετικά με αυτό, αλλά πρέπει επίσης να είστε σε επιφυλακή για το πεδίο "Επαληθεύτηκε" όνομα. Εάν εσείς το όνομα σας το πεδίο "κωδικός κατάστασης" και στη συνέχεια, αργότερα, Μετονομάστε το σε "Κατάσταση AFE", το εσωτερικό όνομα"" δεν αλλάζει. Το εσωτερικό όνομα θα εξακολουθεί να είναι "κωδικός κατάστασης" και πρέπει να αναφέρεται ως "Status_x0020_Code". Οι "άλλοι πόροι" Σύνδεσμοι μπορεί να βοηθήσει τη διάγνωση και διόρθωση του προβλήματος.

Σχετικά με αυτό το χρώμα:

Πήρα το "κόκκινο" επειδή είναι ευχάριστο για μένα αυτή τη στιγμή. Δεν θα ήταν μια μεγάλη υπόθεση για να δείξει τα διαφορετικά χρώματα, έτσι ώστε να παρέχουν περισσότερο από ακριβώς μια οπτική περιγραφή ενός αριθμού, αλλά να παρέχουν επίσης μια χρήσιμη KPI. Για παράδειγμα, Εάν το ποσοστό των «αδιέξοδο" Είναι του AFE > 10% στη συνέχεια να δείξει κόκκινο, έδειχνε σε μαύρο χρώμα. Χρήση <XSL:Επιλέξτε> για να επιτευχθεί αυτό.

Άλλων πόρων:

Ευτυχής μετασχηματισμός!

<Τέλος />

Εγγραφείτε στο blog μου!

SharePoint δεν παρέχει “Ποιος έχει πρόσβαση” Εκθέσεις

Η ΕΝΗΜΕΡΩΜΈΝΗ ΈΚΔΟΣΗ 01/28/08: Το έργο αυτό codeplex αντιμετωπίζει αυτό το ζήτημα: http://www.codeplex.com/AccessChecker. Δεν έχω χρησιμοποιήσει, αλλά φαίνεται πολλά υποσχόμενη, αν αυτό είναι ένα θέμα που θα χρειαστεί να αντιμετωπίσετε στο περιβάλλον σας.

Η ΕΝΗΜΕΡΩΜΈΝΗ ΈΚΔΟΣΗ 11/13/08: Joel Oleson ετοίμασε μια πολύ καλή θέση για το μεγαλύτερο θέμα διαχείρισης ασφαλείας εδώ: http://www.sharepointjoel.com/ Lists/Posts/Post.aspx?Λίστα = 0cd1a63d % 2D183c % 2D4fc2 %2 D 8320% 2Dba5369008acb&ID = 113. Συνδέει σε μια σειρά από άλλες χρήσιμες πηγές.

Οι χρήστες του φόρουμ και πελάτες συχνά να θέσω ένα ερώτημα προς αυτή την κατεύθυνση: "Πώς δημιουργήσω μια λίστα όλων των χρηστών με πρόσβαση σε μια τοποθεσία" ή "Πώς μπορεί να σας ειδοποιεί αυτόματα όλους τους χρήστες με πρόσβαση στη λίστα σχετικά με αλλαγές που έγιναν στον κατάλογο?"

Δεν υπάρχει καμία έξω από το box λύση για αυτό. Εάν σκεφτείτε για μια στιγμή, δεν είναι δύσκολο να καταλάβω γιατί.

Ασφαλείας του SharePoint είναι πολύ ευέλικτο. Υπάρχουν τουλάχιστον τέσσερις μεγάλες κατηγορίες των χρηστών:

  • Ανώνυμοι χρήστες.
  • SharePoint χρήστες και ομάδες.
  • Χρήστες του Active Directory.
  • Φόρμες που βασίζονται σε έλεγχο ταυτότητας (FBA) οι χρήστες.

Η ευελιξία που σημαίνει από την άποψη της ασφάλειας, οποιαδήποτε δεδομένη τοποθεσία SharePoint θα είναι πολύ διαφορετικό από το άλλο. Για να δημιουργήσετε μια αναφορά λίστα πρόσβασης, κάποιος πρέπει να εξακριβώσει πώς εξασφαλίζεται το site, ερώτημα πολλαπλών διαφορετικό χρήστη προφίλ αποθετήρια και μετά να το παρουσιάσουμε σε ένα χρήσιμο τρόπο. Αυτό είναι ένα σκληρό πρόβλημα που λύνει γενικά.

Πώς είναι οργανώσεις που ασχολούνται με αυτό? Θα ήθελα πολύ να ακούσουμε από εσάς στα σχόλια ή ηλεκτρονικό ταχυδρομείο.

</Τέλος>