Αστάρι βασικές αρχές ασφαλείας του SharePoint / Αποφύγετε πολλές συνηθισμένες παγίδες

Η ΕΝΗΜΕΡΩΜΈΝΗ ΈΚΔΟΣΗ 12/18/07: Δείτε το άρθρο του Paul Liebrand για κάποιες τεχνικές συνέπειες της αφαίρεση ή τροποποίηση στα προεπιλεγμένα ονόματα ομάδας (Δείτε το παρακάτω σχόλιο καθώς και).

Επισκόπηση:

Ασφαλείας του SharePoint είναι εύκολο να ρυθμίσετε και να διαχειριστείτε. Ωστόσο, έχει αποδειχθεί ότι είναι δύσκολο για κάποιο πρώτους διαχειριστές να πραγματικά να τυλίξει τα χέρια τους γύρω από αυτό. Δεν είναι μόνο ότι, Έχω δει μερικοί διοικητές που έρχονται σε μια τέλεια κατανόηση τη Δευτέρα μόνο για να έχουν χάσει μέχρι την Παρασκευή επειδή δεν έχουν να κάνουν οποιαδήποτε ρύθμιση παραμέτρων στο μεσοδιάστημα. (Ομολογώ να έχουν αυτό το πρόβλημα ο ίδιος). Αυτό το ιστολόγιο εισόδου Ας ελπίσουμε ότι παρέχει έναν χρήσιμο SharePoint ασφαλείας εγχυτήρα και σημεία προς ορισμένες βέλτιστες πρακτικές ρυθμίσεις ασφαλείας.

Σημαντική σημείωση:

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

Βασικές αρχές:

Για τους σκοπούς αυτής της επισκόπησης, Υπάρχουν τέσσερις θεμελιώδεις πτυχές ασφάλειας: Οι χρήστες/ομάδες, ασφαλιζόμενα αντικείμενα, επίπεδα δικαιωμάτων και κληρονομικότητα.

Χρήστες και ομάδες σπάσει προς τα κάτω για να:

  • Μεμονωμένους χρήστες: Τράβηξε από ενεργό κατάλογο ή δημιουργήθηκε απευθείας στο SharePoint.
  • Ομάδες: Αντιστοιχισμένα απευθείας από την υπηρεσία καταλόγου active directory ή δημιουργήθηκε το SharePoint. Ομάδες είναι μια συλλογή των χρηστών. Ομάδες είναι παγκόσμια σε μια συλλογή τοποθεσιών. Ποτέ δεν «δετική" σε ένα συγκεκριμένο ασφαλιζόμενο αντικείμενο.

Ασφαλιζόμενα αντικείμενα σπάσει προς τα κάτω για τουλάχιστον:

  • Τοποθεσίες
  • Βιβλιοθήκες εγγράφων
  • Μεμονωμένα στοιχεία σε λίστες και βιβλιοθήκες εγγράφων
  • Φάκελοι
  • Διάφορες ρυθμίσεις BDC.

Υπάρχουν άλλα ασφαλιζόμενα αντικείμενα, αλλά μπορείτε να πάρετε την εικόνα.

Επίπεδα δικαιωμάτων: Μια δέσμη των κοκκώδη / χαμηλό επίπεδο πρόσβασης δικαιωμάτων που περιλαμβάνουν τέτοια πράγματα όπως Δημιουργήστε/Διαβάστε/διαγράψτε καταχωρήσεις σε λίστες.

Κληρονομικότητα: Από προεπιλογή, οντότητες κληρονομούν τις ρυθμίσεις ασφαλείας από τους αντικειμένου που περιέχει. Δευτερεύουσες τοποθεσίες που κληρονομούν δικαιώματα από το γονικό τους. Βιβλιοθήκες εγγράφων που κληρονομούν από το site τους. Ούτω καθεξής και ούτω καθεξής.

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

Τους σημαντικότερους κανόνες ασφαλείας για την κατανόηση, Ever 🙂 :

  1. Ομάδες είναι απλώς συλλογές των χρηστών.
  2. Ομάδες, είναι παγκόσμια μέσα σε μια συλλογή τοποθεσιών (ήτοι. δεν υπάρχει κανένα τέτοιο πράγμα όπως μια ομάδα που ορίζονται σε επίπεδο τοποθεσίας).
  3. Όνομα ομάδας, δεν αντέχουν, ομάδες δεν, μέσα και τον εαυτό τους, έχουν τις ειδικές επίπεδο ασφαλείας.
  4. Ομάδες έχουν ασφάλεια στο πλαίσιο της ένα συγκεκριμένο ασφαλιζόμενο αντικείμενο.
  5. Μπορεί να μπορείτε να αντιστοιχίσετε διαφορετικά επίπεδα δικαιωμάτων στην ίδια ομάδα για κάθε ασφαλιζόμενο αντικείμενο.
  6. Πολιτικές εφαρμογής Web ατού όλα αυτά (Δείτε παρακάτω).

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

