Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

βιβλίο που να εξηγεί σε βάθος CAML

Îåêßíçóå áðü ôï ìÝëïò Underwater. Τελευταία δημοσίευση από το μέλος eliasm στις 11-03-2011, 09:11. Υπάρχουν 10 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  09-03-2011, 14:01 64061

    βιβλίο που να εξηγεί σε βάθος CAML

    Ξέρει κανείς για κάποιο βιβλίο που να εξηγεί σε βάθος CAML (Collaborative Application Markup Language)? 

    Προσπαθώ να καταλάβω εάν είναι καλύτερος τρόπος να αναπτύξει κανείς custom fields, content types, lists, κλπ σε σχεση με Server Side Object Model, και δεν έχω βρει ακόμα βιβλίο που να το παρουσιάσει σε βάθος


    “Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.”
    (Mosher’s Law)
  •  09-03-2011, 14:54 64068 σε απάντηση της 64061

    Απ: βιβλίο που να εξηγεί σε βάθος CAML

    H CAML είναι μόνο ένα κομμάτι (το definition) της ανάπτυξης για SharePoint. Όσα ρωτάς είναι ξεχωριστές έννοιες οι οποίες σε κάποιο σημείο απεικονίζονται σε CAML όταν θελήσεις να φτιάξεις ένα package. Αλλού θα πρέπει να ψάξεις για content types κλπ και αλλού για το reference της CAML. Επιπλέον, η ίδια η CAML έχει φτιαχτεί κάπως .... εξελικτικά και έχει παραξενιές. Η ίδια γλώσσα χρησιμοποιείται και για να ορίσεις λίστες και για site templatesκαι για να κάνεις queries, με μικρές ασυμβατότητες από σημείο σε σημείο.

    Όσο για βιβλία, χθες κιόλας ανεβάσαμε ανακοίνωση ότι ο O'Reilly δίνει 8 ebooks με 50% έκπτωση. Από αυτά, το Inside Microsoft® SharePoint® 2010 είναι το πιο core και ένα από τα βασικά βιβλία για SharePoint. Δεν λέω ότι είναι το καλύτερο, αλλά είναι ένα βιβλίο που πρέπει να πάρεις, ειδικά τώρα που έχει έκπτωση. Κάποια κεφάλαια θα τα βρεις επίσης στο MSDN

     Το Designing Solutions for Microsoft SharePoint 2010 απευθύνεται περισσότερο σε architects και είναι ουσιαστικά τα βασικά τμήματα του online guidance για SharePoint 2010 από το Patterns & Practices. Μπορείς να διαβάσεις το guidance στο Developing Applications for SharePoint 2010 δωρεάν, αν και υποψιάζομαι ότι το βιβλίο έχει πολύ καλύτερη δομή. Χωρίς πίνακα περιεχομένων όμως, δεν μπορώ να ξέρω. Δεν θα βρεις εκεί τί είναι η CAML ή πως να τη χρησιμοποιήσεις, αλλά πως να φτιάξεις repositories που θα εκτελούν custom LINQ ή CAML κλπ.

    Η πιο σίγουρη πηγή (όχι απαραίτητα και η πιο εύκολη) είναι το SharePoint 2010 SDK. Ειδικά η κατηγορία Building Blocks περιγράφει με αρκετή λεπτομέρεια (αλλά αλφαβητική σειρά) τί είναι Content Type, Lists κλπ. Η κατηγορία Development in Depth μετά μπαίνει σε μεγαλύτερο βάθος.

    Γενικά, το υλικό που βγαίνει από τη Microsoft έχει το "κουσούρι" ότι ξεχωρίζει admin από dev content. Δεν μπορείς όμως να δουλέψεις, ούτε καν να καταλάβεις τί διαβάζεις, αν δεν ξέρεις τί είναι ... λίστα. Γι αυτό θα σου πρότεινα να δεις και τα Administrator Companions πριν χωθείς για τα καλά στο development.

    Τέλος, να ευχηθώ "καλό κουράγιο". Το SharePoint είναι λίγο ... ωκεανός για να το μάθεις.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  10-03-2011, 12:11 64088 σε απάντηση της 64061

    Απ: βιβλίο που να εξηγεί σε βάθος CAML

    Λοιπόν φίλε επειδή είχα ακριβός το ίδιο ερώτημα με το δικό σου πριν αρκετούς μήνες  , και μετά από αρκετή έρευνα   και αφού παρακολούθησα και το course  για Sharepoint 2010 Development της Microsoft  και διάβασα αρκετά βιβλία έβγαλα τα εξής συμπεράσματα.

    1) Μπορείς να φτιάξεις την εφαρμογή σου με όπιο τρόπο θέλεις , είτε με XML είτε με το Server Side Object Model. Η κάθε περίπτωση  , σου λύνει διαφορετικά προβλήματα
    2) Η Microsoft συστήνει να παίξεις με Server Side object model.  Πίστεψέ με είναι ο πιο ασφαλής τρόπος  και σε γλυτώνει από πολλά προβλήματα τουλάχιστον στη αρχή . Στη πορεία θα δεις ότι
    θα μπορείς να κάνεις πιο "υβριδικά" project  με XML και κώδικα με απίστευτες δυνατότητες .

    Μέχρι στιγμής αυτό που ψάχνεις μπορείς να το βρεις στο MSDN  , στα official Course της Microsoft και φυσικά σε ένα βιβλίο που για μένα μέχρι στιγμής είναι αντικατάστατο "Sharepoint Development With Visual Studio 2010"  ISBN-13: 978-0-321-71831-0

    Εντός της ημέρας θα ανεβάσω και στο blog ( http://blog.netmechanics.gr ) μου το πως περιγράφονται τα "πεδία" (fields) με XML .

    Πάντως να ξέρεις ότι αυτό είναι μόνο η αρχή του παγόβουνου...

  •  10-03-2011, 12:20 64090 σε απάντηση της 64061

    Απ: βιβλίο που να εξηγεί σε βάθος CAML

    ΑΑαα και φυσικά να κατεβάσεις αυτό το Free προγραμματάκι

    http://www.u2u.net/Tools/wincamlquerybuilder/CamlQueryBuilder.aspx

    Με αυτό μπορέις να φτιάξεις πολή εύκολα  CAML query  και να τα ενσωματώσεις στο Sharepoint
  •  10-03-2011, 12:51 64093 σε απάντηση της 64088

    Απ: βιβλίο που να εξηγεί σε βάθος CAML

    Μάλλον υπάρχει κάποια παρανόηση στο τί είναι η CAML, τί κάνει το object model και τί σημαίνει "φτιάχνω εφαρμογή". Το σίγουρο είναι ότι η Microsoft δεν "προτείνει το server side object model" ούτε υπάρχουν "υβριδικά project". Όλα τα project χρησιμοποιούν κάποια από τις μορφές της CAML, απλά μερικές φορές δεν φαίνονται - μέχρι να σκάσει κάτι.

    Όταν μιλάμε για CAML αναφερόμαστε σε αρκετά διαφορετικά πράγματα:

    1. Στην γλώσσα με την οποία περιγράφεται ένα site για λόγους deployment. Με αυτή ασχολείται κανείς όταν γράφει features, site definitions, list definitions, content types κλπ. (Site Schema)
    2. Στη γλώσσα με την οποία κάνεις query τις λίστες ενός ήδη υπάρχοντος site. Σχετικά δες το Query Schema στο SDK. Το CAMLQueryBuilder της U2U δημιουργεί μόνο αυτή τη μορφή CAML.
    3. Στη γλώσσα με την οποία ορίζεις τις λίστες και τα πεδία τους (List Schema).
    4. Στη γλώσσα με την οποία ορίζεις views. Αυτή έχει αντικατασταθεί πλήρως με XSLT στο SharePoint 2010 αλλά υπάρχει ακόμα. (View Schema)
    5. Στη γλώσσα με την οποία ορίζεις πως θα γίνουν render σε HTML τα πεδία μίας λίστα. (HTML Rendering Elements).
    6. Διάφορα άλλα schemas τα οποία συνήθως χρησιμοποιείς σε ένα solution για να ορίσεις content types, features, solutions

    Ουσιαστικά δεν μιλάμε για μία γλώσσα, αλλά για συμμάζεμα schemas κάτω από το ίδιο όνομα, με παρόμοια σύνταξη μεταξύ διαφόρων tags(π.χ. το FieldReference στα #1, #2, #3)

    Τις μορφές #1, #3, #6 τις χρησιμοποιείς απαραίτητα όταν θέλεις να φτιάξεις ένα wsp solution το οποίο μπορεί να γίνει deploy στη φάρμα χρησιμοποιώντας τους μηχανισμούς του SharePoint. Είναι απαραίτητες για να ορίσεις πεδία, content types, λίστες, site templates κλπ. Όλα τα templates και packages που κυκλοφορούν βασίζονται σε αυτές τις μορφές CAML.
        Τα SharePoint 2010 templates στο Visual Studio προσπαθούν να κρύψουν την CAML, χωρίς ιδιαίτερη επιτυχία, καθώς υπάρχουν πάντα περιπτώσεις που πρέπει να κάνεις αλλαγές και στον package explorer και μετά να ανοίξεις τα αρχεία που φτιάχνει για να διορθώσεις λανθασμένα GUIDs και αναφορές.
        Όσοι καταλαβαίνουν CAML συνήθως προτιμούν το WSP Builder γιατί δεν προσπαθεί να "κρύψει" την XML αλλά διευκολύνει το πακετάρισμα του wsp. Αντί π.χ. να σε αναγκάζει να ορίσεις τα πάντα σε CAML, θεωρεί πως οτιδήποτε βρισκεται στο folder CONTROLTEMPLATES θέλεις να εγκατασταθεί στο CONTROLTEMPLATES στο server και δημιουργεί το αντίστοιχο wsp. Ακόμα και τα εργαλεία της Microsoft έχουν αντιγράψει σε μεγάλο βαθμό την φιλοσοφία του WSP Builder.

    Τη μορφή #2 τη χρησιμοποιείς όταν κάνεις queries με το server side object model. Το CAML Query Builder παράγει μόνο CAML για queries. Από την άλλη, όπου μπορείς να χρησιμοποιήσεις LINQ to SharePoint κάντο.

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  10-03-2011, 14:03 64095 σε απάντηση της 64093

    Απ: βιβλίο που να εξηγεί σε βάθος CAML

    Αυτό που ενοούσα εφαρμογή δεν ήταν άλλο από το "Solution" του Sharepoint.
    Σε κάνενα από τα courses της  Microsoft  για Developers ΔΕΝ περιγράφη την κατασκευή πεδίων , λιστών , views με την βοήθεια XML.
    "Υβριδικά" ενούσα το γεγονός  οτι υπάρχουν πράγματα που δεν μπορείς να τα κανεις με XML  και το αντίθετω.
  •  10-03-2011, 16:22 64100 σε απάντηση της 64095

    Απ: βιβλίο που να εξηγεί σε βάθος CAML

    Μάλλον δεν κατάλαβες πως ακριβώς δουλεύουν τα SharePoint solutions. Δεν φτιάχνοται με τη "βοήθεια" XML, είναι XML. Αυτό περιγράφεται και στο SDK(Building Blocks: Web Sites and Site Collections, Lists and Document Libraries, Manually Creating a Solution) στα courses (Course 10175A: Application Development, Module 2, Course 10232A: Designing & Developing, Module 7: Designing Packaging, Course 50478A: Advanced Foundation Development, Module 7:Features and solutions )και σε όλα τα βιβλία καθώς είναι από τις πιο βασικές έννοιες. Όταν φτιάχνεις ένα feature ή μία λίστα στο Visual Studio, CAML δημιουργείται από πίσω.

    Είναι λογικό πάντως να ξεφύγει η σημασία της CAML σε ένα course καθώς γενικά το καλύπτουν επιδερμικά ή το παρακάμπτουν εντελώς στα εισαγωγικά courses. Για παράδειγμα, το App Dev course δεν αναφέρει καθόλου content types


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  10-03-2011, 16:57 64101 σε απάντηση της 64100

    Απ: βιβλίο που να εξηγεί σε βάθος CAML

    Μπορείς επίσης να δεις και το SharePoint 2010 Developer Training Kit, το οποίο είναι γεμάτο presentations και Labs. Το module Lists and Schemas περιγράφει πως φτιάχνεις λίστες και features χρησιμοποιώντας τo List schema της CAML. Τα Content Types καλύπτονται ως "Enterprise Content Types" στο Enterprise Content Management, χωρίς κάποιο αντίστοιχο Lab.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  10-03-2011, 21:42 64117 σε απάντηση της 64101

    Απ: βιβλίο που να εξηγεί σε βάθος CAML

    ευχαριστώ και τους δυο για τις αναλυτικές απαντήσεις,

    Σχετικά με τα βιβλία, όντος το «Inside SharePoint» φαίνεται να είναι πολύ καλό, είχα κοιτάξει λίγο το “SharePoint 2010 as a Development Platform” τις APRESS (978-1-4302-2706-9) αλλά μου φαινόταν δύσκολο για αρχή.  Θα κοιτάξω τους τίτλους που προαναφέρθηκαν

    Άλλη απορία….  Θα μπορούσε το Silverlight με το Client Object Model να θεωρηθεί σαν ποιο εύκολος μονοπάτι για να ασχοληθεί κάποιος με SharePoint Development? Με εξαίρεση το θέμα του ότι τα πράγματα θα είναι λίγο ποιο μπερδεμένα λόγο του θα είναι asynchronous, το model του XAML για να φτιαχτούν φόρμες, με συνδυασμού την ευκολία του Silverlight Web part μου φαίνεται για κάτι αρκετά καλό.

     


    “Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.”
    (Mosher’s Law)
  •  10-03-2011, 22:00 64118 σε απάντηση της 64117

    Απ: βιβλίο που να εξηγεί σε βάθος CAML

    Το Silverlight στην ουσία είναι μία εξωτερική desktop εφαρμογή η οποία επικοινωνεί με το SharePoint μέσω web services. Κατά συνέπεια δεν μπορείς να το χρησιμοποιήσεις για ο,τιδήποτε έχει να κάνει με το server, π.χ. ορισμό λιστών, event handlers, web parts κλπ. Από την άλλη, όταν ένας πελάτης ζητάει SharePoint ζητάει το portal, όχι τις custom φόρμες.

    Το SharePoint δεν είναι σε καμμία περίπτωση μία εύκολη εφαρμογή και θέλει αρκετή εμπειρία για να πεις ότι το έχεις μάθει. Αν θέλεις να ξεκινήσεις από κάποιο πιο εύκολο δρόμο, θα πρέπει να δεις πως δημιουργούνται sites, λίστες, σελίδες κυρίως μέσω του web interface και λιγότερ μέσω SharePoint Designer. Ο κώδικας και η CAML είναι για πολύ "προχωρημένες" καταστάσεις, όταν έχεις εξοικειωθεί πλήρως με όσα σου δίνει το web interface.

    Γνωρίζω ότι τα βιβλία και τα courses της Microsoft δεν αναφέρονται στο web interface επειδή το θεωρούν κομμάτι του administrator να μην πω ... του τελικού χρήστη. Μπαρμπούτσαλα, να μη πω πιο βαρειά κουβέντα. Όποιος έβγαλε το curriculum προφανώς δεν ζει φτιάχνοντας sites, ζει φτιάχνοντας μαθήματα για sites. Το 80% της ανάπτυξης στο SharePoint γίνεται κυρίως στο web interface και τον SharePoint designer. Αν δεν τα μάθεις αυτά, το πως να φτιάχνεις web parts είναι πολυτέλεια.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  11-03-2011, 09:11 64121 σε απάντηση της 64118

    Απ: βιβλίο που να εξηγεί σε βάθος CAML

    Παναγιώτης Καναβός:

    Γνωρίζω ότι τα βιβλία και τα courses της Microsoft δεν αναφέρονται στο web interface επειδή το θεωρούν κομμάτι του administrator να μην πω ... του τελικού χρήστη. Μπαρμπούτσαλα, να μη πω πιο βαρειά κουβέντα. Όποιος έβγαλε το curriculum προφανώς δεν ζει φτιάχνοντας sites, ζει φτιάχνοντας μαθήματα για sites. Το 80% της ανάπτυξης στο SharePoint γίνεται κυρίως στο web interface και τον SharePoint designer. Αν δεν τα μάθεις αυτά, το πως να φτιάχνεις web parts είναι πολυτέλεια.

    Θα συμφωνήσω με τον Παναγιώτη, θα πρεπει πρωτα να μαθεις και να εξαντλησεις  τι μπορεις να κανεις με το web interface και τον SharePoint designer.

    Δυο καλά βιβλία που εχω άποψη είναι το SharePoint 2010 Administration της Wrox , δεν μπαινει πολύ σε βαθος αλλα μπορεις  να καταλάβεις πως  λειτουργεί  και μαθεις αρκετα πράγματα για το διαχειριστικό κομμάτι  και το SharePoint 2010 Development with  Visual Studio 2010 της Addison-Wesley το οποιο εχει πολύ καλή δομή και έχει καλή αναφορά στο object model  αλλα και τα content types

     


    Don't try to argue with the machine
    Elias Markelis
    MCPD,MCT
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems