<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6451989757135970308</id><updated>2024-09-24T17:23:48.559-07:00</updated><category term="sharepoint"/><category term="sharepoint 2010"/><category term="CAML"/><category term="Microsoft"/><category term="Share Point 2010"/><category term="SharePoint list"/><category term="custom stylesheet"/><category term="customizing sharepoint"/><category term="masterpage"/><category term="sharepoint design"/><title type='text'>My SharePoint</title><subtitle type='html'>Sharing about anything I learn having to do with SharePoint.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mymoss.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6451989757135970308/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://mymoss.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Antonio Lettieri</name><uri>http://www.blogger.com/profile/10156670680629774679</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhZog2Q38zYZb8EVOAo7_S7F5tUnhTiG1XrM4uYzro9bOsrz6SOSKUF0gkaq1Z8yo-fqb_U6cngvhMWRxenI59Q_daM1OBF3_WQyXghcvy3eMWDP8IODEN4S14LFPPZWE/s220/n2506657_42009242_867.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6451989757135970308.post-971100585174480232</id><published>2010-03-11T08:18:00.000-08:00</published><updated>2010-03-11T08:18:04.423-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="masterpage"/><category scheme="http://www.blogger.com/atom/ns#" term="Share Point 2010"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint 2010"/><title type='text'>Site Actions Menu</title><content type='html'>Picking through the master page, I discovered that we can add fine grained permissions to the Site Actions menu.&lt;br /&gt;
&lt;br /&gt;
For instance, they happened to stick the capability to &quot;Edit in SharePoint Designer&quot; into the Site Actions menu. That may be a big no no for us. &lt;br /&gt;
&lt;br /&gt;
However, the PermissionsString and PermissionMode properties are here to save the day.&lt;br /&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/_cza-Z3hQEvA/S5kXgcEzYAI/AAAAAAAAARI/YlARtLW6vRE/s1600-h/SharePointSiteActionsMenu_no-header.bmp&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;210&quot; src=&quot;http://4.bp.blogspot.com/_cza-Z3hQEvA/S5kXgcEzYAI/AAAAAAAAARI/YlARtLW6vRE/s320/SharePointSiteActionsMenu_no-header.bmp&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
We can specify which group actually is able to see the control based on the PeremissionsString property. &lt;br /&gt;
&lt;br /&gt;
The property allows for a comma separated list of permissions specified in SharePoint. Only the users with those permission sets are going to see the button in the site actions menu. I modified the permission string to only show the item for users who have &quot;ManageWeb&quot; permissions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_cza-Z3hQEvA/S5kWs3DAHoI/AAAAAAAAAQ4/HvoXk9e48RA/s1600-h/DesignerPermissions.bmp&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;http://3.bp.blogspot.com/_cza-Z3hQEvA/S5kWs3DAHoI/AAAAAAAAAQ4/HvoXk9e48RA/s320/DesignerPermissions.bmp&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The beauty of the MenuItemTemplate, is that we can remove the button all together.</content><link rel='replies' type='application/atom+xml' href='http://mymoss.blogspot.com/feeds/971100585174480232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6451989757135970308/971100585174480232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6451989757135970308/posts/default/971100585174480232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6451989757135970308/posts/default/971100585174480232'/><link rel='alternate' type='text/html' href='http://mymoss.blogspot.com/2010/03/site-actions-menu.html' title='Site Actions Menu'/><author><name>Antonio Lettieri</name><uri>http://www.blogger.com/profile/10156670680629774679</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhZog2Q38zYZb8EVOAo7_S7F5tUnhTiG1XrM4uYzro9bOsrz6SOSKUF0gkaq1Z8yo-fqb_U6cngvhMWRxenI59Q_daM1OBF3_WQyXghcvy3eMWDP8IODEN4S14LFPPZWE/s220/n2506657_42009242_867.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_cza-Z3hQEvA/S5kXgcEzYAI/AAAAAAAAARI/YlARtLW6vRE/s72-c/SharePointSiteActionsMenu_no-header.bmp" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6451989757135970308.post-5475133370059357598</id><published>2010-02-08T09:14:00.001-08:00</published><updated>2010-02-08T12:38:57.358-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="custom stylesheet"/><category scheme="http://www.blogger.com/atom/ns#" term="customizing sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint 2010"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint design"/><title type='text'>SharePoint 2010 Rich Text Editor</title><content type='html'>&lt;p&gt;&lt;br /&gt;SharePoint 2010 allows for incredible site branding of content. This has always been a challenge in MOSS 07.&lt;br /&gt;&lt;br /&gt;SharePoint 2010 as a seamless process of including specific style rules through a combination of the out-of-the-box &quot;WYSIWYG&quot; functionality and Custom StyleSheets.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Custom Style Sheet&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I created a custom StyleSheet that is referenced in a master page template. This step is not necessary since you can simply include the stylehseet through the &lt;strong&gt;Alternate CSS URL&lt;/strong&gt; when you select/configure the master page under Look and Feel section (Site Settings&gt;Master Page).&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;SharePoint parses the StyleSheets and includes specific &quot;ms-rte&quot; class rules. The rules are devided by Functionality; Style, Element, Image, Position, Table. Depending on the rule name used after the &quot;rte&quot;.&lt;br /&gt;&lt;dl&gt;&lt;br /&gt;&lt;dt&gt;ms-rteStyle&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Specifies a Style Rule&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;ms-rteElement&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Specifies an Element Rule&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;ms-rteImage&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Specifies an Image Rule&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;ms-rtePosition&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Specifies a Position Rule&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;ms-rteTable&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Specifies a Table Rule&lt;/dd&gt;&lt;br /&gt;&lt;/dl&gt;&lt;br /&gt;In order for the style names to be available in the desired drop down selector you have to specify the &quot;-ms-name&quot; property in the class:&lt;br /&gt;.ms-rteStyle-FooBar{&lt;br /&gt;-ms-name: &quot;Foo Bar&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;p&gt;&lt;br /&gt;This will include &quot;Foo Bar&quot; as a label in the Style Selector.&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_cza-Z3hQEvA/S3BrIrCJEYI/AAAAAAAAAQg/4e6QundVBE8/s1600-h/sharepoint2010-style-foobar.PNG&quot;&gt;&lt;img style=&quot;MARGIN: 0px 0px 10px 10px; WIDTH: 90px; HEIGHT: 273px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5435962546971021698&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://2.bp.blogspot.com/_cza-Z3hQEvA/S3BrIrCJEYI/AAAAAAAAAQg/4e6QundVBE8/s320/sharepoint2010-style-foobar.PNG&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Element Rules&lt;/h2&gt;&lt;br /&gt;&lt;dl&gt;&lt;br /&gt;&lt;dt&gt;[element].ms-rteElement-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Will specify styles for the Element Source Selector&lt;/dd&gt;&lt;br /&gt;&lt;/dl&gt;&lt;br /&gt;Element rules are very concrete element specific rules.&lt;br /&gt;This gives you complete control of what type of element you want rendered and what class name it should inherit.&lt;br /&gt;If I wanted the Shadowed Box to render as a &quot;DIV&quot;, I would simply specify the element (DIV) tag in the stylesheet along with the ms-rteElement rule:&lt;br /&gt;&lt;span style=&quot;color:#500;&quot;&gt;DIV.ms-rteElement-ShadedBox&lt;/span&gt;{&lt;br /&gt;&lt;span style=&quot;color:#f00;&quot;&gt;-ms-name:&lt;/span&gt;&lt;span style=&quot;color:#00f;&quot;&gt;&quot;Shaded Box&quot;&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color:#f00;&quot;&gt;border:&lt;/span&gt; &lt;span style=&quot;color:#00f;&quot;&gt;1px solid #d7d7d7;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#f00;&quot;&gt;padding:&lt;/span&gt; &lt;span style=&quot;color:#00f;&quot;&gt;5px 10px;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#f00;&quot;&gt;background:&lt;/span&gt; &lt;span style=&quot;color:#00f;&quot;&gt;#eee;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;div style=&quot;COLOR: #666; FONT-SIZE: 85%&quot;&gt;&lt;br /&gt;&lt;a href=&quot;http://4.bp.blogspot.com/_cza-Z3hQEvA/S3BVSaCg-6I/AAAAAAAAAQY/Nv2YANUjQSM/s1600-h/sharepoint2010-element-shaded-box.PNG&quot;&gt;&lt;img style=&quot;MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 238px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5435938524952066978&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://4.bp.blogspot.com/_cza-Z3hQEvA/S3BVSaCg-6I/AAAAAAAAAQY/Nv2YANUjQSM/s320/sharepoint2010-element-shaded-box.PNG&quot; /&gt;&lt;/a&gt;&lt;br /&gt;This rule is then available in the Markup Styles selection.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;&lt;br /&gt;And will render the following:&lt;br /&gt;&amp;lt;div class=&#39;ms-rteElement-ShadedBox&#39;&amp;gt;Shaded Box&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;h2&gt;Style Rules&lt;/h2&gt;&lt;br /&gt;&lt;dl&gt;&lt;br /&gt;&lt;dt&gt;.ms-rteStyle-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Will classifiy rules for the Markup Styles Selector&lt;/dd&gt;&lt;br /&gt;&lt;/dl&gt;&lt;br /&gt;Style rules are simply appending class names to any element that you choose in the &quot;WYSIWYG&quot; Editor.&lt;br /&gt;For example, if you want a selected elment to inerhit a style that creates a shaded box around content:&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color:#990000;&quot;&gt;.ms-&lt;span id=&quot;SPELLING_ERROR_8&quot; class=&quot;blsp-spelling-error&quot;&gt;rteStyle&lt;/span&gt;-&lt;span id=&quot;SPELLING_ERROR_9&quot; class=&quot;blsp-spelling-error&quot;&gt;ShadedBox&lt;/span&gt;&lt;/span&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;-ms-name:&lt;/span&gt; &quot;&lt;span style=&quot;color:#3366ff;&quot;&gt;Shaded Box&quot;&lt;/span&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;border:&lt;/span&gt; &lt;span style=&quot;color:#3366ff;&quot;&gt;1&lt;span id=&quot;SPELLING_ERROR_10&quot; class=&quot;blsp-spelling-error&quot;&gt;px&lt;/span&gt; solid #d7d7d7&lt;/span&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;background: &lt;/span&gt;&lt;span style=&quot;color:#3366ff;&quot;&gt;#&lt;span id=&quot;SPELLING_ERROR_11&quot; class=&quot;blsp-spelling-error&quot;&gt;eee&lt;/span&gt;&lt;/span&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;padding:&lt;/span&gt; &lt;span style=&quot;color:#3366ff;&quot;&gt;5&lt;span id=&quot;SPELLING_ERROR_12&quot; class=&quot;blsp-spelling-error&quot;&gt;px&lt;/span&gt; 10&lt;span id=&quot;SPELLING_ERROR_13&quot; class=&quot;blsp-spelling-error&quot;&gt;px&lt;/span&gt;&lt;/span&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;display:&lt;/span&gt; &lt;span style=&quot;color:#3366ff;&quot;&gt;block;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: #666; FONT-SIZE: 85%; PADDING-TOP: 0px&quot;&gt;&lt;br /&gt;&lt;a href=&quot;http://4.bp.blogspot.com/_cza-Z3hQEvA/S3BOZaM8fwI/AAAAAAAAAQQ/6H6-6W8oOpo/s1600-h/sharepoint2010-shaded-box.PNG&quot;&gt;&lt;br /&gt;&lt;img style=&quot;MARGIN: 0px 10px 15px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 201px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5435930948673502978&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://4.bp.blogspot.com/_cza-Z3hQEvA/S3BOZaM8fwI/AAAAAAAAAQQ/6H6-6W8oOpo/s320/sharepoint2010-shaded-box.PNG&quot; /&gt;&lt;/a&gt;&lt;br /&gt;After a quick browser refresh, this rule was available in the Style Selector. I am very excited about this. I know that this was available in MOSS 07, but it took some work &lt;span id=&quot;SPELLING_ERROR_14&quot; class=&quot;blsp-spelling-corrected&quot;&gt;around&lt;/span&gt; to get it to work, so we never deployed it. &lt;span id=&quot;SPELLING_ERROR_15&quot; class=&quot;blsp-spelling-error&quot;&gt;SharePoint&lt;/span&gt; 2010 implements this behavior exactly the way it should be. &lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;Position Rules&lt;/h2&gt;&lt;br /&gt;&lt;dl&gt;&lt;br /&gt;&lt;dt&gt;.ms-rtePosition-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Will classify rules for the Postion Selector (designed for images)&lt;/dd&gt;&lt;br /&gt;&lt;/dl&gt;&lt;br /&gt;&lt;h2&gt;Image Rules&lt;/h2&gt;&lt;br /&gt;&lt;dl&gt;&lt;br /&gt;&lt;dt&gt;.ms-rteImage-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Will classify rules specifically for the Image Selector&lt;/dd&gt;&lt;br /&gt;&lt;/dl&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;For Example, say we wanted an image with a dark orange border and a lighter orange background:&lt;br /&gt;&lt;span style=&quot;color:#500;&quot;&gt;.ms-rteImage-OrangeBackground&lt;/span&gt;{&lt;br /&gt;&lt;span style=&quot;color:#f00;&quot;&gt;-ms-name:&lt;/span&gt; &lt;span style=&quot;color:#00f;&quot;&gt;&quot;Orange Background&quot;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#f00;&quot;&gt;background-color:&lt;/span&gt; &lt;span style=&quot;color:#00f;&quot;&gt;#f93;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#f00;&quot;&gt;border:&lt;/span&gt; &lt;span style=&quot;color:#00f;&quot;&gt;1px solid #c63;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#f00;&quot;&gt;padding:&lt;/span&gt; &lt;span style=&quot;color:#00f;&quot;&gt;6px;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;Will Give you the following option:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_cza-Z3hQEvA/S3BrjWzC6SI/AAAAAAAAAQo/CSs-FrUlu0s/s1600-h/shatepoint2010-image-styles.PNG&quot;&gt;&lt;img style=&quot;WIDTH: 279px; HEIGHT: 320px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5435963005395462434&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://2.bp.blogspot.com/_cza-Z3hQEvA/S3BrjWzC6SI/AAAAAAAAAQo/CSs-FrUlu0s/s320/shatepoint2010-image-styles.PNG&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;Table Rules&lt;/h2&gt;&lt;br /&gt;Note that the name is very important in this context. You want to specify the same name for every cascading rule of the table.&lt;br /&gt;For example if you start with:&lt;br /&gt;.ms-rteTable-Foo.&lt;br /&gt;Every cascasding class has to have the name &lt;strong&gt;Foo&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;/*Table Rule */&lt;br /&gt;.ms-rteTable-Foo{}&lt;br /&gt;&lt;br /&gt;/* Header Row */&lt;br /&gt;.ms-rteTable-Foo tr.ms-rteTableHeaderRow-Foo{}&lt;br /&gt;&lt;br /&gt;/*First Header Col*/&lt;br /&gt;.ms-rteTable-Foo td.ms-rteTableHeaderFirstCol-Foo{}&lt;br /&gt;&lt;br /&gt;/*Last Header Col*/&lt;br /&gt;.ms-rteTable-Foo td.ms-rteTableHeaderLastCol-Foo{}&lt;br /&gt;&lt;br /&gt;/*Odd Header Col*/&lt;br /&gt;.ms-rteTable-Foo td.ms-rteTableHeaderOddCol-Foo{}&lt;br /&gt;&lt;br /&gt;/*Even Header Col*/&lt;br /&gt;.ms-rteTable-Foo td.ms-rteTableHeaderEvenCol-Foo{}&lt;br /&gt;&lt;br /&gt;/*Odd Row*/&lt;br /&gt;.ms-rteTable-Foo tr.ms-rteTableOddRow-Foo{}&lt;br /&gt;&lt;br /&gt;/*Even Row*/&lt;br /&gt;.ms-rteTable-Foo tr.ms-rteTableEvenRow-Foo{}&lt;br /&gt;&lt;br /&gt;/*First row Col*/&lt;br /&gt;.ms-rteTable-Foo td.ms-rteTableFirstCol-Foo{}&lt;br /&gt;&lt;br /&gt;/*Last row Col*/&lt;br /&gt;.ms-rteTable-Foo td.ms-rteTableLastCol-Foo{}&lt;br /&gt;&lt;br /&gt;/*Odd row Col */&lt;br /&gt;.ms-rteTable-Foo td.ms-rteTableOddCol-Foo{}&lt;br /&gt;&lt;br /&gt;/*Even Table Col*/&lt;br /&gt;.ms-rteTable-Foo td.ms-rteTableEvenCol-Foo{}&lt;br /&gt;&lt;br /&gt;/*Footer Row*/&lt;br /&gt;.ms-rteTable-Foo tr.ms-rteTableFooterRow-Foo{}&lt;br /&gt;&lt;br /&gt;/*First Footer Col*/&lt;br /&gt;.ms-rteTable-Foo td.ms-rteTableFooterFirstCol-Foo{}&lt;br /&gt;&lt;br /&gt;/*Last Footer Col*/&lt;br /&gt;.ms-rteTable-Foo td.ms-rteTableFooterLastCol-Foo{}&lt;br /&gt;&lt;br /&gt;/*Odd Footer Col*/&lt;br /&gt;.ms-rteTable-Foo td.ms-rteTableFooterOddCol-Foo{}&lt;br /&gt;&lt;br /&gt;/*Even Footer Col*/&lt;br /&gt;.ms-rteTable-Foo td.ms-rteTableFooterEvenCol-Foo{}&lt;br /&gt;&lt;dl&gt;&lt;br /&gt;&lt;dt&gt;.ms-rteTable-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Will classify rules specifially for the Table Selector&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;tr.ms-rteTableHeaderRow-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for the Header Row of the parent class.&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;td.ms-rteTableHeaderFirstCol-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for the first header table cell&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;td.ms-rteTableHeaderLastCol-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for the last header table cell&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;td.ms-rteTableHeaderOddCol-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for every Odd header table cell&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;td.ms-rteTableHeaderEvenCol-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for every Even header table cell&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;tr.ms-rteTableEvenRow-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for every even table row&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;tr.ms-rteTableOddRow-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for every odd table row&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;td.ms-rteTableFirstCol-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascaing rule for the first table column&lt;/dt&gt;&lt;br /&gt;&lt;dt&gt;td.ms-rteTableEvenCol-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for every even table column&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;td.ms-rteTableOddCol-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for every odd table column&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;td.ms-rteTableLastCol-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for the last table column&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;tr.ms-rteTableFooterRow-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for the footer row&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;td.ms-rteTableFooterFirstCol-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for the first footer column&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;td.ms-rteTableFooterEvenCol-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for every even footer column&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;td.ms-rteTableFooterOddCol-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for every odd footer column&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;td.ms-rteTableFooterLastCol-[name]&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Is a cascading rule for the last footer column&lt;/dd&gt;&lt;br /&gt;&lt;/dl&gt;</content><link rel='replies' type='application/atom+xml' href='http://mymoss.blogspot.com/feeds/5475133370059357598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6451989757135970308/5475133370059357598' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6451989757135970308/posts/default/5475133370059357598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6451989757135970308/posts/default/5475133370059357598'/><link rel='alternate' type='text/html' href='http://mymoss.blogspot.com/2010/02/sharepoint-2010-rich-text-editor.html' title='SharePoint 2010 Rich Text Editor'/><author><name>Antonio Lettieri</name><uri>http://www.blogger.com/profile/10156670680629774679</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhZog2Q38zYZb8EVOAo7_S7F5tUnhTiG1XrM4uYzro9bOsrz6SOSKUF0gkaq1Z8yo-fqb_U6cngvhMWRxenI59Q_daM1OBF3_WQyXghcvy3eMWDP8IODEN4S14LFPPZWE/s220/n2506657_42009242_867.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_cza-Z3hQEvA/S3BrIrCJEYI/AAAAAAAAAQg/4e6QundVBE8/s72-c/sharepoint2010-style-foobar.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6451989757135970308.post-2424193706875498740</id><published>2008-01-31T20:43:00.000-08:00</published><updated>2008-01-31T21:14:51.674-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CAML"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint list"/><title type='text'>CAML</title><content type='html'>Lately, I have been working on a WebPart which using the Sharepoint API, retrieves a SharePoint list from the List Library.&lt;br /&gt;&lt;br /&gt;The WebPart then generates an ordered A to Z list with categories, anchor links, and searching capability.&lt;br /&gt;&lt;br /&gt;Now one of my largest challenges has been filtering the SharePoint list using the API.&lt;br /&gt;&lt;br /&gt;One way to query the List is using Collaborative Application Markup Language &lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/ms948028.aspx&quot;&gt;(CAML)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;CAML is an XML based language, used to Customize websites in SharePoint in various ways.&lt;br /&gt;&lt;br /&gt;I find the syntax of CAML quite tedious and have yet to figure out a way to generate it dynamically to query my list.&lt;br /&gt;&lt;br /&gt;I have spent quite a bit of time understanding the static structure of CAML.&lt;br /&gt;&lt;br /&gt;In this situation I&#39;m trying to filter two columns ( Office, Category ).&lt;br /&gt;&lt;br /&gt;I can have one or many Offices and Categories.&lt;br /&gt;&lt;br /&gt;Before I retrieve the SharePoint list I will pass it the a Dynamic generated CAML query.&lt;br /&gt;&lt;br /&gt;At the moment i&#39;m generating the CAML using StringBuilders in an enormous loop! Not my ideal way of doing it, and I know that I can use the XML Document Object to generate the CAML.&lt;br /&gt;&lt;br /&gt;So this is what I&#39;m going to begin doing, I will work out a solution of dynamically generating CAML using the XML Document Object. I know that this isn&#39;t the only way as there are always many solutions to everything. However using the XML Document object seems like the ideal way of doing it, since CAML is XML Structured.&lt;br /&gt;&lt;br /&gt;So my Journey begins, I will be sure to keep posting on my progress.</content><link rel='replies' type='application/atom+xml' href='http://mymoss.blogspot.com/feeds/2424193706875498740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6451989757135970308/2424193706875498740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6451989757135970308/posts/default/2424193706875498740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6451989757135970308/posts/default/2424193706875498740'/><link rel='alternate' type='text/html' href='http://mymoss.blogspot.com/2008/01/caml.html' title='CAML'/><author><name>Antonio Lettieri</name><uri>http://www.blogger.com/profile/10156670680629774679</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhZog2Q38zYZb8EVOAo7_S7F5tUnhTiG1XrM4uYzro9bOsrz6SOSKUF0gkaq1Z8yo-fqb_U6cngvhMWRxenI59Q_daM1OBF3_WQyXghcvy3eMWDP8IODEN4S14LFPPZWE/s220/n2506657_42009242_867.jpg'/></author><thr:total>0</thr:total></entry></feed>