HomeDocumentation > Apache Geronimo Release Status > Geronimo Samples 2.1.2 release Status --Done

The following items are being worked for a Samples 2.1.2 release.

This is the first release of samples. Therefore, there are several issues/questions that must be addressed. Below there is a list of questions/issues and actions/statements regarding how we are proceeding and why.

General Sample work items:

item

person

status

Upgrade to genesis 1.4

Joe Bohn

(tick)

Update legal files - validate headers

Joe Bohn

(tick)

Remove async-http

Joe Bohn

(tick)

Remove snapshot references

Joe Bohn

(tick)

Make archetype work for plugins

Joe Bohn

(tick)

match version dependencies (specs, etc..) to those in Geronimo 2.1

Joe Bohn

(tick)

Plugins for all samples

Jarek Gawor

(tick)

Common datasource plugin

David Jencks

(tick)

standardize naming conventions

David Jencks

(tick)

eliminate unneeded ears

David Jencks

(tick)

reformat code

David Jencks

(tick)

eliminate table collision in samples

Joe Bohn

(tick)

validate archetype

Joe Bohn

(tick) validated but it complicated things ... open question on if we should include it in the release of samples

document archetype

 

 

make samples functional for multiple 2.1* versions

Joe Bohn

(tick) for 2.1.3. GERONIMO-4271 was installed for compatibility on 2.1.3+ releases. 2.1.2 will be covered by actually releasing the samples for 2.1.2. We do not plan to address earlier 2.1.* versions.

consistent/standard doc template for all samples

 

 

Document all-samples plugin

Joe Bohn

 

Individual Sample Status (please initial each status item):

Several folks have worked on various samples. The initial results below (JAB-init) reflect an initial, point in time status by Joe Bohn on 6/11. At that point in time a (tick) indicated that the sample deployed and was functional while a (error) indicated that there were either errors during deploy or running the sample. If you worked on one or more of these samples and validated them please update the respective fields indicating that you updated the sample/doc and that you verified it on the tomcat and jetty (removing my initials below where appropriate).

Sample

Update Sample

Validated in Jetty

Validated in Tomcat

Updated Doc

issues/concerns

all-samples - Installs all samples with one plugin

(tick) Joe Bohn

(tick) Joe Bohn

(tick) Joe Bohn

needs doc

 

app-per-port - Running multiple web apps on different ports

Joe Bohn

n/a

(tick) JAB-init

 

need to update doc to indicate that errors are issues during installation but function works properly

bank - EJB sample application

 

(tick) JAB-init

(tick) JAB-init

 

 

calculator - Using EJB 3.0 functions

 

(tick) JAB-init

(tick) JAB-init

 

 

dbtester - DB Pool Testing Sample application

 

(tick) JAB-init

(tick) JAB-init

 

 

inventory - Simple Database Access Application

 

(tick) JAB-init

(tick) JAB-init

 

 

jaxws-calculator - Simple Web Service 2. JAX-WS

Lin

(tick) Lin

(tick) Lin

(tick) Lin

documented that command line client is not working

jms-mdb - JMS and MDB Sample Application

Lin

(tick) JAB-init

(tick) JAB-init

 

 

ldap-sample-app - LDAP Sample Application

Joe Bohn

(tick) Joe Bohn on 2.1.3

(tick) Joe Bohn on 2.1.3

 

some misc. problems installing directory plugin on jetty (portlet had issue) but installed seemed to work - need to doc that use of the directory plugin is not supported for Geronimo 2.1.2 so an external directory server must be used.

myphonebook - Very Simple Entity EJB Example

(tick) Joe Bohn

(tick) Joe Bohn

(tick) Joe Bohn

(tick) Joe Bohn

 

mytime - Very Simple Session EJB Example

(tick) Joe Bohn

(tick) Joe Bohn

(tick) Joe Bohn

(tick) Joe Bohn

 

sendmail - Using Geronimo Default JavaMail Session

Joe Bohn

(tick) Joe Bohn

(tick) Joe Bohn

Joe Bohn

 

timereport - Web Application Security Sample

 

(tick) JAB-init

(tick) JAB-init

 

 

customer - Simple EJB application with JPA entity

Lin

 

 

 

 

jsp-examples

Lin

(tick) Lin

(tick) Lin

needs doc

 

servlet-examples

Lin

(tick) Lin

(tick) Lin

needs doc

 

Misc questions/issues

How often will samples be released?

We will release samples for each major Geronimo release. If possible, we will work to ensure that samples released for a major release (such as 2.1) will continue to work with subsequent minor releases (such as 2.1.1). However, if this cannot be achieved then we will release samples for each minor release as well.

How will samples be versioned?

The version of the released samples will match the intended major Geronimo release version.

Will all samples follow the archetype?

No. While the archetype is convenient to create new samples the structure of the samples that are created can be confusing at times if it is a web only application. This is because the archetype assumes it will create an enterprise application and always creates an ear structure. Where appropriate the archetype ear structure will be followed but for web only applications only a web structure will be released.

Should Jetty samples pre-req Jetty and Tomcat samples pre-req Tomcat?

This was initially the case. However, this was changed so that the plugins could be installed in a framework server without the jetty or tomcat prereq being present (the integration tests in trunk currently require this). There was opposition to restoring the defaults because it was thought a common mechnism to run the samples would be in the *-jetty/target directories.

Should we move the samples back into the server to ensure that they are released concurrently?

There was opposition to this suggestion. The primary argument seemed to be that the samples can be released independently and therefore should be released independently to demonstrate the plugin nature of Geronimo and avoid huge releases.

Will there be a manual description of how to create the sample datasource rather than using the plugin?

We may attempt to provide some description for those interested. However, the creation of the datasource is generally not particularly relevant to the samples we currently have. Therefore, it is considered adequate to have a note about installing the datasource plugin prior to manually installing the samples.

Will we be providing a source zip for the samples?

The user can obtain the source for the samples using svn. This is the recommended approach. If necessary we can consider also delivering a zip of the source along with the distribution of the release (much as we currently do for the Geronimo server source).

What additional software is required to build the samples?

  • maven (version 2.0.9).
  • svn

Can a user build an individual sample or must all samples be built?

This is still an open question. While it should be possible to build just a particular sample it is recommended to build all samples from the root. In the future we may require that the samples be built collectively to make the process of managing dependencies manageable.

Must a user understand Geronimo plugins to gain value from the samples?

No. While it is true that plugins have been integrated with the samples and a user can gain an understanding of the plugin structure from most samples a detailed knowledge of plugins is not necessary to utilize and benefit from the samples. The fundamental ear/war structure is unchanged and the appropriate Geronimo deployment descriptors are generated and can be utilized without understanding Geronimo plugins.

So just how do the plugins influence the samples then?

  • The datasource is implemented as a plugin and must be installed for certain samples to function.
  • The Geronimo deployment plans are not included in the source and are generated as a result of building the plugins. We will direct the user to look at the build results to view the final deployment plan and include the content of the deployment plan in the wiki for each sample for cases where the user just wants to view and not build the samples.

Duplication in Samples

It is the consensus that is it acceptable to have some duplication between samples if the purpose of the duplication is to provide some samples that are very simple (for basic topic introduction) and some that are more complex (to more closely mirror a real life example).