<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/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>Microsoft SharePoint Designer Team Blog</title><link>http://blogs.msdn.com/sharepointdesigner/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>SharePoint 2010 List View Blog Series: Part 1 – Introduction to the new List View</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2009/11/16/sharepoint-2010-list-view-blog-series-part-1-introduction-to-the-new-list-view.aspx</link><pubDate>Mon, 16 Nov 2009 23:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9923260</guid><dc:creator>spdblog</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/9923260.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=9923260</wfw:commentRss><description>&lt;P&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px 0px 5px 5px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=profile border=0 alt=profile align=right src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePoint2010ListViewBlogSeriesPart1Int_DCBC/profile_3.jpg" width=70 height=70 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePoint2010ListViewBlogSeriesPart1Int_DCBC/profile_3.jpg"&gt; 
&lt;P&gt;Hello. This is Greg Chan, a Program Manager on the SharePoint team. I am excited to kick-off a new blog series that will cover a wide spectrum of topics related to the new List View in SharePoint 2010. 
&lt;P&gt;&lt;STRONG&gt;What is a List View again?&lt;/STRONG&gt; 
&lt;P&gt;Put simply, a List View is a view for displaying SharePoint list data. The concept of List View has been around since SharePoint v2. While there are other technologies being used for visualizing list data in different scenarios (e.g. Content Query Web Part), List View remains the default component for displaying list data in SharePoint 2010. 
&lt;P&gt;List Views can be spotted everywhere in SharePoint. They are used to display information such as your announcements, tasks and calendar schedules. 
&lt;P&gt;&lt;EM&gt;Examples of list views:&lt;/EM&gt; 
&lt;P&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Announcements list view" border=0 alt="Announcements list view" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePoint2010ListViewBlogSeriesPart1Int_DCBC/clip_image001_3.gif" width=354 height=201 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePoint2010ListViewBlogSeriesPart1Int_DCBC/clip_image001_3.gif"&gt; 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePoint2010ListViewBlogSeriesPart1Int_DCBC/clip_image002_2.gif" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePoint2010ListViewBlogSeriesPart1Int_DCBC/clip_image002_2.gif"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Document library view in SP2010" border=0 alt="Document library view in SP2010" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePoint2010ListViewBlogSeriesPart1Int_DCBC/clip_image002_thumb.gif" width=450 height=359 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePoint2010ListViewBlogSeriesPart1Int_DCBC/clip_image002_thumb.gif"&gt;&lt;/A&gt; 
&lt;P mce_keep="true"&gt;&lt;B&gt;What’s the big change with List Views in 2010?&lt;/B&gt; &lt;/P&gt;
&lt;P&gt;In 2010, we are introducing a component called the &lt;B&gt;XSLT List View Web Part (XLV) &lt;/B&gt;that serves as the new default technology for displaying list data. This honor used to belong to the List View Web Part (LVWP), which was the default from SharePoint v2 to 2007. (&lt;I&gt;Note: LVWPs are still supported in SharePoint 2010, but just not as widely used as the new XLV.&lt;/I&gt;)&amp;nbsp; 
&lt;P&gt;The new XLV brings a ton of improvements to the SharePoint platform. This blog series aim to cover most of these areas.&amp;nbsp; 
&lt;P&gt;&lt;B&gt;What are the key benefits to the new List Views (XLV)?&lt;/B&gt; 
&lt;P&gt;Replacing the default technology for List Views required fundamental changes to the SharePoint platform. So why did we do it? Let me call out the high level benefits of the XLV: 
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;More Designer Friendly&lt;/B&gt; 
&lt;UL&gt;
&lt;LI&gt;Rich customization support through SharePoint Designer while preserving browser UI experience 
&lt;LI&gt;Extensible and shareable custom styles 
&lt;LI&gt;Popular designer features such as Conditional Formatting.&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;B&gt;More Developer Friendly&lt;/B&gt; 
&lt;UL&gt;
&lt;LI&gt;Uses standards-based XSLT instead of CAML 
&lt;LI&gt;Better documentation 
&lt;LI&gt;Easily extensible &lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;B&gt;More End-User Friendly&lt;/B&gt; 
&lt;UL&gt;
&lt;LI&gt;Enhanced user experience including Ribbon UI and new multi-selection model. 
&lt;LI&gt;Inline editing support&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;B&gt;More Robust Ways to Access Data&lt;/B&gt; 
&lt;UL&gt;
&lt;LI&gt;Display enterprise data through Business Connectivity Services (BCS) 
&lt;LI&gt;Cross-web list views displaying data from another web 
&lt;LI&gt;Display list data joined from different lists&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;What’s coming up in the blog series?&lt;/B&gt; 
&lt;P&gt;Many people from different teams in the SharePoint family contributed to the new List View in SharePoint 2010.&amp;nbsp; In this blog series, you’ll get a chance to hear from some of those area experts covering key List View topics. 
&lt;P&gt;Here are the topics that will be covered: 
&lt;UL&gt;
&lt;LI&gt;Introduction to the new List View&amp;nbsp; (you are reading it! :) 
&lt;LI&gt;List View – New User Experience 
&lt;LI&gt;List View Architecture 
&lt;LI&gt;List View Customization 
&lt;LI&gt;External Lists 
&lt;LI&gt;Conditional Formatting 
&lt;LI&gt;How to Share Your Custom List View Styles 
&lt;LI&gt;How to Create Custom Fields for the new List View 
&lt;LI&gt;Related Item View 
&lt;LI&gt;How to Create Views Displaying Cross-Web and Joined List Data&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The order in which these topics will be published may change. We may also add or modify topics on this list. If there is any areas regarding List Views that you’d like to learn about and isn’t on this list, feel free to suggest them here.&amp;nbsp; 
&lt;P&gt;Thanks for reading. I hope everyone is excited about the new List Views. Stayed tuned for more! 
&lt;P&gt;Greg Chan&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9923260" width="1" height="1"&gt;</description></item><item><title>SharePoint Designer 2010 New Shell Tour</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2009/11/02/sharepoint-designer-2010-new-shell-tour.aspx</link><pubDate>Mon, 02 Nov 2009 22:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9916407</guid><dc:creator>spdblog</dc:creator><slash:comments>10</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/9916407.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=9916407</wfw:commentRss><description>&lt;P&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px 0px 5px 5px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Kolby Hoover" border=0 alt="Kolby Hoover" align=right src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_23.png" width=64 height=64 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_23.png"&gt; Welcome to SharePoint Designer 2010! As Todd Haugen mentioned in his latest blog, we’ve got a number of wonderful features this release and we’re really excited to get them into your hands. This is a follow-up blog to dive into the new shell, or user interface, of SPD 2010. I think this is one of the greatest enhancements for the 2010 release. The new shell of SPD 2010 targets new and old users alike by highlighting SharePoint artifacts (not the folder structure they’re stored in), presenting key information you want to know about those artifacts, bubbling the tools and commands up to the Ribbon, and giving you intuitive navigation to explore, modify, and create rich and powerful SharePoint sites. 
&lt;P&gt;&lt;STRONG&gt;Opening a Site&lt;/STRONG&gt; 
&lt;P&gt;Let’s start with what you will see first - opening a site. Figure 1 below shows the Sites Place in the Microsoft Office “Backstage” feature. Here in the Sites place, we have 4 areas: Open SharePoint Site, Recent Sites (my favorite), New SharePoint Site, and Site Templates. These categories are pretty self-explanatory. Notice two buttons that mention My Sites. Of course, you’ll need the Microsoft SharePoint Server feature to use these buttons. Something else that’s cool is the Site Templates category. This by default shows Blank, Blog, and Team Site. But, clicking More Templates you can browse for a server with more templates, then mark favorites that will show up by default next time you open SPD. As I mentioned before, my favorite section is the Recent Sites. This list shows the recent sites you’ve visited and with one click the site opens – a real time saver. 
&lt;P&gt;The first time you open SPD, you’ll need to click the “Open Site” button. This brings up a dialog similar to 2007. Type your SharePoint 2010 site address where it says “Site name:” then click open. You can browse for any of its subsites, or click open again to open the site. 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Figure 1" border=0 alt="Figure 1" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb.png" width=644 height=473 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb.png"&gt;&lt;/A&gt; 
&lt;H6&gt;&lt;A title=_Ref244570818 name=_Ref244570818&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#000000&gt;Figure &lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;1. The first thing seen on booting SharePoint Designer 2010 is the Sites Place in the Backstage. From here you can open a site or create a new one.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/H6&gt;
&lt;P&gt;&lt;STRONG&gt;Galleries, Settings, and Editors&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Ta dah! What you see next is very different from SPD 2007 (figures 2 and 3 below show 2010 and 2007 respectfully). 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Figure 2" border=0 alt="Figure 2" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_1.png" width=632 height=484 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_1.png"&gt;&lt;/A&gt; 
&lt;H6&gt;&lt;A title=_Ref244571120 name=_Ref244571120&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#000000&gt;Figure &lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;2. After opening a site, you're launched Onstage to the new user interface of SharePoint Designer 2010. We have incorporated the ribbon, a navigation pane focusing on SharePoint artifacts, a breadcrumb with helpful navigation, and the concept of Gallery Pages, Settings Pages, and Editors. This image is the Site Settings Page – showing key site information, links to quick customizations, general settings, site permissions, and subsites. The ribbon has commands to create artifacts and manage the site as a whole. &lt;/EM&gt;&lt;/STRONG&gt;&lt;/H6&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Figure 3" border=0 alt="Figure 3" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_2.png" width=599 height=484 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H6&gt;&lt;STRONG&gt;&lt;EM&gt;Figure 3. Opening SharePoint Designer 2007 launched to a new and blank html page. The core of the user interface was based around the page editor and file structure.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/H6&gt;
&lt;P&gt;The first thing you may notice is the Ribbon. Also, there’s a lot less white space (we don’t open a blank .html page for you). Instead there’s a spread of information contained in labeled sections. Last but not least, the Navigation Pane on the left. I’ll talk a bit more of the navigation (nav) pane soon, but one thing to note is what it contains – SharePoint artifacts. When you’re looking for something, you don’t have to remember where it’s stored. 
&lt;P&gt;&lt;STRONG&gt;Settings Pages&lt;/STRONG&gt; 
&lt;P&gt;Let’s dive into the assortment of information on the opening page (Figure 2). This is what we call a “Settings Page” which surfaces relevant information and related artifacts for the specific thing you’re looking at. The first page shown upon opening a site is the site settings page, which displays key site information (name, description, URL, SharePoint version number, etc.), permissions for the site, quick customization links, general settings, and a list of subsites below the current site. Settings pages all have a similar layout, but might contain different packets of information. For example, the list settings page shown in Todd’s blog displays key list information, customization links, general list settings, views, forms, custom actions, and workflows associated to the list. These settings pages serve as great launching places for building or modifying the artifacts. Modifying a list may require adjusting settings, permissions, creating a new view or form, or even modifying list schema. All of these actions are reachable in at most one click from list settings page. 
&lt;P&gt;&lt;STRONG&gt;Gallery Pages&lt;/STRONG&gt; 
&lt;P&gt;Gallery pages show a list of artifacts. These are usually reached by clicking an item in the nav pane. Clicking Lists and Libraries will open the Lists and Libraries Gallery shown in Figure 4. 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_8.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Figure 4" border=0 alt="Figure 4" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_3.png" width=644 height=441 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_3.png"&gt;&lt;/A&gt; 
&lt;H6&gt;&lt;A title=_Ref244571223 name=_Ref244571223&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#000000&gt;Figure &lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;4. The list and libraries gallery shows all of the lists and document libraries in the site.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/H6&gt;
&lt;P&gt;Gallery pages are helpful for getting a big-picture look at contents of the site: how many workflows there are, or what types of list you have, etc. The ribbon is alive here, and you can perform actions like creation, or editing, and there’s also some links to the browser (I use the F12 shortcut to preview in browser all the time). Galleries can also be viewed as a “mini-gallery” below the artifacts in the nav pane. Use the pin to the right of the artifacts to pin open the gallery (see Figure 5). One cool shortcut I’ll mention here is that most galleries have different behaviors for single and double clicking. Single clicking the name of an artifact will open its settings page. Double clicking the item will open its editor. 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_10.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Figure 5" border=0 alt="Figure 5" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_4.png" width=229 height=304 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H6&gt;&lt;A title=_Ref244571314 name=_Ref244571314&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#000000&gt;Figure &lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;5. Mini-galleries can be pinned open from the navigation pane. Here, the data source gallery is showing list data.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/H6&gt;
&lt;P&gt;&lt;STRONG&gt;Editors&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Some artifacts in SPD have a separate view for editing: Lists/Libraries, Content Types, External Content Types, Pages, and Workflows. These editors are all worthy of blogs themselves. The page editor is very similar to the whole of SPD 2007. It incorporates the ribbon, and there are a couple great new features (like Skewer Click) that are worth checking out. The workflow editor is now full screen, and packed with new and wonderful features (definitely look for a blog on this coming soon). The schema editors for lists and content types are fast and very helpful for rapid prototyping. And lastly, the external content type editor is a powerful tool to pull in external data systems into SharePoint (for sure going to be a blog or two on this – way cool!).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Breadcrumb, Tabs, and Navigation&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The navigation story is one of the most helpful parts of the new shell. It’s a suite of features that help users find what they want quickly and easily. Much of the user interface navigation can be compared to Windows Explorer. There is a breadcrumb with back and forward buttons (I use my extra mouse buttons all of the time for these back and forward clicks). The breadcrumb is great for drilling down or stepping upward. Figure 6 below shows drilling down options from the Calendar list settings page.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_12.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Figure 6" border=0 alt="Figure 6" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_5.png" width=611 height=275 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H6&gt;&lt;A title=_Ref244571559 name=_Ref244571559&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#000000&gt;Figure &lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;6. The breadcrumb allows for quick drilling down or stepping upward. The Back and Forward buttons act just like a web browser.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/H6&gt;
&lt;P&gt;Each tab will also keep a memory of its history, so you can bounce backward in time (Figure 7). 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_14.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Figure 7" border=0 alt="Figure 7" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_6.png" width=362 height=240 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_6.png"&gt;&lt;/A&gt; 
&lt;H6&gt;&lt;A title=_Ref244571575 name=_Ref244571575&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#000000&gt;Figure &lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;7. The history button in the breadcrumb is often very handy. Each tab remembers its history, and like a web browser you sometimes want to jump backward multiple steps. &lt;/EM&gt;&lt;/STRONG&gt;&lt;/H6&gt;
&lt;P&gt;Of course, the navigation pane already mentioned is a great starting point. Clicking an item in the nav pane will usually open a new tab to display the gallery page for that item. If your current tab is a gallery already, it will navigate within t&lt;A title=_GoBack name=_GoBack&gt;&lt;/A&gt;he tab. The last two sentences may be a little tricky to understand without trying it yourself, but we hope it just feels right when you’re doing it, and it’s helpful for managing the number of tabs you have open. One really cool feature is the ability to drag tabs in the order that you like (similar to Internet Explorer). This is really helpful for me when I’m working with a page and a couple .css files. If I opened them in a different order that I want to organize them, “click-swipe” and I’m organized. You can also open new tabs by clicking the mini-tab on the right of the last tab. 
&lt;P&gt;&lt;STRONG&gt;Odds and Ends&lt;/STRONG&gt; 
&lt;P&gt;Here’s just a couple blurbs on other things I thought were worth mentioning. 
&lt;P&gt;&lt;STRONG&gt;Log In As…&lt;/STRONG&gt; 
&lt;P&gt;In 2007 it was quite tricky to log into SPD as a different user profile (someone explained once how to do it, but I was lost after step 2). In 2010 however, clicking the little figure in the lower left allows you to sign out and back in with a different user profile. This is also a great way for site owners to see how our permission controls affect users of differing permissions. Look for a blog soon on the “Giving IT Control” feature that allows administrators the ability to control what their users can do with SPD. 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_16.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Figure 8" border=0 alt="Figure 8" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_7.png" width=232 height=155 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_7.png"&gt;&lt;/A&gt; 
&lt;H6&gt;&lt;STRONG&gt;&lt;EM&gt;Figure 8. The Log In As feature is helpful for users or teams multiple accounts. &lt;/EM&gt;&lt;/STRONG&gt;&lt;/H6&gt;
&lt;P&gt;&lt;STRONG&gt;Ribbon and QAT Customization&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Along with Add-ins, you can add commands to the QAT (Quick Access Toolbar) and Ribbon with the new extensibility available (see Figure 9). 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_18.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Figure 9" border=0 alt="Figure 9" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_8.png" width=632 height=174 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_8.png"&gt;&lt;/A&gt; 
&lt;H6&gt;&lt;A title=_Ref244572375 name=_Ref244572375&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#000000&gt;Figure &lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;9. The Quick Access Toolbar and Ribbon are easily customized to contain what you want. Here I’ve added some commands to the QAT and I’ve created my own ribbon tab with my favorite buttons.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/H6&gt;
&lt;P&gt;&lt;STRONG&gt;A Few Limitations to Call Out&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Early on in development we made a tough choice. Not supporting backwards compatibility with SharePoint v3 and earlier. This means that SPD 2010 will only work with SharePoint 2010. Although this was hard, it allowed us to build better, farther and test deeper. I almost think of SPD 2010 as a new product, a new toolset for SharePoint 2010. This of course means that we are supporting side-by-side installation of SPD 2007 and 2010. There is one important thing to keep in mind when setting up side-by-side. Stick to the same flavor of clients (x64 and x86). SPD 2007 only came in x86, &lt;B&gt;so only use x86 SPD 2010 when installing side-by-side&lt;/B&gt;. This is for all Microsoft Office apps as well. So don’t install 64-bit SPD with 32-bit Office. 
&lt;P&gt;As we shifted to being a powerful and usable toolset for SharePoint 2010, we securely attached to SharePoint. In other words, SPD focused at being only a SharePoint tool. Unfortunate for some, this means that you won’t be able to use its page editor without also having SharePoint. The page editor is only available when a SharePoint site is open. If you try to open a page in SPD without opening a site first, you will get the following error message. Microsoft Expression Web is our recommended tool for stand alone page editing. 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_20.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_20.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Figure 10" border=0 alt="Figure 10" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_9.png" width=449 height=153 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SharePointDesigner2010NewShellTour_C632/image_thumb_9.png"&gt;&lt;/A&gt; 
&lt;H6&gt;&lt;EM&gt;Figure 10. SharePoint Designer 2010 is tied to SharePoint, and cannot be used as an independent page editor. Without a site open, you will get this error when opening a page or file with SPD. &lt;/EM&gt;&lt;/H6&gt;
&lt;P&gt;&lt;STRONG&gt;Wrap Up&lt;/STRONG&gt; 
&lt;P&gt;Thanks so much for reading! SharePoint Designer 2010 is an easy-to-use, robust, helpful, and a slick-looking tool. The full spectrum of users, from Information Workers to Power Developers, will see value and usability in SharePoint Designer 2010. Keep your eyes out for more blogs on other great features and our Beta2 release. We’re so excited for SharePoint 2010 and hope you are too! &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9916407" width="1" height="1"&gt;</description></item><item><title>Putting the SharePoint in SharePoint Designer</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2009/10/19/putting-the-sharepoint-in-sharepoint-designer.aspx</link><pubDate>Tue, 20 Oct 2009 01:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9909595</guid><dc:creator>spdblog</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/9909595.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=9909595</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 0px" title=image border=0 alt=image align=right src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_thumb.png" width=74 height=74 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;For those of you who have been with us for the long haul, you know SharePoint Designer (SPD) evolved from the FrontPage product. The result of this lineage was SPD 2007 largely focused on web page editing and added some SharePoint capabilities. In SPD 2010, we increased our investment in SharePoint capabilities and focused on exposing the power of SharePoint to&amp;nbsp;both power users and developers alike. SharePoint has always been about the democratization of web development - think of SPD 2010 as furthering that goal. 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Figure 1" border=0 alt="Figure 1" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_thumb_1.png" width=553 height=484 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_thumb_1.png"&gt;&lt;/A&gt; 
&lt;H5&gt;&lt;A title=_Ref243369906 name=_Ref243369906&gt;&lt;/A&gt;&lt;EM&gt;&lt;FONT size=1&gt;&lt;FONT color=#000000&gt;Figure&lt;/FONT&gt; &lt;/FONT&gt;&lt;/EM&gt;&lt;EM&gt;&lt;FONT size=1&gt;1. SPD's new shell focuses more on SharePoint objects and less on the file structure and page editor. The UI is now much more intuitive and helpful with the Ribbon and navigation pane.&lt;/FONT&gt;&lt;/EM&gt;&lt;/H5&gt;
&lt;P&gt;When you think about democratization, a few words come to mind: awareness, access, utility. If you're an IT shop, some other words might come to mind too: safe, supported, compliant, and dare I say governed? When we started our mission, we took these words to heart. We were more successful addressing some goals than others, but let’s be clear, we understand that it's not a good idea to simply empower every Tom, Dick, and Jane with a simple, powerful application building tool and just hope IT can deal with the explosion of applications. 
&lt;P&gt;So to that end we will start with the IT side of the equation: 
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Safe&lt;/B&gt;: Multi-tenancy is one of the huge strengths of SharePoint, but this often limits what users can do with the system. The shared nature of the system means users cannot add powerful server side code to the system. In this release we provide User Solutions, a server sandbox enabling users to upload their own code or code from a third party to complete their scenarios where that code runs in an isolated process. Even better, IT has control over the throttling and contents of the sandbox so shops can tune it for their level of comfort. 
&lt;LI&gt;&lt;B&gt;Supported&lt;/B&gt;: Historically when you put SPD in the hands of a user, despite best intentions, they broke things. And this resulted in support calls, lots of them. In this release SPD is Safe by Default. Users cannot simply edit the master page or delete a content place holder and bring down an entire site collection! This is a powerful IT feature that will require its own blog to explain in detail, but the gist is users cannot just open a site and break it before they even know what they’ve changed. 
&lt;LI&gt;&lt;B&gt;Compliant&lt;/B&gt;: Because we have locked down the capabilities in SPD, IT shops can now control which templates, master pages, and styles can be used in their orgs. This makes it easy to ensure sites comply with corporate policy. 
&lt;LI&gt;&lt;B&gt;Governed&lt;/B&gt;: In this release we did not only improve the supportability of SPD, we gave IT simple, granular control over who can use SPD on which areas of their farm.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Now that you know IT is going to bless the use of SPD, let’s dig into the end user aspects of the democratization of web development - awareness, access, and utility. 
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Awareness&lt;/B&gt;: We can make all the improvements in the world on this tool and it will be largely irrelevant if users are not aware the tool exists. To help address this issue and drive efficiencies we now directly link the SharePoint browser interface with SPD. Through these links we have significantly reduced the complexity of using SPD to edit specific, targeted aspects of SharePoint sites. This means users simply click a button in the browser and SPD is opened directly to the right spot. A future blog will cover all the links in detail but here is an example (Figure 2), cool huh! Yes, these links only show up if the user has permissions to SPD - remember what I said in the governance section?&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_8.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Figure 2" border=0 alt="Figure 2" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_thumb_3.png" width=644 height=378 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H5&gt;&lt;A title=_Ref243369639 name=_Ref243369639&gt;&lt;/A&gt;&lt;EM&gt;&lt;FONT color=#000000 size=1&gt;Figure &lt;/FONT&gt;&lt;/EM&gt;&lt;EM&gt;&lt;FONT size=1&gt;2. Contextual links appear in the browser UI that link directly to the SPD design surface. For example, clicking the Modify in SharePoint Designer link will open SPD to the current site, then open the specific list view in the page editor for editing. Advanced customizations such as conditional formatting are now much easier to add.&lt;/FONT&gt;&lt;/EM&gt;&lt;/H5&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Access&lt;/B&gt;: Many of you may not even know what SPD is or that it even existed, much less that this tool will help your organization get the most out of its SharePoint installation. There were two primary reasons for this lack of awareness, 1: due to its price tag many organizations opted not to buy only limited copies of SPD, and 2: because of its power, many IT organizations restricted the use of SPD on the network. This release our team worked hard to address these issues that blocked user access to SPD.&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;1. FREE! That is right, you heard me, FREE! SPD is now available as a free download.&lt;/P&gt;
&lt;P&gt;2. Safe by Default, with this release it is very hard for users to shoot themselves in the foot. Look for a future blog on this - but suffice to say, it takes explicit permissions to unghost a page!&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_10.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Figure 3" border=0 alt="Figure 3" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_thumb_4.png" width=644 height=467 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H5&gt;&lt;A title=_Ref243370181 name=_Ref243370181&gt;&lt;/A&gt;&lt;EM&gt;&lt;FONT color=#000000 size=1&gt;Figure &lt;/FONT&gt;&lt;/EM&gt;&lt;EM&gt;&lt;FONT size=1&gt;3. The new shell is highlighted by Settings Pages that quickly display relevant information and related artifacts to your SharePoint objects. This list settings page for example, displays key list information, general settings, list views, forms, custom actions, and workflows associated to the list. Using the ribbon it is easy to edit or add to this list.&lt;/FONT&gt;&lt;/EM&gt;&lt;/H5&gt;
&lt;P&gt;In addition to the UI there are a number of other features we have added to make the tool more useful for IWs: 
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;&lt;I&gt;&lt;U&gt;Workflows&lt;/U&gt;&lt;/I&gt;&lt;/B&gt; have been dramatically improved with a new editor (Figure 4), reusable workflows, and even more powerful workflows that come out of the box. Look for several workflow blogs to come out soon.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_12.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Figure 4" border=0 alt="Figure 4" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_thumb_5.png" width=644 height=462 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/PuttingtheSharePointinSharePointDesigner_103FD/image_thumb_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H5&gt;&lt;A title=_Ref243370364 name=_Ref243370364&gt;&lt;/A&gt;&lt;EM&gt;&lt;FONT color=#000000 size=1&gt;Figure &lt;/FONT&gt;&lt;/EM&gt;&lt;EM&gt;&lt;FONT size=1&gt;4. Workflows are now easier and more flexible to create in SPD. The full screen designer incorporates the ribbon and other intuitive UI. &lt;/FONT&gt;&lt;/EM&gt;&lt;/H5&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;&lt;I&gt;&lt;U&gt;XSLT List Views&lt;/U&gt;&lt;/I&gt;&lt;/B&gt; are also a big investment for us. XSLT list views are now the default view for lists which means developers only have to learn one list technology! This standardization also let us deliver some great features such as Push Button Styles that enable styling and conditional formatting with the push of a button. Of course we will have a blog or two on this topic too.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I hope you enjoyed reading about the breadth of features coming from SPD this release and we would love to have you back soon to read about these and other features in detail. For now let me leave you with a parting thought: in this release we invested heavily in IWs&amp;nbsp;to complement&amp;nbsp;the functionality offered to&amp;nbsp;developers and designers. Additionally&amp;nbsp;you will see amazing stuff from VS and Expressions in forthcoming releases integrating with SPD and the best SharePoint has to offer. Of course, look for blogs on these topics in the coming months too. 
&lt;P&gt;Signing off for now –&lt;BR&gt;Todd Haugen (SPD GPM) &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9909595" width="1" height="1"&gt;</description></item><item><title>Service Pack 2 prevents an on-change workflow from starting itself</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2009/07/13/service-pack-2-prevents-an-on-change-workflow-from-starting-itself.aspx</link><pubDate>Mon, 13 Jul 2009 21:38:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9832089</guid><dc:creator>spdblog</dc:creator><slash:comments>18</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/9832089.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=9832089</wfw:commentRss><description>&lt;p&gt;Hello all, Stephen here again — I’m a writer for SharePoint Designer. I’d like to tell you about a fix that was included in &lt;a href="http://blogs.msdn.com/sharepoint/archive/2009/04/28/announcing-service-pack-2-for-office-sharepoint-server-2007-and-windows-sharepoint-services-3-0.aspx"&gt;Service Pack 2 for Office SharePoint Server 2007 and Windows SharePoint Services 3.0&lt;/a&gt;. This fix affects workflows designed in SharePoint Designer 2007. Then I’ll show you how to intentionally create a workflow loop by using two workflows instead of one.  &lt;p&gt;Before Service Pack 2, it was too easy to inadvertently design a workflow that triggered itself and created an infinite loop. For example, consider this scenario:  &lt;p&gt;1) A workflow starts when an item is changed.  &lt;p&gt;2) The workflow updates (or changes) the current item (e.g. by using the Set Field in Current Item action).  &lt;p&gt;3) Because the workflow changes the item, it triggers itself.  &lt;p&gt;So if you had an on-change workflow that sends you an e-mail and then updates the current item, you could quickly receive several hundred e-mails in your Inbox.  &lt;p&gt;After you install Service Pack 2 on your server, it is no longer possible for a workflow that starts when an item is changed to trigger itself by changing/updating the current item. This infinite-looping scenario is not possible:  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image002_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="280" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image002_thumb.jpg" width="640" border="0"&gt;&lt;/a&gt;  &lt;p&gt;Many people, however, have designed workflows that actually leverage infinite looping. For example, you could design an on-change workflow that loops endlessly on a task item and that sends a daily reminder until that task is marked complete. The workflow triggers itself by updating a Counter column that was added to the list just for this purpose. And the workflow has a rule that stops or “short circuits” the workflow if some condition is satisfied — in this case, the workflow stops without changing the current item if the task Status = Completed. After SP2, this workflow will in effect be broken because it cannot trigger itself.  &lt;p&gt;SP2 does not block infinite loops, which can be useful, but to re-create what worked before you must design two (or more) on-change workflows that trigger each other. Two on-change workflows that trigger each other by updating/changing the current item is a “co-recursion” scenario:  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image004_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="356" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image004_thumb.jpg" width="640" border="0"&gt;&lt;/a&gt;  &lt;p&gt;In addition, it is very common to implement a state-based workflow by using several shorter workflows that trigger each other. For example, you might have a list with a Status field and several on-change workflows attached to that list. All of those workflows include a step at the end that updates the Status field. So one workflow triggers several others by updating the Status, and then those workflows look at the value in the Status field to determine whether they should continue running or stop. This state-based workflow is also a “co-recursion” scenario because one workflow starts many other on-change workflows by changing/updating the current item. Service Pack 2 does not block this type of state-based workflow that relies on co-recursion.  &lt;h3&gt;Recap&lt;/h3&gt; &lt;p&gt;· Before SP2, a single on-change workflow could enter an infinite loop by updating the current item, thus triggering itself.  &lt;p&gt;· After SP2, an on-change workflow can trigger any other on-change workflows by updating the current item, but an on-change workflow cannot trigger itself. So co-recursion scenarios -- including any scenario that implements a state-based workflow by using many smaller on-change workflows -- are not blocked.  &lt;p&gt;· As a reminder, it has never been possible to create an infinite loop by having an on-create workflow create an item in the current list. Every workflow has a property that contains the “workflows I cannot start” — this property is used to prevent looping for workflows that start when an item is created.  &lt;p&gt;· As a further reminder, all of the previous scenarios involve only workflows attached to a single list or library. Infinite looping in cross-list scenarios has never been blocked for either on-change or on-create workflows.  &lt;h3&gt;Creating loops before Service Pack 2&lt;/h3&gt; &lt;p&gt;This section presents an example of how a single on-change workflow could leverage infinite looping before SP2. After SP2, this workflow will not trigger itself, so the next section presents an example of how to create a loop by using two separate workflows.  &lt;p&gt;Assume you have a task list named Team Tasks, and you want to design a workflow that will send a reminder every day until the task is marked complete.  &lt;p&gt;First, add a column named Counter to the list with a default value of 0.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image006_3.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image006" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image006_thumb.jpg" width="274" border="0"&gt;&lt;/a&gt;  &lt;p&gt;You need to hide the Counter columns from the list forms (New Item, Edit Item) so that only the workflow can access/update it. Fist, on the list settings page, click Advanced Settings, and then allow the management of content types.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image008_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="92" alt="clip_image008" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image008_thumb.jpg" width="644" border="0"&gt;&lt;/a&gt;  &lt;p&gt;On the list settings page, click each content type, and on the next page click the Counter column. Make the Counter column hidden. Do this for every content type in the list.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image010_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="245" alt="clip_image010" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image010_thumb.jpg" width="257" border="0"&gt;&lt;/a&gt;  &lt;p&gt;After creating and hiding the Counter column so that it does not appear in forms, you’re ready to design the workflow.  &lt;p&gt;The Daily Reminder workflow should start whenever an item is created or changed.  &lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image012_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image012" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image012_thumb.jpg" width="641" border="0"&gt;&lt;/a&gt;&lt;/b&gt;  &lt;p&gt;The first step checks for two things: (1) If the task has already been marked complete, the workflow stops. This rule “short-circuits” the loop whenever the task is finally marked complete. (2) If the task is not completed, the workflow checks to see if the due date is in the future (greater than today). If this is true, the workflow pauses until the due date, because you don’t want to send reminders until the due date has been reached.  &lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image014_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image014" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image014_thumb.jpg" width="639" border="0"&gt;&lt;/a&gt;&lt;/b&gt;  &lt;p&gt;The second steps again checks whether the task is completed (in case the workflow paused until a due date on the previous step, and the task was completed in the interim). If the task is still not complete, the workflow pauses for one day.  &lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image016_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image016" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image016_thumb.jpg" width="635" border="0"&gt;&lt;/a&gt;&lt;/b&gt;  &lt;p&gt;The third step again checks to see if the task was completed while the workflow was paused; if true, the workflow stops.  &lt;p&gt;If the task has not been completed, the workflow (1) sends the e-mail reminder; (2) set the CurrentCount variable by doing a lookup to the Current Item/Counter field; (3) adds 1 to CurrentCount and stores this value in a NewCount variable; and (4) sets the Counter column to the value stored in the NewCount variable.  &lt;p&gt;Basically, this step increments the Counter column by 1 each time the workflow runs, so you can look at the Counter column to see how many reminders have been sent. And most importantly, the “Set Field in Current Item” action at the end of this step is what “changes” the current item, thus causing the workflow to trigger itself and create the loop.  &lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image018_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image018" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image018_thumb.jpg" width="641" border="0"&gt;&lt;/a&gt;&lt;/b&gt;  &lt;h3&gt;Creating loops after Service Pack 2&lt;/h3&gt; &lt;p&gt;After SP2, you can still achieve this looping effect, but it requires designing two workflows that trigger each other (co-recursion) instead of a single workflow that triggers itself.  &lt;p&gt;Here you’ll use a (1) Counter workflow that increments the count and a (2) Worker workflow that actually sends the reminder mail.  &lt;h4&gt;1st workflow — the Counter workflow&lt;/h4&gt; &lt;p&gt;As above, you need to create a Counter column in the list with a default value of 0, allow the management of content types, and make this field hidden for every content type in the list.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image006%5B1%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image006[1]" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image006%5B1%5D_thumb.jpg" width="274" border="0"&gt;&lt;/a&gt;  &lt;p&gt;This two-workflow design requires a second column, SendMail, which will act as a flag for the Worker workflow. The default value must be No – otherwise, any change to a task item would cause the reminder mail to be sent.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image020_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image020" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image020_thumb.jpg" width="424" border="0"&gt;&lt;/a&gt;  &lt;p&gt;The Counter workflow will start when an item is created or changed.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image022_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image022" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image022_thumb.jpg" width="618" border="0"&gt;&lt;/a&gt;  &lt;p&gt;The first step checks the task status – if the task is complete, the Counter workflow stops.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image024_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image024" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image024_thumb.jpg" width="618" border="0"&gt;&lt;/a&gt;  &lt;p&gt;If the task due date is in the future (greater than today), the second step pauses until the due date, because you don’t want to send reminders until after the task is due.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image026_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image026" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image026_thumb.jpg" width="618" border="0"&gt;&lt;/a&gt;  &lt;p&gt;The third step again checks for task completion, in case the task was completed while the workflow was paused on the previous step. If the task is still not complete, the workflow pauses for one day.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image028_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image028" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image028_thumb.jpg" width="618" border="0"&gt;&lt;/a&gt;  &lt;p&gt;The final step checks the status again to see if the task was completed during the previous day-long pause. If not, the workflow updates the current item by (1) incrementing the value of the Counter column by one and (2) setting the SendMail flag to Yes (the default value is No).&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image030_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image030" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image030_thumb.jpg" width="539" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;h4&gt;2nd workflow — the Worker workflow&lt;/h4&gt; &lt;p&gt;The Counter workflow above ends by updating (changing) the current item. These updates trigger the Worker workflow, which is set to start when an item is changed.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image032_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image032" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image032_thumb.jpg" width="618" border="0"&gt;&lt;/a&gt;  &lt;p&gt;The Worker workflow simply checks to see if the SendMail flag is set to Yes; if true, the workflow sends the reminder message and sets the flag back to No.  &lt;p&gt;Setting the SendMail flag to No is the change that triggers the Counter workflow above. The Counter and Worker workflows will trigger each other, sending daily reminders until the task is marked complete.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image034_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image034" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image034_thumb.jpg" width="618" border="0"&gt;&lt;/a&gt;  &lt;p&gt;Alternatively, instead of an infinite loop, you can have the Worker workflow escalate the task notification when the Counter column reaches a certain value — say 5 reminders. The following step executes different branches depending on the reminder count. When the count reaches 5, the workflow sends a message to a manager, whose e-mail address you can either “hard-code” into the Send an Email action or retrieve from a list by using a workflow lookup.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image036_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image036" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image036_thumb.jpg" width="618" border="0"&gt;&lt;/a&gt;  &lt;p&gt;You could also have the Worker workflow reassign the task to a different individual or group after a certain number of reminders have been sent. For this step, the workflow reassigns the task to a SharePoint group comprised of team members who are responsible for following up on such escalated tasks.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image038_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image038" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image038_thumb.jpg" width="542" border="0"&gt;&lt;/a&gt;  &lt;p&gt;If you want to end the loop when the count reaches a certain number, also make sure to add a branch to the first step of the Counter workflow – not the Worker workflow. This branch stops the loop when the Counter column reaches 6.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image040_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="clip_image040" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/ServicePack2preventsanonchangeworkflowfr_A316/clip_image040_thumb.jpg" width="618" border="0"&gt;&lt;/a&gt;  &lt;p&gt;I hope you find this useful.  &lt;p&gt;—Stephen&lt;/p&gt; &lt;script language="javascript" src="http://analytics.live.com/Analytics/msAnalytics.js" type="text/javascript"&gt;&lt;/script&gt;  &lt;script language="javascript" type="text/javascript"&gt;
	msAnalytics.ProfileId = 'D7B5';
	msAnalytics.EnableLinkTracking();
	msAnalytics.TrackPage();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9832089" width="1" height="1"&gt;</description></item><item><title>Download SPD for FREE today!!</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2009/04/02/download-spd-for-free-today.aspx</link><pubDate>Thu, 02 Apr 2009 22:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9529593</guid><dc:creator>spdblog</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/9529593.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=9529593</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT face=Calibri size=3&gt;Today we are excited to share with you some news about SharePoint Designer 2007. Starting now (April 2, 2009), SharePoint Designer 2007 will be available as a free download! We want more of you customizing SharePoint and feel that this a good way to put the tool in the hands of more people. You can find a lot more information in &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/spd"&gt;&lt;FONT face=Calibri size=3&gt;our site&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; including:&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo1"&gt;&lt;SPAN style="COLOR: #1f497d; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;a)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;A href="http://office.microsoft.com/search/redir.aspx?AssetID=HA103607611033&amp;amp;Origin=HH103607651033&amp;amp;CTT=5"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;Letter to our Customers&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo1"&gt;&lt;SPAN style="COLOR: #1f497d; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;b)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;A href="http://office.microsoft.com/search/redir.aspx?AssetID=HA103607621033&amp;amp;Origin=HH103607651033&amp;amp;CTT=5"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;Frequently Asked Questions&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo1"&gt;&lt;SPAN style="COLOR: #1f497d; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;c)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;A href="http://office.microsoft.com/search/redir.aspx?AssetID=XT103616701033&amp;amp;Origin=HH103607651033&amp;amp;CTT=5"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;Free Download&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Also, make sure to watch this video where Tom Rizzo and J.R. Arredondo discuss these changes and provide some insights into what is coming in the future (pick the appropriate version for your bandwidth).&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;SPAN style="COLOR: #1f497d; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;A href="http://download.microsoft.com/download/A/8/D/A8D7704C-079D-418F-B0E8-FAF80F9C79CC/Tom_Rizzo_Interview_116k.wmv"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;Small size video&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; (6MB)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;SPAN style="COLOR: #1f497d; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;A href="http://download.microsoft.com/download/A/8/D/A8D7704C-079D-418F-B0E8-FAF80F9C79CC/Tom_Rizzo_Interview_300k.wmv"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;Medium size video&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; (17 MB)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;SPAN style="COLOR: #1f497d; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;A href="http://download.microsoft.com/download/A/8/D/A8D7704C-079D-418F-B0E8-FAF80F9C79CC/Tom_Rizzo_Interview_1500k.wmv"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;Large size video&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; (83 MB)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Regards,&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The SharePoint Designer Team&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9529593" width="1" height="1"&gt;</description></item><item><title>Visio diagram and site template from Office Online workflow videos</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2009/01/27/visio-diagram-and-site-template-from-office-online-workflow-videos.aspx</link><pubDate>Tue, 27 Jan 2009 21:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9378075</guid><dc:creator>spdblog</dc:creator><slash:comments>34</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/9378075.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=9378075</wfw:commentRss><description>&lt;p style="font-size: medium; font-family: calibri"&gt;Hello all, Stephen here again. Awhile back I recorded a series of workflow videos that were posted on Office Online:  &lt;blockquote&gt; &lt;p style="font-size: medium; font-family: calibri"&gt;&lt;a href="http://office.microsoft.com/en-us/sharepointdesigner/HA102564171033.aspx?pid=CH100667661033" mce_href="http://office.microsoft.com/en-us/sharepointdesigner/HA102564171033.aspx?pid=CH100667661033"&gt;&lt;strong&gt;Watch this: Design a document review workflow solution&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p style="font-size: medium; font-family: calibri"&gt;Many of you have submitted comments asking if I could make available both the Visio diagram shown in the videos and the solution itself.  &lt;p style="font-size: medium; font-family: calibri"&gt;I’m happy to oblige (and apologies for the delay), so please find attached to this blog post a .zip file containing the site template (.stp file) and Visio diagram (.vsd file).  &lt;p style="font-size: medium; font-family: calibri"&gt;A few notes:&lt;/p&gt; &lt;ul&gt; &lt;li style="font-size: medium; font-family: calibri"&gt;The solution uses the Document Center site template found in SharePoint Server 2007 (not Windows SharePoint Services), so it must be deployed to a SharePoint Server environment. &lt;br&gt;&lt;br&gt; &lt;li style="font-size: medium; font-family: calibri"&gt;The site template includes WorkflowDashboard.aspx, but the Data View on that page must be re-created by following the steps in the &lt;a href="http://office.microsoft.com/home/video.aspx?assetid=ES102660231033&amp;amp;width=1024&amp;amp;height=768&amp;amp;startindex=0&amp;amp;CTT=11&amp;amp;Origin=HA102564171033" mce_href="http://office.microsoft.com/home/video.aspx?assetid=ES102660231033&amp;amp;width=1024&amp;amp;height=768&amp;amp;startindex=0&amp;amp;CTT=11&amp;amp;Origin=HA102564171033"&gt;Part 12 video&lt;/a&gt; and the &lt;a href="http://office.microsoft.com/home/video.aspx?assetid=ES102660241033&amp;amp;width=1024&amp;amp;height=768&amp;amp;startindex=0&amp;amp;CTT=11&amp;amp;Origin=HA102564171033" mce_href="http://office.microsoft.com/home/video.aspx?assetid=ES102660241033&amp;amp;width=1024&amp;amp;height=768&amp;amp;startindex=0&amp;amp;CTT=11&amp;amp;Origin=HA102564171033"&gt;Part 13 video&lt;/a&gt;. &lt;br&gt;&lt;br&gt; &lt;li style="font-size: medium; font-family: calibri"&gt;The URLs used in the e-mail messages in the workflows must be updated to reflect the path of the new site, as mentioned in the &lt;a href="http://office.microsoft.com/home/video.aspx?assetid=ES102660251033&amp;amp;width=1024&amp;amp;height=768&amp;amp;startindex=0&amp;amp;CTT=11&amp;amp;Origin=HA102564171033" mce_href="http://office.microsoft.com/home/video.aspx?assetid=ES102660251033&amp;amp;width=1024&amp;amp;height=768&amp;amp;startindex=0&amp;amp;CTT=11&amp;amp;Origin=HA102564171033"&gt;Part 14 video&lt;/a&gt;. &lt;/li&gt;&lt;/ul&gt; &lt;p style="font-size: medium; font-family: calibri"&gt;Hope you find this helpful.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/VisiodiagramandsitetemplatefromOfficeOnl_96FD/Workflow%20diagram_2.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/VisiodiagramandsitetemplatefromOfficeOnl_96FD/Workflow%20diagram_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="207" alt="Workflow diagram" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/VisiodiagramandsitetemplatefromOfficeOnl_96FD/Workflow%20diagram_thumb.png" width="244" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/VisiodiagramandsitetemplatefromOfficeOnl_96FD/Workflow%20diagram_thumb.png"&gt;&lt;/a&gt;&lt;/p&gt; &lt;script language="javascript" src="http://analytics.live.com/Analytics/msAnalytics.js" type="text/javascript"&gt;&lt;/script&gt;  &lt;script language="javascript" type="text/javascript"&gt;
	msAnalytics.ProfileId = 'D7B5';
	msAnalytics.EnableLinkTracking();
	msAnalytics.TrackPage();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9378075" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/sharepointdesigner/attachment/9378075.ashx" length="371924" type="application/x-zip-compressed" /></item><item><title>Creating RESTful Mashups using SPD 2007 (Part 1)</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2008/12/05/creating-restful-mashups-using-spd-2007-part-1.aspx</link><pubDate>Sat, 06 Dec 2008 03:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9180833</guid><dc:creator>spdblog</dc:creator><slash:comments>13</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/9180833.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=9180833</wfw:commentRss><description>&lt;P&gt;&lt;I&gt;Hi! J.R. and Kolby here to share an exciting example of the mashup capabilities of SharePoint. This is the first of two blog entries discussing how to use SharePoint Designer 2007 to create mashups.&lt;/I&gt; 
