<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>Third Blog From The Sun</title> <atom:link href="http://thirdblogfromthesun.com/feed/" rel="self" type="application/rss+xml" /><link>http://thirdblogfromthesun.com</link> <description>Inside the MSDN &#38; TechNet Libraries and the Microsoft Help Viewer</description> <lastBuildDate>Mon, 26 Mar 2012 16:37:05 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /> <item><title>New Features in Microsoft Help Viewer 2.0 Beta</title><link>http://thirdblogfromthesun.com/2012/02/new-features-in-microsoft-help-viewer-2-0-beta/</link> <comments>http://thirdblogfromthesun.com/2012/02/new-features-in-microsoft-help-viewer-2-0-beta/#comments</comments> <pubDate>Wed, 29 Feb 2012 15:28:33 +0000</pubDate> <dc:creator>Jeff Braaten</dc:creator> <category><![CDATA[Microsoft Help Viewer]]></category> <category><![CDATA[Visual Studio 11]]></category> <guid
isPermaLink="false">http://thirdblogfromthesun.com/?p=258</guid> <description><![CDATA[Visual Studio 11 Beta is out and, with it, the release of Microsoft Help Viewer 2.0 Beta. Get started by downloading the bits at: Download Visual Studio 11 Beta (general availability) Download Visual Studio 11 Beta (MSDN Subscribers) The Help Viewer team’s been busy since I blogged about new features in the Developer Preview. In [...]]]></description> <content:encoded><![CDATA[<p>Visual Studio 11 Beta is out and, with it, the release of <b>Microsoft Help Viewer 2.0 Beta</b>. Get started by downloading the bits at:</p><ul><li><a
href="http://go.microsoft.com/fwlink/p/?LinkId=240162">Download Visual Studio 11 Beta</a> (general availability)</li><li><a
href="http://go.microsoft.com/fwlink/?LinkID=207267">Download Visual Studio 11 Beta</a> (MSDN Subscribers)</li></ul><p>The Help Viewer team’s been busy since I blogged about <a
href="http://thirdblogfromthesun.com/2011/09/announcing-microsoft-help-viewer-2-0-developer-preview/">new features in the Developer Preview</a>. In this post, I’ll cover new features we’ve added in the Beta release:</p><ul><li>TOC Filter</li><li>Keyword Index: “Begins With” vs. “Contains”</li><li>Docking Windows</li><li>Color Themes</li><li>Search Filter UI</li><li>Improved Performance</li></ul><p><b>Setup and Configuration</b></p><p>If you’re performing a clean install of Visual Studio Professional, Premium or Ultimate, you’ll be offered the chance to download local Help content at Visual Studio first run or when you first set your Help Preference to “Use Local Help.”</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/clip_image001.jpg"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/clip_image001_thumb.jpg" width="581" height="554" /></a></p><p>Installing content during first run is a convenience, not a necessity. You can download and install local Help content from within the Help Viewer at any time.</p><p>Online Help is the Visual Studio default as it was in Visual Studio 2010. If you’re doing a clean install of Visual Studio and you want to use the Help Viewer, you’ll need to set your Help Preference to “Use Local Help” From the Visual Studio Help menu.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/clip_image002.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/clip_image002_thumb.png" width="542" height="170" /></a></p><p><b>Table of Contents (TOC) Filter</b></p><p>The TOC Filter displays all topics with titles that contain an input filter string. But instead of displaying the results in a flat list, topics are presented in a sparse tree with their relative relationships intact. This view of the TOC can help you discover topics that are distributed across the TOC and clusters of content that represent in-depth treatment. The filtered view of the TOC can also help developers better understand how our reference content is organized.</p><p>For example, if I filter on ‘system.xml’, I can see topics in the .NET framework documentation where I expect to see them. But there’s a cluster of documentation in the Visual Studio debugging content that discusses troubleshooting exceptions. It would have been time-consuming to build this mental model of related content through Search queries alone.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/tocFilter.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="tocFilter" border="0" alt="tocFilter" src="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/tocFilter_thumb.png" width="621" height="593" /></a></p><p>To keep the list compact and manageable, we collapse empty TOC levels with an ellipsis (…). Placing your cursor over an ellipsis reveals the path to a topic or topic group.</p><p>If it takes a long time to construct the filter view (as it does in the above example), we display a banner message: “This filter may take a long time. You can change the filter or use search instead.” You can cancel the filter, switch to the search pane or just wait for the filter action to complete.</p><p><b>Keyword Index: “Begins With” vs. “Contains”</b></p><p>The keyword index now functions in either of two modes: “Begins With” or “Contains.” In “Begins With” mode, the keyword index displays items that <u>begin</u> with a given input string. This is the traditional behavior of the index control. When the keyword index is in “Contains” mode, it depicts items that <u>contain</u> the input string. To toggle between modes, click on the filter icon or press <b>Ctrl + K</b>.</p><p>Let’s look at how the same ‘sql’ filter string offers a different result list in these two modes:</p><div
align="center"><table
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" border="0" cellspacing="0" cellpadding="0" align="center"><tbody><tr
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none"><td
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" valign="top" width="271" align="center"><b>Begins With</b></td><td
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" valign="top" width="271" align="center"><b>Contains</b></td></tr><tr
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none"><td
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" valign="top" width="271" align="center"><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/clip_image005.png"><img
style="background-image: none; padding-bottom: 0px; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image005" border="0" alt="clip_image005" src="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/clip_image005_thumb.png" width="249" height="580" /></a></td><td
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" valign="top" width="271" align="center"><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/clip_image006.png"><img
style="background-image: none; padding-bottom: 0px; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/clip_image006_thumb.png" width="249" height="580" /></a></td></tr></tbody></table></div><p><b>Docking Windows</b></p><p>Docking windows were present in the earlier Developer Preview but they were still a work-in-progress. By supporting this capability, Help Viewer provides greater consistency with the Visual Studio IDE and it addresses a set of scenarios that might otherwise have required additional Viewer Options. (If you’re unfamiliar with Visual Studio docking windows, you may want to learn <a
href="http://msdn.microsoft.com/en-us/library/z4y0hsax.aspx">How To: Arrange and Dock Windows</a>.)</p><p>While the possible configurations are nearly endless, some scenarios in which this feature can be helpful:</p><p><b>Example 1</b>: Navigation panel docked on the right side of the content pane. This common configuration was a Viewer Option in Help Viewer 1.1.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/example1.png"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="example1" border="0" alt="example1" src="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/example1_thumb.png" width="640" height="428" /></a></p><p><b>Example 2</b>: Navigation panel docked above the content pane. This configuration minimizes horizontal real estate which can be helpful when developing on a single display, for example, a laptop.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/example2.png"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="example2" border="0" alt="example2" src="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/example2_thumb.png" width="246" height="480" /></a></p><p><b>Example 3</b>: Search pane docked in content window. This configuration is nice if you want to have more area to display search results.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/example3.png"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="example3" border="0" alt="example3" src="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/example3_thumb.png" width="640" height="436" /></a></p><p>You can also display topics side-by-side or drag topics outside of the main Help Viewer window. As you’d expect, your docking customizations persist across Help Viewer sessions.</p><p>Finally, if you want to restore the Help Viewer to “factory settings,” open the Viewer Options dialog (<b>Ctrl + O</b>) and “Reset Window Layout” by selecting the ‘Reset’ button.</p><p><b>Color Themes</b></p><p>Visual Studio 11 Beta introduces a <a
href="http://blogs.msdn.com/b/visualstudio/archive/2012/02/23/introducing-the-new-developer-experience.aspx">new visual design and user interface</a>. As a companion app to the IDE, Help Viewer 2.0 Beta provides the same visual design and color themes.</p><p>You select your Visual Studio color theme in the Options window of the IDE.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/themeOptions.png"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="themeOptions" border="0" alt="themeOptions" src="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/themeOptions_thumb.png" width="499" height="289" /></a></p><p>The next time you launch the Help Viewer, it will honor your Visual Studio color theme. Currently there are two theme options: Light and Dark.</p><p
align="center"><table
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" cellspacing="0" cellpadding="0"><tbody><tr
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none"><td
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" valign="top" width="320" align="center"><b>Help Viewer Light Theme</b></td><td
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" valign="top" width="319" align="center"><b>Help Viewer Dark Theme</b></td></tr><tr
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none"><td
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" valign="top" width="320" align="center"><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/hvlight.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="hvlight" border="0" alt="hvlight" src="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/hvlight_thumb.png" width="305" height="208" /></a></td><td
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" valign="top" width="319" align="center"><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/hvdark.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="hvdark" border="0" alt="hvdark" src="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/hvdark_thumb.png" width="305" height="208" /></a></td></tr></tbody></table><p>NOTE: We’re currently receiving a flood of strong feedback on the user interface changes and it’s likely we’ll make revisions in response to that feedback. Whatever changes are made in the IDE will be reflected in the Help Viewer. If you’d like to weigh in on the new user interface, the best place to be heard is on our <a
href="http://visualstudio.uservoice.com/">Visual Studio UserVoice</a> site or on <a
href="http://connect.microsoft.com/VisualStudio">Visual Studio Connect</a>.</p><p><b>Search Filter UI</b></p><p>We now have UI support for the search filters I described in my <a
href="http://thirdblogfromthesun.com/2011/09/announcing-microsoft-help-viewer-2-0-developer-preview/">post</a> on the Developer Preview. When entering a string into the search box, you’ll see a list of your last three searches followed by filter options. The filter options enable you to discover the available filters and add them to your search query. For example, clicking on ‘title:’ automatically appends it to the search string.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/clip_image019.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image019" border="0" alt="clip_image019" src="http://thirdblogfromthesun.com/wp-content/uploads/2012/02/clip_image019_thumb.png" width="279" height="201" /></a></p><p><b>Improved Performance</b></p><p>Performance is a key focus of Visual Studio 11 and that extends to the Help Viewer. Help Viewer 2.0 is faster than Help Viewer 1.1 in <u>all</u> of our performance benchmark tests.</p><p>Our biggest gains come in moving from an HTTP API to a COM API (with a managed wrapper for .NET programmers).&#160; We no longer pay the HTTP network cost before retrieving data. (And you no longer have the Help Library Agent sitting in your taskbar.) Because the Help API is a core component of Windows 8, we had encouragement from our friends in the Windows team to optimize both our performance and memory footprint.</p><p>Other improvements include:</p><ul><li><b>F1 Help</b> – We revised viewer code to reduce UI blocking tasks and to optimize for fast startup by delay- or background-loading of nonessential data with the goal of delivering as fast an F1 response as possible. If you haven’t tried F1 help in a while, I encourage you to give it a look.</li><li><b>Search Index</b> – Index functions have been parallelized using the <a
href="http://msdn.microsoft.com/en-us/library/dd460693.aspx">.NET Parallel Constructs</a> which speed index functions on multi-core machines. We’ve made a number of non-specific tweaks to fine tune performance including denormalizing data to reduce the number of index lookups per query. Finally, several caches are created at index creation time to improve search times.</li><li><b>Rendering</b> – The content rendering system has been rebuilt from the ground up to be more extensible, flexible, and secure. By moving the rendering and branding into C# code (reducing the need for JavaScript and complex XSLT transforms) we have significantly reduced rendering time.</li><li><b>Table of Contents (TOC)</b> – We modified the TOC API code to reduce the number of calls necessary to determine if a TOC topic has children or not. We also cache the results of TOC filter operation to increase the speed of repeatedly used filters. Note that the filter cache is reset on any ‘Manage Content’ operation.</li><li><b>Content Download</b> – We optimized our use of <a
href="http://msdn.microsoft.com/en-us/library/bb968799.aspx">BITS</a> to improved content download times. In addition, content merge time have been reduced by over 50%.</li></ul><p><b>…and much, much more</b></p><p>We’ve made numerous fit and finish improvements throughout the Help Viewer, for example, in the area of keyboard support. I’ve already blogged about some of the other significant improvements so if you’re interested in the following features, please read my earlier post on <a
href="http://thirdblogfromthesun.com/2011/09/announcing-microsoft-help-viewer-2-0-developer-preview/">new features in the Developer Preview</a>:</p><ul><li>Simpler setup and configuration</li><li>Integrated content management</li><li>Search filters</li><li>New help runtime (no more Help Library Agent!)</li></ul><p>Finally, we’ve added improved support for content management in enterprise and behind-the-firewall scenarios. I’ll save the details of those features for a future blog post.</p><p>To provide feedback on these new features in Help Viewer 2.0 Beta:</p><ol><li>Leave a comment at the bottom of this blog post</li><li>Send us an email at <a
href="mailto:hlpfdbk@microsoft.com">hlpfdbk@microsoft.com</a>, or</li><li>Share your thoughts on the <a
href="http://social.msdn.microsoft.com/Forums/en-US/devdocs/threads">Developer Documentation and Help System Forum</a></li></ol> ]]></content:encoded> <wfw:commentRss>http://thirdblogfromthesun.com/2012/02/new-features-in-microsoft-help-viewer-2-0-beta/feed/</wfw:commentRss> <slash:comments>11</slash:comments> </item> <item><title>An MSDN Library for the Windows Dev Center</title><link>http://thirdblogfromthesun.com/2011/09/an-msdn-library-for-the-windows-dev-center/</link> <comments>http://thirdblogfromthesun.com/2011/09/an-msdn-library-for-the-windows-dev-center/#comments</comments> <pubDate>Fri, 16 Sep 2011 15:55:06 +0000</pubDate> <dc:creator>Jeff Braaten</dc:creator> <category><![CDATA[MSDN Library]]></category> <category><![CDATA[Scoped Libraries]]></category> <category><![CDATA[Windows 8]]></category> <guid
isPermaLink="false">http://thirdblogfromthesun.com/?p=230</guid> <description><![CDATA[This week at Microsoft’s BUILD conference, we unveiled the new Windows Dev Center with four focused sub-centers: Metro style apps, Internet Explorer, Desktop apps and Hardware: Metro style apps Internet Explorer Desktop apps Hardware As you click through the options in the Center navigation menus, you’ll see familiar MSDN pages (Samples, Downloads, Community, etc.) but [...]]]></description> <content:encoded><![CDATA[<p>This week at Microsoft’s <a
href="http://www.buildwindows.com/">BUILD</a> conference, we unveiled the new <a
href="http://msdn.microsoft.com/en-us/windows/home/">Windows Dev Center</a> with four focused sub-centers: <a
href="http://msdn.microsoft.com/en-us/windows/apps/">Metro style apps</a>, <a
href="http://msdn.microsoft.com/en-us/ie/">Internet Explorer</a>, <a
href="http://msdn.microsoft.com/en-us/windows/desktop/">Desktop apps</a> and <a
href="http://msdn.microsoft.com/en-us/windows/hardware/">Hardware</a>:</p><p><a
href="http://msdn.microsoft.com/en-us/windows/home/"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="Windows Dev Center" border="0" alt="Windows Dev Center" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image.png" width="340" height="366" /></a></p><table
border="0" cellspacing="0" cellpadding="0" style="border-width:0px"><tbody><tr
style="border-width:0px; border-spacing:0px; padding:0px"><td
valign="top" width="156" align="center" style="border-width:0px; border-spacing:0px"><b>Metro style apps</b> <a
href="http://msdn.microsoft.com/en-us/windows/apps/"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Metro style apps" border="0" alt="Metro style apps" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image_thumb.png" width="156" height="171" /></a></td><td
valign="top" width="156" align="center" style="border-width:0px; border-spacing:0px; padding:0px"><b>Internet Explorer</b> <a
href="http://msdn.microsoft.com/en-us/ie/"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Internet Explorer" border="0" alt="Internet Explorer" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image_thumb1.png" width="156" height="230" /></a></td><td
valign="top" width="156" align="center" style="border-width:0px; border-spacing:0px; padding:0px"><b>Desktop apps</b> <a
href="http://msdn.microsoft.com/en-us/windows/desktop/"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Desktop apps" border="0" alt="Desktop apps" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image_thumb2.png" width="156" height="188" /></a></td><td
valign="top" width="156" align="center" style="border-width:0px; border-spacing:0px; padding:0px"><b>Hardware</b> <a
href="http://msdn.microsoft.com/en-us/windows/hardware/"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Hardware" border="0" alt="Hardware" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image_thumb3.png" width="156" height="185" /></a></td></tr></tbody></table><p>As you click through the options in the Center navigation menus, you’ll see familiar MSDN pages (Samples, Downloads, Community, etc.) but with a twist. They’ve been integrated into the Windows Centers so that their branding and navigation is consistent with that of the product.</p><p>Library content (under the ‘Learn’ tab instead of the ‘Library’ tab) is also tightly integrated with the Windows Dev Centers and represents a significant departure from the standard MSDN Library.</p><h2><a
name="benefits">Why did we create a new, integrated library experience?</a></h2><p>The Windows 8 Learn tab provides a specialized version of the MSDN Library devoted to Windows 8 development. It delivers a targeted subset of the content in MSDN and a library search feature that’s constrained to Windows 8 Development topics.</p><p>We created this experience to address feedback we’ve received from developers about the challenges they face when using the online MSDN Library.</p><p><b><i>“It’s great that the MSDN Library has everything, but it’s too hard to find exactly what I’m looking for. It’s like looking for </i></b><a
href="http://www.usingenglish.com/reference/idioms/needle+in+a+haystack.html"><b><i>a needle in a haystack</i></b></a><b><i>.”</i></b></p><p>There are <a
href="http://thirdblogfromthesun.com/2010/09/how-big-is-the-msdn-library/">over 3 million topics in the English language MSDN Library</a>. And, mathematically speaking, about 3 million of those topics are irrelevant to you at any given moment. The Windows 8 Library lets you quickly move a large number of irrelevant topics out of your way so you have a better view of the content that you really need. The Windows Dev Center, at the time of BUILD, reduces the number of topics to about 15,000! Search queries performed inside the Windows 8 libraries will be constrained to those 15,000 topics.</p><p>Let’s look at an example of how integrated libraries move unneeded content out of your way. If you’re on the Metro style apps Learn tab and you search for a Win32 API like “CreateWindow” (used by Desktop apps but not by Metro style apps), you’ll get a “No Results Found” notification:</p><p
align="center"><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image5.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image_thumb4.png" width="571" height="210" /></a></p><p>It’s just not there cluttering your life. However, if you truly need to find out more about the CreateWindow API, it’s trivial to remove the Metro style apps refinement and automatically re-issue your query against the entire MSDN Library.</p><p
align="center"><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image6.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image_thumb5.png" width="144" height="111" /></a></p><p><b><i>“The table of contents looks too much like a Microsoft org chart. As a result, the information I need is often scattered across the MSDN Library.”</i></b></p><p>Integrated libraries let us pull relevant content that’s scattered around the MSDN Library into a single experience. For example, we can take patterns &amp; practices <a
href="http://msdn.microsoft.com/en-us/library/gg477144.aspx">phone development guidance</a> and consolidate it with <a
href="http://msdn.microsoft.com/en-us/library/ff402535.aspx">Windows Phone Development</a> content.</p><p><b><i>“It’s hard to tell one part of the MSDN Library from another and to know which section I’m in, especially when I drop in from a web search.”</i></b></p><p>Each of the Windows Centers has a unique and easily identifiable URL. Before you’ve even entered a library, you can use the URL listed in search engine results to help determine which result is most relevant. For example:</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image7.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Library URL Examples" border="0" alt="Library URL Examples" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image_thumb6.png" width="595" height="111" /></a></p><p>Once you’re in the library you’ll note that product-specific branding helps you quickly determine where you’ve landed.</p><h2><a
name="principles">Scoped Library Design Principles</a></h2><p>Ready for a look under the hood? The integrated Windows 8 Library experience is based on a new capability of <a
href="http://thirdblogfromthesun.com/help-system-glossary#MTPS">MTPS</a> called <strong>scoped libraries</strong>. A scoped library is a subset of the online MSDN Library with four main components: a reduced set of topics, a search mechanism constrained to those topics, an easily recognized identity (e.g. Windows 8 Development) and a unique, readily identifiable URL path. We’re piloting the Windows scoped libraries and an <a
href="http://msdn.microsoft.com/en-us/library/windowsazure/">Azure scoped library</a> to validate that they meet developer needs before adopting them elsewhere in MSDN and TechNet.</p><p>I’ve already discussed the <i>benefits</i> of scoped libraries; now let’s review some of the assumptions and principles that governed their design.</p><p><b>1) </b><b>Every topic in a scoped library is also in the main library</b></p><p>Every topic in a scoped library is also present in the MSDN library. If a developer needs to work with multiple platforms or technologies at the same time, all of that information is available in the master MSDN Library without having to hop around between scoped libraries. The MSDN Library is still your one-stop shop for developer content.</p><p><b>2) </b><b>As a rule, topics should not appear in more than one scoped library</b></p><p>Since each scoped library topic also appears in the master library, it follows that each scoped library topic can be found at two different URLs: the scoped URL and the master URL. For example, these are the URLs for the “What are Metro style apps?” topic:</p><p>Scoped URL: <a
href="http://msdn.microsoft.com/en-us/library/windows/apps/hh464920.aspx">http://msdn.microsoft.com/en-us/library/windows/apps/hh464920.aspx</a> <br
/>Master URL:&#160; <a
href="http://msdn.microsoft.com/en-us/library/hh464920.aspx">http://msdn.microsoft.com/en-us/library/hh464920.aspx</a></p><p>Which of these topics is the preferred version? In this case the scoped library topic will be the <a
href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">canonical or preferred version</a> and its URL will receive priority in search engine results.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image8.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/image_thumb7.png" width="385" height="138" /></a></p><p>However, if the same topic is repeated in multiple scoped libraries, we start creating confusion for the user: Why are there so many versions? Are there any differences between versions? If so, which version is the definitive version? Consequently, if a topic <u>must</u> appear in more than one scoped library, the topic in the master MSDN Library will be the canonical URL.</p><p>Finally, we provide a way for Microsoft content authors to override the default canonical URL when necessary.</p><p><b>3) </b><b>Fewer libraries is better</b></p><p>More isn’t necessarily better when it comes to scoped libraries. <b>We don’t want to replace the “needle in the haystack” problem with the “infinite haystacks” problem</b>. Current thinking is that we’ll limit them to our core development platforms (Win8, Azure, Phone, SharePoint, etc.) As we introduce more scoped libraries, we’ll also need to make it possible to discover and navigate between them.</p><p><b>4) </b><b>Scoped libraries don’t live forever</b></p><p>We expect a typical scoped library to have a lifetime of about three to five years. When a scoped library disappears, the MTPS platform will automatically redirect topic requests to the equivalent topic in the master MSDN Library. Long after attention has moved on to newer platforms, you can still get to the content you need.</p> ]]></content:encoded> <wfw:commentRss>http://thirdblogfromthesun.com/2011/09/an-msdn-library-for-the-windows-dev-center/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Announcing Microsoft Help Viewer 2.0 Developer Preview</title><link>http://thirdblogfromthesun.com/2011/09/announcing-microsoft-help-viewer-2-0-developer-preview/</link> <comments>http://thirdblogfromthesun.com/2011/09/announcing-microsoft-help-viewer-2-0-developer-preview/#comments</comments> <pubDate>Wed, 14 Sep 2011 18:45:29 +0000</pubDate> <dc:creator>Jeff Braaten</dc:creator> <category><![CDATA[Microsoft Help Viewer]]></category> <category><![CDATA[Visual Studio 11]]></category> <category><![CDATA[Visual Studio]]></category> <guid
isPermaLink="false">http://thirdblogfromthesun.com/?p=208</guid> <description><![CDATA[UPDATE: This post describes new features introduced in the Microsoft Help Viewer 2.0 Developer Preview. Additional features have been delivered in the newer Microsoft Help Viewer 2.0 Beta. The Microsoft Help Viewer 2.0 Developer Preview is now available as part of the Visual Studio 11 Developer Preview. Get the bits at: Download Visual Studio 11 [...]]]></description> <content:encoded><![CDATA[<table
width="639"><tbody><tr><td
valign="top" width="537" style="background: #FDFCDC; font-size: 14px; padding: 10px 10px 10px 10px"> <strong>UPDATE</strong>: This post describes new features introduced in the Microsoft Help Viewer 2.0 Developer Preview. Additional features have been delivered in the newer <a
href="http://thirdblogfromthesun.com/2012/02/new-features-in-microsoft-help-viewer-2-0-beta/"><strong>Microsoft Help Viewer 2.0 Beta</strong></a>.</td></tr></tbody></table><p>The <b>Microsoft Help Viewer 2.0 Developer Preview</b> is now available as part of the Visual Studio 11 Developer Preview. Get the bits at:</p><ul><li><a
href="http://go.microsoft.com/fwlink/?LinkID=227374">Download Visual Studio 11 Developer Preview</a> (MSDN Subscribers only)</li><li><a
href="http://go.microsoft.com/fwlink/?LinkId=225709">Download Visual Studio 11 Developer Preview</a> (general availability on September 16, 10am PDT)</li></ul><p>Here’s a quick tour of some of the key changes we’ve made from release 1.1 to 2.0 of the Help Viewer.</p><p><b>Setup and Configuration</b></p><p>The first thing you’ll notice is that we’ve removed the “Install Documentation” button from the Visual Studio Setup Finish Page. Too many developers (and Microsoft executives) were missing the “big blue button” during Visual Studio setup. Instead, you’ll be offered the chance to download local help content at Visual Studio first run or when you first set your Help Preference to “Use Local Help.” (Online Help is still the Visual Studio default.)</p><p>In addition, you can now set your Help Preference directly from the Visual Studio Help menu.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/newmenu.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="newmenu" border="0" alt="newmenu" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/newmenu_thumb.png" width="542" height="170" /></a></p><p><b>Content Management</b></p><p>The capabilities of the Help Library Manager have been incorporated into the newly added Help Viewer “Manage” tab. The standalone Help Library Manager is gone. One of the key new features is the ability to relocate your local content store.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/arlc-large.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="arlc" border="0" alt="arlc" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/arlc1.png" width="640" height="423" /></a></p><p>If a download is interrupted (for any reason) and restarted by the user at a later time, the Help Viewer won’t re-download any content that has already been transferred. This can save you a lot of time and is especially useful on poor Internet connections. An estimated download size is now displayed <i>before</i> you kick off a transfer to help you better manage bandwidth costs.</p><p>Content is downloaded in the background using the <a
href="http://msdn.microsoft.com/en-us/library/bb968799(v=VS.85).aspx">Background Intelligent Transfer Service (BITS)</a>. You can continue to use the Help Viewer, close the Help Viewer application or even reboot your system once a download has been initiated. When the transfer is complete, the help system automatically updates all help system artifacts (table of contents, search index, keyword index, etc.) without requiring a restart of the Help Viewer.</p><p>One other change you’ll see in the viewer is that we’ve added support for dockable windows (something I’ll discuss more in a future post).</p><p><b>Search Filters</b></p><p>The search box now provides search filters. Two filters are supported in the CTP – Title and Code. If you enter “title:foo” in the search box, your search results will be limited to topics that contain the string “foo” in the topic title. If you enter “code:bar”, you’ll get search results limited to topics with the string “bar” in a code example. You can use multiple filters per query and they can be used in combination, for example: “topic:datetime code:datetime code:tryparseexact”.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/filter-example.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="filter-example" border="0" alt="filter-example" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/filter-example_thumb.png" width="340" height="19" /></a></p><p>The Code filter also has a set of sub-filters that enable language-specific searches:</p><table
border="1" cellspacing="0" cellpadding="0" align="center"><tbody><tr><td
valign="top" width="89"><b>Long Name</b></td><td
valign="top" width="93"><b>Short Name</b></td></tr><tr><td
valign="top" width="89">csharp</td><td
valign="top" width="93">c#</td></tr><tr><td
valign="top" width="89">cpp</td><td
valign="top" width="93">c++</td></tr><tr><td
valign="top" width="89">fsharp</td><td
valign="top" width="93">f#</td></tr><tr><td
valign="top" width="89">javascript</td><td
valign="top" width="93">&lt;none&gt;</td></tr><tr><td
valign="top" width="89">visualbasic</td><td
valign="top" width="93">vb</td></tr></tbody></table><p>If you want to look for topics that contain the string “foo” in a C# code example, you can search on “code:c#:foo” or “code:csharp:foo”. For example:</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/subfilter-example1.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="subfilter-example" border="0" alt="subfilter-example" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/09/subfilter-example_thumb1.png" width="340" height="19" /></a></p><p><b>New Help Runtime</b></p><p>I’ve saved the best for last. If you look closely, you’ll see that we no longer install the Help Library Agent! The new help runtime has a COM API and the same lifecycle as the Help Viewer. It won’t clutter up your taskbar and it provides improved performance and memory footprint.</p><p>But there’s more. <b>Windows 8 incorporates the Visual Studio 11 help runtime API.</b> The Windows 8 “Windows Help and Support” viewer uses the same local help API for content retrieval and the same file and content formats as Visual Studio 11. Because Visual Studio has a need to support down-level operating systems, the help API ships as two different binaries. In Windows 8 it ships as <strong>Windows.Help.Runtime.dll</strong> and in Visual Studio 11 it ships as <strong>Microsoft.VisualStudio.Help.Runtime.dll</strong>. The same source code is used to build both DLLs.</p><p><b>In Closing</b></p><p>We spent a lot of time during this release incorporating the runtime into Windows so we didn’t get all of our Help Viewer features done in time for the Developer Preview. In particular, the work we’ve done to incorporate additional filtering features into the Help Viewer won’t be ready until our Beta release.</p><p>Please let us know what you think about the Help Viewer 2.0 Developer Preview. As always, you can:</p><ol><li>Leave a comment at the bottom of this blog post</li><li>Send us an email at <a
href="mailto:hlpfdbk@microsoft.com">hlpfdbk@microsoft.com</a></li><li>Share your thoughts on the <a
href="http://social.msdn.microsoft.com/Forums/en-US/devdocs/threads">Developer Documentation and Help System Forum</a></li></ol><p>(Continue reading about features in the <a
href="http://thirdblogfromthesun.com/2012/02/new-features-in-microsoft-help-viewer-2-0-beta/">Microsoft Help Viewer 2.0 Beta</a> release.)</p> ]]></content:encoded> <wfw:commentRss>http://thirdblogfromthesun.com/2011/09/announcing-microsoft-help-viewer-2-0-developer-preview/feed/</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>Export then print multiple Library topics (Beta)</title><link>http://thirdblogfromthesun.com/2011/08/export-then-print-multiple-library-topics-beta/</link> <comments>http://thirdblogfromthesun.com/2011/08/export-then-print-multiple-library-topics-beta/#comments</comments> <pubDate>Fri, 05 Aug 2011 23:25:24 +0000</pubDate> <dc:creator>Jeff Braaten</dc:creator> <category><![CDATA[TechNet Library]]></category> <category><![CDATA[Kindle]]></category> <category><![CDATA[MSDN Library]]></category> <category><![CDATA[PDF]]></category> <guid
isPermaLink="false">http://thirdblogfromthesun.com/?p=194</guid> <description><![CDATA[We recently introduced a Beta version of the “Print/Export Multiple Topics” feature in the TechNet Lightweight Library. The Print/Export feature enables readers to: Create and organize a custom collection of Library topics Export the collection to a PDF or HTML document Print the collection How do I get started? There are several prerequisites for using [...]]]></description> <content:encoded><![CDATA[<p>We recently introduced a Beta version of the “<a
href="http://technet.microsoft.com/en-us/library/export/help(lightweight)">Print/Export Multiple Topics</a>” feature in the <a
href="http://technet.microsoft.com/en-us/library/default(lightweight).aspx">TechNet Lightweight Library</a>. The Print/Export feature enables readers to:</p><ul><li>Create and organize a custom collection of Library topics</li><li>Export the collection to a <strong>PDF</strong> or <strong>HTML</strong> document</li><li>Print the collection</li></ul><p><b>How do I get started?</b></p><p>There are several prerequisites for using this feature:</p><ul><li>You must be running a browser that implements HTML5 <a
href="http://en.wikipedia.org/wiki/Web_Storage">DOM Storage</a>: Internet Explorer 8, Firefox 3.5, Safari 4 or Chrome 5 (or higher versions of these browsers)</li><li>You must be in the Lightweight view of the TechNet Library. Click on the ‘Lightweight’ link in the upper right-hand corner of the Library to change views.</li><li>You need a <a
href="http://www.passport.net">Windows Live ID</a></li></ul><p>To enable the feature, click the printer icon in the upper right-hand corner of the page and select ‘Print Multiple Topics’ from the drop-down. If you’re running IE8 or higher and you don’t see this option, verify that you’re in Browser Mode IE8 (or higher) and Document Mode IE8 (or higher). You can change these settings under Tools (Alt + X), F12 developer tools.</p><p><a
href="http://technet.microsoft.com/en-us/library/default(lightweight).aspx"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="PMT" border="0" alt="PMT" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/PMT1.png" width="328" height="87" /></a></p><p>Read the “<a
href="http://technet.microsoft.com/en-us/library/export/help(lightweight)">Print/Export Multiple Topics – Help</a>” page that appears for instructions on how to use this feature. When you’re ready, click on the ‘Start’ button to begin building a collection. You’ve successfully enabled the feature when the Print Multiple Topics toolbar appears at the top of the page:</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/PMT-Toolbar.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PMT Toolbar" border="0" alt="PMT Toolbar" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/PMT-Toolbar_thumb.png" width="640" height="39" /></a></p><p><b>How do I create and organize my collection?</b></p><p>The <b>collection</b> is a user-defined subset of Library topics. The collection persists between browser sessions so you can start a collection, shut down the browser, and return to the collection at a later time. The feature currently supports one and only one collection. To create a new collection, you must delete the current collection and start over. At this time the collection cannot be saved or shared.</p><p>You add either <b>single topics</b> or entire <b>branches of topics</b> to the collection in one of three ways:</p><ol><li>While viewing a topic, click on the ‘Add This Topic’ link in the toolbar.</li><li>Right-click on any topic hyperlink and select ‘Add This Topic’ from the context menu.</li><li>Right-click on a node in the Table of Contents and select ‘Add This Set of Topics’ from the context menu. <br
/><a
href="http://technet.microsoft.com/en-us/library/bb978525.aspx"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="addtopicset" border="0" alt="addtopicset" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/addtopicset1.png" width="464" height="220" /></a></li></ol><p>At this time, we limit collections to a maximum of 100 topics. As I’ve noted in the past, <a
href="http://thirdblogfromthesun.com/2010/09/how-big-is-the-msdn-library/">the Library is large</a> and we don’t want to be responsible for sending three million topics to your printer. The Beta evaluation will help us determine if a 100-topic maximum is sufficient.</p><p>When you’re done adding topics to the collection, click on the ‘Collection’ link in the toolbar to open the <b>Manage Collection</b> page.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/manage.png"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="manage" border="0" alt="manage" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/manage_thumb.png" width="636" height="468" /></a></p><p>This page enables you to organize your collection and provides access to the export capability. Topics can be organized in two ways: 1) you can change the order of topics and branches using the drag-and-drop feature of the Manage Collection page, and 2) you can organize groups of topics into <b>chapters</b>.</p><p>You can also assign custom names to the collection and its chapters. In the picture above, the collection is named “My Collection” and it has two chapters (PowerShell and SQL Server) that organize the topics. Title and Chapter pages will be added to your collection during the export process.</p><p>Finally, your collection persists on the computer on which it was created and is accessible until deleted or until the browsing history is cleared (i.e. cookies, cache, etc.)</p><p><b>How do I export the collection?</b></p><p>Before you can print your collection, you must export it. To export the collection, generate a document in your chosen output format and then download the document to your local machine. Two output formats are supported: HTML and PDF.</p><ol><li>Click on the ‘Collection’ link in the toolbar to open the Manage Collection page.</li><li>Review your selections to ensure you’re ready to export.</li><li>Select an output format. Choose either ‘XHTML’ (HTML) or ‘PDF’ from the dropdown menu.</li><li>Click on the ‘Generate’ button. If you haven’t already logged in, you will be prompted for your Live ID and then you’ll need to click on the ‘Generate’ button again. <br
/><em>When you see the “Generating” page your file has been submitted to an </em><a
href="http://www.microsoft.com/windowsazure/"><em>Azure</em></a><em> service for processing. This page provides status on your Export job. You can wait for your job to complete or continue browsing and return to this page at a later time.</em></li><li>When your document is ready, the page name changes to “Finished.” Click on the ‘Download Your Document’ link to download and open the file or right-click on the download link to save the file directly to your hard drive.</li></ol><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/generating.png"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="generating" border="0" alt="generating" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/generating_thumb.png" width="640" height="282" /></a></p><p><b>How do I print the collection?</b></p><p>Again, you must export the collection before you can print it. HTML files can be printed from your browser, once opened. PDF files can be printed from Adobe Reader.</p><p><b>What are the Advanced Options?</b></p><p>A set of Advanced Options is available on the “Manage Collection” page. These options enable you to add additional Library content to your exported file. Click on the expand icon to the left of the Advanced Options section to reveal these options:</p><p
align="center"><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/options.png"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="options" border="0" alt="options" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/options_thumb.png" width="466" height="263" /></a></p><p><b>Can I view this content on a Kindle?</b></p><p>Yes. <a
href="http://www.amazon.com/gp/help/customer/display.html?nodeId=200375630">Instructions for transferring PDF files to your Kindle</a> are available on Amazon.com. (Click to view larger image.)</p><p
align="center"><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/TechNet-Kindle.jpg"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="TechNet Kindle" border="0" alt="TechNet Kindle" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/TechNet-Kindle_thumb.jpg" width="183" height="244" /></a></p><p><b>When will this feature be available on MSDN?</b></p><p>We decided to start the Beta program for this feature on TechNet and we’ll expand it to MSDN at a later (to be determined) date. Why? The ability to export Library topics has been a highly requested TechNet feature since IT Pros don’t have the equivalent of the Visual Studio local Help Viewer.</p><p><b>How do I provide feedback on this feature?</b></p><p>We’ll be posting a survey on this feature in the near future but, in the meantime, you can provide feedback by clicking on the Feedback link at the bottom of a Library page or you can leave a comment on this blog.</p> ]]></content:encoded> <wfw:commentRss>http://thirdblogfromthesun.com/2011/08/export-then-print-multiple-library-topics-beta/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> <item><title>View XHTML source for local VS Help topics</title><link>http://thirdblogfromthesun.com/2011/08/view-xhtml-source-for-local-vs-help-topics/</link> <comments>http://thirdblogfromthesun.com/2011/08/view-xhtml-source-for-local-vs-help-topics/#comments</comments> <pubDate>Tue, 02 Aug 2011 03:30:10 +0000</pubDate> <dc:creator>Jeff Braaten</dc:creator> <category><![CDATA[Microsoft Help Viewer]]></category> <category><![CDATA[Visual Studio 2010]]></category> <category><![CDATA[XHTML]]></category> <guid
isPermaLink="false">http://thirdblogfromthesun.com/?p=179</guid> <description><![CDATA[So you’ve decided to create some local content and you want to use the Visual Studio branding package to simplify your life. It would be helpful to look at Visual Studio source content so you can learn by example. What’s the easiest way to examine Visual Studio local Help topics in raw XHTML? Let me [...]]]></description> <content:encoded><![CDATA[<p>So you’ve decided to create some local content and you want to use the Visual Studio branding package to simplify your life. It would be helpful to look at Visual Studio source content so you can learn by example. <b>What’s the easiest way to examine Visual Studio local Help topics in raw XHTML?</b></p><p>Let me give you a hint: it’s not right-clicking on a topic in the Help Viewer and “viewing source.” Nor is it cracking open the MSHC files in your local Help Library store. (Although that’s the best approach if you lack access to the Internet.)</p><p>As you’d expect, Visual Studio local Help content is just a repackaged version of online MSDN content. Local content is created by running online content through an XSLT transform and then packaging it for distribution. Local help is delivered and updated via the MTPS Service API, a public <a
href="http://en.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">REST</a> API that exposes MSDN and TechNet Library content. You can use the Service API to find and view raw XHTML files.</p><p><b>Step 1: Determine the ID of the topic you wish to inspect</b></p><p>Locate an online MSDN topic with formatting or behavior you’d like to adopt. The ID of the topic is simply the last segment of the URL and takes one of two forms, a Short ID or an Alias.</p><ul><li
style="list-style: none"><p>A <b>Short ID</b> is an 8-character combination of letters and numbers. The URL for the “Getting Started with Visual Studio ALM” topic is <a
href="http://msdn.microsoft.com/en-us/library/dd286491.aspx">http://msdn.microsoft.com/en-us/library/dd286491.aspx</a> so its Short ID is dd286491.</p></li><li
style="list-style: none">An <b>Alias</b> is a user-friendly replacement for the Short ID. The URL for the “XmlReader Class” topic is <a
href="http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx">http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx</a> where system.xml.xmlreader is the Alias.</li></ul><p><b>Step 2: Use the MTPS Service API to view the topic XHTML</b></p><p>Now that you have an ID, you can use the Service API to view the topic in its original, raw XHTML.</p><ol><li><p>Append the ID to the Service API Content URL and open in a browser. The full URL takes the following form (where <i>TopicID</i> can be an Alias or a Short ID):</p><p
align="center"><strong>http://services.mtps.microsoft.com/ServiceAPI/content/<i>TopicID</i></strong></p></li><li><p>When you provide a valid ID to the content service, you’ll see a list of Locale/Version combinations. Click on the link for your preferred Locale and Version. (See the <a
href="http://thirdblogfromthesun.com/msdn-url-cheatsheet/">MSDN URL Cheat Sheet</a> for more information.)</p><p>To view the EN-US version of the XmlReader Class for .NET Framework Version 4: <a
href="http://services.mtps.microsoft.com/ServiceAPI/content/b8a5e1s5/en-us;vs.100">http://services.mtps.microsoft.com/ServiceAPI/content/b8a5e1s5/en-us;vs.100</a></p></li><li><p>The page that appears provides a variety of information about your selected topic. Click on the <b>Format:Mtps.Offline</b> link under the Primary Documents heading:</p><p><a
href="http://services.mtps.microsoft.com/ServiceAPI/content/b8a5e1s5/en-us;vs.100"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="rawxhtmlsm" border="0" alt="rawxhtmlsm" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/08/rawxhtmlsm.png" width="404" height="596" /></a></p></li><li>Right-click and “View source” to inspect the raw XHTML used by the local help system!</li></ol><p><b>Disclaimer</b></p><p>The information in this post is for educational purposes. Both the MTPS Service API and the Help Viewer branding package are intended for use by the Microsoft Help Viewer and are subject to change.</p><p><b>Learn More</b></p><p>MTPS Service API provides a set of web services for exposing the content in MTPS. The URL for Service API is: <a
href="http://services.mtps.microsoft.com/ServiceAPI">http://services.mtps.microsoft.com/ServiceAPI</a></p><p>The Service API is documented at: <a
href="http://services.mtps.microsoft.com/ServiceAPI/docs/">http://services.mtps.microsoft.com/ServiceAPI/docs/</a></p> ]]></content:encoded> <wfw:commentRss>http://thirdblogfromthesun.com/2011/08/view-xhtml-source-for-local-vs-help-topics/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Add links and code examples to Help topics you create</title><link>http://thirdblogfromthesun.com/2011/07/add-links-and-code-examples-to-help-topics-you-create/</link> <comments>http://thirdblogfromthesun.com/2011/07/add-links-and-code-examples-to-help-topics-you-create/#comments</comments> <pubDate>Wed, 27 Jul 2011 08:00:24 +0000</pubDate> <dc:creator>Jeff Braaten</dc:creator> <category><![CDATA[Microsoft Help Viewer]]></category> <category><![CDATA[Visual Studio 2010]]></category> <guid
isPermaLink="false">http://thirdblogfromthesun.com/?p=161</guid> <description><![CDATA[In my last post, I explained how to add a simple, text-only topic to your local Help Library. I also described how metadata connects content into the help system. Now let’s look at what we can do to make our topic a little more interesting. (Skip ahead to the hands-on tutorial if you’re not interested [...]]]></description> <content:encoded><![CDATA[<p>In my <a
href="http://thirdblogfromthesun.com/2011/05/add-your-own-content-to-the-local-help-library/">last post</a>, I explained how to add a simple, text-only topic to your local Help Library. I also described how metadata connects content into the help system. Now let’s look at what we can do to make our topic a little more interesting. (Skip ahead to the <a
href="#tutorial">hands-on tutorial</a> if you’re not interested in the details.)</p><h2>Links</h2><p>There are three common link types in Help Library content: internal, external and image.</p><p><strong>Internal links</strong> reference other topics within the local Help Library. They specify link targets by their topic ID alone&mdash;an approach we call “identity linking.” Since help topics are referenced without knowledge of their absolute or relative pathnames, topic linking does not depend on the structure of Library content. Why use this approach? The help system separates content, structure, presentation and behavior to enable extensibility and portability to future content formats.</p><p>It is the help runtime that maps topic IDs to their corresponding XHTML pages. The help runtime is called via the ms-xhelp API and we reference a specific help system topic by passing its ID into that API. The format of an ms-xhelp URL is:</p><p
align="center"><code>ms-xhelp:///?Id=</code><em>Microsoft.Help.ID</em></p><p>Here is an example of how the API is used inside a topic (the <code>class=”mtps-internal-link”</code> markup supports CSS formatting):</p><div
style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 6px; overflow-x: scroll; overflow-y: hidden; padding-left: 6px; padding-right: 6px; white-space: nowrap; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 6px"><code>&lt;a class=&quot;mtps-internal-link&quot; href=&quot;ms-xhelp:///?Id=b3382805-aa6b-4e6f-a346-73d20f74d0cd&quot;&gt;Links, Code Examples and Language-specific Text&lt;/a&gt;</code></div></p><p><strong>External links</strong> reference web pages outside of the Help Library and use standard HTTP URLs. Here’s an example of how external links are used inside a topic (the <code>class=”mtps-external-link”</code> markup supports link formatting):</p><div
style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 6px; overflow-x: scroll; overflow-y: hidden; padding-left: 6px; padding-right: 6px; white-space: nowrap; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 6px"><code>&lt;a class=&quot;mtps-external-link&quot; href=&quot;http://msdn.microsoft.com/en-us/library/default.aspx&quot;&gt;MSDN Library&lt;/a&gt;</code></div></p><p><strong>Image links</strong> are used to embed images in topics. Embedded images generally reside in the same package (MSHC file) that contains the topic. An example image link:<div
style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 6px; overflow-x: hidden; overflow-y: hidden; padding-left: 6px; padding-right: 6px; white-space: nowrap; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 6px"><code>&lt;img class=&quot;mtps-img-src&quot; src=&quot;image.png&quot; /&gt;</code></div></p><h2>Branding Package Controls</h2><p>The appearance and behavior of Help content is defined by a branding package, basically a collection of CSS files, JavaScript, images and other resource files. The help system allows each catalog to specify its own branding package. For this post, we’ll limit ourselves to controls that are provided by the default branding package that ships with the Help Viewer. Using this branding package enables us to easily create topics that look and behave like Visual Studio help content.</p><p>The default Help Viewer branding package supports three commonly used controls we’ll look at today: CollapsibleArea, CodeSnippet and LanguageSpecificText.</p><p><strong>Collapsible Areas</strong></p><p>In Visual Studio Help content, collapsible areas group sections within a topic. They serve two functions: 1) provide formatting for the title of the section, and 2) enable the user to collapse entire sections when reading a topic. This is useful for extremely long topics or for FAQ pages.</p><p>Collapsible areas were only partially implemented in Help Viewer 1.x. They provide proper title formatting but they don&#8217;t provide a collapse feature. However, marking up your content with the <code>CollapsibleArea</code> tag ensures it can take advantage of this capability in future releases.</p><p>The CollapsibleArea control contains the area to be collapsed and specifies the title of the section. For example:</p><div
style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 6px; overflow-x: scroll; overflow-y: hidden; padding-left: 6px; padding-right: 6px; white-space: nowrap; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 6px"><code>&lt;CollapsibleArea Expanded=&quot;1&quot; Title=&quot;Content Linking&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;</code></p><p>… section content …</p><p> <code>&lt;/CollapsibleArea&gt;</code></div></p><p>Note that, if <code>Expanded=&quot;0&quot;</code>, the area starts collapsed. <code>Expanded=&quot;1&quot;</code> is the default.</p><p><strong>Code Examples (CodeSnippets)</strong></p><p>Many Visual Studio help topics contain code examples and syntax documentation. The help system CodeSnippet control displays formatted code examples in the user’s preferred development language. (Note that Help system “CodeSnippets” are not the same as Visual Studio “<a
href="http://msdn.microsoft.com/en-us/library/z41h7fat">Code Snippets</a>.”)</p><p>The help system automatically groups <em>adjacent</em> code snippets into a “snippet group” that enables readers to easily switch between examples in different development languages. A single CodeSnippet is expressed as follows:</p><div
style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 6px; overflow-x: scroll; overflow-y: hidden; padding-left: 6px; padding-right: 6px; white-space: nowrap; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 6px"><code>&lt;!-- Snippet for the C# language --&gt; <br
/>&lt;CodeSnippet EnableCopyCode=&quot;true&quot; Language=&quot;CSharp&quot; ContainsMarkup=&quot;false&quot; DisplayLanguage=&quot;C#&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt; <br
/>using System;</p><p>// A &quot;hello, world&quot; program in C# <br
/>namespace HelloWorld { <br
/>&nbsp;&nbsp;class Hello { <br
/>&nbsp;&nbsp;&nbsp;&nbsp;static void Main() { <br
/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Console.WriteLine(&quot;hello, world&quot;); <br
/>&nbsp;&nbsp;&nbsp;&nbsp;} <br
/>&nbsp;&nbsp;} <br
/>} <br
/>&lt;/CodeSnippet&gt;</code></div></p><p>The CodeSnippet control uses two separate tags to support source code formatting. The <code>Language</code> tag specifies the development language used for code colorization. The <code>DisplayLanguage</code> tag specifies the text to be displayed on the snippet tab. Supported tag values include:</p><table
style="margin-left: auto; margin-right: auto" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td
valign="top" width="135"><strong>Language</strong></td><td
valign="top" width="124"><strong>DisplayLanguage</strong></td></tr><tr><td
valign="top" width="135">CSharp</td><td
valign="top" width="124">C#</td></tr><tr><td
valign="top" width="135">VisualBasic</td><td
valign="top" width="124">Visual Basic</td></tr><tr><td
valign="top" width="135">ManagedCPlusPlus</td><td
valign="top" width="124">Visual C++</td></tr><tr><td
valign="top" width="135">FSharp</td><td
valign="top" width="124">F#</td></tr><tr><td
valign="top" width="135">JScript</td><td
valign="top" width="124">JScript</td></tr><tr><td
valign="top" width="135">xaml</td><td
valign="top" width="124">XAML</td></tr></tbody></table><p><strong>Language-specific Text</strong></p><p>It is common to use language-specific syntax in help documentation. Because syntax varies from language to language, the help system provides the ability to display text as a function of the reader’s chosen development language. This feature eliminates the need to author separate, redundant topics for each language.</p><p>The LanguageSpecificText control displays dynamic text based on the development language selected by the reader using the CodeSnippet control.</p><p>For example, the following language-specific text example is used frequently in Visual Studio content to modify namespace delimiters:</p><div
style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 6px; overflow-x: scroll; overflow-y: hidden; padding-left: 6px; padding-right: 6px; white-space: nowrap; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 6px"><code>&lt;LanguageSpecificText devLangcs=&quot;.&quot; devLangvb=&quot;.&quot; devLangcpp=&quot;::&quot; devLangnu=&quot;.&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;.&lt;/LanguageSpecificText&gt;</code></div></p><p>And here is the list of supported language tags:</p><table
style="margin-left: auto; margin-right: auto" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td
valign="top" width="78"><strong>Language</strong></td><td
valign="top" width="91"><strong>Tag</strong></td></tr><tr><td
valign="top" width="78">C#</td><td
valign="top" width="91">devLangcs</td></tr><tr><td
valign="top" width="78">VB</td><td
valign="top" width="91">devLangvb</td></tr><tr><td
valign="top" width="78">C++</td><td
valign="top" width="91">devLangcpp</td></tr><tr><td
valign="top" width="78">Other</td><td
valign="top" width="91">devLangnu</td></tr></tbody></table><h2><a
name="tutorial"></a>Linking and Code Example Tutorial</h2><p>Now it’s time to apply what you’ve learned. In this section, you’ll add links and use controls from the Help Viewer branding package to add code examples to your custom topic. This tutorial takes about 5 minutes and makes the following assumptions:</p><ul><li>Visual Studio 2010 (RTM or SP1) is installed on your machine.</li><li>You have administrator privileges on your machine.</li><li>You have successfully used the local Help Viewer to read EN-US help content.</li></ul><p>When you’ve completed the exercise, you can remove the tutorial content without side effects to your help system.</p><p><strong>Step 1: Create a Topic</strong></p><p>To begin, create a folder for your help content and then create a topic in that folder. For the purposes of this tutorial, you’ll create a folder named “HelpTutorial2” in your main Documents folder.</p><ol><li>Use Windows Explorer to create the folder or from a command prompt:<div
style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 6px; overflow-x: hidden; overflow-y: hidden; padding-left: 6px; padding-right: 6px; white-space: nowrap; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 6px"><code>mkdir %userprofile%\Documents\HelpTutorial2</code></div></li><li>Launch Notepad.</li><li>Copy the following XHTML and paste it into Notepad:<br
/> (Tip: If you lose carriage returns when pasting into Notepad, consider copying this XHTML from within Chrome or Firefox. The code examples in this topic will not display correctly if lines don&#8217;t break in the correct locations.)</p><pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
  &lt;title&gt;Links, Code Examples and Language-specific Text&lt;/title&gt;
  &lt;!-- Specify the topic content key: ID, locale and version --&gt;
  &lt;meta name=&quot;Microsoft.Help.Id&quot; content=&quot;ecab3be4-257f-4649-864b-761cfd9510c2&quot; /&gt;
  &lt;meta name=&quot;Microsoft.Help.Locale&quot; content=&quot;en-us&quot; /&gt;
  &lt;meta name=&quot;Microsoft.Help.TopicLocale&quot; content=&quot;en-us&quot; /&gt;
  &lt;meta name=&quot;Microsoft.Help.TopicVersion&quot; content=&quot;100&quot; /&gt;
  &lt;!-- Use the default branding package to render the topic --&gt;
  &lt;meta name=&quot;Microsoft.Help.SelfBranded&quot; content=&quot;false&quot; /&gt;
  &lt;!-- Place the topic in the TOC under the root node --&gt;
  &lt;meta name=&quot;Microsoft.Help.TocParent&quot; content=&quot;-1&quot; /&gt;
  &lt;meta name=&quot;Microsoft.Help.TocOrder&quot; content=&quot;0&quot; /&gt;
  &lt;!-- Enable topic access from the keyword index --&gt;
  &lt;meta name=&quot;Microsoft.Help.Keywords&quot; content=&quot;help content links&quot; /&gt;
  &lt;meta name=&quot;Microsoft.Help.Keywords&quot; content=&quot;Code Example (CodeSnippet)&quot; /&gt;
  &lt;meta name=&quot;Microsoft.Help.Keywords&quot; content=&quot;LanguageSpecificText&quot; /&gt;
  &lt;!-- Enable topic access via F1 help --&gt;
  &lt;meta name=&quot;Microsoft.Help.F1&quot; content=&quot;CodeSnippet&quot; /&gt;
  &lt;meta name=&quot;Microsoft.Help.F1&quot; content=&quot;LanguageSpecificText&quot; /&gt;
  &lt;!-- Provide a description for use in the search results list --&gt;
  &lt;meta name=&quot;Description&quot; content=&quot;This text provides an overview of this topic and is displayed in the search results list.&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;h1 class=&quot;title&quot;&gt;Links, Code Examples and Language-specific Text&lt;/h1&gt;
  &lt;div id=&quot;mainSection&quot;&gt;
    &lt;CollapsibleArea Expanded=&quot;1&quot; Title=&quot;Content Linking&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;
      &lt;p&gt;There are three common types of links: internal, external and image.&lt;/p&gt;
      &lt;table class=&quot;members&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
        &lt;tr&gt;
          &lt;th&gt;Type&lt;/th&gt;
          &lt;th&gt;Example&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
          &lt;td&gt;Internal Link&lt;/td&gt;
          &lt;td&gt;&lt;a class=&quot;mtps-internal-link&quot; href=&quot;ms-xhelp:///?Id=1838dc17-b428-4db2-938e-10fa07f63e81&quot;&gt;Help System Feature Overview&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Internal link to a topic in local Help system documentation&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
          &lt;td&gt;External Link&lt;/td&gt;
          &lt;td&gt;&lt;a class=&quot;mtps-external-link&quot; href=&quot;http://msdn.microsoft.com/en-us/library/default.aspx&quot;&gt;MSDN Library&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;External link to the online MSDN Library&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
          &lt;td&gt;Image Link&lt;/td&gt;
          &lt;td&gt;&lt;img class=&quot;mtps-img-src&quot; src=&quot;image.png&quot; /&gt;&lt;/td&gt;
          &lt;td&gt;Example of an embedded image&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
    &lt;/CollapsibleArea&gt;
    &lt;CollapsibleArea Expanded=&quot;1&quot; Title=&quot;Language-specific Text&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;
      &lt;p&gt;This text adjusts to match the coding language selected in the SnippetGroup (below).&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;Current code language: &lt;strong&gt;
          &lt;LanguageSpecificText devLangcs=&quot;C#&quot; devLangvb=&quot;VB&quot; devLangcpp=&quot;C++&quot; devLangnu=&quot;other&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;other&lt;/LanguageSpecificText&gt;&lt;/strong&gt;&lt;/li&gt;
        &lt;li&gt;Namespace delimiter (example): &lt;strong&gt;XmlReader
          &lt;LanguageSpecificText devLangcs=&quot;.&quot; devLangvb=&quot;.&quot; devLangcpp=&quot;::&quot; devLangnu=&quot;.&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;.&lt;/LanguageSpecificText&gt;Read Method&lt;/strong&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/CollapsibleArea&gt;
    &lt;CollapsibleArea Expanded=&quot;1&quot; Title=&quot;Examples&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;&lt;a id=&quot;exampleToggle&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;!----&gt;&lt;/a&gt;
      &lt;p&gt;Note that all of the tabs in the SnippetGroup are populated with a code example.&lt;/p&gt;
      &lt;!-- Declare the SnippetGroup container --&gt;
      &lt;div id=&quot;snippetGroup&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
        &lt;!-- Snippet for the VB language --&gt;
        &lt;!-- Language is the code colorization language --&gt;
        &lt;!-- DisplayLanguage is the tab title language --&gt;
        &lt;CodeSnippet EnableCopyCode=&quot;true&quot; Language=&quot;VisualBasic&quot; ContainsMarkup=&quot;false&quot; DisplayLanguage=&quot;Visual Basic&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;
Imports System
' A &quot;hello, world&quot; program in Visual Basic
Module Hello
  Sub Main()
      MsgBox(&quot;hello, world&quot;)
  End Sub
End Module
        &lt;/CodeSnippet&gt;
        &lt;!-- Snippet for the C# language --&gt;
        &lt;CodeSnippet EnableCopyCode=&quot;true&quot; Language=&quot;CSharp&quot; ContainsMarkup=&quot;false&quot; DisplayLanguage=&quot;C#&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;
using System;
// A &quot;hello, world&quot; program in C#
namespace HelloWorld {
  class Hello {
    static void Main() {
      System.Console.WriteLine(&quot;hello, world&quot;);
    }
  }
}
        &lt;/CodeSnippet&gt;
        &lt;CodeSnippet EnableCopyCode=&quot;true&quot; Language=&quot;ManagedCPlusPlus&quot; ContainsMarkup=&quot;false&quot; DisplayLanguage=&quot;Visual C++&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;
// A &quot;hello, world&quot; program in C++
main( ) {
  printf(&quot;hello, world&quot;);
}
        &lt;/CodeSnippet&gt;
        &lt;CodeSnippet EnableCopyCode=&quot;true&quot; Language=&quot;FSharp&quot; ContainsMarkup=&quot;false&quot; DisplayLanguage=&quot;F#&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;
// A &quot;hello, world&quot; program in F#
#light
open System
printfn &quot;hello, world&quot;
        &lt;/CodeSnippet&gt;
        &lt;CodeSnippet EnableCopyCode=&quot;true&quot; Language=&quot;JScript&quot; ContainsMarkup=&quot;false&quot; DisplayLanguage=&quot;JScript&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;
// A &quot;hello, world&quot; program in JScript
print(&quot;hello world&quot;);
        &lt;/CodeSnippet&gt;
      &lt;/div&gt;
      &lt;p&gt;Singleton with tab and language colorization:&lt;/p&gt;
      &lt;CodeSnippet EnableCopyCode=&quot;true&quot; Language=&quot;html&quot; ContainsMarkup=&quot;false&quot; DisplayLanguage=&quot;XHTML&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;
&amp;lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
  &amp;lt;head /&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;p&amp;gt;hello, world&amp;lt;/p&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
      &lt;/CodeSnippet&gt;
      &lt;p&gt;Singleton with no tab, no colorization:&lt;/p&gt;
      &lt;CodeSnippet EnableCopyCode=&quot;true&quot; Language=&quot;other&quot; DisplayLanguage=&quot;&quot; ContainsMarkup=&quot;false&quot; xmlns=&quot;http://msdn2.microsoft.com/mtps&quot;&gt;
HRESULT SetDeviceEnumPreference(
  [in]  DWORD dwEnumPref
);
      &lt;/CodeSnippet&gt;
    &lt;/CollapsibleArea&gt;
  &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre></li><li>Save the file as: <strong>%userprofile%\Documents\HelpTutorial2\topic2.html</strong></li><li>Close Notepad.</li><li>Right click on the MSDN image below and &#8220;Save picture as&#8230;&#8221; <strong>image.png</strong> in the HelpTutorial2 folder.<br
/> <a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/07/image.png"><img
src="http://thirdblogfromthesun.com/wp-content/uploads/2011/07/image.png" alt="" title="image" width="127" height="37" class="alignnone size-full wp-image-167" /></a></li></ol><p><strong>Step 2: Create a Package</strong></p><p>Next, place your topic in a package.</p><ol><li>In Windows Explorer, right click on the <strong>topic2.html</strong> file you created in Step 1 and send it to a Compressed (zipped) folder named <strong>mycontent2.zip</strong>.<br
/> <a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/07/sendtozip.png"><img
src="http://thirdblogfromthesun.com/wp-content/uploads/2011/07/sendtozip.png" alt="" title="sendtozip" width="316" height="160" class="alignnone size-full wp-image-166" /></a></li><li>Drag <strong>image.png</strong> into the <strong>mycontent2.zip</strong> folder.</li><li>Rename the <strong>mycontent2.zip</strong> folder to <strong>mycontent2.mshc</strong>. (Click ‘Yes’ on the Rename dialog that pops up.)</li></ol><p><strong>Step 3: Create a Book</strong></p><p>The last step in preparing your content is placing your package in a “book”. As you’ll recall from my <a
href="http://thirdblogfromthesun.com/2011/05/add-your-own-content-to-the-local-help-library/#step3">previous post</a>, a book is a collection of packages and is defined in an asset manifest file named HelpContentSetup.msha.</p><ol><li>Launch Notepad.</li><li>Copy the following XHTML content and paste it into Notepad:<pre class="brush: xml; title: ; notranslate">
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
  &lt;head /&gt;
  &lt;body class=&quot;vendor-book&quot;&gt;
    &lt;div class=&quot;details&quot;&gt;
      &lt;span class=&quot;vendor&quot;&gt;My Company&lt;/span&gt;
      &lt;span class=&quot;locale&quot;&gt;en-us&lt;/span&gt;
      &lt;span class=&quot;product&quot;&gt;My Custom Content&lt;/span&gt;
      &lt;span class=&quot;name&quot;&gt;More Custom Topics&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&quot;package-list&quot;&gt;
      &lt;div class=&quot;package&quot;&gt;
        &lt;span class=&quot;name&quot;&gt;mycontent2&lt;/span&gt;
        &lt;span class=&quot;deployed&quot;&gt;true&lt;/span&gt;
        &lt;a class=&quot;current-link&quot; href=&quot;mycontent2.mshc&quot;&gt;mycontent2.mshc&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/body&gt;
&lt;/html&gt;
</pre></li><li>Save the file as:<br
clear="all" /><strong>%userprofile%\Documents\HelpTutorial2\HelpContentSetup.msha<br
clear="all" /></strong>(Tip: Set the “Save as type” dropdown list in Notepad to “All Files (*.*)” )</li><li>Close Notepad.</li></ol><p><strong>Step 4: Install the Book</strong></p><p>Launch the Help Library Manager in administrative mode and install the book from disk. If you’re unsure how to do this, follow the <a
href="http://thirdblogfromthesun.com/2011/05/add-your-own-content-to-the-local-help-library/#step4">install instructions from my previous post</a>.</p><p><strong>Step 5: Explore Your Content</strong></p><p>Select “View Help” from the Visual Studio Help menu. Note that your topic appears in the Table of Contents as a child of the root node:</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/07/topic2toc1.png"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="topic2toc" border="0" alt="topic2toc" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/07/topic2toc1.png" /></a></p><p>If you select this topic you’ll see the following page:</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/07/topic2bg.png"><img
style="border:1px solid #CCCCCC" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/07/topic2thumb.png" alt="Help Topic with Code Examples" title="Help Topic with Code Examples" class="alignnone size-full wp-image-175" /></a></p><p><strong>To Learn More</strong></p><p>This tutorial covers the basics of the Visual Studio Help Viewer branding package. To learn more about designing content for the Microsoft Help Viewer, check out these resources:</p><ul><li>The <a
href="http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&amp;FamilyID=94ab4784-b7c3-49ac-a315-9688bc5c84c3">Help Viewer 1.0 SDK</a> goes into greater detail on how to create, brand and deploy content.</li><li>For more complex projects, I highly recommend using a <a
href="http://blogs.msdn.com/b/thehelpguy/archive/2010/01/26/help-authoring-tool-hat-support-for-help-viewer-1-0.aspx">help authoring tool</a>.</li><li><a
href="http://blogs.msdn.com/b/thehelpguy/">The Help Guy</a> blog is a good resource for anyone creating Help Viewer content.</li><li>Microsoft Help MVP Rob Chandler has assembled a nice <a
href="http://www.helpware.net/mshelp3/intro.htm">overview of Microsoft Help Viewer 1.0</a>.</li></ul> ]]></content:encoded> <wfw:commentRss>http://thirdblogfromthesun.com/2011/07/add-links-and-code-examples-to-help-topics-you-create/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Add your own content to the local Help Library</title><link>http://thirdblogfromthesun.com/2011/05/add-your-own-content-to-the-local-help-library/</link> <comments>http://thirdblogfromthesun.com/2011/05/add-your-own-content-to-the-local-help-library/#comments</comments> <pubDate>Wed, 25 May 2011 02:00:19 +0000</pubDate> <dc:creator>Jeff Braaten</dc:creator> <category><![CDATA[Microsoft Help Viewer]]></category> <category><![CDATA[Visual Studio 2010]]></category> <category><![CDATA[Tutorial]]></category> <guid
isPermaLink="false">http://thirdblogfromthesun.com/?p=128</guid> <description><![CDATA[In this post, I’ll show you how to create some simple content and add it to the Visual Studio local Help Library. The only tools you’ll need are a command prompt, Notepad, Windows Explorer and the Help Library Manager. This exercise takes about 5 minutes and, when you’re done, you can easily remove the content [...]]]></description> <content:encoded><![CDATA[<p>In this post, I’ll show you how to create some simple content and add it to the Visual Studio local Help Library. The only tools you’ll need are a command prompt, Notepad, Windows Explorer and the Help Library Manager. This exercise takes about 5 minutes and, when you’re done, you can easily remove the content without any side effects to your help system. This tutorial makes the following assumptions:</p><ul><li>Visual Studio 2010 (RTM or SP1) is installed on your machine.</li><li>You have administrator privileges on your machine.</li><li>You have successfully used the local Help Viewer to read EN-US help content.</li></ul><h2>Step 1: Create a Topic</h2><p>The basic unit of content in the help system is a “topic”. A <b>topic</b> is a single piece of XHTML content with a unique identity in the local Help Library.</p><p>To begin, create a folder for your help content and then create a topic in that folder. For the purposes of this tutorial, you’ll create a folder named “HelpTutorial” in your main Documents folder.</p><ol><li>Use Windows Explorer to create the folder or from a command prompt:<br
/><table
style="margin: 0px" border="1" cellspacing="0" width="596"><tbody><tr><td
style="padding-bottom: 8px; padding-left: 6px; padding-right: 6px; padding-top: 0px" valign="top" width="638"><code>mkdir %userprofile%\Documents\HelpTutorial</code></td></tr></tbody></table></li><li>Launch Notepad.</li><li>Copy the following and paste it into Notepad:</li><pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
  &lt;title&gt;My Custom Content&lt;/title&gt;
  &lt;!-- Specify the topic content key: ID, locale and version --&gt;
  &lt;meta name=&quot;Microsoft.Help.Id&quot; content=&quot;b3382805-aa6b-4e6f-a346-73d20f74d0cd&quot; /&gt;
  &lt;meta name=&quot;Microsoft.Help.Locale&quot; content=&quot;en-us&quot; /&gt;
  &lt;meta name=&quot;Microsoft.Help.TopicLocale&quot; content=&quot;en-us&quot; /&gt;
  &lt;meta name=&quot;Microsoft.Help.TopicVersion&quot; content=&quot;10&quot; /&gt;
  &lt;!-- Use the default branding package to render the topic --&gt;
  &lt;meta name=&quot;Microsoft.Help.SelfBranded&quot; content=&quot;false&quot; /&gt;
  &lt;!-- Place the topic in the TOC under the root node --&gt;
  &lt;meta name=&quot;Microsoft.Help.TocParent&quot; content=&quot;-1&quot; /&gt;
  &lt;meta name=&quot;Microsoft.Help.TocOrder&quot; content=&quot;0&quot; /&gt;
  &lt;!-- Enable topic access from the keyword index --&gt;
  &lt;meta name=&quot;Microsoft.Help.Keywords&quot; content=&quot;my custom content&quot; /&gt;
  &lt;!-- Enable topic access via F1 help --&gt;
  &lt;meta name=&quot;Microsoft.Help.F1&quot; content=&quot;myTopic&quot; /&gt;
  &lt;!-- Provide a description for use in the search results list --&gt;
  &lt;meta name=&quot;Description&quot; content=&quot;This text provides an overview of this topic and is displayed in the search results list.&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;h1 class=&quot;title&quot;&gt;My Custom Content&lt;/h1&gt;
  &lt;div id=&quot;mainSection&quot;&gt;
    &lt;p&gt;This is an example of a simple, well-formed library topic.&lt;/p&gt;
  &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre><li>Save the file as: <b>%userprofile%\Documents\HelpTutorial\topic1.html</b></li><li>Close Notepad.</li></ol><h2>Interlude: Anatomy of a Topic</h2><p>In this segment, we’ll look more closely at the topic you just created. If you want to load your topic into the local Help Library as quickly as possible, skip to <b><a
