Version 2014.5.31.0
Release notes for version 2014.5.31.0.
This release completes removal of the branding transformations and implements the new VS2013
presentation style that utilizes the new lightweight website format. Several breaking changes had to be made in
order to support it properly. You will need to rebuild any custom plug-ins, components, and presentation styles
against the latest version of the Sandcastle and Help File Builder assemblies.
If switching to the new VS2013 presentation style, there are a few issues to be aware of.
Most notable is that existing links to topics from external sites will not work unless updated to use the
direct URL to the topic. See the Lightweight Website Style Plug-In topic for details.
Moved the web content from the standalone GUI to the presentation style project. It is now
in a presentation style folder called .\LegacyWeb. If you have custom presentation styles
that use the prior web content, update them to use the new folder location.
Updated the build engine to support the presentation style plug-in dependency list.
The Syntax Component now supports configuring the order of the syntax generators. This only
has an effect in presentation styles that support code snippet grouping (currently only the VS2010 and VS2013
styles).
The default language for the VS2010 and VS2013 presentation styles can be set using the new
defaultLanguage transform argument found on the Transform Args property page.
This can be used in conjunction with the Syntax Component configuration to match the default language to the first
language in the syntax language sort order.
Added an IsHidden property to the
HelpFileBuilderPlugInExportAttribute. The Plug-Ins property page uses this to hide
presentation style dependency plug-ins that do not have any configurable settings.
Added support for Windows Phone 8.1 (Silverlight and Windows Store Apps) frameworks. Thanks to
Morten Nielsen for the configuration settings.
Updated the presentation style and syntax generator project templates to reflect recent changes
in the API.
Updated the topic previewer tool window to use a VS2013-like presentation style.
Made the VS2013 style the default presentation style for new projects.
Renamed the View Website (ASP.NET) and View Website (HTML) options to
View Website (Local Web Dev Server) and View Website (Local File System) to reflect their more
general use now since the VS2013 presentation style does not contain an Index.aspx page and
no longer requires ASP.NET to be viewed with the local web development server.
This release completes removal of the branding transformations and implements the new VS2013
presentation style that utilizes the new lightweight website format. Several breaking changes had to be made in
order to support it properly. You will need to rebuild any custom plug-ins, components, and presentation styles
against the latest version of the Sandcastle and Help File Builder assemblies.
Modified the syntax generator components so that they write out a style ID as well as the
language name. This allows better handling of grouped language elements without having to modify the XSL
transformations for custom languages.
Each syntax generator now has a unique style ID. Third-party generators should also ensure
they are using a unique style ID rather than the existing ones or the previously suggested default of "cs".
Using an existing one such as "cs" will cause the custom syntax section to be associated with the other
language's code snippets when grouped.
The language name and style ID on the syntax generators must now be set by the syntax
generator factory when it constructs an instance so that the values do not have to be on the configuration
elements in the BuildAssembler configuration file. This change was required to better
support grouping and sorting by the SyntaxComponent and eliminate another location where
the information had to be duplicated unnecessarily.
Added a warning to the BrandingComponent to note that its use has
been deprecated and that it will be removed in a future release. You will only see this if you cloned the VS2010
or VS2013 presentation style from a prior release. Update your custom style to match the latest release as soon
as possible. It is well worth the effort.
Fixed the SqlDictionary class so that it handles nulls correctly
for unresolved member IDs in the SQL Server cached build components.
Added the LanguageSpecificTextComponent to handle
language-specific text element conversion from span to script
elements for the VS2010 and later presentation styles.
Added the AdditionalHeaderResourcesComponent to handle insertion
of additional metadata, style sheets, and scripts in the topics based on the help file format. This allows for
changes to be made on a format by format basis to give a better look to the rendered content such as adjusting
the positioning of elements that may differ in the various help viewers due to variations in browser and CSS
versions supported. Believe it or not, Help 1 and MS Help Viewer default to the IE7 rendering engine unless
forced to use a higher version via metadata.
Updated the SyntaxComponent to group and sort code snippets based
on the order of the defined syntax generators. The sort order and whether or not to add "No Example" tabs can be
configured in the SyntaxComponent's configuration dialog.
Added a new TransformingTopicEventArgs class and updated the
TransformComponent to raise a build event using the event arguments just prior to
transforming the topic. This allows other build components to alter the document XML prior to the XSL
transformation. The SyntaxComponent uses this event to group and sort the code snippets
at that time since any other components that ran after it will have added their snippets by that point and we can
be sure that it will find and handle them all.
Added code to the MSDN resolver to shut off further lookups and report failures due to the
service being down. This prevents it from reporting all failures as missing content IDs.
Removed all branding transformations and use of the branding component from the VS2010 and
VS2013 presentation styles. The presentation styles now handle all aspects of topic generation.
Finished the VS2013 style which is now a blend of the best parts of the MSDN and Visual
Studio website styles and implemented the lightweight table of contents based on Sam Harwell's code.
Implemented a search feature in the new VS2013 lightweight website output that works with
modified versions of the old ASP.NET and PHP server-side search pages and, if they are not available, a full
client-side script implementation. Although not optimal for large sites, the client-side search works quite well for
sites that do not support ASP.NET or PHP.
Reworked how the tab sets and language-specific text elements work to allow for missing
languages in the VS2010 and VS2013 presentation styles.
Fixed up handling of XAML syntax sections in the Open XML, VS2010, and VS2013 presentation
styles.
Fixed the presentation styles so that they show explicitly implemented interface member
names even if the parent type is unresolved.
Made various updates and fixes to the VS2010 and VS2013 presentation styles to ensure they
render the best possible output in each of the different help file formats.
Completely rewrote the code snippet grouping support to present the code snippets in a
logical manner based on their positioning within a MAML topic or XML comments and took steps to make the grouping
and default language easily configurable without having to change the presentation style transformations or
scripts.
Added a new defaultLanguage transform component argument to the
VS2010 and VS2013 presentation styles. This allows you to define the default language displayed in the help
topics on a project by project basis. The default is "cs" for C#. The SyntaxComponent
allows the order of the syntax components to be defined via its configuration dialog so that the first tab can be
set to match the default language when not C#.
Added support for "No Example" tabs in code snippet groups. These appear for missing
languages in grouped code snippets. For example, if the syntax section shows C#, VB.NET, C++ and F# but a code
example only shows C# and VB.NET, tabs for C++ and F# will be added to the group with a default message noting
that an example is unavailable or is not supported.
Added an IsDeprecated property to
PresentationStyleExportAttribute. The Help File property page uses this to sort
deprecated presentation styles to the end of the list.
Added a new PlugInDependencies presentation style property which
allows a presentation style to define a list of plug-ins on which it depends so that they are added to the build
with a default configuration if not already included in the project. The new VS2013 presentation style uses this
to add the lightweight website style plug-in to the project when built.
Simplified the VS2013 style sheet to include only the necessary elements. This gives a
more consistent look to the topics across all help formats.
Added a new "Code Example" icon to the member list pages in the VS2010 and VS2013
presentation styles to show when a type or member's comments contain code examples.
Added support to the VS2005, VS2010, and VS2013 presentation styles for the
revisionHistory element contributed by THLucas.
Deprecated the VS2005 presentation style. It will not receive any further enhancements.