Announcing the Parity Forms Engine – An Accessible Forms Engine

Introduction

The Parity Forms Engine (PFE) is a custom application that can display forms in a web browser so that they can be incorporated into clients’ web sites. There are existing e-form applications like InfoPath and Achieve Forms but the PFE offers greater functionality and the rendered forms conform to the WAI AAA accessibility standards.

The PFE has been designed to be extensible and scalable to support hundreds of forms and thousands of form instances. Forms can be incorporated into existing ASP.NET web sites and provide full support for multi-page forms with Next / Previous navigation.

Web Controls

Since the forms are rendered as HTML, the PFE needs to have a rich collection of web controls. The PFE supports over 35 web controls some of which that can be configured to alter their appearance. The example below shows four different views of the same control.

Data validation can also be supplied to certain controls and there is support for the following:

· Where data input is mandatory

· Where two controls are compared (e.g. where a password confirmation is needed)

· Where the data input must conform to a pattern or mask (e.g. postcode or email address)

Forms also need to be interactive. That is they need to be able to hide or show controls based on user input or selection. PFE supports the ability to hide or display individual controls, groups of controls or entire sections based upon one or more conditions.

Sections can be used to build multi-page forms and as you might expect you can navigate between sections using Next / Previous buttons.

The ability to embed one form inside another is potentially the most powerful feature of the PFE. By creating re-usable sub-forms, a new form can be assembled very quickly by incorporating these sub forms into the main form.

There is support too for tables where rows can be added or removed as required as shown in the example below.

Forms

The two main aspects of a form are the form definition and the form instance.

Form Definition

The Form Definition defines the layout of the form. A form has an underlying data model which is used to store the data entered by the user. A form can have one or more views and when a form is opened the default view can be specified. Views are often used when a workflow is attached to a form. For example an expense approval form might have two views. The first view allows the user to add expenses and submit the form to an approver. When the approver opens the form they see the second view where the expenses are displayed but allow the approver to approve or reject.

A key feature of the PFE is the ability to generate a PDF view of the form. The PDF can either be a blank form for the user to complete off-line or a copy of the form containing the data entered by the user when on-line (particularly useful where a signed copy of the form is required).

Form Instances

When a user completes a form on-line and submits it, it is saved as a form instance. The form instance stores the data that was entered and has a reference to the original form definition so a completed form can be viewed.

Architecture

The architecture is shown in the diagram below:

Storage

To store the form definitions and form instances a provider model has been used. There are two providers with the existing PFE version: a file store repository and a SQL Server 2005 store. During installation the PFE is configured to support whichever store is appropriate. Additional providers can be built to support other repositories (e.g. Oracle).

Web Service (WCF)

Access to the forms repository is through a data layer which abstracts the data provider being used. The data layer is in turn accessed through a Windows Communication Foundation web service. This means that form definitions and form instances can be held in a secure repository behind a firewall and access to it can be via the WCF web service.

WCF Client

The WCF client provides access to the WCF web service when opening forms in the browser and when designing forms in the PFE Designer.

Designer

The PFE designer is a rich client application used to design forms. It allows forms to be created quickly by dragging and dropping controls onto a view. Similarly the form data model can be quickly created. The Designer generates the underlying XML for the form definition so the user does not need to edit the XML manually.

Summary

Most web sites have an e-forms requirement so there is a great deal of opportunity to realise the investment made with the PFE.


Post written by Justin French. Published: 22-Sep-2009 10:53 | 0 Comments |

Parity Solution Accelerator

Overview
Introduction

In recent years the public sector has been under increasing pressure to actively promote disability equality when undertaking software development. For web projects, the W3C standard, ‘Web Content Accessibility Guidelines (WCGA)’ covers a wide range of issues and recommendations for making web content more accessible.

WCAG standard