href="#step2">Step 2: Create a Package</a></b> to continue on with the tutorial.</p><p>First and foremost, our topic needs to be a well-formed <a
href="http://www.w3.org/TR/xhtml-basic/">XHTML Basic 1.1</a> topic that can be consumed by the .NET Framework <a
href="http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx">XmlReader class</a>. All tags must be properly closed and you must use the correct <a
href="http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references">HTML encoding</a> for symbols and special characters.</p><p>Our text-only content is located between the <code>&lt;body&gt;</code> tags. We want the same look-and-feel as the Visual Studio documentation so we’re using the standard “branding package”. This branding package will format our topic correctly if it includes the following markup:</p><ul><li>Add <code>class=&quot;title&quot;</code> in the topic heading tag</li><li>Place the body text inside a <code>&lt;div&gt;</code> with <code>id=&quot;mainSection&quot;</code></li></ul><p><table
border="1" cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding-bottom: 0px; padding-left: 6px; padding-right: 6px; padding-top: 0px" valign="top" width="638"><code>&lt;body&gt; <br
/>&#160; &lt;h1 class=&quot;title&quot;&gt;My Custom Content&lt;/h1&gt; <br
/>&#160; &lt;div id=&quot;mainSection&quot;&gt; <br
/>&#160;&#160;&#160; &lt;p&gt;This is an example of a simple, well-formed library topic.&lt;/p&gt; <br
/>&#160; &lt;/div&gt; <br
/>&lt;/body&gt;</code></td></tr></tbody></table><p>Now let’s look at the metadata in our topic. The purpose of this metadata is to enable discovery and navigation of help system content. The metadata is specified using standard <code>&lt;meta&gt;</code> tags located in the <code>&lt;head&gt;</code> section of the topic.</p><p>The <code>&lt;title&gt;</code> tag determines how the topic is displayed in the Table of Contents (TOC). Note that, while the system enables the topic title to be different than the topic’s H1 heading, it is customary for them to be identical.</p><p><table
border="1" cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding-bottom: 0px; padding-left: 6px; padding-right: 6px; padding-top: 0px" valign="top" width="638"><code>&lt;title&gt;My Custom Content&lt;/title&gt; </code></td></tr></tbody></table><p>In the help system, a topic’s identity (called the “content key”) consists of the topic ID, topic version and topic locale. The content key enables the same topic to exist in multiple documentation versions and multiple human languages. It is important for the Microsoft.Help.Id meta tag value to be unique within the help system. While this can be set to any string value, it is customary to use a GUID to ensure uniqueness across content from multiple vendors. The Microsoft.Help.Locale meta tag tells the indexer which <a
href="http://msdn.microsoft.com/en-us/library/ff819128(v=vs.85).aspx#word_breaking">word breaker</a> to use when parsing the topic for search terms. If this tag is omitted, the help system defaults to the word breaker associated with the Windows operating system locale setting. The Microsoft.Help.TopicLocale meta tag enables the system to distinguish between different locale versions of the same topic, for example, when both English (EN-US) and Japanese (JA-JP) content are both present in the local Help Library. Finally, we set the topic version to <code>content=&quot;10&quot;</code> since this is Version 1.0 of our topic.</p><p><table
border="1" cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding-bottom: 0px; padding-left: 6px; padding-right: 6px; padding-top: 0px" valign="top" width="655"><code>&lt;!-- Specify the topic content key: ID, locale and version --&gt; <br
/>&lt;meta name=&quot;Microsoft.Help.Id&quot; content=&quot;b3382805-aa6b-4e6f-a346-73d20f74d0cd&quot; /&gt; <br
/>&lt;meta name=&quot;Microsoft.Help.Locale&quot; content=&quot;en-us&quot; /&gt; <br
/>&lt;meta name=&quot;Microsoft.Help.TopicLocale&quot; content=&quot;en-us&quot; /&gt; <br
/>&lt;meta name=&quot;Microsoft.Help.TopicVersion&quot; content=&quot;10&quot; /&gt; </code></td></tr></tbody></table><p>The look-and-feel of the topic (font, color, spacing, behaviors, etc.) is specified by our branding package. Creating a custom branding package is outside the scope of this tutorial so we’ll just use the standard branding package that ships with Visual Studio. Note that the standard branding package is used by default so this tag is optional and is included here for completeness.</p><p><table
border="1" cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding-bottom: 0px; padding-left: 6px; padding-right: 6px; padding-top: 0px" valign="top" width="638"><code>&lt;!-- Use the default branding package to render the topic --&gt; <br
/>&lt;meta name=&quot;Microsoft.Help.SelfBranded&quot; content=&quot;false&quot; /&gt; </code></td></tr></tbody></table><p>Normally, we’d set the value of the Microsoft.Help.TocParent meta tag to the Microsoft.Help.Id of another topic. This establishes our position in the TOC hierarchy. In this case, we want the topic to appear as a child of the TOC root node and to do that we set <code>content=&quot;-1&quot;</code>. The Microsoft.Help.TocOrder tag tells the system how to order our topic relative to its peers. Children of the root node sort by TocOrder first, then by topic ID. All other nodes in the TOC sort by TocOrder first, then by title, then by topic ID.</p><p><table
border="1" cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding-bottom: 0px; padding-left: 6px; padding-right: 6px; padding-top: 0px" valign="top" width="638"><code>&lt;!-- Place the topic in the TOC under the root node --&gt; <br
/>&lt;meta name=&quot;Microsoft.Help.TocParent&quot; content=&quot;-1&quot; /&gt; <br
/>&lt;meta name=&quot;Microsoft.Help.TocOrder&quot; content=&quot;0&quot; /&gt; </code></td></tr></tbody></table><p>We want the topic to be discoverable from the keyword index and we’ll use the Microsoft.Help.Keywords tag to do this. Multiple index entries can be specified by repeating this tag. For best results, keyword index strings should be highly related to this specific topic.</p><p><table
border="1" cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding-bottom: 0px; padding-left: 6px; padding-right: 6px; padding-top: 0px" valign="top" width="638"><code>&lt;!-- Enable topic access from the keyword index --&gt; <br
/>&lt;meta name=&quot;Microsoft.Help.Keywords&quot; content=&quot;my custom content&quot; /&gt; </code></td></tr></tbody></table><p>We also want this topic to be accessible from F1 Help inside the Visual Studio IDE. We’ll use the Microsoft.Help.F1 to assign our F1 Help string. The F1 string must be highly related to this specific topic to enable an unambiguous F1 help query.</p><p><table
border="1" cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding-bottom: 0px; padding-left: 6px; padding-right: 6px; padding-top: 0px" valign="top" width="638"><code>&lt;!-- Enable topic access via F1 help --&gt; <br
/>&lt;meta name=&quot;Microsoft.Help.F1&quot; content=&quot;myTopic&quot; /&gt; </code></td></tr></tbody></table><p>Finally, we specify a user-friendly description of this topic. The topic description is displayed, along with the topic title, in the search results pane.</p><p><table
border="1" cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding-bottom: 0px; padding-left: 6px; padding-right: 6px; padding-top: 0px" valign="top" width="638"><code>&lt;!-- Provide a description for use in the search results list --&gt; <br
/>&lt;meta name=&quot;Description&quot; content=&quot;This text provides an overview of this topic and is displayed in the search results list.&quot; /&gt; </code></td></tr></tbody></table><p>In Help Viewer 1.x, all of the help system artifacts (table of contents, search index, keyword index, etc.) are generated from topic metadata. Because of this, it is important that topics are well-formed and contain appropriate meta tags to behave well inside the help system. The <a
href="http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&amp;FamilyID=94ab4784-b7c3-49ac-a315-9688bc5c84c3">Help Viewer 1.0 SDK</a> provides a more complete treatment of help system meta tags.</p><h2><a
name="step2">Step 2: Create a Package</a></h2><p>Now that you have a topic, it’s time to place that topic in a “package”. A <b>package</b> is a collection of topics and their associated resources (images, scripts, etc.). Packages are ZIP files with an .MSHC extension.</p><p>The help system was designed to scale to extremely large libraries. Some of the Visual Studio content sets have almost 200,000 topics. Packages are used to break up these content sets into smaller chunks that are used to transport content from an online endpoint to the end-user’s hard drive. By convention, packages include no more than 10,000 topics.</p><p>Placing your topic in a package is simple:</p><ol><li>In Windows Explorer, right click on the <b>topic1.html</b> file we created in Step 1 and send it to a Compressed (zipped) folder named <b>mycontent.zip</b>.<a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/sendtozip.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="sendtozip" border="0" alt="sendtozip" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/sendtozip_thumb.png" width="316" height="160" /></a></li><li>Rename the <b>mycontent.zip</b> folder to <b>mycontent.mshc</b>. (Click ‘Yes’ on the Rename dialog that pops up.)</li></ol><h2><a
name="step3">Step 3: Create a Book</a></h2><p>The last step in preparing your content is placing your package in a “book”. A <b>book</b> is a collection of packages and is defined in an asset manifest file named HelpContentSetup.msha.</p><p>Content is added to or removed from the local Help Library one book at a time. Even if you only want to add a single package to the local Help Library you must place it in a book. If packages are the unit of transport, you can think of books as the unit of install.</p><p>In this tutorial, you’ll use the following settings:</p><table
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" border="0" cellspacing="0" cellpadding="2" width="377"><tbody><tr
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none"><td
valign="top" width="31">&#160;</td><td
valign="top" width="92">Vendor:</td><td
valign="top" width="252">My Company</td></tr><tr
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none"><td
valign="top" width="31">&#160;</td><td
valign="top" width="92">Product:</td><td
valign="top" width="252">My Custom Content</td></tr><tr
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none"><td
valign="top" width="31">&#160;</td><td
valign="top" width="92">Locale:</td><td
valign="top" width="252">EN-US</td></tr><tr
style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none"><td
valign="top" width="31">&#160;</td><td
valign="top" width="92">Book Name:</td><td
valign="top" width="252">My Custom Topics</td></tr></tbody></table><p>You supply the help system with information on how to display your new book in the Help Library Manager by creating an asset manifest (.MSHA) file.</p><ol><li>Launch Notepad.</li><li>Copy the following XHTML content and paste it into Notepad:</li><pre class="brush: xml; title: ; notranslate">
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
  &lt;head /&gt;
  &lt;body class=&quot;vendor-book&quot;&gt;
    &lt;div class=&quot;details&quot;&gt;
      &lt;span class=&quot;vendor&quot;&gt;My Company&lt;/span&gt;
      &lt;span class=&quot;locale&quot;&gt;en-us&lt;/span&gt;
      &lt;span class=&quot;product&quot;&gt;My Custom Content&lt;/span&gt;
      &lt;span class=&quot;name&quot;&gt;My Custom Topics&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&quot;package-list&quot;&gt;
      &lt;div class=&quot;package&quot;&gt;
        &lt;span class=&quot;name&quot;&gt;mycontent&lt;/span&gt;
        &lt;span class=&quot;deployed&quot;&gt;true&lt;/span&gt;
        &lt;a class=&quot;current-link&quot; href=&quot;mycontent.mshc&quot;&gt;mycontent.mshc&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/body&gt;