&lt;P&gt;The word "mashup" has become one of the most repeated buzzwords in the industry over the past few years. Promising ease of data integration and rapid development, mashups have become an integral part of the Web 2.0 lexicon. Many people are now familiar with the stereotypical mashup example of some data rendered on a geographical map. 
&lt;P&gt;Most initial applications of mashup technologies happened in the consumer space. For example, in 2007 Microsoft set out to create a tool integrated with a social network targeting the typical MySpace user. &lt;A href="http://www.popfly.com/" mce_href="http://www.popfly.com/"&gt;Popfly&lt;/A&gt;™ was the result of those efforts and has a very large user base already. It was even voted as one of PC World’s Top 25 Most Innovative Products for 2007. 
&lt;P&gt;Information Technology (IT) organizations have now begun to consider the applicability of mashup technologies to business use, attracted not only by the potential benefits derived from giving end users the ability to get things done on their own, but also to maximize the return on investment on SOA and data integration initiatives. 
&lt;P&gt;This article focuses on building mashups using SharePoint. Specifically, we will show you how to connect to external REST services using SharePoint Designer to bring data into a page in the form of web parts, and connect these web parts to create the mashup. Finally, we will show you how to render data on a geographical map using XSLT. 
&lt;P&gt;&lt;STRONG&gt;Scenario&lt;/STRONG&gt; 
&lt;P&gt;The business scenario we will implement is about recruiting. Imagine a recruiter who has to stay in touch with a group of potential recruits and provide each one of them with personalized conversations as part of the recruiting process. This scenario is applicable to HR recruiting, college and professional sports recruiting, etc. In our example, the recruiter would like a way to have some insight as to what is going on in the recruit’s life before placing a phone call to follow up. In order to accomplish this, the recruiter would like to create a mashup using Twitter, MSN Weather, and the recruit’s personal information stored in a SharePoint list. 
&lt;P&gt;&lt;STRONG&gt;End Result&lt;/STRONG&gt; 
&lt;P&gt;Our solution will consist of two pages. The main page (default.aspx, shown in &lt;EM&gt;Figure 1&lt;/EM&gt;) will show the recruits information in a list in addition to a geographical map that displays their location. When the user clicks on one of the pins or markers on the map, a bubble pops up showing basic information about the recruit. This bubble also includes a link to our second page (mashing.aspx, shown in &lt;EM&gt;Figure 2&lt;/EM&gt;). This page shows the recruit’s information, his or her Twitter image and latest status, and local weather information from MSN Weather. 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 1" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 1. Final result of the default.aspx page.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 2" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_1.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_1.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 2. Final result of the mashing.aspx page.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Figure 3 below shows the high level conceptual flow of our application.&lt;EM&gt; &lt;/EM&gt;When a user clicks on the recruit’s name on default.aspx, they navigate to mashing.aspx. Mashing.aspx receives a parameter in the query string called “name” to determine which recruit to render. You can choose another parameter such as email address if you like. From a user perspective, it is easy to use mashing.aspx by knowing only the name of the recruit. It also makes it easy for us to test our page. We will discuss default.aspx in Part 2 of this blog entry. Today, we will focus on the creation of mashing.aspx, the page that mashes Twitter and MSN Weather data with the SharePoint list. 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=317 alt="Figure 3" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_2.png" width=624 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_2.png"&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;Figure 3. Conceptual flow between two pages.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Building the mashing.aspx Page&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;As we see in Figure 3, mashing.aspx has essentially three web parts: the individual’s information, the Twitter web part, and the MSN Weather web part. The following is a concise outline of how mashing.aspx is created: 
&lt;OL&gt;
&lt;LI&gt;Create a blank page in the desired location&lt;/LI&gt;
&lt;LI&gt;Add the three web parts with the desired information from each data source &lt;/LI&gt;
&lt;LI&gt;Connect the different web parts &lt;/LI&gt;
&lt;LI&gt;Format as desired&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;Step 1. Create a page in the desired location&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;We will assume the SharePoint contact list is already created, and it is named “Recruits” (see Figure 4 below). This SharePoint list should contain basic recruit contact information. The two key pieces of information we want in this list are Email Address (to connect to Twitter) and Zip Code (to connect to MSN Weather). 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_8.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=200 alt="Figure 4" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_3.png" width=625 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_3.png"&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;Figure 4. The Recruits SharePoint list with contact information.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The first step is to create an .aspx page. Open SharePoint Designer to the site where you want to put the mashup, and click File &amp;gt; New &amp;gt; ASPX. This is shown in Figure 5: 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_10.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 5" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_4.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_4.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 5. Create a new .aspx page and save it with the desired name.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Save the page with the desired name and location (Ctrl+S or click the Save button). We are going to call the page mashing.aspx and locate it in the global site folder. 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Hint: One helpful thing to do immediately after creating a new page, is to press enter a few times. This enlarges the form area, making it easier navigate the page editor. After entering data, it is easier to click back into the form to add more data separated by a space or two. We find this super helpful when trying to format the page later.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_12.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 6" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_5.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_5.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 6. The saved page appears in the Folder List on the left.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step 2. Add the desired information&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;After creating a new page, the next step is to place the desired information on the page. First, we will add contact information from the Recruits list onto the page. We’ll use a single item view. If the Data Source Library task pane is not already open, click Task Panes in the toolbar to open it. Display the available list information by clicking into the Data Source Library &amp;gt; Recruits &amp;gt; Show Data (see Figure 7). 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_14.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 7" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_6.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_6.png"&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;Figure 7. To insert the web part containing the recruit's information, click on the Recruits list in the Data Source &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Use Ctrl-click to highlight all of the desired fields that you want to display about the recruit (we will select Full Name, EmailAddress, Phone, Address, City, State, ZIP, and Country). Then click Insert Selected Fields as… &amp;gt; Single Item View (see Figure 8 and Figure 9). 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_16.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=322 alt="Figure 8" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_7.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_7.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 8. Using Ctrl+click, choose the list fields that you want to display on the page. Then enter them as a Single Item View.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_18.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 9" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_8.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_8.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 9. The list data after being placed on the page.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;twitter.com&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;The next step will be to configure Server-side Scripts to pull in external data. We are going to use data from twitter.com and MSN Weather, both of which are RESTful services. Again, using the Data Source Library, click Server-side Scripts &amp;gt; Connect to a script or RSS Feed… Use the dialog to name the source (General tab) and enter the URL (Source tab). For twitter.com, we use the following URL service. 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://www.twitter.com/users/show.xml?email=youremail@domain.com" mce_href="http://www.twitter.com/users/show.xml?email=youremail@domain.com"&gt;http://www.twitter.com/users/show.xml?email=youremail@domain.com&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This URL passes one parameter, an email address. If the email address is associated with a twitter.com account, the service will pass back all of the account information including their current status and the URL for their profile image. Figures 10-12 show these steps… 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_20.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_20.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 10" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_9.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_9.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 10. Click "Connect to a script or RSS Feed..." to add an external REST data source.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_22.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_22.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 11" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_10.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_10.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 11. Configure the source by following the dialog instructions. Here, the name of the source is added.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_24.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_24.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 12" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_11.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_11.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 12. The URL is entered for the source. Here, the specific URL for the Twitter service is added.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;After the service is configured, we can add the data to the page similar to the contact information. Click twitter.com &amp;gt; Show Data. Ctrl-click the status text and the profile_image_url &amp;gt;Insert Selected Fields as… &amp;gt; Single Item View (see Figure 13). 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_26.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_26.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 13" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_12.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_12.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 13. Pick the new Twitter data source, show its data, select the desired fields, and insert them as a Single Item View.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;To show the profile picture as an image and not a URL you need to set the Format as Picture. This can be done via the On-Object User Interface (OOUI) dropdown menu. When you have focus on something, like a web part, you often see a ‘&amp;gt;’ or chevron on the top right of the object. Clicking the chevron opens a dropdown menu (the OOUI). To set change the picture to an image click the URL text &amp;gt; OOUI &amp;gt; Format as: &amp;gt; Picture. The image should then show (see Figures 14 and 15). 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_28.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_28.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=325 alt="Figure 14" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_13.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_13.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 14. The external Twitter data has been added to the page. To show a picture instead of a URL, adjust its format.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_30.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_30.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 15" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_14.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_14.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 15. The Twitter profile picture now appears as an image.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;MSN Weather&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Configuring and the MSN Weather data source follows the same procedures as the twitter example. The URL used to create the data connection is as follows. 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://weather.msn.com/RSS.aspx?wealocations=98052&amp;amp;weadegreetype=F" mce_href="http://weather.msn.com/RSS.aspx?wealocations=98052&amp;amp;weadegreetype=F"&gt;http://weather.msn.com/RSS.aspx?wealocations=98052&amp;amp;weadegreetype=F&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This URL passes two parameters: the location in Zip code form and the units for the temperature (F = Fahrenheit and C = Celsius). Use a valid Zip Code to test the data connection. In our case, we will use the zip code 98052, Redmond, WA. 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_32.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_32.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 16" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_15.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_15.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 16. Insert the MSN Weather data as a Multiple Item View. This will show both the current weather and the forecast.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;To display the weather feed, we will insert the data as a Multiple Item View. This will show us both the Current conditions and the Forecast. In the Data Source Library, click on the weather source &amp;gt; Show Data and then choose the item/description field &amp;gt; Insert Selected Fields as… &amp;gt; Multiple Item View (see Figure 16). Again, the “Format as:” selection will need to be adjusted. Set the format to Rich Text (using the OOUI). 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_34.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_34.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 17" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_16.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_16.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 17. Again, the inserted data needs to be formatted differently to appear correctly. Choosing Rich Text format will show the weather feed correctly.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;We now have all of the data sources configured and displayed in three different Data Form Web Parts (DFWP) on our .aspx page (see Figure 18 below). 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_36.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_36.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 18" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_17.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_17.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 18. The page now contains all of the data, both external and internal.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step 3. Connect the different parts of information&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The goal for our mashup is to show data unique to each recruit (and be able to select which recruit’s data to display). Right now, we have static data for one recruit, and external data from whatever example we typed into the server-side script URLs upon configuration. To solve our problem, we will use a filter with a query string to pick an individual recruit along with Web Part Connections to link the three Web Parts. 
&lt;P&gt;Start with the contact list data from Recruits. Click on the list Web Part &amp;gt; OOUI &amp;gt; Filter:. A dialog titled “Filter Criteria” appears (Figure 19). Follow these steps: 
&lt;OL&gt;
&lt;LI&gt;Click “Click here to add a new clause”&lt;/LI&gt;
&lt;LI&gt;Field name = Full Name&lt;/LI&gt;
&lt;LI&gt;Comparison = Equals&lt;/LI&gt;
&lt;LI&gt;Value: choose Create a new parameter (opens another dialog called “Data View Parameters”)&lt;/LI&gt;
&lt;LI&gt;Parameter Source = Query String&lt;/LI&gt;
&lt;LI&gt;Query String Variable = recruit&lt;/LI&gt;
&lt;LI&gt;Default Value: pick a name within the Recruits list (if you don’t pick one, the web part will be blank and difficult to work with)&lt;/LI&gt;
&lt;LI&gt;Click OK&lt;/LI&gt;
&lt;LI&gt;Click OK&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_38.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_38.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 19" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_18.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_18.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 19. Filter the Recruits list web part to show the data for the recruit passed in the URL query string.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_40.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_40.png"&gt;&lt;IMG height=194 alt="Figure 20" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_19.png" width=288 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_19.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 20. Create the query string parameter to use in the filter.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;At this point, we could preview the page and see contact information, along with the twitter.com and MSN Weather data for the examples that were used to configure them. Changing the URL query parameter to different names would show us the unique contact info for those names (the URL is the page URL with the following attached to the end: “?recruit = [name]”). But, even though the recruit data changes, the twitter and weather info would not. Next, we need to connect the recruit with their twitter info and the weather for their location. 
&lt;P&gt;To connect the twitter source to the email address column of the Recruit list, we will use Web Part Connections. Click on the twitter Web Part &amp;gt; OOUI &amp;gt; Web Part Connections… (Figure 21). A dialog with title “Web Part Connections Wizard” will appear. Follow these steps (Figure 22). 
&lt;OL&gt;
&lt;LI&gt;Choose the action… = Get Parameters From&lt;/LI&gt;
&lt;LI&gt;Click Next&lt;/LI&gt;
&lt;LI&gt;Click Next (for Connect to a Web Part on this page)&lt;/LI&gt;
&lt;LI&gt;Target Web Part = Recruits&lt;/LI&gt;
&lt;LI&gt;Target action = Send Row of Data To&lt;/LI&gt;
&lt;LI&gt;Under “Columns in Recruits” click &amp;lt;none&amp;gt; on the same row as email under “Inputs to Twitter” and select E-mail Address.&lt;/LI&gt;
&lt;LI&gt;Click Next&lt;/LI&gt;
&lt;LI&gt;Click Next&lt;/LI&gt;
&lt;LI&gt;Click Finish&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_42.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_42.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 21" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_20.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_20.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 21. Use Web Part Connections to send the recruit's email address to Twitter.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_44.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_44.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=219 alt="Figure 22a" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_21.png" width=288 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_21.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_46.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_46.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=219 alt="Figure 22b" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_22.png" width=286 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_22.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_48.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_48.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=219 alt="Figure 22c" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_23.png" width=299 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_23.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_50.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_50.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=219 alt="Figure 22d" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_24.png" width=299 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_24.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_52.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_52.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=219 alt="Figure 22e" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_25.png" width=299 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_25.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_54.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_54.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=219 alt="Figure 22f" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_26.png" width=299 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_26.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 22. Follow the wizard, connecting the REST sources to the Recruits list.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The Twitter Web Part is now linked with the Recruits Web Part. A box should appear at the top of the page labeled “SPWebPartManager – WebPartManager”. 
&lt;P&gt;The MSN Weather Web Part can be connected in the same way. Click on the MSN Weather Web Part &amp;gt; OOUI &amp;gt; Web Part Connections… to open the Web Part Connections Wizard. 
&lt;OL&gt;
&lt;LI&gt;Choose the action… = Get Parameters From&lt;/LI&gt;
&lt;LI&gt;Click Next&lt;/LI&gt;
&lt;LI&gt;Click Next (for Connect to a Web Part on this page)&lt;/LI&gt;
&lt;LI&gt;Target Web Part = Recruits&lt;/LI&gt;
&lt;LI&gt;Target action = Send Row of Data To&lt;/LI&gt;
&lt;LI&gt;Under “Columns in Recruits” click &amp;lt;none&amp;gt; on the same row as wealocations and select ZIP/Postal Code.&lt;/LI&gt;
&lt;LI&gt;Click Next&lt;/LI&gt;
&lt;LI&gt;Click Next&lt;/LI&gt;
&lt;LI&gt;Click Finish&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;Ta Da!&lt;/STRONG&gt; All of the Web Parts are now connected to each other. When the page URL is submitted, the server draws the Recruit name from the URL, displays that recruit’s information, sends the recruit’s email address to Twitter and their zip code to MSN Weather, receives the data from both services, and displays all of the unique information on the page! Figure 23 displays what the page looks like in the browser. 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_57.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_57.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 23" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_27.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_27.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 23. With all of the data sources inserted and connected, this is what the page looks like before formatting. Changing the name in the query string of the URL displays unique information for that recruit.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step 4. Format as desired&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The page can now be formatted to any degree, making the page easy to use and look good. The first thing that we would do would be to attach a Master page to help the page fit in with the rest of the site. This can be done easily by clicking Format &amp;gt; Masterpage &amp;gt; Attach Masterpage… &amp;gt; OK. Next, text can be formatted, colored, or moved around. Figure 24 shows an example of what the final result could look like. 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_59.png" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_59.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=324 alt="Figure 24" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_28.png" width=432 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CreatingRESTfulMashupsusingSPD2007Part1_E259/image_thumb_28.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;EM&gt;Figure 24. The final mashing.aspx page with a master page and some formatting.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Hope you enjoyed it! Coming up soon, Part 2: the map...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9180833" width="1" height="1"&gt;</description></item><item><title>Locking Down SharePoint Designer</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2008/11/25/locking-down-sharepoint-designer.aspx</link><pubDate>Tue, 25 Nov 2008 22:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9142670</guid><dc:creator>spdblog</dc:creator><slash:comments>26</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/9142670.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=9142670</wfw:commentRss><description>&lt;p style="font-size: 11pt; font-family: calibri"&gt;Hello all, Stephen here again – I’m a writer for SharePoint Designer. As you know, SharePoint Designer 2007 is a powerful tool for editing SharePoint sites — so powerful, in fact, that you likely have scenarios in your organization where you want to control where and how people can use SharePoint Designer 2007.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;With this post, I’ll try to answer a very common question: “How can I lock down SharePoint Designer in my organization?” And I’ll try to answer the flip side of this question, which arises in an environment where SharePoint Designer has been locked down and the user asks: “Why do I see this message when I attempt to edit a site in SharePoint Designer?”  &lt;h3&gt;Options for locking down SharePoint Designer&lt;/h3&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;The following table outlines the various ways in which you can lock down SharePoint Designer in your organization. Some of this information has been previously published in various venues (Office Online, TechNet, MSDN, Knowledge Base, etc.), but I thought it would be helpful to pull it all together for you.  &lt;p&gt; &lt;table class="" style="font-size: 11pt; width: 100%; border-top-style: none; font-family: calibri; border-right-style: none; border-left-style: none; border-collapse: collapse; background-color: #f2f2f2; border-bottom-style: none"&gt; &lt;tbody&gt; &lt;tr style="background-color: #b6dde8"&gt; &lt;th class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 20%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in; background-color: #b6dde8"&gt;SCOPE&lt;/th&gt; &lt;th class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;OPTION&lt;/th&gt; &lt;th class="" style="padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in; background-color: #b6dde8"&gt;PERMISSIONS REQUIRED TO ENABLE OR DISABLE&lt;/th&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 20%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;At the server level per site definition&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;&lt;span style="font-weight: bold"&gt;ONET.XML&lt;/span&gt; — Prevent all users from opening all sites created from a specific site definition (such as all team sites or all publishing sites) by modifying ONET.XML for that site definition.&lt;/td&gt; &lt;td class="" style="padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;&lt;span style="font-weight: bold"&gt;Server administrator&lt;/span&gt; — You must have an administrator account on the server to modify this file.&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 20%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;At the Web application level for all users&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;&lt;span style="font-weight: bold"&gt;Permissions in Central Administration&lt;/span&gt; — Prevent all users from opening or editing all sites in a Web application by removing the permissions in Central Administration.&lt;/td&gt; &lt;td class="" style="padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;&lt;span style="font-weight: bold"&gt;Site Collection Administrator&lt;/span&gt; — You must be a Site Collection Administrator to add or remove permissions in Central Administration.&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 20%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;At the Web application level per user or group&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;&lt;span style="font-weight: bold"&gt;Policy in Central Administration&lt;/span&gt; — Prevent specific users and groups from opening or editing all sites in a Web application by removing the permissions in Central Administration.&lt;/td&gt; &lt;td class="" style="padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;&lt;span style="font-weight: bold"&gt;Site Collection Administrator&lt;/span&gt; — You must be a Site Collection Administrator to manage permission policies in Central Administration.&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 20%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;At the site level per user or group&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;&lt;span style="font-weight: bold"&gt;Site permissions&lt;/span&gt; — Prevent specific users and groups from opening or editing sites at the site level by removing the permissions from their permission level. Site permissions cannot override permission settings in Central Administration.&lt;/td&gt; &lt;td class="" style="padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;&lt;span style="font-weight: bold"&gt;Site owner&lt;/span&gt; — You must have the Manage Permissions permission to configure site permissions. In SharePoint Server 2007, by default only the Full Control and Manage Hierarchy permission levels include this permission.&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 20%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;At the site level per user or group  &lt;p&gt;(not a security feature)&lt;/p&gt;&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;&lt;span style="font-weight: bold"&gt;Contributor Settings&lt;/span&gt; — Guide trusted users toward performing the right tasks in the right place by disabling features and UI in SharePoint Designer 2007. Contributor Settings cannot override permission settings at the site level or in Central Administration.&lt;/td&gt; &lt;td class="" style="padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;&lt;span style="font-weight: bold"&gt;Site owner&lt;/span&gt; — You must have the Manage Permissions permission to turn Contributor Settings on or off. In SharePoint Server 2007, by default only the Full Control and Manage Hierarchy permission levels include this permission.&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 20%; padding-top: 0.1in; height: 0.6in"&gt;Per computer or per user&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; height: 0.6in"&gt;&lt;span style="font-weight: bold"&gt;Group Policy&lt;/span&gt; — Use policy settings to disable menu commands and their corresponding toolbar buttons in the UI of Office programs, including SharePoint Designer. You can also disable keyboard shortcuts. Settings can be applied to a specific computer or user.&lt;/td&gt; &lt;td class="" style="padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; height: 0.6in"&gt;&lt;span style="font-weight: bold"&gt;Windows administrator&lt;/span&gt; — You must be a member of the Domain Administrators security group, the Enterprise Administrators security group, or the Group Policy Creator Owners security group.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;For a visual overview of the various levels, see &lt;a href="http://msdn.microsoft.com/en-us/library/ms473633.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms473633.aspx"&gt;MSDN: Server and Site Architecture: Object Model Overview&lt;/a&gt;.  &lt;h3&gt;Permissions overview&lt;/h3&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;For the above options that use permissions, whether at the site level or in Central Administration, there are three permissions that you need to consider.  &lt;p&gt; &lt;table class="" style="font-size: 11pt; width: 100%; font-family: calibri; border-collapse: collapse; background-color: #f2f2f2"&gt; &lt;tbody&gt; &lt;tr style="background-color: #b6dde8"&gt; &lt;th class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 20%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in; background-color: #b6dde8"&gt;PERMISSION&lt;/th&gt; &lt;th class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;DESCRIPTION&lt;/th&gt; &lt;th class="" style="padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in; background-color: #b6dde8"&gt;EFFECT ON EDITING WITH SHAREPOINT DESIGNER&lt;/th&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 20%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;Add and Customize Pages&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; vertical-align: top; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;Add, change, or delete HTML pages or Web Part Pages, and edit the Web site using a Windows SharePoint Services-compatible editor.&lt;/td&gt; &lt;td class="" style="padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; vertical-align: top; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;Without this permission, you cannot edit files at the root of the site (such as default.aspx in a team site) or files that reside in folders outside of lists and libraries.&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 20%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;Browse Directories&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; vertical-align: top; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;Enumerate files and folders in a Web site using SharePoint Designer and Web DAV interfaces.&lt;/td&gt; &lt;td class="" style="padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; vertical-align: top; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in"&gt;Without this permission, you cannot open a site in SharePoint Designer.&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 20%; padding-top: 0.1in; height: 0.6in"&gt;Manage Lists&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; vertical-align: top; width: 40%; padding-top: 0.1in; height: 0.6in"&gt;Create and delete lists, add or remove columns in a list, and add or remove public views of a list.&lt;/td&gt; &lt;td class="" style="padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; vertical-align: top; width: 40%; padding-top: 0.1in; height: 0.6in"&gt;Without this permission, you cannot delete libraries, lists, or list forms or views (such as AllItems.aspx) in SharePoint Designer. However, if a list does not inherit permissions from the site, the list permissions apply to that specific list. Note that by default, the Workflows document library does not inherit permissions from the site; you must manage these permissions separately.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;h4&gt;Option 1 — Disable the Add and Customize Pages permission&lt;/h4&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;If you are concerned about users editing files in a site, you can clear the check box for &lt;b&gt;Add and Customize Pages&lt;/b&gt;. Doing this also clears the check box for one dependent permission, &lt;b&gt;Manage Web Site&lt;/b&gt;.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image002_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="471" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image002_thumb.jpg" width="284" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image002_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;When you remove these permissions, users can still open a site in SharePoint Designer, and they can open and edit pages that may be at the root of the site, such as default.aspx. But when they try to save these changes, they see this message.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image004_4.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image004_4.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="139" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image004_thumb.jpg" width="304" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image004_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Without the &lt;b&gt;Add and Customize Pages&lt;/b&gt; permission, a user cannot save the edited page to the root of the site or to any folders in the site — for example, a user cannot save changes to default.aspx at the root of the site. But they can save the edited page to any library in the site to which they have permissions or to a location outside the current site. Remember that list permissions are separate from site permissions — in fact, these two sets of permissions have separate sections in the list of permissions. So preventing users from saving changes to files that reside outside of lists or libraries does not prevent them from opening the site in SharePoint Designer and doing things like deleting workflows from the Workflows document library or deleting an entire list. Permissions for these lists and libraries are managed separately (see the next section).  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Here’s another consideration: If you have all of the permissions (the default Full Control permission level), you see all options on the Site Settings page (below, top image). If you do not have the &lt;b&gt;Manage Web Site&lt;/b&gt; permissions (dependent on &lt;b&gt;Add and Customize Pages&lt;/b&gt;), many options on the Site Settings page are trimmed away (below, bottom image). So take this into account when managing user permissions, especially at the level of Central Administration, because you may be preventing many people from performing key administrative tasks in their site.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image006_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="158" alt="clip_image006" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image006_thumb.jpg" width="414" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image006_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image008_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="125" alt="clip_image008" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image008_thumb.jpg" width="414" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image008_thumb.jpg"&gt;&lt;/a&gt;  &lt;h4&gt;Option 2 — Disable the Manage Lists permission&lt;/h4&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;As mentioned above, if users can open a site in SharePoint Designer, they can — depending on their list permissions — delete content in lists and libraries such as workflows, list forms, or even entire lists. To prevent this, you must disable the &lt;b&gt;Manage Lists&lt;/b&gt; permission.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image010_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image010_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="312" alt="clip_image010" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image010_thumb.jpg" width="284" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image010_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;After you remove this permission, when a user opens a site in SharePoint Designer and tries to delete a list (or a file in the list) that is inheriting permissions from the site, they see the standard “Access denied” warning message.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image004%5B1%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image004%5B1%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="139" alt="clip_image004[1]" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image004%5B1%5D_thumb.jpg" width="304" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image004%5B1%5D_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Note that this permission can be overridden at the level of a specific list or library if that list or library breaks inheritance. For example, the Workflows document library is a hidden library in the site that by default does not inherit permissions from the site. When you create a site, the Workflows library gets the same permissions configuration as the site, but any permissions changes that you subsequently make at the site level — such as disabling &lt;b&gt;Manage Lists&lt;/b&gt; — do not automatically trickle down to the Workflows library.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;To manage permissions for the Workflows library, open the site in SharePoint Designer &amp;gt;&amp;gt; right-click the Workflows library &amp;gt;&amp;gt; click Properties &amp;gt;&amp;gt; click the Security tab &amp;gt;&amp;gt; click the link “Manage permissions using the browser”.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image012_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image012_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="354" alt="clip_image012" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image012_thumb.jpg" width="304" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image012_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Note that disabling &lt;b&gt;Manage Lists &lt;/b&gt;for users also prevents them from adding columns to a list or creating public views.  &lt;h4&gt;Option 3 — Disable the Browse Directories permission&lt;/h4&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;The previous options prevent users from editing or deleting objects in a site after they open the site in SharePoint Designer. You can also prevent users from opening a site in SharePoint Designer in the first place by disabling the &lt;b&gt;Browse Directories&lt;/b&gt; permission.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Disabling this permission also disables four dependent permissions: two discussed above (&lt;b&gt;Add and Customize Pages&lt;/b&gt; and &lt;b&gt;Manage Web Site)&lt;/b&gt; plus two more, &lt;b&gt;Manage Permissions&lt;/b&gt; and &lt;b&gt;Enumerate Permissions&lt;/b&gt;.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image014_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image014_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="471" alt="clip_image014" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image014_thumb.jpg" width="284" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image014_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;When a user who does not have the &lt;b&gt;Browse Directories&lt;/b&gt; permission for a site (or Web application) tries to use SharePoint Designer to open that site (or any site in that Web application), they see this message.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image016_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image016_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="59" alt="clip_image016" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image016_thumb.jpg" width="404" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image016_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Then they are presented with the prompt for new log-on credentials. If the new credentials fail, they see this message.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image018_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image018_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="104" alt="clip_image018" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image018_thumb.jpg" width="404" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image018_thumb.jpg"&gt;&lt;/a&gt;  &lt;h4&gt;Not an option — Disable the Use Remote Interfaces permission&lt;/h4&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;Looking at the list of permissions, you may be tempted to disable the &lt;b&gt;Use Remote Interfaces&lt;/b&gt; permission because it mentions using “SharePoint Designer interfaces to access the Web site” — a reasonable conclusion, but just don’t do it! This permission has a dependent permission, &lt;b&gt;Use Client Integration Features&lt;/b&gt;, and removing this permission disables all SharePoint integration with Office programs like Word, Excel, and PowerPoint.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image020_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image020_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 0px 5px 5px; border-right-width: 0px" height="471" alt="clip_image020" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image020_thumb.jpg" width="284" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image020_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;For example, if you disable &lt;b&gt;Use Remote Interfaces&lt;/b&gt;, you’ll notice that the Edit in Microsoft Office Word option disappears from the item menu in a list or library.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image022_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image022_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="295" alt="clip_image022" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image022_thumb.jpg" width="204" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image022_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Or when you try to view the version history of a document in Word (Office button &amp;gt;&amp;gt; Server menu &amp;gt;&amp;gt; View Version History), you see this message.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image024_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image024_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="96" alt="clip_image024" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image024_thumb.jpg" width="404" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image024_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;And all sorts of other cool features like workflow integration get disabled, so disabling &lt;b&gt;Use Remote Interfaces&lt;/b&gt; is &lt;i&gt;not&lt;/i&gt; the way to control access with SharePoint Designer.  &lt;h3&gt;At the server level per site definition — ONET.XML&lt;/h3&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;If you are a server administrator, you can prevent users from opening sites in SharePoint Designer 2007 by modifying the ONET.XML file on the server. Every site definition includes an ONET.XML file, and changing this file will affect all sites based on that site definition. For example, you can modify ONET.XML for the “sts” site definition, which will prevent all users from opening in SharePoint Designer all team sites created from this site definition. There is no “uber-ONET.XML” file that controls all site definitions.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Changing ONET.XML is a global change that affects all sites on the server.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;1) On the server, open Windows Explorer and browse to the folder that contains the site definition:  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;i&gt;&amp;lt;Drive:&amp;gt;&lt;/i&gt;\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\SiteTemplates\&lt;i&gt;&amp;lt;site_type&amp;gt;&lt;/i&gt;\XML  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Here are the site templates for a server running SharePoint Server 2007. Windows SharePoint Services has fewer site templates. Each site template has its own ONET.xml file.&lt;br&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image026_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image026_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="437" alt="clip_image026" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image026_thumb.jpg" width="354" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image026_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Some of the folder names are a bit cryptic – for quick reference, this table maps them to site names.  &lt;p style="font-size: 11pt; font-family: calibri"&gt; &lt;table class="" style="font-size: 11pt; width: 66%; border-top-style: none; font-family: calibri; border-right-style: none; border-left-style: none; border-collapse: collapse; background-color: #f2f2f2; border-bottom-style: none"&gt; &lt;tbody&gt; &lt;tr style="background-color: #b6dde8"&gt; &lt;th class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.6in; background-color: #b6dde8"&gt;FOLDER &lt;/th&gt; &lt;th class="" style="padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in; background-color: #b6dde8"&gt;SITE NAME&lt;/th&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;BDR&lt;/td&gt; &lt;td class="" style="padding-right: 0.1in; border-top: windowtext 1pt solid; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Document Center&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;BLANKINTERNET&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Publishing Site with Workflow&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;BLANKINTERNETCONTAINER&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Publishing Portal&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;Blog&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Blog&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;CENTRALADMIN&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Central Administration&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;MPS&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Includes the site definition configurations for:  &lt;ul&gt; &lt;li&gt;Basic Meeting Workspace  &lt;li&gt;Blank Meeting Workspace  &lt;li&gt;Decision Meeting Workspace  &lt;li&gt;Social Meeting Workspace  &lt;li&gt;Multipage Meeting Workspace&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;offile&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Records Center&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;OSRV&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Shared Services Administration&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;PROFILES&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Profiles&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;PUBLISHING&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Publishing Site&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SPS&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;SharePoint Portal Server Site (legacy - this template is obsolete)&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SPSCOMMU&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Community area template (legacy - this template is obsolete)&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SPSMSITE&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Personalization Site&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SPSMSITEHOST&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;My Site Host&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SPSNEWS&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;News Site (legacy - this template is obsolete)&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SPSNHOME&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;News Site&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SPSPERS&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;SharePoint Portal Server Personal Space&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SPSPORTAL&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Collaboration Portal&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SPSREPORTCENTER&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Report Center&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SPSSITES&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Site Directory&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SPSTOC&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Contents area template (legacy - this template is obsolete)&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SPSTOPIC&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Topic area template (legacy - this template is obsolete)&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SRCHCEN&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Search Center with Tabs&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;SRCHENTERLITE&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Search Center&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.4in"&gt;sts&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 40%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.4in"&gt;Includes the site definition configurations for:  &lt;ul&gt; &lt;li&gt;Team Site  &lt;li&gt;Blank Site  &lt;li&gt;Document Workspace&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top"&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 17%; border-top-style: none; padding-top: 0.1in; border-left-style: none; height: 0.6in"&gt;Wiki&lt;/td&gt; &lt;td class="" style="padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 40%; padding-top: 0.1in; height: 0.4in"&gt;Wiki&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;2) Right-click the ONET.XML file for the site definition and open it with Notepad.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;3) Add the following line inside the opening Project tag:&lt;br&gt;DisableWebDesignFeatures=wdfopensite&lt;br&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image028_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image028_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="164" alt="clip_image028" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image028_thumb.jpg" width="404" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image028_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;4) Save the file and close Notepad.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;5) On the server, do an iisreset.&lt;br&gt;(Click Start, click Run, type cmd, click OK. At the command prompt, type &lt;b&gt;iisreset &lt;i&gt;computer_name&lt;/i&gt; /restart&lt;/b&gt;, then press ENTER.)  &lt;p style="font-size: 11pt; font-family: calibri"&gt;6) If you have a site of this type open in SharePoint Designer, close SharePoint Designer.&lt;br&gt;When you try to open the site in SharePoint Designer, you should see the following message.&lt;br&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image030_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image030_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="132" alt="clip_image030" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image030_thumb.jpg" width="404" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image030_thumb.jpg"&gt;&lt;/a&gt;  &lt;h5&gt;For more information&lt;/h5&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://support.microsoft.com/kb/940958/en-us" mce_href="http://support.microsoft.com/kb/940958/en-us"&gt;Knowledge Base 940958: How to prevent SharePoint Designer 2007 users from changing a Windows SharePoint Services 3.0 site or a SharePoint Server 2007 site&lt;/a&gt;&lt;b&gt; &lt;/b&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc721635.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc721635.aspx"&gt;TechNet: Special directories and storage locations (Office SharePoint Server)&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa978512.aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa978512.aspx"&gt;MSDN: Site Definitions and Configurations&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms438080.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms438080.aspx"&gt;MSDN: Project Element&lt;/a&gt;  &lt;h3&gt;At the Web application level for all users — Central Administration permissions&lt;/h3&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;In Central Administration, you can enable or disable permissions for all users and groups in a Web application. Managing permissions centrally like this can be convenient because &lt;a href="http://technet.microsoft.com/en-us/library/cc262787.aspx#section3" mce_href="http://technet.microsoft.com/en-us/library/cc262787.aspx#section3"&gt;a Web application can contain 150,000 site collections&lt;/a&gt;. When you clear the check box for a permission in a Web application, that permission cannot be assigned to any user or group in any site in any site collection in the Web application.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Browse to the Central Administration site. On the Application Management tab, click User Permissions for Web Application.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image032_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image032_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="237" alt="clip_image032" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image032_thumb.jpg" width="404" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image032_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;On the next page, you see the same list of permissions that you see when you manage the permission levels for an individual site (with one exception: in Central Administration there’s an additional permission named &lt;b&gt;Use Self-Service Site Creation&lt;/b&gt;).  &lt;p style="font-size: 11pt; font-family: calibri"&gt;The effects of disabling specific permissions are discussed above, but in Central Administration the simplest way to prevent uses from editing sites in SharePoint Designer is to disable the &lt;b&gt;Browse Directories &lt;/b&gt;permission so that they cannot open sites at all in SharePoint Designer — with the caveat that these people therefore won’t have access in the browser to all options on the Site Settings pages and won’t be able to manage permissions for any site in the Web application.  &lt;h5&gt;For more information&lt;/h5&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc262737.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc262737.aspx"&gt;TechNet: Manage permissions for a Web application (Office SharePoint Server)&lt;/a&gt;  &lt;h3&gt;At the Web application level per user or group — Central Administration policy&lt;/h3&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;The option covered in the previous section — permissions for the Web application — is a blanket setting that covers all users and groups for all site collections in a Web application. If you need finer granularity, you can set permissions for specific users or groups in a Web application. You do this by creating a policy for the Web application. Joel Olson’s blog has some &lt;a href="http://blogs.msdn.com/joelo/archive/2007/04/02/web-application-policies.aspx" mce_href="http://blogs.msdn.com/joelo/archive/2007/04/02/web-application-policies.aspx"&gt;good examples of when a Web application policy is useful&lt;/a&gt;.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;And as Joel mentions, policy for a Web application is a way to centrally manage permissions and is different from an information management policy — auditing, expiration, labels, barcodes — that you use to manage data in a list or library.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Browse to the Central Administration site. On the Application Management tab, click Policy for Web Application.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image034_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image034_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="237" alt="clip_image034" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image034_thumb.jpg" width="404" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image034_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Managing permission policies in Central Administration is much like managing permissions in a SharePoint team site. You can add users, configure permission levels, and then assign users a permission level.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image036_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image036_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="156" alt="clip_image036" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image036_thumb.jpg" width="404" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image036_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Except the trick with setting permissions in a policy is that there are two check boxes for each permission — &lt;b&gt;Grant &lt;/b&gt;and &lt;b&gt;Deny&lt;/b&gt;. If you&lt;b&gt; &lt;/b&gt;leave both check boxes blank, this means the policy does not explicitly grant or deny this permission, so it’s up to the discretion of site owners in the Web application whether users have this permission. If you explicitly grant a permission as part of a Web application policy, that user has the permission and this cannot be overridden by a site owner at the site level. Likewise, explicitly denying a permission prevents users from ever having this permission.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image038_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image038_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="252" alt="clip_image038" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image038_thumb.jpg" width="354" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image038_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Your choices here for using permissions to lock down SharePoint Designer are the same as noted above. For quick reference, this table shows which default policy permissions levels grant or deny these permissions. The simplest path here to locking down SharePoint Designer would be to add a new permission policy level that explicitly denies &lt;b&gt;Browse Directories&lt;/b&gt; (with the caveats about dependencies noted above), and then assign that policy to specific users or groups.  &lt;p style="font-size: 11pt; font-family: calibri"&gt; &lt;table class="" style="font-size: 11pt; width: 100%; font-family: calibri; border-collapse: collapse; background-color: #f2f2f2"&gt; &lt;tbody&gt; &lt;tr style="background-color: #b6dde8"&gt; &lt;th class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.6in; background-color: #b6dde8"&gt;&lt;b&gt;PERMISSION POLICY LEVEL&lt;/b&gt;&lt;/th&gt; &lt;th class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.6in"&gt;&lt;b&gt;ADD AND CUSTOMIZE PAGES&lt;/b&gt;&lt;/th&gt; &lt;th class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.6in"&gt;&lt;b&gt;BROWSE DIRECTORIES&lt;/b&gt;&lt;/th&gt; &lt;th class="" style="padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 25%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in; background-color: #b6dde8"&gt;&lt;b&gt;MANAGE LISTS&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in"&gt;&lt;b&gt;Full Control&lt;/b&gt;&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Grants&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Grants&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 25%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.24in; text-align: center"&gt;Grants&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in"&gt;Full Read&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Blank&lt;br&gt;(neither grants nor denies)&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Grants&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 25%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.24in; text-align: center"&gt;Blank&lt;br&gt;(neither grants nor denies)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in"&gt;Deny Write&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Denies&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Blank&lt;br&gt;(neither grants nor denies)&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 25%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.24in; text-align: center"&gt;Denies&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 25%; border-top-style: none; padding-top: 0.1in; border-left-style: none; height: 0.24in"&gt;Deny All&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-left-style: none; height: 0.24in; text-align: center"&gt;Denies&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-left-style: none; height: 0.24in; text-align: center"&gt;Denies&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 25%; padding-top: 0.1in; border-bottom: medium none; height: 0.24in; text-align: center"&gt;Denies&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;h5&gt;&lt;/h5&gt; &lt;h5&gt;For more information&lt;/h5&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc262617.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc262617.aspx"&gt;TechNet: Manage permissions through policy (Office SharePoint Server)&lt;/a&gt;  &lt;h3&gt;At the site level per user or group — Site permissions&lt;/h3&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;A site owner can set permissions on a per user and per site basis.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;If the site is not inheriting permissions:  &lt;p style="font-size: 11pt; font-family: calibri"&gt;· Click the Site Actions menu &amp;gt;&amp;gt; Site Settings &amp;gt;&amp;gt; Advanced Permissions &amp;gt;&amp;gt; Settings menu &amp;gt;&amp;gt; Permission Levels  &lt;p style="font-size: 11pt; font-family: calibri"&gt;If the site is inheriting permissions:  &lt;p style="font-size: 11pt; font-family: calibri"&gt;· Click the Site Actions menu &amp;gt;&amp;gt; Site Settings &amp;gt;&amp;gt; Advanced Permissions &amp;gt;&amp;gt; Actions menu &amp;gt;&amp;gt; Edit Permissions &amp;gt;&amp;gt; click OK &amp;gt;&amp;gt; Settings menu &amp;gt;&amp;gt; Permission Levels  &lt;p style="font-size: 11pt; font-family: calibri"&gt;At the site level, the same permissions are available to you, and they have the same dependencies noted above. For quick reference, this table shows which default permissions levels in SharePoint Server 2007 include these permissions.  &lt;p style="font-size: 11pt; font-family: calibri"&gt; &lt;table class="" style="font-size: 11pt; width: 100%; font-family: calibri; border-collapse: collapse; background-color: #f2f2f2"&gt; &lt;tbody&gt; &lt;tr style="background-color: #b6dde8"&gt; &lt;th class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.6in; background-color: #b6dde8"&gt;&lt;b&gt;PERMISSION LEVEL&lt;/b&gt;&lt;/th&gt; &lt;th class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.6in"&gt;&lt;b&gt;ADD AND CUSTOMIZE PAGES&lt;/b&gt;&lt;/th&gt; &lt;th class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.6in"&gt;&lt;b&gt;BROWSE DIRECTORIES&lt;/b&gt;&lt;/th&gt; &lt;th class="" style="padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; width: 25%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.6in; background-color: #b6dde8"&gt;&lt;b&gt;MANAGE LISTS&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in"&gt;&lt;b&gt;Full Control (Owners group)&lt;/b&gt;&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Yes&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Yes&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 25%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.24in; text-align: center"&gt;Yes&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in"&gt;&lt;b&gt;Design&lt;/b&gt;&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Yes&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Yes&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 25%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.24in; text-align: center"&gt;Yes&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in"&gt;&lt;b&gt;Manage Hierarchy&lt;/b&gt;&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Yes&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Yes&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 25%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.24in; text-align: center"&gt;Yes&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in"&gt;Approve&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;No&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Yes&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 25%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.24in; text-align: center"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in"&gt;&lt;b&gt;Contribute (Members group)&lt;/b&gt;&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;No&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;Yes&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 25%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.24in; text-align: center"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in"&gt;&lt;b&gt;Read (Visitors group)&lt;/b&gt;&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;No&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;No&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 25%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.24in; text-align: center"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in"&gt;&lt;b&gt;View Only (Viewers group)&lt;/b&gt;&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;No&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-bottom: windowtext 1pt solid; border-left-style: none; height: 0.24in; text-align: center"&gt;No&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 25%; padding-top: 0.1in; border-bottom: windowtext 1pt solid; height: 0.24in; text-align: center"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; font-weight: bold; padding-bottom: 0.1in; vertical-align: top; width: 25%; border-top-style: none; padding-top: 0.1in; border-left-style: none; height: 0.24in"&gt;&lt;b&gt;Limited Access&lt;/b&gt;&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-left-style: none; height: 0.24in; text-align: center"&gt;No&lt;/td&gt; &lt;td class="" style="border-right: windowtext 1pt solid; padding-right: 0.1in; padding-left: 0.1in; padding-bottom: 0.1in; width: 25%; border-top-style: none; padding-top: 0.1in; border-left-style: none; height: 0.24in; text-align: center"&gt;No&lt;/td&gt; &lt;td class="" style="border-right: medium none; padding-right: 0.1in; border-top: medium none; padding-left: 0.1in; padding-bottom: 0.1in; border-left: medium none; width: 25%; padding-top: 0.1in; border-bottom: medium none; height: 0.24in; text-align: center"&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;The simplest guidance here is:  &lt;p style="font-size: 11pt; font-family: calibri"&gt;· To prevent users from opening a site in SharePoint Designer, add them to the Visitors group. Note that Visitors also cannot edit items or files in lists or libraries in the browser.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;· To prevent users from editing a site in SharePoint Designer, add them to the Members group. Members can edit items or files in lists or libraries in the browser. They can also open (but not edit) a site in SharePoint Designer.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;· To allow users to edit a site in SharePoint Designer but not perform site owner–type tasks (such as managing permissions), create a Designers group and assign that group the Design permission level. Users with the Design permission level can open and edit a site in SharePoint Designer, but they do not have the &lt;b&gt;Manage Permissions&lt;/b&gt; permission.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Remember that permissions at the site level are overridden by permissions at the Web application level. Even if you assign a user the Full Control permission level for your site, that user will get denied access if the required permissions have been removed or denied in Central Administration.  &lt;h5&gt;For more information&lt;/h5&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://office.microsoft.com/en-us/sharepointserver/HA101001491033.aspx" mce_href="http://office.microsoft.com/en-us/sharepointserver/HA101001491033.aspx"&gt;Office Online: Permission levels and permissions&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://office.microsoft.com/en-us/sharepointserver/HA101172091033.aspx" mce_href="http://office.microsoft.com/en-us/sharepointserver/HA101172091033.aspx"&gt;Office Online: Manage permission levels&lt;/a&gt;  &lt;h3&gt;At the site level per user or group (not a security feature) — Contributor Settings&lt;/h3&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;You can use the Contributor Settings feature to enable and configure Contributor mode, which is a limited access mode in SharePoint Designer 2007. Users who open a site for editing in SharePoint Designer 2007 have access to different commands or features, depending on which Contributor group they belong to and what editing restrictions have been assigned to that Contributor group.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;On the Site menu, click Contributor Settings.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image040_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image040_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="366" alt="clip_image040" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image040_thumb.jpg" width="354" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image040_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Contributor Settings provides fine-grained control over which users can perform which tasks in SharePoint Designer 2007. But keep two important points in mind:  &lt;p style="font-size: 11pt; font-family: calibri"&gt;· Unlike permissions, Contributor Settings is not a security feature. Contributor mode is designed to be used in an environment where site owners are confident of their users’ intentions. Contributor mode helps to guide users in a particular direction to carry out their tasks, and this guidance prevents accidental changes to the Web site.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;· A user’s Contributor Settings cannot override what their permissions allow them to do. Permissions are a security feature; Contributor Settings are not a security feature; if the two conflict, permissions always trump Contributor Settings.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;To turn Contributor Settings on or off, you must have the Manage Permissions permission. In SharePoint Server 2007, by default only the Full Control and Manage Hierarchy permissions levels include this permission. So by default, only people in the Owners group can turn off Contributor Settings.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image042_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image042_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="124" alt="clip_image042" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image042_thumb.jpg" width="404" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image042_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Finally, if a user tries to save a file to a location that is disallowed by their Contributor Settings, they see the usual “Access denied” message.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image004%5B2%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image004%5B2%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="139" alt="clip_image004[2]" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image004%5B2%5D_thumb.jpg" width="304" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image004%5B2%5D_thumb.jpg"&gt;&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Contributor Settings can only be configured on a per-site basis, and these settings are stored in an .htm file. However, you can configure these settings on a temporary site, save the .htm file, and then include this file in a site definition by using the File element. This way, all sites created from this site definition will share the same Contributor settings.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image044_2.gif" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image044_2.gif"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" height="212" alt="clip_image044" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image044_thumb.gif" width="304" border="0" mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/LockingDownSharePointDesigner_9E4B/clip_image044_thumb.gif"&gt;&lt;/a&gt;  &lt;h5&gt;For more information&lt;/h5&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://office.microsoft.com/en-us/sharepointdesigner/HA101174691033.aspx" mce_href="http://office.microsoft.com/en-us/sharepointdesigner/HA101174691033.aspx"&gt;Office Online: Introduction to Contributor Settings&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://office.microsoft.com/en-us/sharepointdesigner/HA101174711033.aspx" mce_href="http://office.microsoft.com/en-us/sharepointdesigner/HA101174711033.aspx"&gt;Office Online: Use Contributor Settings as a site manager&lt;/a&gt;  &lt;h3&gt;Per user or per computer — Group Policy&lt;/h3&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;In a Windows-based network, administrators can use Group Policy settings to help control how users work with the 2007 Microsoft Office system, including SharePoint Designer 2007. Administrators can use Group Policy settings to define and maintain an Office configuration on users' computers. Unlike other customizations — for example, default settings distributed in a Setup customization file — policy settings are enforced and can be used to create highly managed or lightly managed configurations. For example, administrators can use policy settings to disable user-interface menu commands and their corresponding toolbar buttons, and keyboard shortcuts.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;You can create policy settings that apply to the local computer and every user of that computer, or that apply only to individual users:  &lt;p style="font-size: 11pt; font-family: calibri"&gt;· Per-computer policy settings are applied the first time any user logs on to the network from that computer.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;· Per-user policy settings are applied when the specified user logs on to the network from any computer.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Group Policy is completely separate from both a permissions policy in Central Administration and an information management policy applied to a list or library. Group Policy does not control access to objects such as sites or site collections in a SharePoint deployment. Instead, Group Policy can disable commands and button in the user interface of SharePoint Designer 2007. For example, if you don’t want users performing resource-intensive tasks such as backing up sites during peak operational hours, you can use Group Policy to disable the &lt;b&gt;Backup Web Site &lt;/b&gt;command in SharePoint Designer for specific computers or users.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;Disabling UI requires that you specify the toolbar control ID (TCID) for the 2007 Office system controls. For Office 2007 programs that use the Ribbon, &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=4329d9e9-4d11-46a5-898d-23e4f331e9ae&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=4329d9e9-4d11-46a5-898d-23e4f331e9ae&amp;amp;displaylang=en"&gt;this download&lt;/a&gt; provides a list of TCIDs.  &lt;p style="font-size: 11pt; font-family: calibri"&gt;In SharePoint Designer 2007, you can get control IDs using the same VBA that worked in Office 2003. You can find steps and VBA code snippets at &lt;a href="http://office.microsoft.com/en-us/ork2003/HA011402401033.aspx" mce_href="http://office.microsoft.com/en-us/ork2003/HA011402401033.aspx"&gt;Office Online: Managing Users' Configurations by Policy&lt;/a&gt;.  &lt;h5&gt;Attachment&lt;/h5&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;For quick reference, the spreadsheet attached to this post lists the TCIDs for all of the menus and commands in SharePoint Designer 2007.  &lt;h5&gt;For more information&lt;/h5&gt; &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc179081.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc179081.aspx"&gt;TechNet: Enforce settings by using Group Policy in the 2007 Office system&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc179143.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc179143.aspx"&gt;TechNet: Disable user interface items and shortcut keys&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://www.microsoft.com/windowsserver2003/gpmc/default.mspx" mce_href="http://www.microsoft.com/windowsserver2003/gpmc/default.mspx"&gt;Enterprise Management with the Group Policy Management Console&lt;/a&gt;  &lt;p style="font-size: 11pt; font-family: calibri"&gt;&lt;a href="http://office.microsoft.com/en-us/ork2003/HA011402401033.aspx" mce_href="http://office.microsoft.com/en-us/ork2003/HA011402401033.aspx"&gt;Office Online: Managing Users' Configurations by Policy&lt;/a&gt;&lt;/p&gt; &lt;script language="javascript" src="http://analytics.live.com/Analytics/msAnalytics.js" type="text/javascript"&gt;&lt;/script&gt;  &lt;script language="javascript" type="text/javascript"&gt;
	msAnalytics.ProfileId = 'D7B5';
	msAnalytics.EnableLinkTracking();
	msAnalytics.TrackPage();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9142670" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/sharepointdesigner/attachment/9142670.ashx" length="17828" type="application/x-zip-compressed" /></item><item><title>SPD Licensing 101</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2008/11/14/spd-licensing-101.aspx</link><pubDate>Sat, 15 Nov 2008 01:44:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9080503</guid><dc:creator>spdblog</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/9080503.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=9080503</wfw:commentRss><description>&lt;p&gt;We often get questions from you about pricing, licensing, purchasing, etc., so we decided to compile a list of issues we hear most frequently from you in these areas and provide you all with a high level guide for these questions. Most of this information is available across other Microsoft and Office sites such as the SharePoint site, Microsoft Support, and TechNet, but this summary can serve as a good reference. The content below is organized in the following areas: Trials, Pricing, Purchasing, Activation, Licensing and Support.  &lt;p&gt;&lt;b&gt;TRIALS&lt;/b&gt; &lt;p&gt;Everybody likes to try a product before buying it, so we give you two choices: &lt;b&gt;test drive&lt;/b&gt; the product or &lt;b&gt;download a trial&lt;/b&gt;. &lt;p&gt;One of the easiest ways to learn about SharePoint Designer is to &lt;a href="http://www.runaware.com/microsoft/en-us/2007office/td?action=launch_wizard"&gt;&lt;b&gt;test drive SharePoint Designer&lt;/b&gt;&lt;/a&gt;. We use Citrix technologies to allow you to test our products directly on some of our own servers, so all you need is a browser. It will take just about 60 seconds on a broadband connection to get you up and running, after which you will see the following screen. &lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SPDLicensing101_CF39/image_8.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="234" alt="image" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SPDLicensing101_CF39/image_thumb_3.png" width="404" border="0"&gt;&lt;/a&gt; &lt;br&gt;Just click on the Office SharePoint Designer 2007 link and, less than second later, you will be up and running, ready to use SharePoint Designer. It really is that easy.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SPDLicensing101_CF39/image_6.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="286" alt="image" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SPDLicensing101_CF39/image_thumb_2.png" width="404" border="0"&gt;&lt;/a&gt;  &lt;p&gt;The second option you have is to &lt;a href="http://us1.trymicrosoftoffice.com/product.aspx?re_ms=oo&amp;amp;family=sharepoint&amp;amp;culture=en-US"&gt;download a trial version&lt;/a&gt;. This allows you to use the product for 60 days. As the &lt;a href="http://us1.trymicrosoftoffice.com/licensing.aspx?culture=en-US"&gt;Licensing and Support page&lt;/a&gt; explains, trial versions are for evaluation purposes only and the product goes into reduced functionality mode at the end of the trial period. When downloading your trial software, you will receive the product key that will allow you to install and activate the trial software, as seen below.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SPDLicensing101_CF39/image_4.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="214" alt="image" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SPDLicensing101_CF39/image_thumb_1.png" width="404" border="0"&gt;&lt;/a&gt;  &lt;p&gt;Be sure to read the &lt;a href="http://us1.trymicrosoftoffice.com/faq.aspx?culture=en-US"&gt;Frequently Asked Questions&lt;/a&gt; about the trial versions. &lt;p&gt;&lt;b&gt;PRICING&lt;/b&gt; &lt;p&gt;SharePoint Designer is licensed per desktop (just like Office). This is in contrast to the Client Access License (or CAL) and Server model that applies to SharePoint servers. Interestingly, SharePoint Designer is the only product in the SharePoint product family that is also available outside of &lt;a href="http://www.microsoft.com/licensing/howtoacquire.mspx"&gt;Microsoft’s Volume Licensing programs&lt;/a&gt; as part of what is called FPP, or “Fully Packaged Product,” the retail SKU that ships in the &lt;a href="http://c5.img.digitalriver.com/gtimages/mso-trial/assets/local/product_images/3745476.png"&gt;cool plastic box&lt;/a&gt;. One important thing to point out is that, while the phrase “Volume Licensing programs” sounds as if it only applies to Microsoft’s large enterprise customers purchasing hundreds of licenses, the Open License program actually covers organizations needing as few as five desktops. Of course, you can always buy just one or two licenses as well. &lt;p&gt;As a product part of the Office family, there are two types of pricing that apply to SharePoint Designer: the estimated retail price and the upgrade price. As of November 2008, these prices are: &lt;p&gt;· &lt;b&gt;Estimated Retail Price&lt;/b&gt;: $299.95 &lt;p&gt;· &lt;b&gt;Upgrade Price&lt;/b&gt;: $159.95 &lt;p&gt;Products that qualify for the upgrade price include Microsoft FrontPage 2000-2002, Microsoft Office FrontPage 2003, Microsoft Works 6.0–10, Microsoft Works suite 2000–2006 or later, any 2000-2007 Microsoft Office suite, and any Microsoft Office XP suite. For more details, visit the &lt;a href="http://office.microsoft.com/en-us/products/FX101754511033.aspx"&gt;official pricing and upgrade information page&lt;/a&gt; of Microsoft Office. &lt;p&gt;&lt;b&gt;PURCHASING&lt;/b&gt; &lt;p&gt;Buying SharePoint Designer is actually very easy since you can &lt;a href="http://office.microsoft.com/en-us/sharepointdesigner/FX102531271033.aspx"&gt;buy it online&lt;/a&gt;. &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SPDLicensing101_CF39/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="241" alt="image" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/SPDLicensing101_CF39/image_thumb.png" width="404" border="0"&gt;&lt;/a&gt;  &lt;p&gt;Be sure to check out the &lt;a href="http://office.microsoft.com/en-us/sharepointdesigner/HA101945421033.aspx"&gt;system requirements&lt;/a&gt;. In addition, make sure to explore if one of Microsoft’s &lt;a href="http://office.microsoft.com/en-us/suites/HA101080191033.aspx"&gt;Volume Licensing programs&lt;/a&gt; is best for you, especially if you are planning on acquiring five or more licenses or if you need assistance from the &lt;a href="http://www.microsoft.com/licensing/mlahome.mspx"&gt;Microsoft License Advisor&lt;/a&gt; or a reseller. &lt;p&gt;&lt;b&gt;ACTIVATION&lt;/b&gt; &lt;p&gt;We ask you to &lt;a href="http://office.microsoft.com/en-us/help/HA012334341033.aspx"&gt;activate the software&lt;/a&gt; to verify that your installation is performed with a genuine Microsoft product. We have tried to make product activation as simple and painless as possible with the Activation Wizard. Before we discuss any of the issues you may face during activation, let’s define “Reduced Functionality Mode.” Reduced functionality mode happens when a trial period ends or a product has not been activated before the end of activation grace period. In this mode, the product will function similarly to a document viewer, and you will notice that many menu items become unavailable. No files or documents are affected however, and you can easily get out of this mode by &lt;a href="http://office.microsoft.com/en-us/help/HA012334341033.aspx"&gt;activating your product&lt;/a&gt;.  &lt;p&gt;Here is a summary of the key KB articles related to activation that will be mentioned below: &lt;p&gt;· &lt;a href="http://support.microsoft.com/kb/828958"&gt;KB Article 828958&lt;/a&gt; is a good set of resources on Microsoft Office activation. You can get to almost all of the KB articles from there, so it is a good page to keep handy. &lt;p&gt;· &lt;a href="http://support.microsoft.com/kb/927921/en-us"&gt;KB Article 927921&lt;/a&gt; includes Frequently Asked Questions about Activation and about reduced functionality mode. &lt;p&gt;· &lt;a href="http://support.microsoft.com/kb/836178/en-us"&gt;KB Article 836178&lt;/a&gt; helps with the “Invalid Product Key” error. &lt;p&gt;· &lt;a href="http://support.microsoft.com/kb/919895/en-us"&gt;KB Article 919895&lt;/a&gt; helps with a variation of the “Invalid Product Key” error and other problems with the Activation Wizard. &lt;p&gt;For the rest of this topic we will focus on some of the most common issues we have seen from your support questions: &lt;p&gt;· &lt;b&gt;“Invalid Product Key”&lt;/b&gt;: Ok, first of all, please double check the characters you type against your product key to make sure yours is not a simple data entry error!  &lt;p&gt;· &lt;b&gt;You have exceeded the Activation Limit&lt;/b&gt;: The Office EULA allows the license to be activated on up to two computers. You may encounter this issue when you are replacing an older computer and are installing SharePoint Designer to your new computer. In this case, you should call the License Activation phone line to obtain a code to activate the license. If you are attempting to install SharePoint Designer onto more than the number of PCs allowed by the EULA, then you will need to purchase additional licenses. Please note that we are not listing the phone numbers for License Activation here. The correct number for you is based on several factors, depending on whether you purchased SharePoint Designer in retail or Volume License, and more obviously, it depends on your region. If you are located in the United States, then a good place to start is in the &lt;a href="http://office.microsoft.com/en-us/help/HA012334341033.aspx"&gt;Microsoft Office Activation page&lt;/a&gt;. If not, please visit the main Microsoft Office and SharePoint page for your region. &lt;p&gt;· &lt;b&gt;“Invalid Product Key” error message when providing the key (pre-installed software or mixing products and keys)&lt;/b&gt;: This problem is covered in &lt;a href="http://support.microsoft.com/kb/836178/en-us"&gt;KB Article 836178&lt;/a&gt;. When you start a 2007 Office program, you may be prompted to provide the product key, but after entering it you get the error message “You have not entered a valid product key. Please check the number located on the sticker on the back of the CD case or on your Certificate of Authenticity” or you may get the message “Please wait while activation wizard initializes” after which the activation process hangs. In these cases, the likely reason is a pre-installed copy of the software. The problem is solved by uninstalling the previous installation and reinstalling. Make sure that you are not entering a key for a product different than SharePoint Designer. Keys are assigned to a specific product and are not interchangeable. Also, double check that you are not using a key that has exceeded its activation limits. &lt;p&gt;· &lt;b&gt;Reactivation required after significant changes to the PC&lt;/b&gt;: The Activation Wizard creates a hardware identification that represents the configuration of your computer at the time of activation. Over time, especially if you have made significant changes to the configuration of your computer since the original activation, the Activation Wizard may require you to reactivate. Please refer to &lt;a href="http://support.microsoft.com/kb/927921/en-us"&gt;KB Article 927921&lt;/a&gt;. Note that most minor changes to your computer won’t cause you to have to reactivate. &lt;p&gt;· &lt;b&gt;“Invalid Product Key” error message when running the product&lt;/b&gt;: If you get the error “Your software cannot be activated because the Product Key you installed with is not valid. Please uninstall the software and reinstall it using a valid Product Key” visit &lt;a href="http://support.microsoft.com/kb/919895/en-us"&gt;KB Article 919895&lt;/a&gt;. This is a more complex issue that requires you to try several methods to solve the problem. &lt;p&gt;· &lt;b&gt;You are unable to activate your license because of some other problem&lt;/b&gt;: The &lt;a href="http://support.microsoft.com/kb/919895/en-us"&gt;KB Article 919895&lt;/a&gt; mentioned above also helps with a few problems that are not as common:  &lt;p&gt;o &lt;b&gt;The Activation Wizard disappears&lt;/b&gt;, or it does not start but you don’t get any messages. &lt;p&gt;o You get a &lt;b&gt;communication related error&lt;/b&gt;. &lt;p&gt;o You get an error message stating that the “&lt;b&gt;confirmation ID is invalid&lt;/b&gt;” after activating your product over the telephone. &lt;p&gt;o The product starts in reduced functionality mode and you get the error message “2007 Microsoft Office system is expired. In this expired state, many features of the product are unavailable until you convert to the full product. Click Convert to begin the conversion process now” after running the Office Activation Wizard. &lt;p&gt;o When it is not apparent what the reason is for not being able to activate your software, it is possible that the &lt;b&gt;OPA12.DAT&lt;/b&gt; file, which holds the licensing information, has become corrupted and needs to be rebuilt. You can just delete the file to force it to be recreated. &lt;b&gt;Make sure NOT to delete the OPA12.BAK file&lt;/b&gt;. &lt;p&gt;o Again, read &lt;a href="http://support.microsoft.com/kb/919895/en-us"&gt;KB Article 919895&lt;/a&gt; if you experience any of these scenarios. &lt;p&gt;· &lt;b&gt;You are unable to convert a trial version to a full product&lt;/b&gt;: Conversion is the process that happens when you finish evaluating the trial version and decide to purchase the full product. In this case, you are required to provide a product key that you have purchased. However, some trial versions of the product cannot be converted, so you must uninstall the trial version and then install the full product separately. For more information, visit the &lt;a href="http://office.microsoft.com/en-us/help/HA012334341033.aspx"&gt;Microsoft Office Activation page&lt;/a&gt;. &lt;p&gt;· &lt;b&gt;Issues using SharePoint Designer over Terminal Server&lt;/b&gt;: You may be encountering the message “This copy of Microsoft Office SharePoint Designer cannot be used on Terminal Server. Please contact your local authorized Microsoft retailer for more information.” This message occurs because SharePoint Designer requires the use of Volume Licensing key to run on a Windows Terminal Server. Refer to &lt;a href="http://support.microsoft.com/kb/924622"&gt;KB Article 924622&lt;/a&gt; for more information.  &lt;p&gt;&lt;b&gt;LICENSING &lt;/b&gt; &lt;p&gt;Software licensing can be complicated. You may want to keep these resources handy and provide them to your purchasing department contact when considering SharePoint Designer. &lt;p&gt;· &lt;a href="http://www.microsoft.com/licensing/mla/default.aspx"&gt;Microsoft License Advisor&lt;/a&gt; located at &lt;a href="http://www.microsoft.com/licensing/mla/default.aspx"&gt;http://www.microsoft.com/licensing/mla/default.aspx&lt;/a&gt; &lt;p&gt;· &lt;a href="http://www.microsoftvolumelicensing.com/userights/ProductPage.aspx?pid=123"&gt;SharePoint Product Licensing&lt;/a&gt; at &lt;a href="http://www.microsoftvolumelicensing.com/userights/ProductPage.aspx?pid=123"&gt;http://www.microsoftvolumelicensing.com/userights/ProductPage.aspx?pid=123&lt;/a&gt;: This page includes comprehensive information about SharePoint licensing. The page also includes some of the changes relevant to those of you with licenses of SharePoint Designer interested in using FrontPage, or to those of you interested in the Software Assurance migration path for FrontPage 2003. &lt;p&gt;&lt;b&gt;SUPPORT&lt;/b&gt; &lt;p&gt;Support for SharePoint Designer is available over email, online, or over the phone. Use the following site to get support for SharePoint Designer in your region. &lt;p&gt;· &lt;a href="Support%20Site"&gt;Support Site&lt;/a&gt;, located at &lt;a href="http://support.microsoft.com/common/international.aspx?rdpath=1&amp;amp;gprid=11677"&gt;http://support.microsoft.com/common/international.aspx?rdpath=1&amp;amp;gprid=11677&lt;/a&gt; &lt;p&gt;&lt;b&gt;WRAP UP&lt;/b&gt; &lt;p&gt;There you have it. Again, you can download this information as a Microsoft Word document &lt;a href="http://download.microsoft.com/download/d/7/4/d7469a48-d795-4acd-ab2a-b09b05eaf627/SharePoint_Designer_2007_Non_Technical_Resources_v2.doc"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9080503" width="1" height="1"&gt;</description></item><item><title>Page Versioning v2</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2008/11/07/page-versioning-v2.aspx</link><pubDate>Sat, 08 Nov 2008 02:44:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9053300</guid><dc:creator>spdblog</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/9053300.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=9053300</wfw:commentRss><description>&lt;p&gt;Hello again, Eray Chou here. We’re hitting the tail end of this year’s conference season, and a question I’ve been asked a few times on the road is whether there are solutions or best practices for rolling back changes to page edits in WSS. &lt;p&gt;One best practice is to put pages into document libraries and turn on versioning. There are limitations to this solution, which I’ll get into shortly, but it is a quick and easy way to handle changes to page content. &lt;p&gt;To create a document library in SharePoint Designer: &lt;p&gt;1.) File &amp;gt; New &amp;gt; SharePoint Content &lt;p&gt;2.) Click on Document Libraries in the left pane and then select Document Library &lt;p&gt;3.) Name your Document Library, for example “Pages”, and then click “OK”  &lt;p&gt;Next, turn on Versioning for that document library: &lt;p&gt;1.) Select the Document Library you just created in the Folder List.&lt;br&gt;Type &lt;b&gt;Alt+F1&lt;/b&gt; if the folder list is not showing, or click &lt;b&gt;Task Panes &amp;gt; Folder List&lt;/b&gt; &lt;p&gt;2.) Right click on the Document Library and select &lt;b&gt;Properties&lt;/b&gt; &lt;p&gt;3.) Go to the Settings tab &lt;p&gt;4.) Set the &lt;b&gt;Use Version History&lt;/b&gt; option to either “Major and minor (draft) versions” or “Major Versions”. If you opt for the former, set the &lt;b&gt;Make drafts visible to &lt;/b&gt;option based on your own preference &lt;p&gt;Now that your document library with versioning is set up, you can create and save new pages into this document library. Each subsequent save you make will create a new version, and if you make changes that you want to revert, you can roll back to a previous version of the page. &lt;p&gt;To roll back changes: &lt;p&gt;1.) Click on the Page you want to roll back in the folder list &lt;p&gt;2.) Right click on the page and select &lt;b&gt;Version History&lt;/b&gt; &lt;p&gt;3.) Pick the version number to restore, and then click &lt;b&gt;Restore&lt;br&gt;&lt;/b&gt;Note that restoring a version just copies the old content into a new version, so you can always restore your most recent page edits. For example, if I’m currently on Ver 3.1 and decide to restore Ver 2.0, I’ll get a Ver 3.2 with the 2.0 page content. &lt;p&gt;The Master Pages gallery for your site has this turned on by default. So you can take advantage of rolling back versions on master page edits without additional setup. &lt;p&gt;As noted earlier, there are a few limitations with this approach: &lt;p&gt;· This approach does not work for web parts in web part zones. When a web parts is in a Web Part Zone, it gets stored in a different table internally and doesn’t support versioning. This approach does work for web parts that are not in zones. &lt;p&gt;· We do NOT recommend drag-dropping default.aspx into this document library. The homepage of the site is controlled by a meta-info key, and it takes code to update. &lt;p&gt;· There is no need to use this approach on Microsoft Office SharePoint Server Publishing sites. Sites using the Publishing template already have a pages library and have this sort of roll-back functionality on by default.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9053300" width="1" height="1"&gt;</description></item><item><title>Calling a WCF Service from a SharePoint Workflow (using Visual Studio)</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2008/11/02/calling-a-wcf-service-from-a-sharepoint-workflow-using-visual-studio.aspx</link><pubDate>Mon, 03 Nov 2008 01:33:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9029778</guid><dc:creator>spdblog</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/9029778.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=9029778</wfw:commentRss><description>&lt;p align="left"&gt;Greetings all, Alex Malek here - I'm a member of the SharePoint workflow team. This week at PDC, I did a breakout session on how to call an external system from a SharePoint Workflow. Let's walk through what that process looks like!  &lt;h2&gt;My Setup:&lt;/h2&gt; &lt;ol&gt; &lt;li&gt;Office SharePoint Server (Express Setup)  &lt;li&gt;Visual Studio 2008 Professional Edition  &lt;ul&gt; &lt;li&gt;Pro or better is required for the SP Workflow Tools&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Note: I've already gone and created a WCF Service called "EmployeeUpdate” that has a single Operation called "UpdateEmployeeDB"&lt;/p&gt; &lt;h2&gt;&lt;strong&gt;Step 0: Create a new SharePoint Workflow&lt;/strong&gt;&lt;/h2&gt; &lt;ol&gt; &lt;li&gt;Click “New Project” in the VS File Menu  &lt;li&gt;Under the "Office/2007" group, choose "SharePoint 2007 Sequential Workflow". I've called my workflow "SharePoint Workflow 1”&lt;/li&gt;&lt;/ol&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CallingaWCFServicefromaSharePointWorkflo_C174/clip_image001_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CallingaWCFServicefromaSharePointWorkflo_C174/clip_image001_thumb.png" width="244" height="167"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;ol&gt; &lt;li&gt;Make your way through the wizard, and pick a site to test the workflow against. Then click Finish.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CallingaWCFServicefromaSharePointWorkflo_C174/clip_image002_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CallingaWCFServicefromaSharePointWorkflo_C174/clip_image002_thumb.png" width="244" height="194"&gt;&lt;/a&gt;&lt;br&gt;&lt;/p&gt; &lt;li&gt;You'll now have a blank workflow to work with. &lt;br&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CallingaWCFServicefromaSharePointWorkflo_C174/clip_image003_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image003" border="0" alt="clip_image003" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CallingaWCFServicefromaSharePointWorkflo_C174/clip_image003_thumb.png" width="244" height="233"&gt;&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;/ol&gt; &lt;h2&gt;Step 1: Add a Service Reference to your Project&lt;/h2&gt; &lt;p&gt;The easiest way to work with a WCF from .net is to have VS create a “proxy class”, which abstracts all the service calls behind a nice interface. You can do this easily using the “Add Service Reference” feature.  &lt;ol&gt; &lt;li&gt;In the "Project" menu, click "Add Service Reference".  &lt;li&gt;Paste in the address for your service and click "Go".  &lt;li&gt;Give your reference a friendly name and press OK - I've chosen "CustomEmployeeDatabase”.&lt;br&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CallingaWCFServicefromaSharePointWorkflo_C174/clip_image004_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CallingaWCFServicefromaSharePointWorkflo_C174/clip_image004_thumb.png" width="244" height="200"&gt;&lt;/a&gt;&amp;nbsp;&lt;br&gt; &lt;li&gt;Once the file dialog goes away, you’ll notice a new child in your project pane, called “Service References”. If your service changes at some point, just right click your reference and choose “Update Service Reference” &lt;br&gt;&lt;/li&gt;&lt;/ol&gt; &lt;h2&gt;Step 2: Register this endpoint with SharePoint&lt;/h2&gt; &lt;p&gt;Creating the Service Reference endpoint also adds a "App.config" file to your local project, with a "System.ServiceModel" element. However, SharePoint doesn’t read from app.config files, so for SharePoint to be able to call this endpoint, you need to copy that configuration data to your local web.config.  &lt;blockquote&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CallingaWCFServicefromaSharePointWorkflo_C174/clip_image005_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image005" border="0" alt="clip_image005" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CallingaWCFServicefromaSharePointWorkflo_C174/clip_image005_thumb.png" width="244" height="197"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;ol&gt; &lt;li&gt;Open web.config in VS for editing. You can find the file in the "\inetpub\wwwroot\wss\VirtualDirectories\80" directory, where 80 corresponds to the port of your SharePoint application.  &lt;li&gt;Copy the "System.ServiceModel" element from app.config into web.config. If you already have a "System.ServiceModel” element, you’ll need to merge the &amp;lt;Bindings&amp;gt; and &amp;lt;Client&amp;gt; elements in manually.&amp;nbsp;&amp;nbsp; &lt;li&gt;To complete your changes, open a windows command window (Start/Run/cmd.exe) and type "iisreset", which will cycle the sharepoint web application, so it can pick up the web.config changes. &lt;br&gt;&lt;/li&gt;&lt;/ol&gt; &lt;h2&gt;Step 3: Use a Code Activity to call the WCF service endpoint&lt;/h2&gt; &lt;p&gt;Since SharePoint is built on .net 3.0, it is not supported to use the new Send/Receive Activities that were added as part of .net 3.5. Instead, we’ll use a code activity to work with the Service via code.  &lt;ol&gt; &lt;li&gt;Drag a "Code" activity to the workflow designer canvas.  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CallingaWCFServicefromaSharePointWorkflo_C174/clip_image006_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/CallingaWCFServicefromaSharePointWorkflo_C174/clip_image006_thumb.png" width="244" height="141"&gt;&lt;/a&gt;&lt;br&gt;&lt;/p&gt; &lt;li&gt;Next, double-click the activity to generate the code handler.  &lt;li&gt;You can &lt;em&gt;new&lt;/em&gt; up the service proxy client by using the proxy class name you gave. &lt;/li&gt;&lt;/ol&gt; &lt;blockquote&gt; &lt;p&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa; mso-no-proof: yes"&gt;CustomEmployeeDatabase.&lt;span style="color: #2b91af"&gt;Workflow1Client&lt;/span&gt; client = &lt;span style="color: blue"&gt;new&lt;/span&gt; CustomEmployeeDatabase.&lt;span style="color: #2b91af"&gt;Workflow1Client&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"WSHttpContextBinding_IWorkflow1"&lt;/span&gt;);&lt;/span&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4. Since my service is local, I’ll use the default network credentials to interact with the service. You’ll need to modify depending how your service is secured. &lt;/p&gt; &lt;ol&gt; &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes"&gt;client.ClientCredentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/ol&gt; &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5. Last, but not least, you can now call your operation, just as if it was a local function. &lt;/p&gt; &lt;blockquote&gt; &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes"&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt; result = client.UpdateEmployeeDB();&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes"&gt;client.Close();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;- don’t forget to close your connection&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes"&gt;&lt;/span&gt;That's it! You can now hit F5 to test your workflow. &lt;/p&gt; &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Wrap-up&lt;/h2&gt; &lt;p&gt;There you have it - calling web services from SharePoint workflows. If you run into trouble, double-check that you properly copied the configuration information from app.config into your SharePoint web.config.  &lt;p&gt;Thanks!&lt;br&gt;-Alex Malek  &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9029778" width="1" height="1"&gt;</description></item><item><title>Best Practice to create designer friendly server controls</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2008/10/03/best-practice-to-create-designer-friendly-server-controls.aspx</link><pubDate>Sat, 04 Oct 2008 01:24:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8975963</guid><dc:creator>spdblog</dc:creator><slash:comments>10</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/8975963.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=8975963</wfw:commentRss><description>&lt;p&gt;SharePoint Designer 2007 is a ground breaking design tool to help information workers and designers create context rich composite applications without writing single line of code. SharePoint Designer enables many interesting customization and app building scenarios that might not have been originally envisioned by the control developers. Moreover the control preview and persistence mechanism is built on top of the Whidbey control designer framework which is inherently different from the ASP.Net runtime behaviors. That’s the reason sometimes control developers might be surprised to find out controls which work perfectly in browsers might not work at all in SharePoint Designers. Most of the time to fix the issue we need to tweak or redesign the server control in a way that is more compatible with the Whidbey and SharePoint design time framework.  &lt;p&gt;This document tries to summarize some of the best practice of design time friendly server controls to help control developers avoid most common bugs when controls interact with SharePoint Designer. Actually all best practices listed below work well with Visual Studio design surface too so by following the practice we can potentially have the benefit of making our controls work better with VS design areas. &lt;p&gt;&lt;b&gt;1: Just because a control works in browser doesn’t mean it’ll automatically work in SPD, and usually it’s not SPD or designer framework bug.&lt;/b&gt; &lt;p&gt;SharePoint Designer leverages Whidbey ControlDesigner framework to let WSS server renders control preview for SPD. This process is inherently different from runtime control rendering in many ways: &lt;p&gt;· When a control is being rendered for design time, the Page context is different from runtime. Many global variables that used to work in runtime doesn’t exist or even will throw uncaught exceptions if we’re not careful. Page.Request is one prime example. &lt;p&gt;· Control lifecycle is different. Default control designer framework doesn’t call OnPreRender and OnLoad. Only OnInit and Render are guaranteed to be called. &lt;p&gt;· Control tree structure might be different. Many times controls are added to designer Tree structure in a “flatted out” way, instead of the runtime hierarchical structure. &lt;p&gt;· In SPD users can update control property in property grid of SPD. This involves SPD sending a remote authoring command to SharePoint server, instantiate the control at server, setting the property, and then gather the markup out of the in memory control at server, and finally sending the markup and preview back to SPD client. This process involves “roundtrip” between markup and in-memory control, unlike runtime ASP.Net parsing which is only one-directional. Because of this complication, the control and its markup requires more from control developers in order for this roundtrip to work seamlessly. &lt;p&gt;· SPD users can easily drag &amp;amp; drop controls around design surface.  &lt;p&gt;· SPD 2007 can’t run JavaScript code or any other client side code as in browsers. Future releases of SPD might revisit this issue but there’s no guarantee it’ll work next release. &lt;p&gt;&lt;b&gt;&lt;u&gt;That’s the reason it’s highly recommended that developers verify server control preview fine in SPD and we can update control property through SPD property grid before check in.&lt;/u&gt;&lt;/b&gt; &lt;p&gt;&lt;b&gt;2: Make sure Control is self-contained, and doesn’t contain unnecessary client side script.&lt;/b&gt; &lt;p&gt;Since SPD users can easily drag &amp;amp; drop controls around design surface, all server controls have to be self-contained to work in any SPD drop locations. There used to be a server control that spits out &amp;lt;td&amp;gt;content&amp;lt;/td&amp;gt; and the markup looks like: &lt;p&gt;&amp;lt;tr&amp;gt; &lt;p&gt;&amp;lt;SharePoint:MyControl runat=server/&amp;gt; &lt;p&gt;&amp;lt;/tr&amp;gt; &lt;p&gt;Obviously this control will generate invalid html once dragged out of the enclosing TR tag and thus needs to be modified to be more self-contained in order for this operation to make sense. &lt;p&gt;SPD 2007 currently can’t run any client side script code (including VB/Java Script). So any client side script trick to tweak the page content won’t work in SPD. Many of the scripts which are used to update static page rendering are actually avoidable. For instance, we have a control that will use JavaScript trick to add one row in the first table of the page. That same logic could be easily achieved through server side control rendering instead of client side logic. We encourage control developers to avoid unnecessary client side script which will affect static page rendering. This doesn’t apply to any AJAX behaviors which can’t be displayed in SPD. &lt;p&gt;&lt;b&gt;3: Use SPContext.Current.IsDesignTime or Control.DesignMode. Use them to protect dangerous Page.Request call.&lt;/b&gt; &lt;p&gt;For design time rendering, this.Page is not null since we do have design time Page object available. Unfortunately Whidbey will throw exception for Page.Request call in design time. To protect the exception, we can check SPContext.Current.IsDesignTime which is a global flag. If we’re inside a control object, we can also call the protected method Control.DesignMode to check if we’re in design mode. Those 2 flags are also helpful if control developers want to display special content for SPD design time, just do something like: &lt;p&gt;protected override void Render (HtmlTextWriter output) &lt;p&gt;{ &lt;p&gt;If (this.DesignMode) &lt;p&gt;{ &lt;p&gt;//design time preview goes in here. &lt;p&gt;} &lt;p&gt;else &lt;p&gt;{ &lt;p&gt;// runtime render code goes in here. &lt;p&gt;} &lt;p&gt;} &lt;p&gt;&lt;b&gt;4. Be aware of design time control lifecycle. Use SPControlDesigner or DesignTimeHtmlProviderDesigner for your control if necessary to change control design time lifecycle.&lt;/b&gt; &lt;p&gt;Each server control will be assigned a default control designer by Whidbey. The default Whidbey ControlDesigner doesn’t call OnLoad or OnPreRender to generate control preview. So any server control that relies on logic in OnLoad or OnPreRender will most likely have issues in SPD. Control developers have potentially 2 options to solve the issue: &lt;p&gt;· Move the logic to OnInit or Render(). &lt;p&gt;· Use a different designer than the default one chose by Whidbey. &lt;p&gt;To do the latter, control developers can simply add the following line of code as control class attribute: &lt;p&gt;[Designer(typeof(SPControlDesigner))] &lt;p&gt;Public class myControl : IDesignerEventAccessor,… &lt;p&gt;SPControlDesigner is a built in WSS designer which forces the control OnLoad and OnPreRender functions to called. It also makes sure control children expression binding process work, unlike the default ControlDesigner, and IDesignTimeHtmlProvider interface was honored by designer. Since OnInit and OnPreRender are both protected, control designer can’t directly call into those 2 functions. That’s the reason controls that use SPControlDesigner have to implement the trivial IDesignerEventAccessor interface and expose those 2 functions through the interface. &lt;p&gt;In SharePoint V2, we have IDesignTimeHtmlProvider interface to help FrontPage 2003 get control preview through a SOAP call. However that mechanism is deprecated in Office 2007 so all controls that use IDesignTimeHtmlProvider interface to create preview for SPD won’t really work in designer framework unless you either use SPControlDesigner, or more lightweight designer class DesignTimeHtmlProviderDesigner. &lt;p&gt;&lt;b&gt;5. Use ParseChildren and PersistChildren attributes if appropriate to facilitate control and its markup roundtrip.&lt;/b&gt; &lt;p&gt;In runtime ASP.Net just parses control markup on the page and then instantiates. In SPD design time users can set control properties through SPD property grid, which involves the complicated process of control instantiation at the server, setting the property and then spit out the true control markup and preview. That whole process requires the control and the markup to “roundtrip”.  &lt;p&gt;Class-level control attributes &lt;b&gt;PersistChildren&lt;/b&gt; and &lt;b&gt;ParseChildren&lt;/b&gt; dictate how a Web control reacts to any child content within its tags. Child content is the markup that appears between the starting and closing tags for a control's declarative syntax:  &lt;p&gt;&amp;lt;asp:&lt;i&gt;SomeWebControl&lt;/i&gt; runat="server" ...&amp;gt;&lt;br&gt;&lt;i&gt;This content in here is considered the child content...&lt;/i&gt;&lt;br&gt;&amp;lt;/asp:&lt;i&gt;SomeWebControl&lt;/i&gt;&amp;gt;  &lt;p&gt;The child content can be interpreted in two ways:  &lt;ol&gt; &lt;li&gt;&lt;b&gt;As property values&lt;/b&gt; - many built-in ASP.NET Web controls specify property values as child content. For example, the DataGrid class will specify style information, as well as column information as child content. This actual content maps to properties in the DataGrid class. &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&amp;lt;asp:DataGrid runat="server" AutoGenerateColumns="False" ...&amp;gt; &lt;p&gt;&amp;lt;ItemStyle BackColor="Peach" Font-Name="Verdana" ...&amp;gt;&amp;lt;/ItemStyle&amp;gt; &lt;p&gt;&amp;lt;Columns&amp;gt; &lt;p&gt;&amp;lt;asp:BoundColumn ... /&amp;gt; &lt;p&gt;... &lt;p&gt;&amp;lt;/Columns&amp;gt; &lt;p&gt;&amp;lt;/asp:DataGrid&amp;gt; &lt;ol start="2"&gt; &lt;li&gt;&lt;b&gt;As children controls&lt;/b&gt; - the child content can be interpreted as controls that should be added to the Web control's control hierarchy. The Panel Web control, for example, has the HTML and Web controls that appear within it specified in its child content area: &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&amp;lt;asp:Panel runat="server" ...&amp;gt; &lt;p&gt;What is your name?&amp;lt;br /&amp;gt; &lt;p&gt;&amp;lt;asp:TextBox runat="server" ... /&amp;gt; &lt;p&gt;&amp;lt;/asp:Panel&amp;gt; &lt;p&gt;To indicate which of these two mo7dels should be used, the PersistChildren and ParseChildren attributes are used. By default, the PersistChildren and ParseChildren have values of False and True. The PersistChildren attribute specifies whether Whidbey should persist the child content as children controls. The ParseChildren attribute indicates whether or not the child content should be parsed as properties. So, when PersistChildren is False and ParseChildren is True, the behavior is that inner XML content is treated as property values (again, this is the default behavior). If you want to child content to be treated as child controls in the control hierarchy, you need to explicitly set PersistChildren to True and ParseChildren is False, like so:  &lt;p&gt;[ &lt;p&gt;PersistChildren(true),  &lt;p&gt;ParseChildren(false), &lt;p&gt;... &lt;p&gt;] &lt;p&gt;public class MyControl : WebControl &lt;p&gt;{ &lt;p&gt;... &lt;p&gt;} &lt;p&gt;Because of this constraint, in general we can’t have mixed-up control child content--- it has to be either children controls or property values, otherwise markup and control roundtrip won’t work correctly. &lt;p&gt;&lt;b&gt;6. Use PersistenceMode(PersistenceMode.InnerProperty) and [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] attributes, or TypeConverter if appropriate to facilitate control attribute serialization.&lt;/b&gt; &lt;p&gt;As we mentioned in the previous section, a control property can be persisted either as an attribute on the control tag markup, or as control child content. By default Whidbey and WSS designer framework will choose to persists any control property as an attribute on the control tag markup. This means the property text will be encoded inside the attribute. This might turn out ugly in SPD code view. For instance, the Xsl property for DataFormWebPart will be less than appealing if encoded as attribute. To make specific control property persisted as control child tag instead of encoded attribute, control developers can use property-level attribute PersistenceMode(PersistenceMode.InnerProperty) to notify framework. &lt;p&gt;Many times we have control or Webpart properties that are not of simple types like int, DateTime, Decimal, String, or Guid. Instead it is of complex type that can’t be directly serialized, like SPList. To roundtrip those control properties, control developers have to write its own TypeConverter class which converts between the complex type and string. In TypeConverter implementation we need to implement 4 override virtual functions: &lt;p&gt;public override bool CanConvertFrom(ITypeDescriptorContext td, Type t); // can the complex type be converted from input type t? &lt;p&gt;public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType); //can the complex type be converted to input destinationType? &lt;p&gt;public override object ConvertFrom(ITypeDescriptorContext td, CultureInfo cultureInfo, object value); // convert from simple type value to the complex type. &lt;p&gt;public override object ConvertTo(ITypeDescriptorContext context, CultureInfo cultureInfo, object value, Type destinationType); //convert from complex type to simple type value. &lt;p&gt;Of course we might not need to do this at all, since the complex-typed control property might not need to be exposed to SPD at all. This can save all the trouble of creating a custom TypeConverter.  &lt;p&gt;To do that, simply add the property level attribute [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] &lt;p&gt;&lt;b&gt;7. For advanced control designer developer, be aware of the design time control render peculiarly and control tree structure.&lt;/b&gt; &lt;p&gt;The default Whidbey ControlDesigner behaves unexpected to most runtime control developers in 2 ways: &lt;p&gt;1. The design time control tree structure is “flattened” by default. This means there’s no guarantee that parent of a control in the runtime is actually the parent in design time. Instead the parent could be a global stub control that is the parent of everything. To many controls this design time behavior is not desired. To control the parenting structure of control tree, developers can use DesignerRegion class to set the desired parent of controls inside the designer region. For more details, please see examples in DataFormWebPartDesigner class. &lt;p&gt;2. Designer framework calls “GetDesignTimeHtml” method on the ControlDesigner to render the control preview. This call usually happens before the page has finished loading and all controls in the page has been put into the control tree. This could cause problems for controls that need to interact with other controls in the page before doing the preview generation. There’s actually a way to delay the preview render after the page has been loaded in design time. The trick is this line: &lt;p&gt;SetViewFlags(ViewFlags.DesignTimeHtmlRequiresLoadComplete, true); It has superseded the obsolete virtual function DesignTimeHtmlRequiresLoadComplete in Whidbey. &lt;p&gt;Thanks, &lt;p&gt;Robert Chen&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8975963" width="1" height="1"&gt;</description></item><item><title>Declarative Workflows and User Context</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2008/09/28/declarative-workflows-and-user-context.aspx</link><pubDate>Mon, 29 Sep 2008 07:02:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8968422</guid><dc:creator>spdblog</dc:creator><slash:comments>20</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/8968422.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=8968422</wfw:commentRss><description>&lt;p&gt;My name is Darren and I’m one of the workflow testers for SharePoint Designer.&amp;nbsp; One of the ways that SharePoint Designer workflows operate that seems to be a point of confusion that I keep hearing about is that certain actions don’t always work when someone expects them too.&amp;nbsp; There are a number of reasons that this can happen, but the main one I would like to blog about is user context the workflow runs under. &lt;p&gt;The basic thing to remember is that declarative workflows (the one’s created by SharePoint Designer) always run impersonating the user who started the workflow.&amp;nbsp; So if I’m a contributor and I make an edit to a list item and that triggers a workflow then that workflow runs as me and has the ability to do everything that I do.&amp;nbsp; Where this can get challenging is in cases where the workflow tries to do something I couldn’t do on my own, like make a change to a list I don’t have permissions to, since it also has the same limitations I do.&amp;nbsp; The reason we do this is to protect against things like elevating someone’s privileges to something they might take advantage of or get information they shouldn’t be able to see. &lt;p&gt;Now this seems simple at first, but it is limiting what can be done by a declarative workflow in some more complicated scenarios like triggering a workflow base on an anonymous submission to a list.&amp;nbsp; The main way the people have worked around this (either intentionally or unintentionally) is get a workflow triggered by the SharePoint System account (the account used to run the SharePoint web application) which has full access to everything.&amp;nbsp; This is accomplished by using email enabled lists, running a custom form (i.e. InfoPath) that submits data to a list, or some other custom code (or even custom workflow actions that elevate themselves for certain tasks).&amp;nbsp; This was fine until we discovered a security problem in declarative workflows that we had to fix in SP1.&amp;nbsp; One effect of this change is that the SharePoint System account is no longer allowed to trigger declarative workflows. &lt;p&gt;This change effectively broke some people’s workflows and we knew it would, but that was better than allowing the security problem to remain.&amp;nbsp; Some of these scenarios can be fixed by changing the custom code or updating the submission form.&amp;nbsp; But one that can’t is lists that have email enabled on them add the items to the list as the admin account.&amp;nbsp; With SP1 those can’t start workflows and administrators have no way of changing the account items get added as.&amp;nbsp; So as part of the SharePoint Infrastructure Public Update we allow for that scenario base on a stsadm.exe command that sets a property to allow emailed items to trigger workflows as the person who last saved the workflow to the site.&amp;nbsp; This will also be rolled up into SP2. &lt;p&gt;To sum up . . . &lt;p&gt;· Declarative workflows run as the person who triggered the workflow either manually, or by adding or editing an item. &lt;p&gt;· Individual workflow actions can be made to elevate permissions. &lt;p&gt;· The RTM version of the server allowed workflows to run as SharePoint System, but had a security vulnerability. &lt;p&gt;· In SP1 the security problem was fixed, but declarative workflows can no longer be triggered by the SharePoint System account. &lt;p&gt;· In the SharePoint Infrastructure public update box administrators can allow email enabled lists to trigger workflows as the last person to save the workflow when an item is created via email.&amp;nbsp; Run “stsadm.exe –o setproperty –propertyname declarativeworkflowautostartonemailenabled –propertyvalue yes” on the patched server to enable this. &lt;p&gt;So when building a declarative workflow take a moment to consider under what user context the workflow is running so you can better plan what the workflow is able to do.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8968422" width="1" height="1"&gt;</description></item><item><title>Using “Disable Output Escaping” in Data View</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2008/09/20/using-disable-output-escaping-in-data-view.aspx</link><pubDate>Sat, 20 Sep 2008 15:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8959897</guid><dc:creator>spdblog</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/8959897.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=8959897</wfw:commentRss><description>&lt;p&gt;Hi everyone, Saiyue Yu here.&amp;nbsp; &lt;p&gt;For any field that may be rendered by SharePoint as HTML, you need to disable output escaping. At the code level, this essentially means setting &lt;i&gt;disable-output-escaping = “yes”&lt;/i&gt; attribute for the field’s &lt;i&gt;xsl:value-of&lt;/i&gt; tag in the Data View. When you do this, make sure that your data source is trustworthy because of the potential security risk for cross site scripting. &lt;p&gt;Usually the user doesn’t have to worry about output escaping for SharePoint Data Views. Before a Data View is created, Sharepoint Designer retrieves the data types for the selected fields. If a field is &lt;i&gt;Rich Text&lt;/i&gt;, which will be rendered as HTML, disabling output escaping is automatically completed. &lt;p&gt;There are cases when the field schema information is not available, or not considered. The former case can happen when you insert a Data View for a RSS feed. For example, when you create a Data View for New York Times RSS Feed for Education (&lt;a href="http://www.nytimes.com/services/xml/rss/nyt/Education.xml"&gt;http://www.nytimes.com/services/xml/rss/nyt/Education.xml&lt;/a&gt;, you can do it by clicking MenuBar &amp;gt; Data View &amp;gt; Manage Data Sources to bring up the &lt;b&gt;Data Source Library &lt;/b&gt;task pane, and then add the XML file,) the rendering of the &lt;i&gt;description &lt;/i&gt;column is &lt;i&gt;Text&lt;/i&gt; instead of &lt;i&gt;Rich Text&lt;/i&gt;. Because there is no schema information for SharePoint Designer to know that the &lt;i&gt;description&lt;/i&gt; column should be rendered as &lt;i&gt;Rich Text, &lt;/i&gt;SharePoint Designer renders the column as the fallback type which is&lt;i&gt; Text &lt;/i&gt;. &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UsingDisableOutputEscapinginDataView_514A/clip_image002_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="147" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UsingDisableOutputEscapinginDataView_514A/clip_image002_thumb.jpg" width="429" border="0"&gt;&lt;/a&gt; &lt;p&gt;There are also cases when the field schema information is available but not considered by SharePoint Designer, and drag-n-dropping is such a case. For example, you have a Data View to display the food category information from a SharePoint List. When you created the Data View, you chose to show only &lt;i&gt;CategoryID&lt;/i&gt; and &lt;i&gt;Title&lt;/i&gt; columns. Later you decide to add the &lt;i&gt;Description&lt;/i&gt; field, and it is done by adding another column to the Data View and drag-n-dropping the &lt;i&gt;Description&lt;/i&gt; field from the &lt;b&gt;Data Source Details &lt;/b&gt;Task Pane. Although the data type for the &lt;i&gt;Description&lt;/i&gt; field is &lt;i&gt;Rich Text&lt;/i&gt; and the schema has this information, but since the schema information is not considered in the drag-n-dropping situation, the rendering of this &lt;i&gt;Rich Text&lt;/i&gt; field will contain escaped sequence like &lt;i&gt;&amp;amp;amp;&lt;/i&gt;: &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UsingDisableOutputEscapinginDataView_514A/clip_image004_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="107" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UsingDisableOutputEscapinginDataView_514A/clip_image004_thumb.jpg" width="429" border="0"&gt;&lt;/a&gt; &lt;p&gt;To correct the rendering, you can bring up the &lt;b&gt;Common xsl:value-of Tasks&lt;/b&gt; dialog for the field, and choose to format the field as &lt;i&gt;Rich Edit&lt;/i&gt;: &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UsingDisableOutputEscapinginDataView_514A/clip_image005_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 5px 0px 5px 5px; border-left: 0px; border-bottom: 0px" height="151" alt="clip_image005" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UsingDisableOutputEscapinginDataView_514A/clip_image005_thumb.jpg" width="429" border="0"&gt;&lt;/a&gt; &lt;p&gt;Once output escaping is disabled, you will see the HTML content correctly rendered: &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UsingDisableOutputEscapinginDataView_514A/clip_image006_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="188" alt="clip_image006" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UsingDisableOutputEscapinginDataView_514A/clip_image006_thumb.jpg" width="429" border="0"&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UsingDisableOutputEscapinginDataView_514A/clip_image007_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="257" alt="clip_image007" src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UsingDisableOutputEscapinginDataView_514A/clip_image007_thumb.jpg" width="429" border="0"&gt;&lt;/a&gt; &lt;p&gt;Thanks, &lt;p&gt;Saiyue Yu&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8959897" width="1" height="1"&gt;</description></item><item><title>Use JavaScript to enable formatting of Data View UI controls</title><link>http://blogs.msdn.com/sharepointdesigner/archive/2008/09/16/use-javascript-to-enable-formatting-of-data-view-ui-controls.aspx</link><pubDate>Wed, 17 Sep 2008 00:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8954434</guid><dc:creator>spdblog</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.msdn.com/sharepointdesigner/comments/8954434.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdesigner/commentrss.aspx?PostID=8954434</wfw:commentRss><description>&lt;META http-equiv=Content-Language content=en-us&gt;