Κοινές παγίδες:

  • Ονόματα ομάδων υπονοεί άδεια: Από το κουτί, SharePoint καθορίζει ένα σύνολο των ομάδων, των οποίων το όνομα υπονοεί μια εγγενή επίπεδο ασφάλειας. Θεωρούν την ομάδα "Συνεργάτη". Καλά, ένα δεν είναι εξοικειωμένοι με το SharePoint ασφαλείας μπορεί να εξετάσουμε αυτό το όνομα και να υποθέσουμε ότι κάθε μέλος αυτής της ομάδας μπορεί να «συμβάλει" σε κάθε site/λίστα/βιβλιοθήκη στην πύλη. Που μπορεί να είναι αλήθεια αλλά όχι επειδή το όνομα της ομάδας που συμβαίνει να είναι "συνεργάτη". Αυτό ισχύει μόνο από το κουτί γιατί η ομάδα έχει προσφέρει ένα επίπεδο δικαιωμάτων που τους δίνει τη δυνατότητα να προσθέσετε/επεξεργαστείτε/διαγράψετε περιεχόμενο στην περιοχή ρίζας. Μέσω κληρονομιάς, Οι συνεισφέροντες"" ομάδα μπορεί επίσης να προσθέσετε/επεξεργαστείτε/διαγράψετε περιεχόμενο σε κάθε υπο-site. Μπορεί να "σπάσει κάποιος" την κληρονομιά αλυσίδα και αλλαγή το επίπεδο δικαιωμάτων από μια δευτερεύουσα τοποθεσία ότι μέλη του το λεγόμενο "συνεισφέρων" Ομάδα δεν μπορεί να συμβάλει σε όλα, αλλά μόνο διαβάσει (για παράδειγμα). Αυτό δεν θα ήταν μια καλή ιδέα, προφανώς, Δεδομένου ότι θα είναι πολύ συγκεχυμένη.
  • Ομάδες δεν έχουν οριστεί σε επίπεδο τοποθεσίας. Είναι εύκολο να μπερδευτείτε από το περιβάλλον εργασίας χρήστη. Η Microsoft παρέχει μια βολική σύνδεση με το χρήστη/ομάδα διαχείρισης μέσω κάθε περιοχή "άτομα και ομάδες" σύνδεση. Είναι εύκολο να πιστέψει κανείς ότι όταν είμαι στο site "xyzzy" και μπορώ να δημιουργήσω μια ομάδα μέσω του xyzzy άνθρωποι και ομάδες σύνδεση που έχω μόλις δημιουργήσει μια ομάδα που υπάρχει μόνο στο xyzzy. Αυτό δεν συμβαίνει. Πραγματικά έχω δημιουργήσει μια ομάδα για τη συλλογή του ολόκληρο το site.
  • Ομάδες μελών να μην αποκλίνει από την ιστοσελίδα (ήτοι. το ίδιο είναι παντού Ομίλου χρησιμοποιείται): Εξετάσει η ομάδα ιδιοκτήτης"" και δύο τοποθεσίες, "HR" και "Logistics". Θα ήταν φυσιολογικό να σκεφτείτε ότι δύο άτομα ξεχωριστά θα ιδίων αυτές τις τοποθεσίες — ιδιοκτήτης ΥΕ και ένας ιδιοκτήτης Logistics. Το περιβάλλον εργασίας χρήστη το καθιστά εύκολο για ένα διαχειριστή για την ασφάλεια να χειρίζομαι αυτό το σενάριο. Αν δεν ήξερα καλύτερα, Μπορεί να έχω πρόσβαση σε συνδεσμους άτομα και ομάδες, μέσω της ιστοσελίδας του HR, Επιλέξτε "ιδιοκτήτες" ομάδα και να προσθέσετε μου HR ιδιοκτήτης σε αυτή την ομάδα. Ένα μήνα αργότερα, Logistics έρχεται στη γραμμή. Έχω πρόσβαση άτομα και ομάδες από το χώρο των Logistics, Προσθέστε έλξης μέχρι οι ιδιοκτήτες"" Ομάδα. Δείτε τον ιδιοκτήτη HR εκεί και να απομακρύνει, σκέφτεται ότι είμαι απομάκρυνση της από ιδιοκτήτες επί του τόπου της εφοδιαστικής. Στην πραγματικότητα, Είμαι απομάκρυνση της από την παγκόσμια ομάδα ιδιοκτητών. Ακολουθεί ιλαρότητα.
  • Παραλείποντας να όνομα ομάδες με βάση το συγκεκριμένο ρόλο: Οι υπεύθυνοι έγκρισης"" ομάδα είναι ένα τέλειο παράδειγμα. Τι μπορώ να μέλη του αυτή έγκριση ομάδας? Όπου μπορεί να την επικυρώνουν? Θέλω πραγματικά τμήμα Logistics τους ανθρώπους να είναι σε θέση να εγκρίνει έγγραφα της HR? Φυσικά δεν. Πάντα το όνομα ομάδες με βάση το ρόλο τους μέσα στην οργάνωση. Αυτό θα μειώσει τον κίνδυνο ότι η ομάδα έχει εκχωρηθεί ένα επίπεδο ακατάλληλη δικαιωμάτων για ένα συγκεκριμένο ασφαλιζόμενο αντικείμενο. Όνομα ομάδες με βάση την προβλεπόμενη ρόλο τους. Στο προηγούμενο σενάριο HR/Logistics, Θα πρέπει να έχουν δημιουργηθεί δύο νέες ομάδες: "HR ιδιοκτήτες" και «Logistics ιδιοκτήτες" και να αναθέσετε επίπεδα για κάθε τεχνολογία λογική άδεια και το ελάχιστο ποσό που απαιτείται για εκείνους τους χρήστες να κάνουν τη δουλειά τους.

