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

Virgo/Community

< Virgo
Revision as of 11:26, 4 August 2010 by Spowell.vmware.com (Talk | contribs) (Take Virgo for a spin)



You can join the Virgo community by tweeting about #virgort, using the Virgo forum, subscribing to the virgo-dev mailing list, or using bugzilla.

Meetings

There is a weekly, one hour call at 14:00 UTC on Tuesdays to discuss Virgo. See meetings for details.


Contributing

Suppose you see a need to change Virgo somehow. You can start by raising this on Virgo-Dev or as a bug, but suppose the committers don't dive in and make the change for you. Don't take this personally - Virgo is an active project and there's always more to do than the committers have time for.

That's where contributors come in. You may not feel very confident about changing the Virgo codebase, but the best way to learn is to do. The committers are interested in building up the Virgo community and they should help you navigate the codebase and can provide useful feedback on changes you are proposing. So file a bug, attach your code, and take it from there. But before you do, please read on to understand what makes a good contribution.

a good contributor

In particular…

  • ensures that they wrote 100% of the contribution and did not copy content from elsewhere or rely on the intellectual property of others.

That makes the contribution process so much simpler.

Then…

  • attaches the code as a patch (easily created using git diff) to a Bugzilla bug (under RT/Virgo/core) so that a committer can perform the necessary due diligence checks.

essential steps

In the bug the contributor (that's you) must confirm that they wrote 100% of the code contributed (in particular that none of it is copied from elsewhere), that they have the right to contribute the code to Eclipse (e.g. the employer agrees or the code is produced in personal time and contracts do not assign ownership or copyright to the employer), and that any new files contain the appropriate License header with the contributor (or the employer, as appropriate) as the copyright owner and the contributor as the "initial contributor". (See existing files in the Virgo source code repositories for examples of the copyright and license headers.)

optional steps

You should probably discuss large contributions (more than 250 lines of code and/or configuration) on the virgo-dev mailing list first so everyone knows what's going on. Small patches and additions (e.g. extra unit tests) can be made with little or no discussion.

Contributions should include unit tests whenever possible and integration tests where appropriate. This ensures that the contributed code is well structured and can be tested as well as avoiding the technical debt of code waiting to be tested. The committers that handle the contribution will assess these criteria.

See Committers for information about coding conventions and testing which will make your contribution more easily consumed by Virgo.

Take Virgo for a spin

If you want to take the Virgo server for a spin, go here.

Migration Notes

Migrating from dm Server 2.0.x to Virgo 2.1.0.x

The following changes in Virgo 2.1.0.x affect users migrating from dm Server 2.0.x:

Package Names

The Java package names of the code have been renamed from com.springsource or org.eclipse.

Some of these packages are more likely than others to be used by applications. For example, the following web configuration:

<context-param> 
    <param-name>contextClass</param-name>
    <param-value>com.springsource.server.web.dm.ServerOsgiBundleXmlWebApplicationContext</param-value>
</context-param> 

needs to be changed to:

<context-param> 
    <param-name>contextClass</param-name>
    <param-value>org.eclipse.virgo.web.dm.ServerOsgiBundleXmlWebApplicationContext</param-value>
</context-param> 

The main package changes are shown in the following table although very few of these are likely to impact applications. Users who have modified or extended dm Server are far more likely to be affected.


Package changes
dm Server 2.0.x Virgo 2.1.0.x
com.springsource.osgi.teststubs.* org.eclipse.virgo.teststubs.osgi.*
com.springsource.osgi.extensions.* org.eclipse.virgo.osgi.extensions.*
com.springsource.osgi.launcher.* org.eclipse.virgo.osgi.launcher.*
com.springsource.util.* org.eclipse.virgo.util.*
com.springsource.osgi.test.* org.eclipse.virgo.test.*
com.springsource.osgi.medic.* org.eclipse.virgo.medic.*
com.springsource.repository.* org.eclipse.virgo.repository.*
com.springsource.kernel.* org.eclipse.virgo.kernel.*
com.springsource.osgi.webcontainer.* org.eclipse.gemini.web.*
com.springsource.server.* org.eclipse.virgo.*

Shell

The kernel shell did not make it through the stringent Eclipse IP process and so Virgo extends the Equinox console instead.

The inline shell is no longer supported and the "-shell" switch on the startup script produces a warning.

The Equinox console is configured in the user region properties file via the osgi.console property with a default value of 2401.

The kernel properties shell.enabled and shell.port are no longer used and are ignored if specified. Remote access to the Equinox console is via telnet (whereas the kernel shell supported ssh).

Service Wrapper

The service wrapper did not make it through the stringent Eclipse IP process and so is no longer supported. Anyone needing this function will need to create their own service wrapper or take the one from dm Server 2.0.x and doctor it.

Migrating from the dm Server slices prototype to the Virgo snaps prototype

Even though the slices project was a prototype, a number of dm Server users found it very useful and asked for it to be made available on Virgo. It is currently being renamed to "snaps" and contributed to Virgo.

There will be a one-time hit for users to migrate from slices to snaps, largely because of the renaming.

Samples

The Petclinic and Spring Travel based samples are not provided with snaps as they derive from code whose authorship is not clear.

Package Names

The Java package names of the code have been renamed from com.springsource.osgi.slices.* or org.eclipse.virgo.snaps.*.

Class names

'Slice' is replaced by 'Snap' in class names.

Notable class name changes
dm Server slices Virgo snaps
com.springsource.osgi.slices.core.SliceHostFilter org.eclipse.virgo.snaps.core.SnapHostFilter
com.springsource.osgi.slices.Slices org.eclipse.virgo.snaps.Snaps
com.springsource.osgi.slices.SlicesTag org.eclipse.virgo.snaps.SnapsTag

Manifest headers

'Slice' is replaced by 'Snap' in manifest headers.

Manifest header changes
dm Server slices Virgo snaps
Slice-Host Snap-Host
Slice-ContextPath Snap-ContextPath

Bundle symbolic names

Bundle symbolic name changes
dm Server slices Virgo snaps
com.springsource.osgi.slices.api org.eclipse.virgo.snaps.api
com.springsource.osgi.slices.core org.eclipse.virgo.snaps.core

Plan names

Plan name changes
dm Server slices Virgo snaps
com.springsource.osgi.slices org.eclipse.virgo.snaps

Event log messages

The prefix SL is replaced by the prefix SN.

Presentations

  •  A Virgo overview presentation, dating from June 2010, licensed under the Eclipse Public License for anyone who wants to present it or use it to create their own presentation on Virgo. It is provided in open office and PDF formats.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.