&lt;STYLE&gt;
/* body {
	font: normal 80% arial,sans-serif; 
}*/
h1 {
	font: normal 150% arial,sans-serif; 
	border-bottom:1px black solid;
	margin-bottom:.25em;	
}
h2 {
	font: bold 120% arial,sans-serif;
	margin-bottom:.25em;	
}
h3 {
	font: bold 100% arial, sans-serif;
	margin-bottom:.25em;	
}
p            { margin-top:0; margin-bottom: .5em }

li {
	margin-bottom: .25em;
}

ol {
	margin-top:1em;
	margin-bottom:1em;
}

/*
img {
	margin-top:1em;
	margin-bottom:1em;
	border:thin black inset;
	padding:3px;
}
*/
.issue {
	background-color: #ffff00;
}
.app_data {
	font-weight: bold;
	font-style: italic;
}
.code {
	font-weight: bold;
	font-family: "Courier New", courier, monospace;
	background-color: #eeeeee;
}
.code_new {
	background-color: #ccffcc;
}
.code_deleted {
	background-color: #ff9999;
	text-decoration: line-through;
}

pre.code_block {
	background-color: #eeeeee;
	margin-left:2em;
	padding:1em;
}
span.code_xsl_comment {
	color:green;
}
.ui {
	font-weight: bold;
}
/*.expando_switch_block { } 
.expando_switch_block span {
	font-weight: bold;
	border:medium black double;	
}
*/
.expando_switch {
	font-weight: bold;
	color:blue;
	background-color: #99ccff;	
}
.expando_switch_all {
	font-weight: bold;
	color:blue;
	background-color: #99ccff;	
}
.expando_block { }
/*
.title {
	text-align:right;
	font-size: 160%;
	margin-bottom: 1em;
	margin-top: 0em;
	text-transform: none;
	letter-spacing: .15em;
	font-weight: normal;
}
*/
table.bordered_table {
	border: 1px solid black;
}
table.bordered_table tr td {
	border: 1px solid black;
	padding: .25em;
}
thead        { background-color: #eeeeee }
td {
	vertical-align:top;
}

table.spd_tag_browser {
	background-color:#c2dcfe;
	margin-bottom:.5em;
}

td.spd_tag_browser_cell {
	padding: 2px;	
	background-color:#c2dcfe;
	border: 1px solid #8d8d8d;
}
td.spd_tag_browser_cell_selected {
	padding: 2px;	
	background-color:#febd69;
	border: 2px solid #feab3f;
}
&lt;/STYLE&gt;

&lt;SCRIPT language=JavaScript event=onload for=window type=text/javascript&gt;
  	var coll = document.body.all;
  	
  	for(x=0;x &lt; coll.length; x++)
  	{
  		switch(coll[x].className) {
  		case "expando_switch":
  			coll[x].attachEvent ('onmouseover', doMouseOver);
  			coll[x].attachEvent ('onmouseout', doMouseOut); 
  			coll[x].attachEvent ('onclick', toggleExpando);
  			coll[x].style.cursor="hand";
  		break;
  		case "expando_switch_all":
  			coll[x].attachEvent ('onmouseover', doMouseOver);
  			coll[x].attachEvent ('onmouseout', doMouseOut); 
  			coll[x].attachEvent ('onclick', toggleExpandoAll);
  			coll[x].style.cursor="hand";
  		break;  		
  		case "expando_block":
  			coll[x].style.display = "none";
  		break;
  		}  		
  	}
&lt;/SCRIPT&gt;

&lt;SCRIPT language=JavaScript type=text/javascript&gt;

function toggleExpandoAll()
{
	var oTarget = event.srcElement;
	var strCurrState = oTarget.innerText;
	/* window.alert(event.srcElement.innerText); */
  	var coll = document.body.all;
  	for(x=0;x &lt; coll.length; x++)
  	{
  		switch(coll[x].className)
  		{
  		case "expando_switch_all":
			switch(strCurrState)
			{
			case "Show All":
				coll[x].innerText = "Hide All";
			break;
			case "Hide All":
				coll[x].innerText = "Show All";
			break;
			}
		break;
  		case "expando_block":
			switch(strCurrState)
			{
			case "Show All":
				coll[x].style.display = "block";
			break;
			case "Hide All":
				coll[x].style.display = "none";
			break;
			}
		break;		
		}
	}
}


function toggleExpando()
{
	/* var oSwitch = event.srcElement.parentElement; */
	var oExpandoBlock = event.srcElement.parentElement.nextSibling;
	/*window.alert(oExpandoBlock.style.display);*/

	if(oExpandoBlock.className == "expando_block")
	{
		if(oExpandoBlock.style.display == "none")
		{		
			oExpandoBlock.style.display = "block";
		}
		else
		{
			oExpandoBlock.style.display = "none";
		}
	}
}

function doMouseOut()
{
	event.srcElement.style.color="blue";
	/* event.srcElement.style.background-color="black"; */
}

function doMouseOver()
{
	event.srcElement.style.color="red";
	/* event.srcElement.style.background-color="blue"; */
	
}

&lt;/SCRIPT&gt;
&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UseJavaScripttoenableformattingofDataVie_918F/andy_4.jpg" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UseJavaScripttoenableformattingofDataVie_918F/andy_4.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=75 alt=andy src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UseJavaScripttoenableformattingofDataVie_918F/andy_thumb_1.jpg" width=75 align=right border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UseJavaScripttoenableformattingofDataVie_918F/andy_thumb_1.jpg"&gt;&lt;/A&gt; Hi, Andy Lewis here again.&amp;nbsp; Today I'm here to talk about how to work around a certain type of challenge you might run into when trying to customize the user experience (UX) of a form in a SharePoint application. 
&lt;P&gt;When I began trying to make the leap from generic web development into SharePoint development, I found I needed to get used to the fact that I no longer had direct control of some of the key building blocks of the UX: the HTML controls. In SharePoint, the HTML controls are emitted out of server-side controls. You don't have direct control of the markup that is sent to your customer's web browser.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; In this article, some of the material that explains how to perform the more basic tasks is hidden from view by default if you have JavaScript turned on. If you want to print this article with all the material included, click here: &lt;SPAN class=expando_switch_all style="CURSOR: hand"&gt;Show All&lt;/SPAN&gt;. &lt;/P&gt;
&lt;H1&gt;My users need more pixels!&lt;/H1&gt;
&lt;P&gt;As I began getting used to working within the context of SharePoint, one challenge I faced was figuring out how to make even simple adjustments to the UX, such as modifying the width and the height of a user interface (UI) control.&amp;nbsp; Simply put, I wanted to make my customers more comfortable by giving them more pixels!&lt;/P&gt;
&lt;H2&gt;Modify the size of a text-value field&lt;/H2&gt;
&lt;P&gt;For some fields, their presentation is fairly easy to adjust.&amp;nbsp; For example, in &lt;A href="http://blogs.msdn.com/sharepointdesigner/archive/2008/01/25/modify-the-lengths-of-list-form-fields.aspx" mce_href="http://blogs.msdn.com/sharepointdesigner/archive/2008/01/25/modify-the-lengths-of-list-form-fields.aspx"&gt;Modify the lengths of List Form Fields&lt;/A&gt;, John Jansen showed how to use a little CSS to modify the width of the textbox field used to edit the Title value of a SharePoint list.&lt;/P&gt;
&lt;P&gt;While playing around in code view, I noticed another option.&amp;nbsp; The &lt;SPAN class=code&gt;SharePoint:formfield&lt;/SPAN&gt; tag accepts an attribute called &lt;SPAN class=code&gt;DisplaySize&lt;/SPAN&gt;.&amp;nbsp; If you add this attribute to the tag (for example &lt;SPAN class=code&gt;DisplaySize="100"&lt;/SPAN&gt;) in your custom form, then you can also make a text value field (such as the standard Title field), longer. (This attribute does not work for all SharePoint list column types.)&lt;/P&gt;
&lt;P&gt;But let's move on to how to make a customization that is a bit more challenging.&lt;/P&gt;
&lt;H2&gt;Expand size of the lists for a multi-value lookup column&lt;/H2&gt;
&lt;P&gt;I was recently working on a custom form that included a multi-value lookup field.&amp;nbsp; SharePoint renders the UX for this kind of field in the form of two &lt;SPAN class=code&gt;select&lt;/SPAN&gt; list controls and two &lt;SPAN class=code&gt;button&lt;/SPAN&gt; controls to move items between the two lists.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UseJavaScripttoenableformattingofDataVie_918F/list_form_web_part_multi-value_lookup_2.gif" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UseJavaScripttoenableformattingofDataVie_918F/list_form_web_part_multi-value_lookup_2.gif"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=140 alt=list_form_web_part_multi-value_lookup src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UseJavaScripttoenableformattingofDataVie_918F/list_form_web_part_multi-value_lookup_thumb.gif" width=636 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UseJavaScripttoenableformattingofDataVie_918F/list_form_web_part_multi-value_lookup_thumb.gif"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The catch is that these controls are wrapped inside other HTML tags, one of which blocks CSS from working because it has a hardcoded style in it. The structure that is sent by the server to the web browser looks something like like this if you edit the source in SharePoint Designer and selected one of the select controls:&lt;/P&gt;
&lt;TABLE class=spd_tag_browser class="spd_tag_browser"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=spd_tag_browser_cell class="spd_tag_browser_cell"&gt;&amp;lt;span&amp;gt;&lt;/TD&gt;
&lt;TD class=spd_tag_browser_cell class="spd_tag_browser_cell"&gt;&amp;lt;table-ms-long&amp;gt;&lt;/TD&gt;
&lt;TD class=spd_tag_browser_cell class="spd_tag_browser_cell"&gt;&amp;lt;tr&amp;gt;&lt;/TD&gt;
&lt;TD class=spd_tag_browser_cell class="spd_tag_browser_cell"&gt;&amp;lt;td.ms-input&amp;gt;&lt;/TD&gt;
&lt;TD class=spd_tag_browser_cell class="spd_tag_browser_cell"&gt;&amp;lt;div&amp;gt;&lt;/TD&gt;
&lt;TD class=spd_tag_browser_cell_selected class="spd_tag_browser_cell_selected"&gt;&amp;lt;select&amp;gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;While working on the application I was building, I was feeling really motivated to make the two &lt;SPAN class=code&gt;select&lt;/SPAN&gt; controls bigger because my users would be choosing from a long list of items, some of which would be very wide.&amp;nbsp; In short, I wanted to be able to offer the customer wider and taller controls like these:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UseJavaScripttoenableformattingofDataVie_918F/data_form_web_part_multi-value_lookup_custom_2.gif" mce_href="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UseJavaScripttoenableformattingofDataVie_918F/data_form_web_part_multi-value_lookup_custom_2.gif"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=153 alt=data_form_web_part_multi-value_lookup_custom src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UseJavaScripttoenableformattingofDataVie_918F/data_form_web_part_multi-value_lookup_custom_thumb.gif" width=799 border=0 mce_src="http://blogs.msdn.com/blogfiles/sharepointdesigner/WindowsLiveWriter/UseJavaScripttoenableformattingofDataVie_918F/data_form_web_part_multi-value_lookup_custom_thumb.gif"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;I expect that this is probably a common UX enhancement that site owners want to make, which is why I decided to write this article.&lt;/P&gt;
&lt;H1&gt;The site&lt;/H1&gt;
&lt;P&gt;To follow the examples below, you need to create a Team Collaboration site that includes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;A custom list called Projects 
&lt;LI&gt;A Tasks list (included by default in a new Team site) that has a multi-value lookup column that looks up the Title from the Projects list. &lt;/LI&gt;&lt;/UL&gt;
&lt;H1&gt;Create custom NewForm for the Tasks list&lt;/H1&gt;
&lt;P&gt;&lt;STRONG&gt;Important:&lt;/STRONG&gt; Before you modify any of the three core list forms (&lt;SPAN class=app_data&gt;DispForm&lt;/SPAN&gt;, &lt;SPAN class=app_data&gt;EditForm&lt;/SPAN&gt;, or &lt;SPAN class=app_data&gt;NewForm&lt;/SPAN&gt;), you must always remember one rule: &lt;STRONG&gt;Never delete the &lt;SPAN class=app_data&gt;ListFormWebPart &lt;/SPAN&gt;object.&lt;/STRONG&gt;&amp;nbsp; If you do, you may break your list! In the steps below, I'll explain how to hide this form and replace it with your own custom form.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;Create the &lt;SPAN class=code&gt;select-container&lt;/SPAN&gt; style that defines the width and height of the select controls the user uses to modify values in the multi-value lookup column:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;On the &lt;SPAN class=ui&gt;File&lt;/SPAN&gt; menu, point to &lt;SPAN class=ui&gt;New&lt;/SPAN&gt;, and then click &lt;SPAN class=ui&gt;CSS&lt;/SPAN&gt;.&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Add the following code to the new CSS file:&lt;/P&gt;&lt;PRE class=code_block&gt;.select-container div {
   width:300px;
   height:150px;
}&lt;/PRE&gt;
&lt;LI&gt;
&lt;P&gt;On the &lt;SPAN class=ui&gt;File&lt;/SPAN&gt; menu, click &lt;SPAN class=ui&gt;Save&lt;/SPAN&gt; and then use the &lt;SPAN class=ui&gt;Save&lt;/SPAN&gt; dialog box to save the file as &lt;SPAN class=app_data&gt;shared_styles.css&lt;/SPAN&gt; in the root directory of your site.&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;Create the &lt;SPAN class=code&gt;removeLocalStyleAttributes()&lt;/SPAN&gt; function that you will use to remove the hardcoded &lt;SPAN class=code&gt;width&lt;/SPAN&gt; and &lt;SPAN class=code&gt;height&lt;/SPAN&gt; style attributes that block your select-container style from working correctly: 
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;On the &lt;SPAN class=ui&gt;File&lt;/SPAN&gt; menu, click &lt;SPAN class=ui&gt;New&lt;/SPAN&gt;, click &lt;SPAN class=ui&gt;JavaScript&lt;/SPAN&gt;, and then click &lt;SPAN class=ui&gt;OK&lt;/SPAN&gt;.&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Add the following code to the new JavaScript file:&lt;/P&gt;&lt;PRE class=code_block&gt;function removeLocalStyleAttributes() {
   var coll = document.body.getElementsByTagName("div");

   for(x=0;x &amp;lt; coll.length; x++)
   {
      if(coll[x].className == "select-container") { 
         var collDivControls = coll[x].getElementsByTagName("DIV");

         for(y=0;y &amp;lt; collDivControls.length; y++)
         {
            collDivControls[y].style.width = null;
            collDivControls[y].style.height = null;
         }
      }
   }
}&lt;/PRE&gt;
&lt;LI&gt;
&lt;P&gt;On the &lt;SPAN class=ui&gt;File&lt;/SPAN&gt; menu, click &lt;SPAN class=ui&gt;Save&lt;/SPAN&gt; and then use the &lt;SPAN class=ui&gt;Save&lt;/SPAN&gt; dialog box to save the file as &lt;SPAN class=app_data&gt;shared_functions.js&lt;/SPAN&gt; in the root directory of your site.&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;In the &lt;SPAN class=app_data&gt;Lists/Tasks&lt;/SPAN&gt; folder, open &lt;SPAN class=app_data&gt;NewForm.aspx&lt;/SPAN&gt;. 
&lt;LI&gt;
&lt;P&gt;Hide and close (&lt;STRONG&gt;do not delete!&lt;/STRONG&gt;) the &lt;SPAN class=app_data&gt;WebPartPages:ListFormWebPart &lt;/SPAN&gt;object. &lt;SPAN class=expando_switch style="CURSOR: hand"&gt;How?&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL class=expando_block style="DISPLAY: none"&gt;
&lt;LI&gt;In Design view, right-click the &lt;SPAN class=app_data&gt;WebPartPages:ListFormWebPart&lt;/SPAN&gt; object and then choose &lt;SPAN class=ui&gt;Web Part Properties&lt;/SPAN&gt; from the properties menu. 
&lt;LI&gt;Expand the &lt;SPAN class=ui&gt;Layout&lt;/SPAN&gt; group. 
&lt;LI&gt;Check the &lt;SPAN class=ui&gt;Close the Web Part&lt;/SPAN&gt; and &lt;SPAN class=ui&gt;Hidden &lt;/SPAN&gt;checkboxes. 
&lt;LI&gt;Note: the &lt;SPAN class=app_data&gt;WebPartPages:ListFormWebPart&lt;/SPAN&gt; object is still visible in SharePoint Designer, but it will be hidden to customers of your site. &lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;
&lt;P&gt;Insert a new WebPartZone at the top of the inside of the &lt;SPAN class=code&gt;asp:Content&lt;/SPAN&gt; &lt;SPAN class=code&gt;PlaceHolderMain&lt;/SPAN&gt; tag. &lt;SPAN class=expando_switch style="CURSOR: hand"&gt;How?&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL class=expando_block style="DISPLAY: none"&gt;
&lt;LI&gt;In &lt;SPAN class=ui&gt;Code &lt;/SPAN&gt;view, find this &lt;SPAN class=code&gt;asp:Content&lt;/SPAN&gt; tag: &lt;SPAN class=code&gt;&amp;lt;asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server"&amp;gt;&lt;/SPAN&gt;. Place the cursor immediately after this &lt;SPAN class=code&gt;asp:Content&lt;/SPAN&gt; tag. 
&lt;LI&gt;On the &lt;SPAN class=ui&gt;Insert&lt;/SPAN&gt; menu, click &lt;SPAN class=ui&gt;SharePoint Controls&lt;/SPAN&gt;, and then click &lt;SPAN class=ui&gt;Web Part Zone&lt;/SPAN&gt;. 
&lt;LI&gt;Switch to &lt;SPAN class=ui&gt;Design&lt;/SPAN&gt; view to see the new &lt;SPAN class=app_data&gt;WebPartZone&lt;/SPAN&gt;. &lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;
&lt;P&gt;In the new WebPartZone you just created, insert a New Item Form DataFormWebPart that includes the &lt;SPAN class=app_data&gt;Projects &lt;/SPAN&gt;field and any other fields you need in the form. &lt;SPAN class=expando_switch style="CURSOR: hand"&gt;How?&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL class=expando_block style="DISPLAY: none"&gt;
&lt;LI&gt;In &lt;SPAN class=ui&gt;Design &lt;/SPAN&gt;view, select the &lt;SPAN class=app_data&gt;WebPartZone &lt;/SPAN&gt;you just created. 
&lt;LI&gt;On the &lt;SPAN class=ui&gt;Data View&lt;/SPAN&gt; menu, click &lt;SPAN class=ui&gt;Insert Data View&lt;/SPAN&gt;. 
&lt;LI&gt;Click the link that appeared in the middle of the Data View: &lt;SPAN class=ui&gt;Click a data source in the Data Source Library, and then click show Data&lt;/SPAN&gt;. 
&lt;LI&gt;In the the &lt;SPAN class=ui&gt;Data Source Library &lt;/SPAN&gt;task pane, in the &lt;SPAN class=ui&gt;SharePoint Lists &lt;/SPAN&gt;group, click the &lt;SPAN class=app_data&gt;Tasks &lt;/SPAN&gt;list, and then click Show Data. 
&lt;LI&gt;Press and hold down the CTRL key as you select the following fields from the &lt;SPAN class=ui&gt;Data Source Details &lt;/SPAN&gt;task pane: &lt;SPAN class=app_data&gt;Assigned to&lt;/SPAN&gt;, &lt;SPAN class=app_data&gt;Title&lt;/SPAN&gt;, &lt;SPAN class=app_data&gt;Priority&lt;/SPAN&gt;, &lt;SPAN class=app_data&gt;Status&lt;/SPAN&gt;, &lt;SPAN class=app_data&gt;% Complete&lt;/SPAN&gt;, &lt;SPAN class=app_data&gt;Description&lt;/SPAN&gt;, &lt;SPAN class=app_data&gt;Start Date&lt;/SPAN&gt;, &lt;SPAN class=app_data&gt;Due Date&lt;/SPAN&gt;, and &lt;SPAN class=app_data&gt;Projects&lt;/SPAN&gt;. 
&lt;LI&gt;Click &lt;SPAN class=ui&gt;Insert Selected Fields&lt;/SPAN&gt; as, and then click &lt;SPAN class=ui&gt;New Item Form&lt;/SPAN&gt;. &lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;
&lt;P&gt;In &lt;SPAN class=ui&gt;Code &lt;/SPAN&gt;view, add the following &lt;SPAN class=code&gt;asp:Content&lt;/SPAN&gt; tag to the page:&lt;/P&gt;&lt;PRE class=code_block&gt;&amp;lt;asp:Content contentplaceholderid="PlaceHolderAdditionalPageHead" runat="server"&amp;gt;

   &amp;lt;link rel="stylesheet" type="text/css" href="../../shared_styles.css" &lt;BR&gt;      mce_href="../../shared_styles.css"&amp;gt; 

   &amp;lt;script src="../../shared_functions.js" mce_src="../../shared_functions.js" &lt;BR&gt;      type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;

   &amp;lt;script type="text/javascript"&amp;gt;
      _spBodyOnLoadFunctionNames.push("removeLocalStyleAttributes");
   &amp;lt;/script&amp;gt;

