Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EclipseLink/Development/Documentation/2.4

Documentation Plan for EclipseLink 2.4

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

Added discussion page

 

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
2.4.0: 2012-03-28

(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:

  • Java Persistence Architecture (JPA) 2.x plus the EclipseLink JPA extensions
  • Java Architecture for XML Binding 2.x (JAXB) plus the EclipseLink MOXy extensions.
  • Java API for XML Web Services 2.x (JAX-WS) plus EclipseLink Database Web Services (DBWS) features.

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:

  • Developers using EclipseLink JPA should be familiar with the concepts and programming practices of JPA 2.x.
  • Developers using EclipseLink MOXy should be familiar with the concepts and programming practices of JAXB 2.x.
  • Developers using EclipseLink DBWS should be familiar with the concepts and programming practices of JAX-WS 2.x.

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
      EL NewIn.png New in version 2.n.
      .
    • 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:

  • If introductory information exists elsewhere (e.g., the JPA intro section), move it to this section
  • Write any introductory information that is missing, including cross-references to the specifications (JPA, JAXB)

Ben Gelernter, Rick Sapir

Review existing topics for consistency, e.g.:

  • Navigation links
  • Lists of links in topics (TOCs for sections)
  • Headers/footers
  • Tables, examples
  • Key API links (qualified by path?)

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:

  • DBWSProvider does not handle weakly-typed REF CURSORs (bug 325124)
  •  DBWSProvider does not handle strongly-typed REF CURSORs (bug 339721)
  • DBWSProvider does not handle optional arguments for Stored Procedures (bug 234385)
  • DBWS does not handle  %ROWTYPE mix of PL/SQL types and JDBC Advanced types bug 329435

<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

Back to the top