OneWeb CMS 7 Site File Upgrade

advertisement
OneWeb 7 Site File Upgrade
OneWeb CMS 7 is a native ASP.NET 4.0/4.5 Content Management System that leverages the performance
and scalability of the Microsoft .NET platform.
This Site File Upgrade document outlines the changes required to front-end (site-specific) files such as
templates and stylesheets in order to accommodate changes in OneWeb CMS 7. Where applicable,
updates that are optional will be noted. File system access to the server is required to deploy updated files
to the website, along with the required technical knowledge (html, css, javascript) to make the changes to
the files necessary. As always, the site should be backed up before making any changes to it.
Steps in brief:
1.
Update page template files
2.
Update site stylesheets
3.
Update site script files
4.
Remove customizations of core files and utilize equivalent OneWeb CMS 7 features
5.
Update web.config configuration file
6.
For OneWeb 7.2, add /App_Themes/Site folder with additional configuration for front-end form
controls
OneWeb CMS > OneWeb CMS 7 Site File Upgrade > 05/09/2013
Update Page Templates
Update page and control template files (*.ascx) to include hooks for new features in OneWeb CMS 7.
Search box/result files
If the SearchBox.ascx or SearchResults.ascx files have been customized, they should be updated to
incorporate the new search suggestions feature. The SearchResults control also now supports paging via
ajax calls, as well as additional metadata in the output list. The current core files (in the /core/controls/
folder) can be used as guides for the updates. It is completely optional whether to include these changes
to your customized templates.
/site/controls/{lang}/SeachBox.ascx (if customized from /core/controls/{lang}/SeachBox.ascx):
1.
Add @Register directive for ~/core/controls/IncludejQuery.ascx:
<%@ Register TagPrefix="OW" TagName="IncludejQuery" Src="~/core/controls/IncludejQuery.ascx" %>
2.
Add suggested search placeholder immediately after directives:
<asp:PlaceHolder ID="plcAutoComplete" runat="server">
<OW:IncludejQuery runat="server" IncludeUI="true" />
</asp:PlaceHolder>
/site/controls/{lang}/SearchResults.ascx (if customized from
/core/controls/{lang}/SearchResults.ascx):
1.
Add @Register directive for ~/core/controls/IncludejQuery.ascx:
<%@ Register TagPrefix="OW" TagName="IncludejQuery" Src="~/core/controls/IncludejQuery.ascx" %>
2.
Add suggested searchs placeholder immediately after directives:
<asp:PlaceHolder ID="plcAutoComplete" runat="server">
<OW:IncludejQuery runat="server" IncludeUI="true" />
</asp:PlaceHolder>
3.
Surround plcResults with an UpdatePanel control:
<asp:UpdatePanel runat="server" ID="upResults" >
<ContentTemplate>
<asp:PlaceHolder ID="plcResults" Runat="server">
...
</asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
/site/controls/{lang}/SearchResults.xslt (if customized from
/core/controls/{lang}/SearchResults.xslt):
1.
The search results now include additional metadata providing thumbnails for result pages if
the pages have them added (Feed data tab – Image field):
<xsl:if test="string-length(@Thumbnail) > 0">
<div class="ow_searchImage">
<a><xsl:attribute name="href"><xsl:value-of select="@FullAddress"/></xsl:attribute>
<img>
<xsl:attribute name="src"><xsl:value-of select="@Thumbnail"/></xsl:attribute>
</img>
</a>
</div>
</xsl:if>
2
OneWeb CMS > OneWeb CMS 7 Site File Upgrade > 05/09/2013
2.
Add an icon element for documents, if document storage is used and document search has
beend enabled:
<xsl:if test="@MimeType != 'text/html' and string-length(@MimeType) > 0">
<span class="ow_sr_nonhtml">
<xsl:choose>
<xsl:when test="@SiteIcon">
<img><xsl:attribute name="src">
<xsl:choose>
<xsl:when test="@SiteIcon=''">core/images/icon_file_generic.gif</xsl:when>
<xsl:otherwise><xsl:value-of select="@SiteIcon"/></xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="alt">[<xsl:call-template name="getExtension"><xsl:with-param name="path"
select="@FullAddress"/></xsl:call-template>]</xsl:attribute>
</img>
</xsl:when>
<xsl:otherwise>[<xsl:call-template name="getExtension"><xsl:with-param name="path"
select="@FullAddress"/></xsl:call-template>]</xsl:otherwise>
</xsl:choose>
</span> 
</xsl:if>
3.
Add extension/mimetype label for documents:
<xsl:if test="@MimeType != 'text/html' and string-length(@MimeType) > 0">
<span class="ow_sr_format">
<xsl:value-of select="$fileFormatLabel" disable-output-escaping="yes"/>
<xsl:choose>
<xsl:when test="@MediaTypeName"><xsl:value-of select="@MediaTypeName"/></xsl:when>
<xsl:otherwise><xsl:value-of select="@MimeType"/></xsl:otherwise>
</xsl:choose>
</span>
<xsl:if test="@FileSize"> <span class="ow_sr_size"><xsl:call-template
name="formatSize"/></span></xsl:if><br />
</xsl:if>
3
OneWeb CMS > OneWeb CMS 7 Site File Upgrade > 05/09/2013
/site/controls/PageDocuments.xslt (if customized from /core/controls/PageDocuments.xslt):
1.
If document storage is utilized and the PageDocuments template has been customized, update
column headers to call getRsrcString function template in order to properly localize the column
headers. The localized labels are stored in the Documents.resx resource file (an editable xml file)
in the App_GlobalResources root folder. This file can be updated or used as a base to create a
localization in a new language, following the pattern as with the French localization (in the ‘fr’
folder).
<thead>
<tr>
<th width="75">
<xsl:call-template
template>
</th>
<th width="130">
<xsl:call-template
template>
</th>
<th width="220">
<xsl:call-template
template>
</th>
<th width="40">
<xsl:call-template
template>
</th>
<th width="50">
<xsl:call-template
template>
</th>
</tr>
</thead>
2.
name="getRsrcString"><xsl:with-param name="token" select="'date'"/></xsl:call-
name="getRsrcString"><xsl:with-param name="token" select="'name'"/></xsl:call-
name="getRsrcString"><xsl:with-param name="token" select="'fileName'"/></xsl:call-
name="getRsrcString"><xsl:with-param name="token" select="'fileType'"/></xsl:call-
name="getRsrcString"><xsl:with-param name="token" select="'size'"/></xsl:call-
If using Google Analytics with download tracking, add the "trackDownload" class to the <a>
element for the document after the other <xsl:attribute ... /> elements:
<a>
...
<xsl:attribute name="class">trackDownload</xsl:attribute>
...
</a>
4
OneWeb CMS > OneWeb CMS 7 Site File Upgrade > 05/09/2013
Update Site stylesheets
There are some new styles for core OneWeb widgets that need to be added to the site stylesheet
(commonly called common.css). How the styles are formatted is dependent on the style of the website,
and they can be updated as desired, but the new style classes should be included.
/site/styles/common.css
1.
Add additional app tooltip selectors to existing form tooltip selectors (highlighted):
.ow_app label span.help,
div.ow_form div.ow_formfld span.help {
...
}
#ow_app_help,
div.ow_form #ow_form_help {
...
}
#ow_app_help #ow_app_helpwindow_inner,
div.ow_form #ow_form_helpwindow_inner {
...
}
#ow_app_help_close,
div.ow_form #ow_form_help_close {
...
}
#ow_app_help_close a:link,
#ow_app_help_close a:visited,
#ow_app_help_close a:hover,
#ow_app_help_close a:active,
div.ow_form #ow_form_help_close
div.ow_form #ow_form_help_close
div.ow_form #ow_form_help_close
div.ow_form #ow_form_help_close
...
}
a:link,
a:visited,
a:hover,
a:active {
#ow_app_help_close a:hover,
#ow_app_help_close a:active,
div.ow_form #ow_form_help_close a:hover,
div.ow_form #ow_form_help_close a:active {
...
}
2.
Add the additional styles to limit the height of the search suggestion auto-complete dropdown
(note that actual max-height value can be customized here):
/* Search suggestion autocomplete - maxheight */
.ui-autocomplete {
max-height: 10em;
overflow-y: auto;
/* prevent horizontal scrollbar */
overflow-x: hidden;
z-index: 500; /* set z-index to show above other page content */
}
/* IE 6 doesn't support max-height
we use height instead, but this forces the menu to always be this tall */
* html .ui-autocomplete { height: 10em; }
5
OneWeb CMS > OneWeb CMS 7 Site File Upgrade > 05/09/2013
Update Site script files
None of the distributed site script files need to be updated for OneWeb 7, but if there has been any
customization for Google Analytics to enable additional features using scripts, these scripts should be
updated to utilize the OneWeb Google Analytics provider extensibility methods in order to preserve the
ability to define the GA account(s) using the Site properties, and allow for more than one account on a
page, and so that the code is not run when the site is being administered.
Google Analytics script updates
OneWeb.Analytics supports 2 properties, “preInitialize” and “postInitialize”, which if defined will be run
before or after the initialization of the analytics trackers. These can be either functions (with no
parameters) or arrays of functions. It is recommended to declare the properties as arrays similarly to the
Google Analytics declarations:
if (OneWeb.Analytics) {
OneWeb.Analytics.addPostInitializer(function () { … });
}
// add custom functions here
Similarly, each analytics provider also provides the ability to define pre- and postInitialize functions/arrays,
which should be declared similarly to the OneWeb.Analytics methods above (although using the prototype
version of the property instead). For Google Analytics, it would be similar to:
if (OneWeb.Analytics && OneWeb.Analytics.GoogleAnalytics) {
OneWeb.Analytics.addPostInitializer(function () { … });
}
// add custom functions here
Providers make the native trackers available with the getTracker() method. For Google Analytics The
following native methods are available on the stubbed tracker used for asynchronous tracking, which may
be necessary when using cross-domain tracking:




