<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SharePoint Development</title><link>https://www.dotnetzone.gr:443/cs/forums/95/ShowForum.aspx</link><description>Ανάπτυξη εφαρμογών / λύσεων βασισμένες στα Windows SharePoint Services (WSS) και τον SharePoint Portal Server</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: List Definitions σε (C Sharp) κώδικα η με CAML ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/67694.aspx</link><pubDate>Mon, 10 Oct 2011 01:49:15 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:67694</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/67694.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=95&amp;PostID=67694</wfw:commentRss><description>Χμμμμμμμμμμμμμμμμμμμμμμ, η μεγάλη ερώτηση. Προφανώς, χρησιμοποιώντας CAML έχεις μία "no-code", αν μπορείς να το πεις έτσι, μέθοδο, η οποία επιδέχεται κάποιου είδους version control και μπορεί να ελεγχθεί ως ένα σημείο από το Sharepoint κατά το deployment. Δεν έχεις όμως τη δυνατότητα να κάνεις upgrade διάφορα definitions, να προσθέσεις/αφαιρέσεις πεδία, να αλλάξεις τύπους, να κάνεις migrate δεδομένα και content types, και πολλές άλλες απαραίτητες εργασίες. Ακόμα και αν θέλεις να φτιάξεις ένα publishing site, είναι ευκολότερο να ενεργοποιήσεις το Publishing μέσω κώδικα παρά να το κάνεις με CAML. Τελικά απλά δεν αρκεί το CAML για να πεις ότι θα φτιάξεις ένα επαρκές πακέτο για deployment.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Από την άλλη, με κώδικα μπορείς να κάνεις πολύ περισσότερους ελέγχους, όπως να ελέγξεις αν υπάρχουν τα πεδία που θέλεις, να προσθέσεις νέα, να κάνεις upgrade στήλες και content types και πολλά άλλα. Το "κακό" είναι ότι θα πρέπει να κάτσεις να γράψεις ουσιαστικά ένα δικό σου deployment framework για να κάνει όλα αυτά τα πράγματα, εκτός και αν έχεις σκοπό να ξαναγράφεις τον ίδιο κώδικα κάθε φορά που φτιάχνεις ένα καινούριο project. Άλλος πονοκέφαλος είναι ότι υπάρχουν πάρα πολλές ρυθμίσεις που μπορείς να κάνεις κατά το deployment, είτε μέσω CAML είτε μέσω κώδικα.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Είχα δοκιμάσει αυτή τη λύση παλιότερα, φτιάχνοντας "κάτι σαν μίνι DSL" για Sharepoint, όπου όριζα τη δομή πχ. μίας λίστας με τον παρακάτω τρόπο στον κώδικα:&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;var list=Site.List(&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"MyList"&lt;/span&gt;, ListType)
                .Field(&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"MyField1"&lt;/span&gt;,Integer)
                .Field(&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"MyField2"&lt;/span&gt;,Text,20)
                .LookupField(&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"MyLookupField"&lt;/span&gt;,&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"MyLookupID"&lt;/span&gt;,&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"MyDisplayField"&lt;/span&gt;)&lt;/span&gt;&lt;/pre&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Και μετά καλούσα μία Update για να δημιουργήσω όσα πεδία λείπανε, ή και όλη τη λίστα αν δεν υπήρχε. Για εμένα που είχα φτιάξει τον κώδικα τα πάντα ήταν ξεκάθαρα. Για κάποιον άλλο όμως, σίγουρα θα χρειαζόταν κάποια εξοικείωση. Επιπλέον, από τη στιγμή που δεν είχα βάλει κάποιο validation δεν ήξερα αν θα πετύχει το deployment μέχρι να εκτελεστεί ο κώδικας. Θα μου πεις πάλι, γιατί το VS σου κάνει validation ...&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Μία καλύτερη λύση φυσικά θα ήταν να χρησιμοποιήσω κάποιο parser generator για να φτιάξω μία ωραία γλώσσα που να κάνει αυτά που θέλω, ή κάποια γλώσσα η οποία επιτρέπει τη δημιουργία πιο κατανοητών DSLs.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Φυσικά, ούτε λόγος να γίνεται για να φτιάξω το schema που θέλω σε XML. Αυτό είναι η CAML και είναι η καλύτερη απόδειξη ότι η XML είναι ΑΚΑΤΑΛΛΗΛΗ για αυτή τη δουλειά.&lt;/div&gt;</description></item><item><title>List Definitions σε (C Sharp) κώδικα η με CAML ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/67691.aspx</link><pubDate>Mon, 10 Oct 2011 01:18:56 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:67691</guid><dc:creator>Underwater</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/67691.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=95&amp;PostID=67691</wfw:commentRss><description>&lt;P style="MARGIN:0in 0in 10pt;" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language:EL;"&gt;κατι, αλλο.....&amp;nbsp;όταν ένα&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;Visual Studio 2010 SharePoint project &lt;SPAN style="mso-ansi-language:EL;"&gt;περίεχε τα&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;List Definitions &lt;SPAN style="mso-ansi-language:EL;"&gt;σε (C Sharp)&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language:EL;"&gt;κώδικα&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language:EL;"&gt;μέσα&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language:EL;"&gt;σε&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;Feature Receiver Event&lt;SPAN style="mso-ansi-language:EL;"&gt;, μας δίνει δυνατότητα να κάνουμε &lt;/SPAN&gt;Debug, &lt;SPAN style="mso-ansi-language:EL;"&gt;όμως χάνουμε (?) αυτή την δυνατότητα όταν &lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language:EL;"&gt;δημιουργούμε τα &lt;/SPAN&gt;List Definitions&lt;SPAN style="mso-ansi-language:EL;"&gt; σε &lt;/SPAN&gt;CAML ? &lt;SPAN style="mso-ansi-language:EL;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Υπάρχει κάποιο a&lt;/SPAN&gt;dvantage&lt;SPAN style="mso-ansi-language:EL;"&gt; &lt;SPAN&gt;να γράφουμε &lt;/SPAN&gt;&lt;/SPAN&gt;List&lt;SPAN style="mso-ansi-language:EL;"&gt; &lt;/SPAN&gt;Definition&lt;SPAN style="mso-ansi-language:EL;"&gt; &lt;SPAN&gt;με &lt;/SPAN&gt;&lt;/SPAN&gt;CAML&lt;SPAN style="mso-ansi-language:EL;"&gt; &lt;SPAN&gt;κατευθείαν?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;</description></item></channel></rss>