WCAG 1.0 (http://www.w3.org/TR/WCAG10 ) contains principles, guidelines, and success criteria that define and explain the requirements for making web-based information and applications accessible. "Accessible" means usable to a wide range of people with disabilities. Following these guidelines will also make web content more accessible to the vast majority of users, and enable people to access it using many different devices.

What’s the requirement?

Although there is currently no mandated minimum level of requirement, it is widely accepted that the minimum level required to comply with UK law is Priority 1 of the WCAG, at the very least, this means the removal of some of the most obvious barriers to a disabled visitor to a website.

UK directive

The UK Government and the RNIB both advise that organisations should surpass Priority 1 to at least Priority 2 to make a website truly useable by disabled visitors. According to a statement made about “Delivering Inclusive Websites”;

The minimum level of accessibility for all Government websites is Level AA of the W3C guidelines. Any new site approved by the Cabinet Sub-Committee on Public Engagement and the Delivery of Service (DA(PED)) must conform to these guidelines from the point of publication.

Continuing standalone sites had to achieve this level of accessibility by December 2008. Websites which failed to meet the mandated level of conformance would be subject to the withdrawal process for .gov.uk domain names, as set out in Naming and Registering Websites (TG101).

EU Directive

In 2002, the European Parliament set the minimum level of accessibility for all public sector websites at Level AA. However, a recent survey of public sector services showed that 70% of websites in the European Union failed to conform to Level-A of the W3C guidelines. E-inclusion is a European policy initiative which aims to ensure that ICT (Information & Communications Technology) is usable by a wider population; and to promote the use of ICT to achieve social inclusion objectives.


MOSS and Accessibility
What is MOSS?

Microsoft Office SharePoint Server 2007 (MOSS) provides an extensible framework for building web applications. This includes content managed publishing websites for internet, extranet and intranet applications.

Key solution Requirements

Drawing upon the accessibility requirements of public sector organisations, and taking into account UK & EU directives, combined with Parity’s experience of delivering successful enterprise web solutions, we believe the key requirements MOSS needs to deliver are:

o XHTML 1.0 Strict mark up

o Compliant CSS2.0

o Facilitate development of web sites up to WCAG-AAA

o Provide multilingual and taxonomy support by default

o Provide an extensible scaleable architecture

o Provision a solution that accelerates development

What are the issues?

Out of the box MOSS 2007 applications are typically constructed using Web Parts which are building blocks that allow web applications to be extended. The inclusion of web parts on a page is done through WebPartZones. Zone implementations are hardcoded and do not support the accessibility guidelines on a number of instances:

o WebPartZones uses HTML tables for its graphical design breaking the 5.3 guideline in WCAG 1.0.

o WebPartZones only support personalization if you use JavaScript, which breaks guideline 6.3 in WCAG 1.0.

o Web parts are poorly implemented in some browsers which breaks the guideline 6.4 in WCAG 1.0

Supplementary to the issue of Web Parts, MOSS 2007 output rendering is also a subject for concern and requires various work around’s to overcome these shortcomings.

Accessibility Kit for SharePoint

Microsoft partnered with accessibility technology vendor HiSoftware to build the toolkit however there are significant limitations with this product most noticeably:

o AKS targets WCAG-AA (which means it cannot achieve AAA)

o There are fundamental drawbacks with using Web Parts which the AKS solution does not address

o AKS is very limited around invalid HTML markup – so this approach is likely to need supplementary software (i.e. XHTML is not addressed)

o Using control adapters will have a detrimental effect on performance due to the intensive cpu requirements for string manipulation (i.e. scaleability implications)

o This approach still requires sites to be built from the bottom up and does not fast track the construction process

o Integration of supplementary code or third part products is still required for areas such as advanced search, taxonomy and multilingual support.


Parity’s Approach
Overview

Due to the significant short comings in AKS, Parity realised that we needed our own solution to the problem. We have engineered our own Software Development Kit (SDK). the Parity Solution Framework. This SDK not only delivers accessibility, it also provides a framework to address the key solution requirements – with multilingual capabilities at its core.

Initially, the Parity Solution Framework concentrated on Publishing sites only, however it has been extended into other areas such as document management systems.

What is the

Parity Solution Framework ?

The Parity Solution Framework is made up of a number of core of artefacts:

o Argo API (Application Programmers Interface)

o SharePoint Master pages, Page Templates & default features

In addition to the above there are some complementary tools that are used to expedite repetitive activities and accelerate development for example:

o Content Migration (from any external website into MOSS)

o Export/Import of Site Content (between MOSS web applications)

High Level Architecture

The following diagram illustrates how Argo is embedded within MOSS:

clip_image001

Key Design Principles

The Parity Solution Framework has been designed and built based upon industry standards and patterns. At its core the rendering engine overcomes the limitations that are inherent in the standard out of the box solution by providing developers total control over the implementation of look and feel. This flexibility is delivered through techniques which allow XML to be converted into XHTML using XSL. Since Master Pages (and hence the page template derivatives) are all based upon a pre-defined style (i.e. derived from the CSS2.0) we are easily able to re-skin a web application using the Parity Solution Framework approach and achieve cross browser compliance significantly less effort when compared with a more traditional approach.

 

Benefits

Although the Parity Solution Framework may be viewed as a “starter for 10”, it is more than that. The initial version provided an opportunity to rapidly build and deploy accessible publishing websites. Taking advantage of some of the key benefits including:

o Ability to re-skin the default site to rapidly prototype and develop customers solutions.

o Reduce time to market when provisioning a new web site

o Reduce costs for “out of the box” equivalent web sites

o Software re-use can realise savings up to 80%

o Standard, consistent mark-up and naming to simplify both development and support.

o Detailed and relevant documentation to help increase developers productivity

Standard Functionality

Although the Parity Solution Framework is constantly evolving and incorporating additional functionality the initial release contained the following standard functionality within the SDK:

o Support for Government metadata standards (Dublin core, egms etc)

o Search

o Advanced Search

o A to Z

o Sitemap

o FAQs

o Jobs

o Events

o Feedback

o Font sizing and colour scheme switching

Beyond Accessibility

Although a key driver behind the Parity Solution Framework was the need to meet accessibility requirements, the current implementation has gone significantly beyond this. A default search capability provides rich search options (for inclusion or exclusion of word combinations, free text and wildcard options), with support for scopes, multilingual and taxonomy based filtering.

The core API capability has been designed for extension upon provider models. This approach means that the default implementations for search and taxonomy, for example, can be extended to allow alternatives solutions to be incorporated with minimal effort.

For example a customer may have a classification system that is a variation of the Dublin Core meta data standard or the Integrated Public Sector Vocabulary (ISPV) – this can be easily substituted as the default Taxonomy model with out any recompilation or re-deployment.

Alternatively a client may want to use an alternative search engine such as FAST or Concept Search. The Parity Solution Framework API search provider model allows their seamless.

Next Steps?

Parity Solution Framework is evolving. Its code base is being used on development projects and is realising tangible benefits in terms of cost savings for both Parity and its customers. The component design of Argo has been built based upon extensibility and re-use – and we are already seeing examples of where this can be exploited. Enhancements will be made to the Parity Solution Framework by incorporating functionality as it is developed on projects increasing the capability of the core offering.

We are using the Parity Solution Framework to re-develop the parity website and intranet – so we are in fact, “eating our own dog food”.

Finally…

As the SharePoint wave continues many customers are beginning to realise that they need to make more investment to meet their compliance obligation and realise the benefits they expected.

Some organisations may not realise that the gravity of the situation and the extend to which they are not compliant.


Post written by Justin French. Published: 22-Sep-2009 10:53 | 0 Comments |