_setDomainName
_setAllowLinker
_link
_linkByPost
(Refer to the Google Analytics documentation for descriptions of these functions).
Putting this all together, an example of initializing the Google Analytics trackers to allow cross-domain
tracking with the OneWeb initialization methods is:
(function(OA) {
if (typeof OA != "undefined" && typeof OA.GoogleAnalytics != "undefined") {
OA.GoogleAnalytics.Provider.addPostInitializer(function () {
this.getTracker()._setDomainName(".mydomain.com");
this.getTracker()._setAllowLinker(true);
});
}
})(OneWeb.Analytics);
Note the usage of an anonymous function to contain the script code, which is optional but recommended.
This script can be added as a page include or in a page template script tag. It should be referenced in the
web page after the reference to “/core/scripts/ow_ga.js” and before the closing tag of the form element.
Using a Page Include ScriptBlock, it should be located after the template, and the IncludeLocation property
can be “Normal” (recommended), “AfterAjax”, or “Startup”. Using a ScriptBlock tag in a template file, the
IncludeLocation attribute can be set to “AfterAjax” (recommended), “Startup”, or “Fixed”. The code can
also be included within or referenced by a plain <script> tag within the page template or as a snippet block.
6
OneWeb CMS > OneWeb CMS 7 Site File Upgrade > 05/09/2013
Remove Customizations of Core Files
default.aspx (and extranet.aspx) if customized:
If the core files default.aspx and extranet.aspx have been customized to add additional meta tags (for
example, for "google-site-verification" tags), stylesheets, scripts, rss links or other global items, create
appropriate Site Includes for these items, and reset the default.aspx (and extranet.aspx) to the core
versions. Each of these items has an appropriate Include type which allows easier management of the
properties so that a developer is not needed to add or update the tag. Unusual tags, tags with nonstandard properties, or snippets of code can be implemented using a Literal Include.
RSS feed addresses from Page Listings (converted to page feed metadata), Event Calendar, and Job
Postings should be updated to the OneWeb CMS™ 7 addresses found on the application page using the
Feed dialogue.
If the customized version must still be used, it should be updated with the DTD declaration changed to
support HTML 5 and an additional 3 PlaceHolder control elements (highlighted) be inserted into the
default.aspx file to provide the location for loading Page Includes:
a.
Update the litDTD declaration near the top of the file to the HTML 5 doctype:
<asp:Literal id="litDTD" runat="server" EnableViewState="false"><!DOCTYPE HTML></asp:Literal>
b.
Add immediately following the <OWWeb:StylesheetLinks ... > element in the <head>:
<OWWeb:StylesheetLinks runat="server" ImportedStylesFirst="True" />
<asp:PlaceHolder runat="server" ID="plcInsideHead"/>
c.
Add 2 surrounding the plcTemplate <asp:PlaceHolder ... /> in the <body>:
<asp:PlaceHolder runat="server" ID="plcBeforeTemplate"/>
<asp:PlaceHolder runat="server" ID="plcTemplate"/>
<asp:PlaceHolder runat="server" ID="plcAfterTemplate"/>
Global.asax (if customized):
If the core Global.asax file was customized to perform address redirections for simple marketing
addresses, utilize the new OneWeb CMS™ 7 Aliases feature if it can fulfill that functionality and remove the
customization of Global.asax.
If domain redirections are required, OneWeb CMS supports host name redirection using the
<rewriteExclusions> element in the web.config. Our recommendation is to create a separate file to define
the required redirects, and use an <exclusionFile href="~/..."/> element to refer to it.
7
OneWeb CMS > OneWeb CMS 7 Site File Upgrade > 05/09/2013
Update web.config Configuration File
OneWeb 7 has moved to .NET 4.0, as a result a lot of the ASP.NET framework configuration has been
modified, simplifying the configuration file. Also, there are a few new features in OneWeb CMS 7 that
require basic configuration. The following changes are listed in top-down order from where they occur in
the web.config file. You can compare the web.config.template file in the new release with the previous
version to see where all the changes have been made.
1.
(Required) Add fileResolution section declaration to <configSections> :
<!-- FileResolution Providers -->
<section name="fileResolution"
type="ISL.OneWeb4.UI.Components.FileResolution.FileResolutionConfigurationHandler,
ISL.OneWeb4.UI.Web"/>
2.
(Required) Update core RSSAggregator configuration to within applicationSettings section:
FROM:
<section name="rssAggregatorConfiguration"
type="ISL.OneWeb4.Applications.RSSAggregator.Configuration.ConfigurationHandler,
ISL.OneWeb4.Applications.RSSAggregator"
/>
TO:
<sectionGroup name="applicationSettings" ...>
<section name="ISL.OneWeb4.Applications.RSSAggregator.My.MySettings"
type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" requirePermission="false" />
...
</sectionGroup>
3.
(Required) Remove ASP.NET Ajax sectionGroup declaration elements:
<sectionGroup name=system.web.extensions> ... </sectionGroup>
4.
(Recommended) Add new search providers, and enable (set mode to “on”) as warranted
a. Event Calendar module provider
<!-- Event Calendar search provider - enable and set resultsPageAddress if Event Calendar module used -->
<provider mode="off" assembly="ISL.OneWeb4.Modules.EventCalendar"
type="ISL.OneWeb4.Modules.EventCalendar.DataAccess.SearchProvider"
resultsPageAddress="~~/" />
b.
Jobs Listings module provider
<!-- Employment Opportunities Search provider - enable and set resultsPageAddress if Emp. Opps. module used-->
<provider mode="off" assembly="ISL.OneWeb4.Modules.EmploymentOpportunity"
type="ISL.OneWeb4.Modules.EmploymentOpportunity.DataAccess.SearchProvider"
resultsPageAddress="~~/home/company/careers/jobopenings.aspx" />
c.
Document database storage module provider
<!-- Document storage search provider - enable if document storage is enabled on the database -->
<provider mode="off" assembly="ISL.OneWeb4.UI.Web"
type="ISL.OneWeb4.UI.Components.Storage.OneWebStorageProvider" />
d.
Current OneWeb Content and Google search providers can be simplified to remove the
exclusive and responseFormat properties, as these are now set by default:
<!-- Native OneWeb SQL Server full text catalog search provider-->
<provider mode="on" assembly="ISL.OneWeb4.UI.Web" type="ISL.OneWeb4.UI.Components.Search.OneWebSearchProvider"
/>
8
OneWeb CMS > OneWeb CMS 7 Site File Upgrade > 05/09/2013
5.
(Recommended) Add the new fileResolution section:
<fileResolution mode="on">
<!-- File Resolver settings:
mode
: "on" or "off"
assembly
: name of assembly
type
: full class name of search provider
<provider mode="clear"/>
-->
<!-- AspNetAjaxCdnResolver - resolves core ASP.NET Ajax scripts to the standard ajax.aspnetcdn.com host ->
<provider mode="on" assembly="ISL.OneWeb4.UI.Web"
type="ISL.OneWeb4.UI.Components.FileResolution.AspNetAjaxCdnResolver" />
<!-- TelerikCdnResolver - resolves Telerik scripts and stylesheets to the standard Telerik CloudFront cdn
-->
<provider mode="on" assembly="ISL.OneWeb4.UI.Web"
type="ISL.OneWeb4.UI.Components.FileResolution.TelerikCdnResolver" />
<!-- OneWebCdnResolver - resolves core/admin OneWeb scripts and styles to a cdn host -->
<provider mode="off" assembly="ISL.OneWeb4.UI.Web"
type="ISL.OneWeb4.UI.Components.FileResolution.OneWebCdnResolver" />
<!-- AutoVersionResolver - adds unique parameters to the addresses of scripts and style static files
in order that they are forced to reload when changed -->
<provider mode="on" assembly="ISL.OneWeb4.UI.Web"
type="ISL.OneWeb4.UI.Components.FileResolution.AutoVersionResolver" />
</fileResolution>
6.
(Optional) In the <appSettings> section:
1. Update max Image & Thumbnail width & height settings:
<add
<add
<add
<add
2.
key="maxThumbnailWidth" value="200"/>
key="maxThumbnailHeight" value="200"/>
key="maxImageWidth" value="1024"/>
key="maxImageHeight" value="768"/>
<!-- [True|False] -->
<!-- [True|False] -->
<!-- [True|False] recommended:True -->
<!-- [True|False] recommended:True -->
<!-- [True|False] recommended:True -->
<!-- [True|False] recommended:False -->
<!-- [Public|Private|None] recommended:Public -->
<!-- [True|False] recommended:True -->
The OneWeb 7 built-in feed and podcast functionality can be disabled with the following
setting, if RSS and podcast feeds are not desired:
<add key="enableRssFeeds" value="False"/>
4.
<!-- [True|False] -->
OneWeb 7 has been updated to use HTML 5 templates. If the current site must use an HTML
4 document type, which is unlikely to be necessary, then the XHTML 1.0 Transitional doctype
can be re-enabled:
<add key="defaultDocumentType" value="Xhtml10Transitional" />
web pages as -->
5.
pixels -->
pixels -->
pixels, if constrainImages is true -->
pixels, if constrainImages is true -->
Remove any of the following appSettings that can remain at default values:
<appSettings>
<add key="redirectForSiteLogons" value="True"/>
<add key="enableSubscribers" value="False"/>
<add key="checkSynchronization" value="True"/>
<add key="autoCheckin" value="True"/>
<add key="preventRedirectChains" value="True"/>
<add key="trackUsers" value="False"/>
<add key="enableWebCaching" value="Public"/>
<add key="enableViewStateSEO" value="True"/>
</appSettings>
3.
<!-<!-<!-<!--
<!-- The document type to server normal
In case the current-by-default XSL menu transformation api (from ASP.NET 2.0) does not
work, the previous api (from ASP.NET 1.1) can be re-enabled with an appSettings value:
<add key="useCompiledMenuTemplates" value="False"/>
<!-- [True|False] - whether OneWeb should use
the legacy XslTransform or the .NET 2.0 XslCompiledTransform class to generate menus -->
9
OneWeb CMS > OneWeb CMS 7 Site File Upgrade > 05/09/2013
6.
If the "Vary: User-Agent" HTTP header should not be sent when using device-driven template
layout switching (as it will diminish the cacheability of a page), the automatic setting of the
header can be disabled:
<add key="enableVaryUserAgent" value="False" />
<!-- [True|False] - whether OneWeb should send
the Vary: User-Agent header on pages that can utilize alternate layouts -->
(Note that due to a bug in IIS6/7 the Vary header is overridden by IIS when dynamic
compression is enabled. There is a work-around provided by 51Degrees.mobi
https://51degrees.mobi/Support/Documentation/NET/IISModification.aspx)
7. (Required) For OneWeb CMS 7.2, you can configure the following form upload settings
(default values shown):
<add key="disallowedFormUploads" value="swf,flv,exe,html"/> <!-- A list of file extension to blacklist as
the file types not allowed for form uploads -->
<add key="defaultFormUploads" value="3"/> <!-- A media group id to set as the default upload type -->
<add key="defaultFormUploadPath" value="" /><!-- relative or absolute path; relative will be relative to the
uploadImagePath folder. -->
“disallowedFormUploads” accepts a comma-separated list of file extensions to prevent in forms.
“defaultFormUploads” is the media group id to use as the default upload type in the form field settings (see
the About OneWeb screen for the media group ids). “defaultFormUploadPath” is the absolute or relative
virtual path to use for form uploads. A relative path will be created within the normal media upload folder,
and an absolute path will be based off the webroot folder.
8. (Recommended) If you are running your site using the ASP.NET 4.5 framework, you must
turn off unobtrusive validation mode, as it will link in a conflicting version of jQuery. As the
setting will have no effect while using the 4.0 framework, so it is recommended in any case:
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
7.
(Required) Remove ASP.NET 3.5 ScriptModule from httpModules as it will conflict with the
master setting in machine.config now:
<httpModules>
<!-- REMOVE THESE: -->
<add type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" name="ScriptModule"/>
...
</httpModules>
8.
(Required) Remove ASP.NET 3.5 httpHandlers:
<httpHandlers>
<!-- REMOVE THESE: -->
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false"
type="System.Web.Script.Services.ScriptHandlerFactory,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
...
</httpHandles>
9.
(Required) Add new requestValidationType to httpRuntime element:
<!-- use custom validator type to allow markup in web posts by admins in .NET 4 -->
<httpRuntime requestValidationType="ISL.OneWeb4.UI.Components.Utility.RequestValidator" />
10. (Required) Remove ASP.NET 3.5 web controls and AjaxControlToolkit assemblies from
pages/controls element, and remove the enableViewStateMac attribute:
<pages validateRequest="false" enableSessionState="true">
<controls>
<!-- REMOVE THESE: -->
10
OneWeb CMS > OneWeb CMS 7 Site File Upgrade > 05/09/2013
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0,
Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="act" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit,
Version=3.0.20820.16598,
Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions,
Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</controls>
</pages>
11. (Required) Update compilation/assemblies element for ASP.NET 4:
<compilation defaultLanguage="vb" debug="false">
<assemblies>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
12. (Required) Remove entire <system.web.extensions> section
13. (Required) Update <system.webServer> section <handlers> similarly to corresponding sections
above from <system.web>, and remove <modules> section completely:
<system.webServer>
<handlers>
<!-- REMOVE THESE: -->
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
<remove name="ScriptResource"/>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd"
preCondition="integratedMode"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd"
type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/>
...
</handlers>
</system.webServer>
14. Remove <system.codedom> and <runtime> sections
15. (Required) For OneWeb 7.2+, add the following <location> elements, correcting for the current
upload folder if it is different from the default of “/site/media”:
<!-- allow double-escaping in the upload folder (ie, which allows +'s in filenames) and browsing files in normally
unbrowseable (when in webroot) App_Data folder -->
<location path="site/media"><system.webServer><security><requestFiltering
allowDoubleEscaping="true"><hiddenSegments><remove
segment="App_Data"/></hiddenSegments></requestFiltering></security></system.webServer></location>
<!-- prevent browsing the quarantine folder -->
<location path="site/media/quarantine"><system.webServer><handlers accessPolicy="None"
/></system.webServer></location>
<!-- set the theme skin for the non-admin pages for the form builder editor configuration -->
<location path="default.aspx"><system.web><pages styleSheetTheme="Site" /></system.web></location>
<location path="extranet.aspx"><system.web><pages styleSheetTheme="Site" /></system.web></location>
<location path="print.aspx"><system.web><pages styleSheetTheme="Site" /></system.web></location>
<location path="ow/preview.aspx"><system.web><pages styleSheetTheme="Site" /></system.web></location>
11
Download