WebCGM is a profile for the effective application of CGM in Web electronic documents. WebCGM 1.0 was a joint effort of the CGM Open Consortium Inc, in collaboration with W3C staff and supported by the European Commission Esprit project. WebCGM represents an important interoperability agreement amongst major users and implementors of CGM, and thereby unifies current diverse approaches to CGM utilization in Web document applications. WebCGM's clear and unambiguous conformance requirements enhance interoperability of implementations, and it has been possible to leverage existing CGM validation tools, test suites, and the product certification testing services for application to WebCGM .
The WebCGM Profile [1] specification was issued as a W3C Recommendation on 21st January, 1999. There was a second release on Dec 17, 2001 that incorporated changes dictated by errata.
Within short time, WebCGM has become the reference profile in the CGM world, and more and more other profiles start referencing WebCGM instead of developing their own profiles.
Most users of the Internet will rarely run into a CGM on a web page, however, WebCGM is used heavily in technical publishing projects around the world. It is both used as an archival format and for distribution purposes using Internet technologies. The deployment mostly happens on CD/DVD, or on private web sites, since most companies do not want to allow for casual access to their technical data.
Based on the experiences of both vendors and users of WebCGM during the past few years, a list of requirements has been compiled that justify a version 2.0 of this popular profile. Initial work has been started by the CGM Open, a member section of OASIS.
CGM Open recognizes the following requirements for a version 2.0 of the existing WebCGM 1.0 profile.
Some of the requirements for WebCGM 1.0 were spelled out in "W3C Scalable Graphics Requirements" [2]. Not all of these requirements were met, because they would have required some kind of DOM access:
There is consensus in the CGM community that explicit mouse event handling on defined objects must be standardized. There is also consensus that it must be possible to control visibility of objects defined by application structures. Lastly there is consensus that a limited DOM capability is needed to allow for access to the metadata
WebCGM 1.0 was developed within a tight schedule. To finish the work within the given timeframe, several requirements for WebCGM 1.0 were deferred to a later version 2.0. The recommendation contains several comments regarding future work. Among others there are
There is a strong consensus that this work must be finished, because it is based on existing requirements that have been excluded from WebCGM 1.0 mostly for time and bandwidth reasons.
Restated from WebCGM 1.0, for WebCGM 2.0:
NUBS/NURBS – Requirement from aerospace industry to allow for easy use of CAD data in WebCGM files
Interpolated interior – Requirement from various industries to allow for gradient fills
Restated from WebCGM 1.0, for WebCGM 2.0:
Visibility – Requirement from aerospace, defence, and other industries to allow for control of initial visibility of objects in a WebCGM file
Object behaviours – Requirement from all industries using WebCGM now to allow for additional object behaviours apart from highlight and view_context.
Interactivity – Need to control (on/off) the interactivity of nodes and subtrees within the graphic structure.
[Editors note. The authors of WebCGM 2.0 Requirements have approved and posted a clarification of the two paragraphs in this section, presented here in their original form, in response to confusion and the perception of contradictory requirements in this section (2006-04-03).]
The use of Unicode with both graphical and non-graphical text strings was allowed in WebCGM 1.0. This reqirement continues for WebCGM 2.0. There were minor errors in the specification of the sequence tail for the complete code for UTF-8 and UTF-16. This is to be corrected in WebCGM 2.0.
The internationalization of links described by RFC3987 (IRI) was discussed by the user constinuencies of WebCGM. It was determined that there is no immediate requirement for fully internationalized links per IRI. The two major constinuencies (Air Transport Association, and AeroSpace & Defence) of WebCGM apply the specification to technical illustrating. Neither of those presently allow international character sets in their linking mechanisms. Full internationalization of WebCGM, specifically including IRI, can be deferred to a future version of WebCGM (e.g., a follow-on version 2.1), and should be deferred to avoid impact the high-priority schedule requirement.
The general requirement is restated from WebCGM 1.0, for WebCGM 2.0. Expanded details follow:
An interface for programmatic access to WebCGM contents and structure, as well as facilities to manipulate a standardized WebCGM XML Companion File, were perhaps the strongest driving requirements for the upgrade of WebCGM 1.0 to WebCGM 2.0. Virtually all of the WebCGM viewer and user agent implementations had already defined and implemented a proprietary application programming interface (API) for such functionality. Such an interface is part of a Document Object Model (DOM) for WebCGM.
Compared with detailed, complete DOM specifications such as W3C's Recommendation, the WebCGM DOM should have limited scope. A full DOM would support query and discovery of all objects and entities in a target content (graphic) instance, right down to the leaf nodes of the structure tree. A full DOM would also support symmetric, detailed modification and manipulation capabilities for changing the object.
The functionality available in the WebCGM DOM should somewhat more limited. The WebCGM DOM should expose the document graphic structure down to the Application Structure (APS) level -- APS's are the fundamental addressable graphical objects in WebCGM, and are the building blocks of the hierarchical structure tree of a WebCGM.
The WebCGM DOM should support transient manipulation of the APS attributes -- which represent non-graphical metadata associated with the objects -- and transient changes to presentation style of graphical objects. The WebCGM DOM therefore should provide the functionality to query and discover the structure of a WebCGM, enumerate its graphical objects, extract associated metadata (e.g., hyperlinking data) from documents, and finally provide users with with standard ways to add more interactivity to WebCGM documents than was possible in WebCGM 1.0.
The WebCGM DOM also should provide functionality for manipulation and application of standard WebCGM XML Companion Files, as described in a following section.
The WebCGM DOM must give access to a number of useful capabilities, all of which were designated as important requirements by the WebCGM community:
The following capabilities are not included in the WebCGM 2.0 DOM requirements;
There are strong requirements from aerospace and defence industries to standardize the definition of XML companion files such as promised in WebCGM 1.0
Below is the list of use cases, identified as must be addressed by XML content in companion files:
From that list the following requirements derive:
Both the Air Transport Assn and the AeroSpace & Defence groups will be updating their CGM profiles to adopt WebCGM 2.0 in 2006. By the end of 2005, WebCGM 2.0 must be, at least, late enough in the approval processes as to be technically stable. The schedule requirement is sufficiently high priority that it should by default trump most other requirements -- satisfaction of other requirements in 2.0 must be compelling, if serious schedule slippage appears likely. On a case-by-case basis, schedule-breaking features will be considered for deferral to a follow-on version (e.g., a follow-on 2.1).
[1]
The WebCGM Profile http://www.w3.org/TR/REC-WebCGM/
[2]
W3C Scalable Graphics Requirements http://www.w3.org/Graphics/ScalableReq
[3]
Pictures as Standalone Images http://www.w3.org/TR/REC-WebCGM/REC-02-CGM-Concepts.html#webcgm_2_2_1
[4]
WebCGM Defined Group Types http://www.w3.org/TR/REC-WebCGM/REC-02-CGM-Concepts.html#webcgm_2_3_2
[5]
WebCGM Defined Group Properties http://www.w3.org/TR/REC-WebCGM/REC-02-CGM-Concepts.html#webcgm_2_3_4
[6]
Graphical Primitives http://www.w3.org/TR/REC-WebCGM/REC-02-CGM-Concepts.html#webcgm_2_5_1
[7]
Attributes and Controls http://www.w3.org/TR/REC-WebCGM/REC-02-CGM-Concepts.html#webcgm_2_5_2
[8]
Addressing one of several viewers from HTML http://www.w3.org/TR/REC-WebCGM/REC-03-CGM-IC.html#webcgm_3_1_4
[9]
About General Metadata Elements http://www.w3.org/TR/REC-WebCGM/REC-03-CGM-IC.html#webcgm_3_2_1_5