Άλλες χρήσιμες αναφορές:

Αν έχετε κάνει αυτό μακριά:

Παρακαλώ επιτρέψτε μου να γνωρίζω τις σκέψεις σας μέσω σχόλια ή email μου. Αν γνωρίζετε άλλες καλές αναφορές, παρακαλώ να κάνει το ίδιο!

Technorati Tags:

Γρήγορη και εύκολη: Δημιουργήσετε ένα τμήμα Web προβολής δεδομένων (DVWP)

Υπάρχει ένας πλούτος των μεγάλων πληροφοριών για το WSS 3.0 Τμήμα Web προβολής δεδομένων (DVWP) στο Διαδίκτυο από διάφορες πηγές. Ωστόσο, Μου φάνηκε να είναι εκπληκτικά δύσκολο να βρείτε πληροφορίες σχετικά με αυτό το πολύ βασικό πρώτο βήμα. Εδώ είναι ένα άλλο άρθρο στην "γρήγορη και εύκολη" σειρά για την αντιμετώπισή.

Ακολουθήστε τα παρακάτω βήματα για να δημιουργήσετε ένα τμήμα web προβολής δεδομένων (DVWP). Βασίζονται σε ένα "ανακοινώσεις" Τμήμα Web, αλλά ισχύει για περισσότερες λίστες.

  1. Δημιουργία ενός τμήματος web με ανακοινώσεις και να προσθέσετε σε μια τοποθεσία.
  2. Ανοίξτε την τοποθεσία στο SharePoint Designer.
  3. Ανοίξτε το site της default.aspx.
  4. Επιλέξτε το τμήμα web ανακοινώσεις και κάντε δεξί κλικ.
  5. Από το μενού περιβάλλοντος, Επιλέξτε "μετατροπή σε XSLT προβολή δεδομένων".

SharePoint Designer σας ειδοποιεί ότι αυτό το site είναι τώρα προσαρμοσμένη από τον ορισμό τοποθεσίας. Αυτό δεν είναι απαραίτητα κακό, αλλά υπάρχουν σημαντικές επιπτώσεις (απόδοση, αναβάθμιση, άλλοι) που είναι πέρα από το πεδίο αυτό λίγο "γρήγορη και εύκολη" εγγραφή. Για περισσότερες πληροφορίες σχετικά με το θέμα, Θα ήθελα να συστήσω δύο βιβλία Εδώ καθώς και σας αγαπημένο αναζήτησης στο Διαδίκτυο.

Επιβεβαιώσετε ότι θα το έκανε σωστά:

  1. Κλείστε και ανοίξτε πάλι το πρόγραμμα περιήγησης web (για την αποφυγή κατά λάθος εκ νέου απόσπαση Αρχική "add ένα νέο τμήμα web").
  2. Επιλέξτε το τμήμα web βέλος αναπτυσσόμενης και επιλέξτε "τροποποίηση κοινόχρηστου τμήματος Web" από το μενού.
  3. Το εργαλείο πάνελ που ανοίγει προς τα δεξιά.
  4. Πίνακα έχει αλλάξει από τη συνηθισμένη ρύθμιση επιλογών σε αυτό:
εικόνα

“Δεν μπορεί να πάρει η ιδιότητα στήλη χρονοδιάγραμμα λίστα από τη λίστα του SharePoint” — Περιγραφή/εργασία-arounds

Αυτή την εβδομάδα, Εμείς τέλος αναπαράγεται ένα πρόβλημα που είχε αναφερθεί από έναν απομακρυσμένο χρήστη: Όταν προσπάθησε να εξαγάγετε τα περιεχόμενα ενός καταλόγου για να υπερέχετε, τα πράγματα φαίνεται να αρχίσουν να εργάζονται, αλλά τότε το Excel θα σκάσει επάνω ένα λάθος: «Δεν μπορώ να πάρω την ιδιότητα στήλη σχήματος λίστα από τη λίστα του SharePoint». Έτρεχε γραφείο 2003, Windows XP και συνδέεστε με ΒΡΎΑ.

Έψαξα το Ίντερνετ και είδε κάποια κερδοσκοπία αλλά τίποτα 100% οριστική. Ως εκ τούτου, αυτό το post.

Το πρόβλημα: Εξαγωγή ενόψει του excel που περιέχει μια ημερομηνία (ημερομηνία = ο τύπος δεδομένων της στήλης).

Τι λειτούργησε για μας: Μετατρέψτε την ημερομηνία σε μια «ενιαία γραμμή του κειμένου". Στη συνέχεια, μετατρέψετε πίσω σε μια ημερομηνία.

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

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

Άλλες αναφορές:

http://www.kevincornwell.com/blog/index.php/cannot-get-the-list-schema-column-property-from-the-sharepoint-list/

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2383611&SiteID=1

<Τέλος>

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

Technorati Tags: ,

Γρήγορη και απλή: Στείλτε ένα μήνυμα ηλεκτρονικού ταχυδρομείου με ενσωματωμένο υπερ-σύνδεση από ροή εργασίας του SharePoint Designer

Μία ή δύο φορές το μήνα, κάποιος τοποθετεί μια ερώτηση φόρουμ: "Πώς μπορώ να συμπεριλάβω υπερ-συνδέσεις σε URL που είναι clickable από ένα ηλεκτρονικό ταχυδρομείο του SharePoint Designer?"

Παρουσιάζονται χωρίς περαιτέρω σχόλια: (καλά, στην πραγματικότητα υπάρχει περαιτέρω σχόλιο μετά από την εικόνα):

εικόνα

Becky Isserman ακολουθεί με μια χρήσιμη εξήγηση για το πώς να ενσωματώσει μια σύνδεση σε ένα στοιχείο στο ηλεκτρονικό ταχυδρομείο: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

Νέα έκδοση: Επεκτάσεις ροής εργασίας του SharePoint Designer (λειτουργίες χειρισμού string)

Η ΕΝΗΜΕΡΩΜΈΝΗ ΈΚΔΟΣΗ: Δείτε εδώ για τις σκέψεις μου για την εμπορευματοποίηση αυτού του έργου: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Έχω ήδη απασχολημένος που εργάζονται για το έργο μου Codeplex, η οποία είναι επί του παρόντος επικεντρώνεται στην παροχή string χειραγώγησης επεκτάσεις σε ροές εργασιών που δημιουργήθηκε μέσω του SharePoint Designer.

Δείτε εδώ για λεπτομέρειες:

Σπίτι του έργου: http://www.codeplex.com/spdwfextensions

Απελευθέρωση: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Έκδοση 1.0 περιλαμβάνει τα ακόλουθα νέα χαρακτηριστικά:

Λειτουργία Περιγραφή (Αν δεν ίδια ως λειτουργία .net)
NUM-εγγραφές() Επιστρέφει ο αριθμός "καταχωρήσεις" σε μια συμβολοσειρά σύμφωνα με ένα καθορισμένο οριοθέτη.

