This project is read-only.

HiSoftware Compliant Code Engine (HCCE)


As a platform that empowers users with the ability to create web content (i.e. Content Editor and Data View web parts, blogs, and wikis), we can't control every aspect that will ultimately effect XHTML compliance -- or even valid HTML, for that matter. Due to this, we need something to monitor and correct any non-compliant or invalid web content. The HiSoftware Compliant Code Engine (HCCE) fills this role for us.

How it Works

HCCE works by using the SharePoint publishing API to intercept, identify, and implant. Specifically, intercept publishing content before it's sent back to the user; identify non-compliant code, that's already in the system, whether that be HTML or XHTML; and, implant valid code in its place, leaving the end user with nice, clean code. The best thing is, it all works based on a configuration file, so you won't have to touch a single line of code.

A few things you should note about HCCE include
  • Publishing pages only
  • Intended for consume-only content, not interactive or dynamic content/forms

HCCE vs Control Adapters

Control adapters are built for a specific control. While it is possible to build a control adapter that covers any dynamic content, the control adapters we use are focused on solving problems specific to either an existing control or web part or a broad issue, like blank, non-empty alt attributes (i.e. alt=" "), which are a false positive for contextual information. On the other hand, HCCE is targeted at user-generated content enabled by the web/enterprise content management (WCM/ECM) capabilities within SharePoint. For instance, if a user enters some non-XHTML-compliant HTML, HCCE would identify and resolve the issue.

Proactive vs Reactive Compliance

We should also mention that HCCE is completely a reactive approach to ensuring compliance. Arguably, a better approach would be to not allow non-compliant code to even be added to the system. For those subject to strict regulations and possibly fines, this is even more important. HiSoftware offers products to solve this problem. We recommend you take the time to understand the full suite of tools HiSoftware has available to provide an end-to-end SharePoint accessibility solution. Find out more on the HiSoftware website.

Why is HCCE Deprecated?

As the name implies, we adopted HCCE from the original HiSoftware version of AKS. After reviewing the solution, we've determined that it does not provide enough value for the following reasons.
  • The feature references code that doesn't exist -- while this doesn't preclude the use of the feature, it adds to the deficiencies
  • The setup process is too painful -- a documented 13 step setup and validate process -- which includes:
    • an installer just to get the files
    • reading 130 page PDF (to even discover the setup process
    • manually changing every web.config on every server
    • adding extra code to any master pages
    • iisreset
    • manually configuring custom rules
  • No out-of-the-box rules -- without any default rules or guidance on what you may want to create, the immediate return on investment (of time, not money) is not only zero, it's negative
  • Config file applies to all web applications in the farm with the right prereqs; there's no way to have separate rules for separate web apps
  • Config file must be managed individually on every server in the farm
Plain and simple, HCCE is not an enterprise solution. If you believe HCCE is an important addition to the overall solution, please let us know and we will work to correct these deficiencies. Unfortunately, the deficiencies measure up to too significant of an effort to fix them all and provide a true enterprise solution, suitable for the SharePoint platform.

With all that said, we do acknowledge the potential of this tool. We simply cannot stand behind its current implementation. If you would like to evaluate HCCE, you can download it from release 0.1 - Open Self-Service; however, we recommend downloading it from the HiSoftware website to ensure everything is in place as intended. Good luck.

Last edited Nov 6, 2009 at 7:24 PM by flanakin, version 5


No comments yet.