&amp;lt;/asp:Content&amp;gt;&lt;/PRE&gt;
&lt;LI&gt;
&lt;P&gt;In &lt;SPAN class=ui&gt;Code &lt;/SPAN&gt;view, in the XSL code of the &lt;SPAN class=app_data&gt;DataFormWebPart&lt;/SPAN&gt;, find the &lt;SPAN class=code&gt;SharePoint:formfield&lt;/SPAN&gt; tag for the Projects field and wrap it with a &lt;SPAN class=code&gt;div&lt;/SPAN&gt; tag that has &lt;SPAN class=code&gt;select-container&lt;/SPAN&gt; as the value of its &lt;SPAN class=code&gt;class&lt;/SPAN&gt; attribute:&lt;/P&gt;&lt;PRE class=code_block&gt;&amp;lt;td width="75%" class="ms-vb"&amp;gt;
   &lt;SPAN class=code_new&gt;&amp;lt;div class="select-container"&amp;gt;&lt;/SPAN&gt;
   &amp;lt;SharePoint:FormField runat="server" id="ff5{$Pos}" ControlMode="New" &lt;BR&gt;      FieldName="Projects" __designer:bind="{ddwrt:DataBind('i',concat('ff5',$Pos),&lt;BR&gt;      'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Projects')}" /&amp;gt;
   &lt;SPAN class=code_new&gt;&amp;lt;/div&amp;gt;&lt;/SPAN&gt;
   &amp;lt;SharePoint:FieldDescription runat="server" id="ff5description{$Pos}" &lt;BR&gt;      FieldName="Projects" ControlMode="Edit" /&amp;gt;
