Proposal to glassfish-ize the sun specific deployment descriptor dtd files

Scope:

This proposal is targeted for the sun specific deployment descriptors which complement the standard deployment descriptors.

We will glassfish-ize the EE 6 (glassfish v3) set of the dtd files.

The following is the list of the sun-*.dtd files which will be covered by this proposal:

sun-application-client_6_0-0.dtd
sun-application_6_0-0.dtd
sun-ejb-jar_3_1-0.dtd
sun-web-app_3_0-0.dtd
sun-cmp-mapping_1_2.dtd

The name of the glassfish-ized dtds:

The glassfish-ized dtd files will have "glassfish" instead of "sun", and the version number will be bumped up for the last digit.

The following is the list of the proposed glassfish-ized dtd file names:

glassfish-application-client_6_0-1.dtd
glassfish-application_6_0-1.dtd
glassfish-ejb-jar_3_1-1.dtd
glassfish-web-app_3_0-1.dtd
glassfish-cmp-mapping_1_3.dtd

The DOCTYPE of the glassfish-ized dtds:

Using the sun-web-app_3_0-0.dtd -> glassfish-web-app_3_0-1.dtd as example:

This is the DOCTYPE of the sun-web-app_3_0-0.dtd:

<!DOCTYPE sun-web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN"
"http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd">

And this is the proposed DOCTYPE of the glassfish-web-app_3_0-1.dtd:

<!DOCTYPE glassfish-web-app
PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN"
"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">

The contents of the glassfish-ized dtds:

The initial contents of the glassfish-ized dtd files will have the same contents as their sun-*.dtd counterparts except for the root element. The root element will be changed from "sun-" to "glassfish-".

For example, the root element of the glassfish-web-app_3_0-1.dtd will be glassfish-web-app (the root element of the sun-web-app_3_0-0.dtd is sun-web-app).

For any content changes needed for the glassfish 3.1 release, they will be made on top of the existing contents in this set of the dtds.

Support backward compatibility of sun-*.dtd files.

All the existing sun-.dtd files will continue to be supported (and deprecated). When both sun-.xml and glassfish-.xml are present in the same archive, the sun-.xml will be ignored with a warning message.

Open issues:

1. For the scope of the glassfish-ized dtds:

a. Do we need to glassfish-ize sun-connector dtd? The sun-connector dtd had been deprecated since EE 5 time and we don't have a sun-connector dtd for EE 6.
Had a discussion with Siva. We do not need to have glassfish-* equivalent for sun-connector dtd. - Jagadish

b. What should we do with sun-cmp dtd? It does not belong in the main set of the sun deployment descriptor dtds, but kind of related. Is sun-cmp dtd deprecated?
cmp is still not deprecated hence sun-cmp-mapping_1_2.dtd is still relevant for this exercise - Mitesh

2. For the name of the glassfish-ized dtd files, should we bump up versions from glassfish 3.0 sun-*.dtds as now is glassfish 3.1, like this?

glassfish-application-client_6_0-1.dtd
glassfish-application_6_0-1.dtd
glassfish-ejb-jar_3_1-1.dtd
glassfish-web-app_3_0-1.dtd
Yes, this is what we decided to do now. - Hong

3. For the DOCTYPE of the glassfish-ized dtd files, what do people think about the public id, and where should we upload the dtd files? Will it be somewhere under glassfish.org (do we own the site) or somewhere under oracle.com?

4. Slightly off-topic, but there are other files with "sun-" prefixes (such as sun-acc.xml) that will also need to change. Some of the questions Hong has raised apply to them as well - such as the DOCTYPE public ID, the URL - and are we going to try to make these changes all at once or let them occur over time?

5. I assume that the lib/dtds directory will have both of these files: sun-web-app_3_0-0.dtd AND glassfish-web-app_3_0-1.dtd, RIGHT? This same assumption applies to ALL the dtd files that describe deployment descriptors and the like... (not just the sun-web-app_3_0-0.dtd file...)
Yes, both types of dtds will be present as we need to support the backward compatibility (through sun-web-app_3_0-0.dtd) and the new glassfish-ized version (through glassfish-web-app_3_0-0.1td). - Hong