Για παράδειγμα: NUM-εγγραφές σε μια συμβολοσειρά "a,β,c" με διαχωριστικό"," = 3.

Εγγραφή() Αποδίδει το νιοστό διακριτικό μιας συμβολοσειράς σύμφωνα με ένα καθορισμένο οριοθέτη.
Μήκος String.Length
Αντικατάσταση() String.Replace()
Περιέχει() String.Contains()
Επιστρέφει τη λέξη "true" ή τη λέξη "ΛΑΘΟΣ".
Δευτερεύουσα συμβολοσειρά(έναρξη) String.Substring(έναρξη)
Δευτερεύουσα συμβολοσειρά(έναρξη,μήκος) String.Substring(έναρξη,μήκος)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Επιστρέφει τη λέξη "true" ή τη λέξη "ΛΑΘΟΣ".
EndsWith() String.EndsWith()
Επιστρέφει τη λέξη "true" ή τη λέξη "ΛΑΘΟΣ".

Σφάλμα χρόνου εκτέλεσης BDC εξήγησε

Μου προκάλεσε ένα σφάλμα BDC αυτή την εβδομάδα το που εκδηλώθηκε στη διεπαφή χρήστη και εν τη 12 Κυψέλη καταγραφής κατά το χρόνο εκτέλεσης.

Πρώτη, αυτό εμφανίστηκε στο περιβάλλον εργασίας χρήστη:

Δεν ήταν δυνατή η εύρεση πεδίων για εισαγωγή όλων των τιμών αναγνωριστικού για τη σωστή εκτέλεση μιας Εμφάνισης_μεθόδου Ειδικής_εύρεσης με όνομα … Εξασφαλιστεί παράμετροι εισαγωγής έχουν TypeDescriptors συσχετισμένους με κάθε αναγνωριστικό που έχει οριστεί για αυτή την οντότητα.

Εδώ είναι ένα στιγμιότυπο οθόνης:

clip_image001

Μπορούσε, επίσης, να προκαλέσει αυτό το μήνυμα να εμφανίζεται σε το 12 Κυψέλη καταγραφής στο θα (χρησιμοποιώντας μου κατοχυρωμένη με δίπλωμα ευρεσιτεχνίας high-tech-don't-try-this-at-home "μυστηριώδεις λάθη" μέθοδος):

11/14/2007 09:24:41.27 W3wp.exe (0x080C) 0x0B8C του SharePoint Portal Server επιχειρηματικών δεδομένων υψηλής εξαίρεση 6q4x στο BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Η τιμή του αναγνωριστικού ”, τύπου ”, δεν είναι έγκυρη. Αναμενόμενη τιμή αναγνωριστικού του τύπου 'System.String'. στο Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Αντικείμενο[] subIdentifierValues, LobSystemInstance lobSystemInstance) στο Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Οντότητα οντότητα, Αντικείμενο[] userValues, LobSystemInstance lobSystemInstance) στο Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Προβολή desiredView) στο Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() στο Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Έψαξα γύρω και βρήκα μερικές οδηγεί σε το Φόρουμ MSDN, αλλά δεν ήταν αρκετό για μένα να καταλάβω τι έκανα λάθος. Είδα μια εκπομπή στο Web με TED Pattison που μου εταιρεία έχει squirreled μακριά σε ένα διακομιστή και ήρθε να συνειδητοποιήσει το πρόβλημα μου.

Στο ADF μου, Είμαι σύνδεση σε μια βάση δεδομένων SQL, όπως φαίνεται:

            <Ιδιότητα Όνομα="RdbCommandText" Τύπος="System.String">
              <![CDATA[
                ΕΠΙΛΈΞΤΕ SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      ΧΏΡΑ, ΔΙΕΎΘΥΝΣΗ1, 2Η ΔΙΕΎΘΥΝΣΗ, ADDRESS3, ADDRESS4, ΠΌΛΗ, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      ΚΟΜΗΤΕΊΑ, ΚΡΆΤΟΣ, ΤΑΧΥΔΡΟΜΙΚΉ, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, ΤΗΛΈΦΩΝΟ, ΕΠΈΚΤΑΣΗ, ΦΑΞ, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG από dbo.PS_CARRIER_ID_VW με (nolock)
                ΌΠΟΥ
                  (SETID <> "ΜΕΤΟΧΉ") και
                  (χαμηλότερη(CARRIER_ID) >= κάτω(@MinId)) και
                  (χαμηλότερη(CARRIER_ID) <= κάτω(@MaxId)) και
                  (χαμηλότερη(DESCR) ΉΘΕΛΑ να κατώτερο(@InputDescr))
                ]]>
            </Ιδιότητα>