&lt;/html&gt;
</pre><li>Save the file as:<br
/><b>%userprofile%\Documents\HelpTutorial\HelpContentSetup.msha</b> <br
/>(Tip: Set the “Save as type” dropdown list in Notepad to “All Files (*.*)” )</li><li>Close Notepad.</li></ol><h2><a
name="step4">Step 4: Install the Book</a></h2><p>You should now have the two files that make up your book in the HelpTutorial directory: mycontent.mshc and HelpContentSetup.msha.</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/bookfolder.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="bookfolder" border="0" alt="bookfolder" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/bookfolder_thumb.png" width="640" height="249" /></a></p><p>In Version 1.x of the Microsoft Help Viewer, local help content is added, updated and removed from the Visual Studio 2010 local Help Library with the Help Library Manager (HLM). HLM can be launched with <a
href="http://msdn.microsoft.com/en-us/library/ee855704.aspx">command line parameters</a> that will help you get the job done.</p><ol><li>Launch a command prompt with <b>administrator privileges</b>. Administrator privileges are required when a book is not wrapped in a digitally signed CAB file. (More on that later.) <br
/><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/cp-admin.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="cp-admin" border="0" alt="cp-admin" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/cp-admin_thumb.png" width="363" height="184" /></a></li><li>From the prompt, change to the location of the HLM utility:<br
/><table
style="margin: 0px" border="1" cellspacing="0" width="596"><tbody><tr><td
style="padding-bottom: 8px; padding-left: 6px; padding-right: 6px; padding-top: 0px" valign="top" width="638"><code>cd %programfiles%\microsoft help viewer\v1.0</code></td></tr></tbody></table></li><li>From the prompt, instruct Help Library Manager to add your book to the Visual Studio help catalog:<div
style="overflow-x: scroll; overflow-y: hidden; white-space: nowrap; width:596px; margin: 0px; border: 1px solid #CCCCCC"><p
style="font: 14px/22px monospace; margin: 0px; padding-bottom: 8px; padding-left: 6px; padding-right: 6px; padding-top: 0px"> HelpLibManager.exe /product VS /version 100 /locale en-US /sourceMedia %userprofile%\Documents\HelpTutorial\HelpContentSetup.msha</p></div></li><li>Click on the ‘Add’ link. (Note that the size is an estimate of the book size and is rounded up to the nearest megabyte.)<a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/install1.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="install1" border="0" alt="install1" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/install1_thumb.png" width="561" height="378" /></a></li><li>Click on the ‘Update’ button.<a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/install2.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="install2" border="0" alt="install2" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/install2_thumb.png" width="561" height="378" /></a></li><li>At this point, the system requests permission to proceed because the book is not wrapped in a digitally signed CAB file. Click on the ‘Yes’ button.<a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/install3.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="install3" border="0" alt="install3" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/install3_thumb.png" width="571" height="388" /></a></li><li>The help content in this tutorial was not pre-indexed so the system automatically creates the necessary search indexes. Wait for the index merge to complete.<a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/install4.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="install4" border="0" alt="install4" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/install4_thumb.png" width="571" height="388" /></a></li><li>Click on the ‘Finish’ button.<a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/install5.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="install5" border="0" alt="install5" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/install5_thumb.png" width="571" height="388" /></a></li></ol><p>You’re done! Note that the only tools you needed were a command prompt, Notepad, Windows Explorer and Help Library Manager. And every component of your work could be inspected with either Notepad or a web browser.</p><h2>Step 5: Explore Your New Content</h2><p>Take your new content for a test drive. Launch Visual Studio 2010 and select “Manage Help Settings” from the Help menu. In Help Library Manager, select “Choose online or local help” and verify that your preferred help experience is set to “I want to use local help.”</p><p>Now “Check for updates online” and confirm that the new book appears in your content list.</p><p> <a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/bookinstalled.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="bookinstalled" border="0" alt="bookinstalled" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/bookinstalled_thumb.png" width="561" height="378" /></a><p>Cancel out of HLM and select “View Help” from the Visual Studio Help menu. Note that your topic appears in the Table of Contents as a child of the root node just as you specified in the Microsoft.Help.TocParent meta tag.</p><p> <a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/topicintoc.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="topicintoc" border="0" alt="topicintoc" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/topicintoc_thumb.png" width="303" height="200" /></a><p>Switch to the Index tab and enter “my custom content” in the index search box. You specified this index item in the Microsoft.Help.Keywords meta tag. Clicking on the index item takes you to your topic.</p><p> <a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/topicindex.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="topicindex" border="0" alt="topicindex" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/topicindex_thumb.png" width="304" height="171" /></a><p>Type <b>Ctrl + E</b> to go to the Help Viewer search box and enter “My Custom Content”. While the exact position of the topic in the result list will vary depending on the content you’ve installed, you should see it on the first page of search results.</p><p> <a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/topicsearch.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="topicsearch" border="0" alt="topicsearch" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/topicsearch_thumb.png" width="305" height="233" /></a><p>Close the Help Viewer and open a code editor in Visual Studio. Type “myTopic”, highlight “myTopic” and press the ‘F1’ key. Help Viewer should open to your newly installed topic. You specified the topic’s F1 value in the Microsoft.Help.F1 meta tag.</p><p> <a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/topicf1.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="topicf1" border="0" alt="topicf1" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/05/topicf1_thumb.png" width="358" height="152" /></a><p><b>How do I remove the book from my Help Library?</b></p><p>Launch HLM and select “Remove Content”. Click on the Remove link corresponding to My Custom Topics.</p><p><b>Can I distribute my book to other people?</b></p><p>Yes. However, if you want to eliminate the security alert dialog during install and make your content accessible to non-administrators, you’ll need to <a
href="http://blogs.msdn.com/b/thehelpguy/archive/2010/01/22/how-to-sign-your-cab-files.aspx">place your book in a signed .CAB file</a>.</p><p><b>To Learn More</b></p><p>This tutorial covers the mechanics of creating a simple text-only book. I haven’t discussed topic linking, using controls or custom branding. To learn more about designing content for the Microsoft Help Viewer, there are a number of resources available:</p><ul><li>The <a
href="http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&amp;FamilyID=94ab4784-b7c3-49ac-a315-9688bc5c84c3">Help Viewer 1.0 SDK</a> goes into greater detail on how to create, brand and deploy content.</li><li>For more complex projects, I highly recommend using a <a
href="http://blogs.msdn.com/b/thehelpguy/archive/2010/01/26/help-authoring-tool-hat-support-for-help-viewer-1-0.aspx">help authoring tool</a>.</li><li><a
href="http://blogs.msdn.com/b/thehelpguy/">The Help Guy</a> blog is a good resource for anyone creating Help Viewer content.</li><li>Microsoft Help MVP Rob Chandler has assembled a nice <a
href="http://www.helpware.net/mshelp3/intro.htm">overview of Microsoft Help Viewer 1.0</a>.</li></ul> ]]></content:encoded> <wfw:commentRss>http://thirdblogfromthesun.com/2011/05/add-your-own-content-to-the-local-help-library/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Help Viewer 1.1, Help Library Manager 1.0</title><link>http://thirdblogfromthesun.com/2011/04/help-viewer-1-1-help-library-manager-1-0/</link> <comments>http://thirdblogfromthesun.com/2011/04/help-viewer-1-1-help-library-manager-1-0/#comments</comments> <pubDate>Thu, 07 Apr 2011 22:06:25 +0000</pubDate> <dc:creator>Jeff Braaten</dc:creator> <category><![CDATA[Microsoft Help Viewer]]></category> <category><![CDATA[Visual Studio 2010]]></category> <category><![CDATA[Visual Studio]]></category> <guid
isPermaLink="false">http://thirdblogfromthesun.com/?p=123</guid> <description><![CDATA[“I just installed SP1 and still see Help Viewer 1.0, not 1.1. Which version do I have?” Open Control Panel\Programs\Programs and Features to verify your version of Help Viewer. After successfully installing Visual Studio 2010 SP1, you will see an entry that looks like this: While it can be accessed directly from the Visual Studio [...]]]></description> <content:encoded><![CDATA[<p>“I just installed SP1 and still see Help Viewer 1.0, not 1.1. Which version do I have?”</p><p>Open <strong>Control Panel\Programs\Programs and Features</strong> to verify your version of Help Viewer. After successfully installing Visual Studio 2010 SP1, you will see an entry that looks like this:</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/04/hv1-1arp.png"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="hv1-1arp" border="0" alt="hv1-1arp" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/04/hv1-1arp_thumb.png" width="554" height="152" /></a></p><p>While it can be accessed directly from the <strong>Visual Studio Help | Manage Help Settings</strong> menu item, the Help Library Manager is really a component of the Help Viewer.&#160; In SP1, Help Viewer 1.1 still ships Help Library Manager 1.0.&#160; You will see this on the Help Library Manager dialog box:</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/04/hlmver.png"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="hlmver" border="0" alt="hlmver" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/04/hlmver_thumb.png" width="575" height="392" /></a></p><p><strong>This is expected behavior and does *not* indicate a problem with your upgrade.</strong></p><p>Why did we do this? We decided not to modify Help Library Manager in Service Pack 1 so we could focus on the customer feedback on our local help experience. As a result, the Help Library Manager dialog still displays a Help Viewer 1.0 version.</p> ]]></content:encoded> <wfw:commentRss>http://thirdblogfromthesun.com/2011/04/help-viewer-1-1-help-library-manager-1-0/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>View translated content alongside English in the Lightweight Library</title><link>http://thirdblogfromthesun.com/2011/03/view-translated-content-alongside-english-in-the-lightweight-library/</link> <comments>http://thirdblogfromthesun.com/2011/03/view-translated-content-alongside-english-in-the-lightweight-library/#comments</comments> <pubDate>Mon, 28 Mar 2011 14:15:52 +0000</pubDate> <dc:creator>Jeff Braaten</dc:creator> <category><![CDATA[MSDN Library]]></category> <category><![CDATA[TechNet Library]]></category> <guid
isPermaLink="false">http://thirdblogfromthesun.com/?p=114</guid> <description><![CDATA[I’d like to extend a special greeting to those of you who read the MSDN and TechNet Libraries in a non‑English language. You represent 25% of our overall site traffic – about 60 million page views per month. The Library is huge and teams across Microsoft publish new content into it regularly. In order to [...]]]></description> <content:encoded><![CDATA[<p>I’d like to extend a special greeting to those of you who read the MSDN and TechNet Libraries in a non‑English language. You represent 25% of our overall site traffic – about <strong>60 million page views per month</strong>.</p><p><a
href="http://thirdblogfromthesun.com/2010/09/how-big-is-the-msdn-library/">The Library is huge</a> and teams across Microsoft publish new content into it regularly. In order to make that information available worldwide and in a timely manner, we use a combination of human translation and automated translation (<a
href="http://en.wikipedia.org/wiki/Translation_memory">translation memory</a> + <a
href="http://en.wikipedia.org/wiki/Machine_translation">machine translation</a>). For a variety of reasons it is often useful to view translated content alongside its original English version.</p><p><strong>Introducing the bilingual display feature</strong></p><p>The February 2011 release of the MSDN and TechNet Libraries delivered a bilingual display feature. This feature enables you to easily switch back and forth between the translated version of a topic and the original English version. There are two main design elements: 1) a<strong> control banner</strong> and 2) <strong>translation hover text</strong>.</p><p><a
href="http://msdn.microsoft.com/pt-br/library/system.xml.xmldocument.aspx"><img
style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="bilingual-display" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/03/bilingual-display.png" border="0" alt="bilingual-display" width="644" height="419" /></a></p><p><strong>The control banner only appears when the current topic is authored as bilingual content</strong>. It appears and disappears on a topic-by-topic basis. The banner informs the reader whether the topic has been translated by a human or by machine and offers brief usage instructions. For example: “This is machine translated content. Move your pointer over text in the content pane to see the original text. <a
href="http://msdn.microsoft.com/en-us/dd362340.aspx">Help improve the translation</a>.”</p><p>Using the bilingual display is straightforward. When the banner is displayed at the top of the topic:</p><ol><li>Use the control banner to select whether you wish to read the topic in the translated language or in the original English. Your selection persists across topics and browser sessions. This choice does <em>not</em> override your preferred locale for reading the library. It affects only the behavior of the bilingual display.</li><li>Position the mouse pointer over any sentence. If you’re reading the topic in a translated language, the original sentence will display in hover text. If you’re reading the topic in English, the translated sentence will display in hover text.</li></ol><p>Here are some examples to play with:</p><ul><li><a
href="http://msdn.microsoft.com/de-de/library/system.xml(lightweight).aspx">MSDN: System.Xml Namespace – German (Germany)</a></li><li><a
href="http://msdn.microsoft.com/pt-br/library/system.xml.xmldocument(lightweight).aspx">MSDN: XmlDocument Class – Portuguese (Brazil)</a></li><li><a
href="http://technet.microsoft.com/pl-pl/library/bb510417(SQL.100,lightweight).aspx">TechNet: Overview (Database Engine) – Polish (Poland)</a></li><li><a
href="http://msdn.microsoft.com/ja-jp/library/system.xml(lightweight).aspx">MSDN: System.Xml Namespace – Japanese (Japan)</a></li><li><a
href="http://msdn.microsoft.com/ru-ru/library/system.xml(lightweight).aspx">MSDN: System.Xml Namespace – Russian (Russia)</a></li></ul><p>Like a tooltip, the translation hover text only provides help when you need it. The entire content pane is devoted to displaying the topic in your preferred reading language. Our goal is to ensure that it’s easy to consume the content either reading the translation (augmented by the source) or reading the source (augmented by the translation). An added benefit of this approach is that it supports the numerous page layouts used throughout the Library.</p><p><strong>How many topics offer a bilingual display?</strong></p><p>The MSDN Library provides over <a
href="http://thirdblogfromthesun.com/2010/09/how-big-is-the-msdn-library/">13 million translated topics</a> – roughly 80% of the total Library content. Of those, about <strong>4 million are published in a bilingual format</strong> distributed across 14 supported locales:</p><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/03/bilingual-content.png"><img
style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="bilingual-content" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/03/bilingual-content_thumb.png" border="0" alt="bilingual-content" width="592" height="200" /></a></p><p>As you can see, bilingual content currently makes up the majority of content in our Arabic (Saudi Arabia), Czech (Czech Republic), Portuguese (Brazil) and Turkish (Turkey) libraries. Most of this content is in the Visual Studio / .NET Framework product documentation at this point. I expect more and more of the Library content to be authored for bilingual consumption in the future.</p><p>Note: At this time, right-to-left (RTL) languages are not supported in Lightweight. Bilingual content in those languages will display in the older, Classic view.</p><p><strong>What if I want to suggest a better translation?</strong></p><p>The Lightweight Library view does not yet support the ability to suggest a better translation. To do this, you’ll need to use the <a
href="http://msdn.microsoft.com/en-us/dd362340.aspx">Translation Wiki</a> capability of the Classic MSDN Library where available. Currently you can edit Visual Studio and .NET Framework content for Arabic, Brazilian Portuguese, Czech, and Turkish. We expect to deliver community translation capabilities in a future release of the MSDN/TechNet Library and I will blog about it when we do.</p> ]]></content:encoded> <wfw:commentRss>http://thirdblogfromthesun.com/2011/03/view-translated-content-alongside-english-in-the-lightweight-library/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>New local help viewer available in Visual Studio 2010 SP1</title><link>http://thirdblogfromthesun.com/2011/03/new-local-help-viewer-available-in-visual-studio-2010-sp1/</link> <comments>http://thirdblogfromthesun.com/2011/03/new-local-help-viewer-available-in-visual-studio-2010-sp1/#comments</comments> <pubDate>Tue, 08 Mar 2011 18:15:34 +0000</pubDate> <dc:creator>Jeff Braaten</dc:creator> <category><![CDATA[Microsoft Help Viewer]]></category> <category><![CDATA[Visual Studio 2010]]></category> <category><![CDATA[Local Help]]></category> <category><![CDATA[Visual Studio]]></category> <guid
isPermaLink="false">http://thirdblogfromthesun.com/?p=90</guid> <description><![CDATA[The new local help viewer I’ve been blogging about is now available with Visual Studio 2010 Service Pack 1. MSDN subscribers may download SP1 immediately with general availability on Thursday. Microsoft Help Viewer 1.1 is a dedicated client application that lets you: Navigate the table of contents in a fully expandable tree control Look up topics [...]]]></description> <content:encoded><![CDATA[<p>The new local help viewer <a
href="http://thirdblogfromthesun.com/2010/10/the-story-of-help-in-visual-studio-2010-part-3/">I’ve been blogging about</a> is now available with <a
href="http://blogs.msdn.com/b/jasonz/archive/2011/03/08/announcing-visual-studio-2010-service-pack-1.aspx">Visual Studio 2010 Service Pack 1</a>. MSDN subscribers may download SP1 immediately with general availability on Thursday. Microsoft Help Viewer 1.1 is a <strong>dedicated client application</strong> that lets you:</p><ul><li>Navigate the table of contents in a fully expandable tree control</li><li>Look up topics via keyword index and sync to the table of contents</li><li>Save favorites</li><li>View history</li><li>Use shortcut keys for quick access to features (<a
href="http://thirdblogfromthesun.com/help-viewer-1-1-keyboard-shortcuts/">cheatsheet here</a>)</li><li>Launch the Help Library Manager from within the viewer</li></ul><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2011/03/HV1-1.png"><img
style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="HV1-1" src="http://thirdblogfromthesun.com/wp-content/uploads/2011/03/HV1-1_thumb.png" border="0" alt="HV1-1" width="644" height="484" /></a></p><p>The local viewer requires that your help preference is set to local mode.  Visual Studio continues to provide help in your default browser if your help preference is set to online.</p><p>Here are the steps you’ll need to take to set up the SP1 local viewer.</p><p><strong>Step 1: Install Visual Studio 2010 SP1</strong></p><p>Download Visual Studio 2010 SP1 and follow the installation instructions.</p><ul><li><a
href="http://go.microsoft.com/fwlink/?LinkID=207267">Download Service Pack 1</a> (MSDN Subscribers only)</li><li><a
href="http://go.microsoft.com/fwlink/?LinkId=209902">Download Service Pack 1</a> (public availability on Thursday, March 10)</li></ul><p>SP1 will upgrade previous versions of the Microsoft Help Viewer to version 1.1 and it will uninstall the Help Viewer Power Tool (if present).  It will not, however, replace any third-party help applications you may have installed.</p><p><strong>Step 2: Configure the local Help Viewer</strong></p><ol><li>Launch Visual Studio 2010 and select “Manage Help Settings” from the Help menu.</li><li>In Help Library Manager, select “Choose online or local help” and set your preferred help experience to “I want to use local help.”</li><li>If you have not already downloaded help content, select “Install content from online” in Help Library Manager and choose the content you want locally available.</li></ol><p><a
href="http://thirdblogfromthesun.com/wp-content/uploads/2010/12/helpconfig.png"><img
class="aligncenter size-full wp-image-82" style="background-image: none; padding-left: 0px; padding-right: 0px; padding-top: 0px; border-width: 0px;" title="helpconfig" src="http://thirdblogfromthesun.com/wp-content/uploads/2010/12/helpconfig.png" border="0" alt="" width="596" height="291" /></a></p><p>If you’re currently using a third-party viewer and you wish to switch to the SP1 local viewer, you have several options.  In the specific case of <a
href="http://mshcmigrate.helpmvp.com/viewer">H3Viewer</a>, you can change the default viewer in the Options menu.  Another option is to uninstall the third-party viewer using the Control Panel.  You can do this before or after installing SP1.  Once the third-party viewer is successfully uninstalled, the SP1 viewer automatically becomes the help experience for Visual Studio 2010.</p><p>A more advanced option is to remove the registry setting that configures the third-party viewer as the default help viewer.  To do this, you’ll:</p><ol><li>Launch Regedit with administrative privileges and browse to: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Help\v1.0</li><li>If the HelpViewerProgID entry exists, right-click it and delete it</li></ol><p>Please remember to backup your registry (or create a System Restore point) before performing this operation.</p><p><strong>Providing feedback on this viewer</strong></p><p>A key goal of this release is to restore productivity for developers who were skilled at using the Document Explorer while providing a user interface that is more approachable for new customers of Visual Studio.  How did we do?</p><p>There are a number of ways you can provide feedback on the local viewer:</p><ul><li>Report a bug or suggest a feature by <a
href="https://connect.microsoft.com/VisualStudio">logging into Connect</a> using your Windows Live ID.  Connect feedback is routed directly to our engineering team and is reviewed during our daily triage meetings.</li><li>Send us an email at <a
href="mailto:hlpfdbk@microsoft.com">hlpfdbk@microsoft.com</a></li><li>Share your thoughts on the <a
href="http://social.msdn.microsoft.com/Forums/en-US/devdocs/threads">Developer Documentation and Help System Forum</a>, or</li><li>Leave a comment at the bottom of this blog post</li></ul><p>Finally, to learn about other changes in SP1, check out <a
href="http://blogs.msdn.com/b/jasonz/archive/2011/03/08/announcing-visual-studio-2010-service-pack-1.aspx">Jason Zander’s SP1 announcement post</a>.</p> ]]></content:encoded> <wfw:commentRss>http://thirdblogfromthesun.com/2011/03/new-local-help-viewer-available-in-visual-studio-2010-sp1/feed/</wfw:commentRss> <slash:comments>32</slash:comments> </item> </channel> </rss>
<!-- Dynamic page generated in 0.993 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-18 07:35:15 -->

