Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EclipseLink/Development/Documentation/2.4
Documentation Plan for EclipseLink 2.4
Contents
Change Record
Date |
Author |
Change Record |
7/28/11 |
Ben Gelernter |
First draft |
8/11/11 |
Ben Gelernter |
Incorporated changes from doc manager review. |
8/17/11 |
Ben Gelernter |
Incorporated changes from doc team review |
9/15/11 |
Ben Gelernter |
Incorporated changes from Dev/QA/PM review |
9/15/11 |
James Sutherland |
This documentation plan describes how the documentation team will provide EclipseLink documentation for the EclipseLink; (EL) 2.4 release.
Schedule
Milestone |
Date |
Doc plan first draft |
8/10/11 |
Doc plan posted |
8/17/11 |
Doc plan comments due |
8/24/11 |
Final doc plan |
8/29/11 |
EclipseLink release 2.4 |
2.4.1 Juno: 2012-06-27 (See: <a href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.eclipselink" target="_blank">http://www.eclipse.org/projects/project_summary.php?projectid=rt.eclipselink</a> for any changes to these dates.) |
Audience
User |
Description |
Application Developers |
Developers who want to develop applications using any of the following technologies for persistence services:
Developers should be familiar with the concepts and programming practices of the version of Java SE and Java EE supported by their deployment platform. Assumed knowledge:
|
Administrator/Deployer |
Users who want to deploy and manage applications using the EclipseLink persistence technologies. Assumed knowledge: These users should be familiar with basic operations of the chosen application server. |
Planned Documentation Deliverables
The Documentation team will document EclipseLink-specific features for:
- JPA
- MOXy
- DBWS
Note: JPA is the most commonly used and the biggest, therefore more resources will be devoted to JPA than the other services.
The Documentation team will not document EIS, SDO, or any other "native" TopLink functionality (i.e., non-JPA such as ORM, OX, etc.)..
Documentation Design
The wiki topics will be handled as follows:
- All EclipseLink documentation will be maintained under the Documentation Center on the EclipseLink wiki at <a href="http://wiki.eclipse.org/EclipseLink/UserGuide">http://wiki.eclipse.org/EclipseLink/UserGuide</a>.
- Versioning will be handled as follows:
- A note "New in EL 2.n" will be placed next to new topics in the TOCs, where n refers to the release when the feature was introduced. This is currently handled using template {{EclipseLink/NewIn2n}}.
- A note " New in version 2.n." will be added at the beginning of a topic documenting a new feature. This is currently handled using .
- If a new feature is handled in an existing topic and the topic changes more than 50%, the note " New in version 2.n." will be placed at the beginning of the topic or at the beginning of the appropriate section.
- Header and footers on the wiki page will contain no references to release numbers.
- If a feature is deprecated, a note will placed next to the documentation for the feature.
- Each topic will document one "feature." The term "feature" here is somewhat loose. In some cases, it is a single annotation. In some cases, the topic will document how to use multiple annotations together for a specific purpose, e.g., single-table multi=tenancy.
- These topics are more-or-less "reference" topics. That is, they document the primary APIs and XML used to implement the feature. There can be limited discussion about how to use the code to achieve the purpose of the feature, but we will not attempt to put the feature in a larger context or to fully document all related features.
- The JPA topics will primarily focus on using annotations, when they are available. For example, a topic may begin with something like, "Use the @Xyz annotation to…" and most or all examples and code snippets will show annotations. When the feature can also be coded using XML, the topic can discuss the XML (including a reference to the schema), but the documentation for XML will not be as extensive as the documentation for the annotation.
- Every topic will cross-reference:
- Any associated example provided by Development and located in the Samples section of the wiki.
- Any associated Javadoc. When an annotation is available, the reference will be to the annotation(s), not the "native API."
- The Documentation team will not document features that are not EclipseLink-specific. In particular, features that are documented in the specification for the underlying technology. For example features documented in the JSR-000317 JavaTM Persistence 2.0 specification will not be documented. However, anyone with permission to edit the wiki may add topics to the wiki. As time permits, the Documentation team may provide advice on the organization of topics. Any non-Documentation person adding topics is responsible for adding and maintaining the following:
- Previous and Next browse sequence links at the bottom of the page
- Links from the Table of Contents
- Links from the parent, or container, topic, if there is one. For example, the JPA documentation includes a "Weaving Topic" which introduces several weaving-related topics under it.
Note: A container topic should not contain only a list of links. Every topic must include at least an overview sentence. For example: "The EclipseLink cache is an in-memory repository that stores recently read or written objects based on class and primary key values. Caching is discussed in the following topics:"
- Individual topics will not include cross references to the standard specifications (JPA, JAXB). There will be one overview topic (or an overview topic for each service) that will contain the link to the appropriate specification.
- If design documents (specs) are not available or do not contain enough source material (including examples), writers will file bugs against Development via BugZilla.
Tasks/Deliverables
The following tasks are not specifically associated with the EclipseLink 2.4 release but will be handled by the Documentation team during this period:
General
Task/Deliverable |
Writer |
Identify topics in the JPA TOC that are documented in the JPA specification to clarify which existing items are the responsibility of Documentation and which are the responsibility of Development. |
Ben Gelernter, Rick Sapir |
Review JPA topics to make sure all 2.2 and 2.3 features are documented and reviewed. Update as needed.
|
Ben Gelernter |
Create an Introduction/Overview section:
|
Ben Gelernter, Rick Sapir |
Review existing topics for consistency, e.g.:
|
Ben Gelernter |
Create documentation style guide specific to EclipseLink. The main source for documentation style is the Eclipse documentation standards. However, as EclipseLink-specific style issues that not covered by the Eclipse standards arise, the writers will post them on this wiki page. We will spend minimal time developing standards. Eclipse Doc Style Guide (for Eclipse Help): <a href="http://wiki.eclipse.org/Eclipse_Doc_Style_Guide">http://wiki.eclipse.org/Eclipse_Doc_Style_Guide</a> Writers may also find these pages useful: <a href="http://wiki.eclipse.org/DocumentationGuidelines">http://wiki.eclipse.org/DocumentationGuidelines</a> and <a href="http://wiki.eclipse.org/DocumentationGuidelines/StyleGuidelines">http://wiki.eclipse.org/DocumentationGuidelines/StyleGuidelines</a> |
Tom Pfaeffle (create the page) Entire team may contribute.
|
The following tables show the features that will be documented for EL 2.4.
JPA Features
Feature |
Design documents, examples, any other source material |
Subject Matter Expert |
Writer |
Enhanced Schema Provisioning: Schema upgrade to handle application version upgrades. Upon request the Schmea will be extended to add additional tables, columns, indexes. |
Not yet available? |
Peter Krogh and/or designee from his team |
|
MetadataSource support for PU Properties: During the bootstrap of a JPA persistence unit the Metadatasource will provide additional PU properties that can come from an external source to customize the PU properties used in the EntityManagerFactory creation. |
Not yet available? |
" |
|
JPA 2.1: Provide early access to some of the JPA 2.1 defined features. This will depend on the progress the expert group makes. |
Not yet available? |
" |
|
Gemini JPA: With the Gemini JPA 1.0 release scheduled to come out this summer the current solution available (which we have deprecated) need to be fully transitioned to leverage the Gemini solutions. This will involve updates or migration of examples but may also involve a coordinated Gemini release if feature work is included From the Gemini JPA wiki (http://www.eclipse.org/gemini/jpa/): "The Gemini JPA project is about modular implementations of Java Persistence API technology. This project currently provides the integration with the EclipseLink JPA provider to support the OSGi JPA specification approach that clients can use to get JPA support in an OSGi framework." |
Not yet available? |
" |
|
Database Change Event Cache Invalidation: This project will provide an infrastructure for supporting database change events to invalidate the changed objects in the EclipseLink shared cache. |
<a href="http://wiki.eclipse.org/EclipseLink/DesignDocs/356812" title="EclipseLink/DesignDocs/356812">Database Change Event Cache Invalidation</a> |
" |
|
MOXy Features
Feature |
Design documents, examples, any other source material |
Subject Matter Expert |
Writer |
Object-JSON Mapping support |
<a href="http://wiki.eclipse.org/EclipseLink/DesignDocs/350483">Object-to-JSON Binding Layer</a> |
Blaise Doughan, David Twelves |
Rick Sapir |
Set of features to match extensions provided by JAXB RI |
"We are currently developing and tracking this list through Bugzilla enhancements." [David Twelves] |
David Twelves |
|
DBWS Features
Feature |
Design documents, examples, any other source material |
Subject Matter Expert |
Writer |
Parse DDL to extract database metadata: Change the way type metadata is accessed by DBWSBuilder, providing support for the following enhancement requests:
|
<a href="http://wiki.eclipse.org/EclipseLink/Development/DBWS/ParseDDLforMetadata">Parsing DDL for Metadata Design Spec</a> |
Mike Norman, David Twelves |
Rick Sapir |
RESTful JPA: Provide a JAX-RS solution for easily making a JPA persistence unit available through REST calls. (<a href="http://wiki.eclipse.org/EclipseLink/Development/2.4.0">EclipseLink 2.4.0 Development Plans</a> page says "BWS Generation of JAX-RS Web Services." |
Not yet available. "Planned for later in 2.4 dev cycle." [David Twelves] |
David Twelves |
Rick Sapir |
Printable Versions
We plan to provide a printable version of the EclipseLink wiki topics. When a new version of EclipseLink is released (and all documentation issues are wrapped up), we will generate a PDF version (and, if possible an HTML version) of the wiki topics and post that as the official documentation for a certain release. Updates may continue to be made on the wiki, but the PDF/HTML will not be regenerated until the next release.
Details about how to accomplish this are not yet resolved.
Scheduling and Reviews
Schedules must include time for:
- Documentation reviews by Dev/QA. Reviews will be conducted on the wiki.
- A final production review of the wiki including, but not limited to:
- Links to samples
- Links to Javadoc
- Cross-references
- Style consistency
All writers will contribute to the production review.
Bugs
All writers must have BugZilla accounts and review and handle documentation bugs against their EclipseLink topics.
If a writer is responsible for a feature that has no corresponding design documentation or if the design documentation does not contain enough information (missing details, code snippets, release, etc.), the writer should file a BugZilla bug against Development. (Use your judgment: often a phone call or e-mail can clear up a problem.)
Assignments
Joe Garcia |
Manager |
Donna Micozzi |
Manager
|
Ben Gelernter |
Lead, JPA topics |
Ed Spear |
JPA topics (TBD) |
Rick Sapir |
MOXy DBWS |
Tom Pfaeffle |
JPA topics (TBD) |
Issues
- Printable Version: Details about how to accomplish this are not yet resolved.
- Metadata to improve searching