Έδωσα ήταν ότι SQL από ένα πρόσωπο DBA και αν κατάλαβα καλά, ότι είναι ένα ειδική Προβολή δημιούργησαν μόνο για μένα. Το μοναδικό κλειδί, εκεί είναι CARRIER_ID.

Εδώ είναι το ζωύφιο που εισήγαγα:

      <Αναγνωριστικά>
        <Αναγνωριστικό Όνομα="CARRIER_ID" Όνομα τύπου="System.String" />
        <Αναγνωριστικό Όνομα="DESCR" Όνομα τύπου="System.String" /> 
</Αναγνωριστικά>

Κάπου κατά μήκος της γραμμής, Είχα καταφέρει να συγχέουμε τον εαυτό μου πάνω από την έννοια του <Αναγνωριστικά> και πρόσθεσε DESCR, ακόμα κι αν δεν είναι στην πραγματικότητα ένα αναγνωριστικό. Πήρα DESCR από τα αναγνωριστικά σύνολο και presto! Δούλεψε όλα.

Ελπίζω να σώσει κάποιον κάποια θλίψη 🙂

Technorati Tags: , , ,

Σας άπιαστες Reach του SharePoint

Κατά τη διάρκεια των τελευταίων δύο ημερών, Έχω συμμετάσχει σε δύο συνεδριάσεις κατά την οποία παρουσιάσαμε τα αποτελέσματα ενός έργου του SharePoint. CIO και η ομάδα ένωσε την πρώτη συνεδρίαση. Που είναι πρότυπο και δεν είναι ιδιαίτερα αξιοσημείωτες. Το τμήμα ΤΠ είναι προφανώς εμπλέκονται σε μια επιχείρηση εγκατάσταση οποιουδήποτε έργου τεχνολογία. Η δεύτερη συνάντηση επεκταθεί για να συμπεριλάβει ένα V.P. από την εμπορία, αρκετές διευθυντές που εκπροσωπούν τις HR, Logistics, Κατασκευή, Έργα, Ποιότητα, Αγορά, Εταιρική ανάπτυξη και άλλα τμήματα (Μερικοί από τους οποίους δεν είχαν εμπλακεί άμεσα στην παρούσα φάση). Αυτό είναι ένα ισχυρό ευρύ κοινό.

Στην προηγούμενη ζωή μου, Κυρίως εργάστηκε για έργα ERP και CRM. Και οι δύο έχουν ένα αρκετά ευρύ λύση τομέα αλλά δεν είναι τόσο ευρύ όσο SharePoint. Να υλοποιηθεί πλήρως, Έργα του SharePoint, νόμιμα και απαραίτητα φθάσει σε κάθε γωνία και σχισμή ενός οργανισμού. Πόσες άλλες λύσεις για επιχειρήσεις έχουν θεόρατες είδος? Πολλοί δεν.

SharePoint αποτελεί σαφώς μια τεράστια ευκαιρία για όσους από εμάς αρκετά τυχεροί να είστε σε αυτό το χώρο. Παρέχει μια μεγάλη τεχνική ευκαιρία (που είναι κατά κάποιο τρόπο να ενεργοποιηθεί για το κεφάλι Εδώ στο πλαίσιο "Τεχνολογίες πρέπει να κυριαρχήσετε"). Αλλά ακόμα καλύτερα, SharePoint μας εκθέτει μια εκτεταμένη και το ευρύ φάσμα των επιχειρηματικών διαδικασιών μέσα από αυτές τις δεσμεύσεις. Πόσοι ειδικοί CRM λειτουργεί με την πλευρά της εταιρείας? Πόσες ERP σύμβουλοι δουλέψω με ανθρώπινο δυναμικό ταλέντο απόκτηση? SharePoint υπερβαίνει τους δύο.

Όπως τίποτα, δεν είναι τέλειο, αλλά είναι μια κολασμένων καλό μέρος για να είναι.

Για την αγάπη του [Συμπληρώστε ότι σας πιο αγαπημένο πρόσωπο/ανώτερο που], δεν αλλάζουν το «τίτλος’ στήλη τοποθεσίας.

