July 27 2006
Today we updated the Visual Studio 2005 template solution to both support ASP.Net 2.0's new site navigation technology and increase page level security using the techniques described in Blue Ink author Lee Richardson's two part series on site navigation on DevX (http://www.devx.com/asp/Article/31889). The templates also resolve some minor defects as described under defects below.
The templates improve site navigation by adding a Web.sitemap file and a Web_Generated.sitemap file, both of which contain all pages in the site along with page hierarchy. The former, which is only written once, references the latter, which is re-written during every re-generation. The Web.Config file references both files in the providers section under the siteMap element. Since Blue Ink only writes the Web.sitemap once developers may remove the reference to Web_Generated.sitemap in Web.sitemap and user their own list of pages and hierarchy (which ASP.Net will now automatically update on the left navigation and maintenance pages).
The new templates contain an updated master page and an updated maintenance page (which acts as a site map) that take advantage of the new navigation. MasterPage.master displays pages in its left-hand navigation using a repeater that loops over all pages in the Web_Generated.sitemap that do not contain DisplayOnLeftNav="false" as well as all pages in the regular Web.sitemap.
The updated templates now deny access to all pages by default in the Web.Config (unless the logged in user has the SiteWide_Write privilege) and then selectively add permission on a page by page basis using location elements. This technique combined with ASP.Net 2.0's new site navigation technology allows pages in the left hand navigation and maintenance page to automatically display or hide themsleves depending on the logged in user's permission. Note that adding a new page to a Blue Ink generated solution will require adding a location element to the Web.Config to grant permission appropriately. The new templates contain updated post generation documentation to describe this technique in more detail.
Templates version 3.2 resolve the following defects:
Defect 173: EditInline controls with Boolean values were failing because they had name mismatches between the aspx and the base page. This issue has been resolved.
Defect 175: bigint identities caused errors in add pages. This version of templates has updated the dao classes as well as the OperationResult class to allow the larger auto incrementing columns.
Defect 176: The Login.aspx.cs page was formatted poorly, it is now more readable.
Defect 183: The Login page did not always log users out correctly. It now always logs users out when the visit that page.
Defect 177: BindLocalControlVariables in SearchPageBase.cs is now marked virtual.
Defect 178: GetAll() in BrBase.cs is now marked virtual.
Defect 179: Search() in BrBase.cs is now marked virtual.
Defect 180: Page_Load_Base() in ViewAllBase.cs is now marked virtual.
Defect 182: UpdateSelectedFields() in BrBase.cs had double ;'s. They have been removed.
Copyright © 2021 Automated Architecture, Inc. All rights reserved.