&amp;lt;/td&amp;gt;&lt;/PRE&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;H1&gt;Closing&lt;/H1&gt;
&lt;P&gt;Thanks for taking the time to read this article.&amp;nbsp; What is your favorite JavaScript tip?&amp;nbsp; If you have a blog article about it, please post a comment and link to your article.&lt;/P&gt;
&lt;H2&gt;How? links&lt;/H2&gt;
&lt;P&gt;I'd be interested in hearing your opinion on a subject I've been wondering about for a while.&amp;nbsp; You will notice that in some of my articles, including this one, I offer what some might call "remedial" instructions, but I hide them behind a JavaScript "How?" widget to keep the text from getting bogged down, especially for more experienced customers who don't need the extra help.&lt;/P&gt;
&lt;P&gt;The question on my mind is this: How many of you actually find these "How?" instructions useful?&amp;nbsp; I sometimes feel tempted to save myself the fairly significant amount of time required to enumerate these steps.&amp;nbsp; And yet, I'm not sure that a statement like this is going to be helpful enough for many folks: &lt;EM&gt;In the new WebPartZone you just created, insert a new DataFormWebPart New Item Form that includes the Projects field.&lt;/EM&gt; What do you think?&lt;/P&gt;
&lt;H2&gt;New job&lt;/H2&gt;
&lt;P&gt;Finally, I'm going to be transitioning to a new role here at Microsoft.&amp;nbsp; I just started working for a team that produces user education content for &lt;A href="http://msdn.microsoft.com/en-us/vsts2008/default.aspx" mce_href="http://msdn.microsoft.com/en-us/vsts2008/default.aspx"&gt;Visual Studio Team System&lt;/A&gt;.&amp;nbsp; I want to thank the SharePoint Designer product team for so many things.&amp;nbsp; They invited me to participate here on this blog, and they have given me support, guidance, and feedback on my work.&amp;nbsp; And of course, special thanks to you for reading and participating with your comments and sometimes your very useful corrections.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Starting a new job always makes me think about how I've been doing my work, and what things I want to try doing differently.&amp;nbsp; So I'm using this change as a kick in the pants to myself to put up my own shingle and &lt;A href="http://blogs.msdn.com/andy-lewis/" mce_href="http://blogs.msdn.com/andy-lewis/"&gt;set up a blog&lt;/A&gt; (finally; I am such a late adopter to this trend!). As of this writing, there is not much there, but I will endeavor to add more to the blog and keep it fresh in the future.&lt;/P&gt;
&lt;P&gt;Andy&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8954434" width="1" height="1"&gt;</description></item></channel></rss>