Σχετικά με την Φόρουμ του SharePoint, περιστασιακά κάποιος ρωτά σχετικά με την «αλλαγή στην ετικέτα του τίτλου" ή περίπου «Κατάργηση τίτλου από λίστες».

Κάτω γραμμή: Μην το κάνετε!

Δυστυχώς, το περιβάλλον εργασίας χρήστη επιτρέπει σε μονόδρομο αλλαγή η ετικέτα στήλης όπως φαίνεται:

εικόνα

Τίτλος είναι μια στήλη που σχετίζεται με το είδος»" τύπος περιεχομένου. Πολλές, πολλές, Πολλοί της CT Χρησιμοποιήστε αυτήν τη στήλη και το αν αλλάξετε εδώ, αυτό κυματισμοί έξω παντού. Υπάρχει μια καλή πιθανότητα ότι δεν είχε την πρόθεση για να συμβεί αυτό. Ήσαστε πιθανώς σκέψης για τον εαυτό σας, "Έχω μια λίστα αναζήτησης συνήθειας και «τίτλος’ απλά δεν έχει νόημα ως όνομα στήλης, έτσι είμαι πρόκειται να τον αλλάξετε «κωδικός κατάστασης’ και να προσθέσετε μια στήλη Περιγραφή." Αλλά εάν ακολουθείτε μέσα από αυτή τη σκέψη και μετονομάστε «τίτλος’ να «Κωδικό κατάστασης», κάθε λίστα του τίτλου (συμπεριλαμβανομένων των βιβλιοθηκών εγγράφων) αλλαγές στο «κώδικα κατάστασης" και εσείς πιθανότατα δεν πρόκειται για να συμβεί κάτι τέτοιο.

Το πραγματικό πρόβλημα είναι ότι πρόκειται για μια αλλαγή κατεύθυνσης. Το UI "ξέρει" τον τίτλο αυτό»" είναι μια δεσμευμένη λέξη. Έτσι, Αν δοκιμάσετε και αλλάξετε κωδικό κατάστασης»" Πίσω στο «Τίτλος», θα σας αποτρέψει και τώρα έχετε ζωγράφισε τον εαυτό σας σε μια γωνιά using paint that never dries 🙂

Τι συμβαίνει εάν δεν τα έχετε αλλάξει ήδη? Δεν έχω δει την απάντηση που όλοι θέλουμε, που είναι ένας απλός και εύκολος τρόπος για να επαναφέρετε την ετικέτα «Τίτλος». Αυτή τη στιγμή, η καλύτερη συμβουλή είναι να το αλλάξετε σε κάτι σαν "Doc/στοιχείο τίτλος". Αυτό είναι μια αρκετά γενική ετικέτα που μπορεί να μην είναι πολύ αταίριαστος για τους χρήστες σας.

Έχω μερικές άλλες ιδέες που είναι στη λίστα εκκρεμών εργασιών πράγματα για την έρευνα:

  • Επικοινωνία με τη Microsoft.
  • Κάνει κάτι με το μοντέλο αντικειμένου, ίσως σε συνδυασμό με μια δυνατότητα.
  • Διάγραμμα που το σχήμα της βάσης δεδομένων και να ενημερώσετε με μη αυτόματο τρόπο SQL. (Θα πρέπει να επικοινωνήσετε με Microsoft πριν κάνουν αυτό όμως; αυτό πιθανότατα θα άκυρη συμβόλαιο υποστήριξης).

Αν κάποιος ξέρει πώς να λυθεί αυτό, Παρακαλούμε να στείλετε ένα σχόλιο.

Ενημέρωση αργά το απόγευμα, 11/15: Βρήκα αυτή τη σύνδεση που περιγράφει μια μέθοδο για τη δημιουργία ενός τύπου που δεν διαθέτει μια στήλη τίτλος της λίστας: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF και το φίλο σας, CDATA

Έχω παρατηρήσει κάποια δύσκολη και περιττή χέρι-κωδικοποίησης της RdbCommandText σε μερικά παραδείγματα (συμπεριλαμβανομένων των MSDN τεκμηρίωση).

Θα ήθελα να επισημάνω στους νεοφερμένους να BDC ότι εντολές μπορεί να είναι τυλιγμένο μέσα μια ετικέτα CDATA στη φυσική τους»" μορφή. Έτσι, Αυτή η δύσκολη κατασκευή:

<Ιδιότητα Όνομα="RdbCommandText" Τύπος="System.String">
Επιλέξτε dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.settlement από dbo.MCRS_SETTLEMENT
ΌΠΟΥ (αναγνωριστικό &gt;= @MinId) ΚΑΙ (αναγνωριστικό &lt;= @MaxId)
</Ιδιότητα>

να εκπροσωπείται καλύτερα τον τρόπο αυτό:

<Ιδιότητα Όνομα="RdbCommandText" Τύπος="System.String">
<![CDATA[
Επιλέξτε dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.settlement από dbo.MCRS_SETTLEMENT
ΌΠΟΥ (αναγνωριστικό >= @MinId) ΚΑΙ (αναγνωριστικό <= @MaxId)
]]>
</Ιδιότητα>

</Τέλος>

Αστάρι BDC

Εισαγωγή στην BDC

Λειτουργικό παράδειγμα: ADF BDC που συνδέεται με τη βάση δεδομένων SQL με ενσωματωμένο user αστυνομική ταυτότητα και κωδικός πρόσβασης

Είχα ανάγκη να σύρμα μέχρι ΒΡΎΑ σε μια βάση δεδομένων SQL μέσω BDC. Για σκοπούς δοκιμής POC /, Θα ήθελα να ενσωματώσετε το αναγνωριστικό χρήστη του SQL λογαριασμού και τον κωδικό πρόσβασης στο ADF. Ξεκινώντας με αυτό το πρότυπο (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Δημιούργησα ένα ADF που συνδέεται με μια συγκεκριμένη παρουσία του SQL server και να συνδέεται με ένα συγκεκριμένο χρήστη id και κωδικό πρόσβασης και φαίνεται στο απόσπασμα αυτό:

  <Παρουσίες του LobSystemInstances>
    <LobSystemInstance Όνομα="ClaimsInstance">
      <Ιδιότητες>
        <Ιδιότητα Όνομα="AuthenticationMode" Τύπος="System.String">Ενεργοποιημένη η διέλευση</Ιδιότητα>
        <Ιδιότητα Όνομα="DatabaseAccessProvider" Τύπος="System.String">SqlServer</Ιδιότητα>
        <Ιδιότητα Όνομα="Αρχείο προέλευσης δεδομένων RdbConnection" Τύπος="System.String">πραγματική serveractual παρουσία</Ιδιότητα>
        <Ιδιότητα Όνομα="Αρχική RdbConnection Κατάλογος" Τύπος="System.String">πραγματική αρχικός κατάλογος</Ιδιότητα>
        <Ιδιότητα Όνομα="RdbConnection ολοκληρωμένη ασφάλεια" Τύπος="System.String">SSPI</Ιδιότητα>
        <Ιδιότητα Όνομα="RdbConnection συγκέντρωση" Τύπος="System.String">ψευδές</Ιδιότητα>

        <!-- Αυτές είναι οι βασικές τιμές: -->
        <Ιδιότητα Όνομα="ID χρήστη RdbConnection" Τύπος="System.String">έναΚαταχωρήστε το ID χρήστη</Ιδιότητα>
        <Ιδιότητα Όνομα="RdbConnection κωδικό πρόσβασης" Τύπος="System.String">πραγματικό κωδικό πρόσβασης</Ιδιότητα>
        <Ιδιότητα Όνομα="RdbConnection Trusted_Connection" Τύπος="System.String">ψευδές</Ιδιότητα>

      </Ιδιότητες>
    </LobSystemInstance>
  </Παρουσίες του LobSystemInstances>

Δεν πρόκειται για μια καλύτερη πρακτική, αλλά είναι χρήσιμο για μια γρήγορη και απλή ρύθμιση παραμέτρων για τη δοκιμή. Αυτό ήταν εκπληκτικά δύσκολο να καταλάβω. Βρήκα ποτέ ένα λειτουργικό παράδειγμα με λέξεις-κλειδιά αναζήτησης:

  • ADF ενσωματωμένα userid και κωδικός πρόσβασης
  • ενσωματώσετε το αναγνωριστικό χρήστη και τον κωδικό πρόσβασης στο adf
  • ενσωματώσετε το αναγνωριστικό χρήστη και τον κωδικό πρόσβασης στο adf bdc
  • SharePoint bdc αστάρι
  • SharePoint ενσωματώσετε το αναγνωριστικό χρήστη και τον κωδικό πρόσβασης στο adf

</Τέλος>

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