Difference between revisions of "Virgo/Community"

From Eclipsepedia

Jump to: navigation, search
m (Contributing)
(Meetings)
(27 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
= Meetings  =
 
= Meetings  =
  
There is a weekly, one hour call at 14:00 UTC on Tuesdays to discuss Virgo. See [[Virgo/Discussion/Meetings|meetings]] for details.  
+
There is a biweekly, one hour call at 14:30 UK time on Mondays to discuss Virgo. See [[Virgo/Community/Meetings|meetings]] for details.
  
== Minutes  ==
+
Very occasional face to face meetings will be held. See [[Virgo/Community/F2F|F2F]] for details.
 
+
*[[Virgo/Community/Minutes-2010-08-03|Minutes of 3 August 2010]]
+
*[[Virgo/Community/Minutes-2010-07-27|Minutes of 27 July 2010]] - this meeting did not in fact take place; apologies for the omission.
+
*[[Virgo/Community/Minutes-2010-07-20|Minutes of 20 July 2010]]
+
*[[Virgo/Community/Minutes-2010-07-13|Minutes of 13 July 2010]]
+
*[[Virgo/Community/Minutes-2010-07-06|Minutes of 6 July 2010]]
+
*[[Virgo/Community/Minutes-2010-06-29|Minutes of 29 June 2010]]
+
*[[Virgo/Community/Minutes-2010-06-22|Minutes of 22 June 2010]]
+
*[[Virgo/Community/Minutes-2010-06-15|Minutes of 15 June 2010]]
+
*[[Virgo/Community/Minutes-2010-06-08|Minutes of 8 June 2010]]
+
*[[Virgo/Community/Minutes-2010-06-01|Minutes of 1 June 2010]]
+
*[[Virgo/Community/Minutes-2010-05-25|Minutes of 25 May 2010]]
+
*[[Virgo/Community/Minutes-2010-05-18|Minutes of 18 May 2010]]
+
*[[Virgo/Community/Minutes-2010-05-11|Minutes of 11 May 2010]]
+
*[[Virgo/Community/Minutes-2010-05-04|Minutes of 4 May 2010]]
+
  
 
= Contributing =
 
= Contributing =
Line 47: Line 32:
  
 
'''optional steps'''
 
'''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 {{VirgoLink|Committers|Committers|{{{tab}}}|committers}} for information about coding conventions and testing which will make your contribution more easily consumed by Virgo.
 
See {{VirgoLink|Committers|Committers|{{{tab}}}|committers}} for information about coding conventions and testing which will make your contribution more easily consumed by Virgo.
  
= Take Virgo for a spin =
+
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.
  
If you want to take the Virgo web server for a spin, first [http://www.eclipse.org/virgo/download/ download it] and unpack the downloaded archive to a directory, which we will refer to as $SERVER_HOME, ensuring there are no spaces in the path of the directory. On Windows unzip to a directory, which we will refer to as %SERVER_HOME%, again ensuring there are no spaces in the path of the directory. We recommend 7zip for unpacking on Windows as the built-in zip extraction utility sometimes fail to unpack reliably.
+
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. Remember that patches or enhancements can often include 'too much'. It is tempting to include unrelated changes with another idea -- simply because they are 'close by' in the code. No-one is particularly at fault here, but if patches are ruthlessly reduced to the smallest possible units they are more likely to get in. Small is beautiful, and minimal is marvellous.
  
Then start the Virgo web server. On Unix, issue the following commands from a shell:
+
So, silly as it may seem, if you spot a single line correction (or 'improvement') while writing your ''magnum opus'', please resist the urge to 'just put it in'. If a single line bugzilla patch is raised, it can get in much more easily than a collection of changes, and is quicker and simpler for all concerned. If the change is unrelated, or just 'independent' in the sense that it ''could'' be made separately without harm, then please ''do'' separate it. That way it won't be 'caught up' in a long discussion (and possible rejection) that has nothing to do with it.
<pre>&gt;cd $SERVER_HOME
+
&gt;bin/startup.sh
+
</pre>
+
On Windows, issue the following commands in a command prompt:
+
<pre>&gt;cd %SERVER_HOME%
+
&gt;bin\startup.bat
+
</pre>
+
  
Virgo should issue event log messages like this:
+
= Currently Under Discussion =
<pre>[2010-06-04 10:55:48.236] startup-tracker              &lt;KE0001I&gt; Kernel starting.
+
[2010-06-04 10:55:52.078] kernel-dm-11                &lt;SH0001I&gt; Kernel ssh shell available on port 2401.
+
[2010-06-04 10:55:52.197] startup-tracker              &lt;KE0002I&gt; Kernel started.
+
[2010-06-04 10:55:52.308] system-artifacts            &lt;DE0000I&gt; Installing plan 'org.eclipse.virgo.kernel.userregion.springdm' version '2.1.0'.
+
[2010-06-04 10:55:52.476] system-artifacts            &lt;DE0000I&gt; Installing bundle 'org.springframework.osgi.core' version '1.2.1'.
+
[2010-06-04 10:55:52.594] system-artifacts            &lt;DE0000I&gt; Installing bundle 'org.springframework.osgi.extender' version '1.2.1'.
+
[2010-06-04 10:55:52.612] system-artifacts            &lt;DE0000I&gt; Installing bundle 'org.springframework.osgi.io' version '1.2.1'.
+
[2010-06-04 10:55:52.631] system-artifacts            &lt;DE0000I&gt; Installing bundle 'org.eclipse.virgo.kernel.agent.dm' version '2.1.0.D-20100513120258'.
+
[2010-06-04 10:55:52.666] system-artifacts            &lt;DE0000I&gt; Installing bundle 'org.eclipse.virgo.kernel.deployer.dm' version '2.1.0.D-20100513120258'.
+
[2010-06-04 10:55:54.129] system-artifacts            &lt;DE0001I&gt; Installed bundle 'org.springframework.osgi.core' version '1.2.1'.
+
[2010-06-04 10:55:54.133] system-artifacts            &lt;DE0001I&gt; Installed bundle 'org.springframework.osgi.extender' version '1.2.1'.
+
[2010-06-04 10:55:54.137] system-artifacts            &lt;DE0001I&gt; Installed bundle 'org.springframework.osgi.io' version '1.2.1'.
+
[2010-06-04 10:55:54.141] system-artifacts            &lt;DE0001I&gt; Installed bundle 'org.eclipse.virgo.kernel.agent.dm' version '2.1.0.D-20100513120258'.
+
[2010-06-04 10:55:54.145] system-artifacts            &lt;DE0001I&gt; Installed bundle 'org.eclipse.virgo.kernel.deployer.dm' version '2.1.0.D-20100513120258'.
+
[2010-06-04 10:55:54.149] system-artifacts            &lt;DE0001I&gt; Installed plan 'org.eclipse.virgo.kernel.userregion.springdm' version '2.1.0'.
+
[2010-06-04 10:55:54.183] system-artifacts            &lt;DE0004I&gt; Starting plan 'org.eclipse.virgo.kernel.userregion.springdm' version '2.1.0'.
+
[2010-06-04 10:55:54.199] system-artifacts            &lt;DE0004I&gt; Starting bundle 'org.springframework.osgi.core' version '1.2.1'.
+
[2010-06-04 10:55:54.209] start-signalling-1          &lt;DE0005I&gt; Started bundle 'org.springframework.osgi.core' version '1.2.1'.
+
[2010-06-04 10:55:54.209] system-artifacts            &lt;DE0004I&gt; Starting bundle 'org.springframework.osgi.extender' version '1.2.1'.
+
[2010-06-04 10:55:54.660] start-signalling-1          &lt;DE0005I&gt; Started bundle 'org.springframework.osgi.extender' version '1.2.1'.
+
[2010-06-04 10:55:54.661] system-artifacts            &lt;DE0004I&gt; Starting bundle 'org.springframework.osgi.io' version '1.2.1'.
+
[2010-06-04 10:55:54.670] start-signalling-1          &lt;DE0005I&gt; Started bundle 'org.springframework.osgi.io' version '1.2.1'.
+
[2010-06-04 10:55:54.670] system-artifacts            &lt;DE0004I&gt; Starting bundle 'org.eclipse.virgo.kernel.agent.dm' version '2.1.0.D-20100513120258'.
+
[2010-06-04 10:55:54.688] start-signalling-1          &lt;DE0005I&gt; Started bundle 'org.eclipse.virgo.kernel.agent.dm' version '2.1.0.D-20100513120258'.
+
[2010-06-04 10:55:54.688] system-artifacts            &lt;DE0004I&gt; Starting bundle 'org.eclipse.virgo.kernel.deployer.dm' version '2.1.0.D-20100513120258'.
+
[2010-06-04 10:55:54.813] start-signalling-1          &lt;DE0005I&gt; Started bundle 'org.eclipse.virgo.kernel.deployer.dm' version '2.1.0.D-20100513120258'.
+
[2010-06-04 10:55:54.818] start-signalling-1          &lt;DE0005I&gt; Started plan 'org.eclipse.virgo.kernel.userregion.springdm' version '2.1.0'.
+
[2010-06-04 10:55:54.878] system-artifacts            &lt;DE0000I&gt; Installing plan 'org.eclipse.virgo.web' version '2.0.0'.
+
[2010-06-04 10:55:54.922] system-artifacts            &lt;DE0000I&gt; Installing bundle 'org.eclipse.gemini.web.core' version '1.0.0.BUILD-20100330115713'.
+
[2010-06-04 10:55:54.953] system-artifacts            &lt;DE0000I&gt; Installing bundle 'org.eclipse.gemini.web.tomcat' version '1.0.0.BUILD-20100330115713'.
+
[2010-06-04 10:55:54.969] system-artifacts            &lt;DE0000I&gt; Installing bundle 'org.eclipse.virgo.web.core' version '2.1.0.D-20100513122450'.
+
[2010-06-04 10:55:54.982] system-artifacts            &lt;DE0000I&gt; Installing bundle 'org.eclipse.virgo.web.dm' version '2.1.0.D-20100513122450'.
+
[2010-06-04 10:55:54.997] system-artifacts            &lt;DE0000I&gt; Installing bundle 'org.eclipse.virgo.web.tomcat' version '2.1.0.D-20100513122450'.
+
[2010-06-04 10:55:55.487] system-artifacts            &lt;DE0001I&gt; Installed bundle 'org.eclipse.gemini.web.core' version '1.0.0.BUILD-20100330115713'.
+
[2010-06-04 10:55:55.492] system-artifacts            &lt;DE0001I&gt; Installed bundle 'org.eclipse.gemini.web.tomcat' version '1.0.0.BUILD-20100330115713'.
+
[2010-06-04 10:55:55.497] system-artifacts            &lt;DE0001I&gt; Installed bundle 'org.eclipse.virgo.web.core' version '2.1.0.D-20100513122450'.
+
[2010-06-04 10:55:55.502] system-artifacts            &lt;DE0001I&gt; Installed bundle 'org.eclipse.virgo.web.dm' version '2.1.0.D-20100513122450'.
+
[2010-06-04 10:55:55.507] system-artifacts            &lt;DE0001I&gt; Installed bundle 'org.eclipse.virgo.web.tomcat' version '2.1.0.D-20100513122450'.
+
[2010-06-04 10:55:55.512] system-artifacts            &lt;DE0001I&gt; Installed plan 'org.eclipse.virgo.web' version '2.0.0'.
+
[2010-06-04 10:55:55.540] system-artifacts            &lt;DE0004I&gt; Starting plan 'org.eclipse.virgo.web' version '2.0.0'.
+
[2010-06-04 10:55:55.546] system-artifacts            &lt;DE0004I&gt; Starting bundle 'org.eclipse.gemini.web.core' version '1.0.0.BUILD-20100330115713'.
+
[2010-06-04 10:55:55.575] start-signalling-1          &lt;DE0005I&gt; Started bundle 'org.eclipse.gemini.web.core' version '1.0.0.BUILD-20100330115713'.
+
[2010-06-04 10:55:55.576] system-artifacts            &lt;DE0004I&gt; Starting bundle 'org.eclipse.gemini.web.tomcat' version '1.0.0.BUILD-20100330115713'.
+
[2010-06-04 10:55:56.081] system-artifacts            &lt;TC0000I&gt; Starting Tomcat.
+
[2010-06-04 10:55:56.155] system-artifacts            &lt;TC0010I&gt; Creating HTTP/1.1 connector with scheme http on port 8080.
+
[2010-06-04 10:55:56.180] system-artifacts            &lt;TC0010I&gt; Creating HTTP/1.1 connector with scheme https on port 8443.
+
[2010-06-04 10:55:56.191] system-artifacts            &lt;TC0010I&gt; Creating AJP/1.3 connector with scheme http on port 8009.
+
[2010-06-04 10:55:56.252] system-artifacts            &lt;TC0001I&gt; Started Tomcat.
+
[2010-06-04 10:55:56.269] system-artifacts            &lt;DE0004I&gt; Starting bundle 'org.eclipse.virgo.web.core' version '2.1.0.D-20100513122450'.
+
[2010-06-04 10:55:56.281] system-artifacts            &lt;DE0004I&gt; Starting bundle 'org.eclipse.virgo.web.dm' version '2.1.0.D-20100513122450'.
+
[2010-06-04 10:55:56.294] system-artifacts            &lt;DE0005I&gt; Started bundle 'org.eclipse.virgo.web.tomcat' version '2.1.0.D-20100513122450'.
+
[2010-06-04 10:55:56.311] start-signalling-1          &lt;DE0005I&gt; Started bundle 'org.eclipse.virgo.web.dm' version '2.1.0.D-20100513122450'.
+
[2010-06-04 10:55:56.454] start-signalling-1          &lt;DE0005I&gt; Started bundle 'org.eclipse.gemini.web.tomcat' version '1.0.0.BUILD-20100330115713'.
+
[2010-06-04 10:55:56.465] start-signalling-1          &lt;DE0005I&gt; Started bundle 'org.eclipse.virgo.web.core' version '2.1.0.D-20100513122450'.
+
[2010-06-04 10:55:56.470] start-signalling-1          &lt;DE0005I&gt; Started plan 'org.eclipse.virgo.web' version '2.0.0'.
+
[2010-06-04 10:55:56.476] Thread-2                    &lt;UR0001I&gt; User region ready.
+
[2010-06-04 10:55:57.482] fs-watcher                  &lt;HD0001I&gt; Hot deployer processing 'INITIAL' event for file 'org.eclipse.virgo.apps.admin-2.1.0.D-20100513124429.plan'.
+
[2010-06-04 10:55:57.563] fs-watcher                  &lt;DE0000I&gt; Installing plan 'org.eclipse.virgo.apps.admin.plan' version '2.0.0'.
+
[2010-06-04 10:55:57.597] fs-watcher                  &lt;DE0000I&gt; Installing bundle 'org.eclipse.virgo.apps.admin.core' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:55:59.235] fs-watcher                  &lt;DE0000I&gt; Installing bundle 'org.eclipse.virgo.apps.admin.web' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:01.872] fs-watcher                  &lt;DE0001I&gt; Installed bundle 'org.eclipse.virgo.apps.admin.core' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:01.877] fs-watcher                  &lt;DE0001I&gt; Installed bundle 'org.eclipse.virgo.apps.admin.web' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:01.881] fs-watcher                  &lt;DE0001I&gt; Installed plan 'org.eclipse.virgo.apps.admin.plan' version '2.0.0'.
+
[2010-06-04 10:56:01.892] fs-watcher                  &lt;DE0004I&gt; Starting plan 'org.eclipse.virgo.apps.admin.plan' version '2.0.0'.
+
[2010-06-04 10:56:01.897] fs-watcher                  &lt;DE0004I&gt; Starting bundle 'org.eclipse.virgo.apps.admin.core' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.064] fs-watcher                  &lt;DE0004I&gt; Starting bundle 'org.eclipse.virgo.apps.admin.web' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.077] Thread-3                    &lt;WE0000I&gt; Starting web bundle 'org.eclipse.virgo.apps.admin.web' version '2.1.0.D-20100513124429' with context path '/admin'.
+
[2010-06-04 10:56:02.077] fs-watcher                  &lt;HD0001I&gt; Hot deployer processing 'INITIAL' event for file 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429.par'.
+
[2010-06-04 10:56:02.121] start-signalling-2          &lt;DE0005I&gt; Started bundle 'org.eclipse.virgo.apps.admin.core' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.273] fs-watcher                  &lt;DE0000I&gt; Installing par 'org.eclipse.virgo.apps.repository' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.293] fs-watcher                  &lt;DE0000I&gt; Installing bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-org.eclipse.virgo.apps.repository.core' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.300] fs-watcher                  &lt;DE0000I&gt; Installing bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-org.eclipse.virgo.apps.repository.web' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.656] fs-watcher                  &lt;DE0001I&gt; Installed bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-org.eclipse.virgo.apps.repository.core' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.660] fs-watcher                  &lt;DE0001I&gt; Installed bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-org.eclipse.virgo.apps.repository.web' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.665] fs-watcher                  &lt;DE0001I&gt; Installed bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-synthetic.context' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.669] fs-watcher                  &lt;DE0001I&gt; Installed par 'org.eclipse.virgo.apps.repository' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.721] fs-watcher                  &lt;DE0004I&gt; Starting par 'org.eclipse.virgo.apps.repository' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.728] fs-watcher                  &lt;DE0004I&gt; Starting bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-org.eclipse.virgo.apps.repository.core' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.894] fs-watcher                  &lt;DE0004I&gt; Starting bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-org.eclipse.virgo.apps.repository.web' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.900] Thread-3                    &lt;WE0000I&gt; Starting web bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-org.eclipse.virgo.apps.repository.web' version '2.1.0.D-20100513124429' with context path '/org.eclipse.virgo.apps.repository'.
+
[2010-06-04 10:56:02.900] fs-watcher                  &lt;DE0004I&gt; Starting bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-synthetic.context' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.909] start-signalling-3          &lt;DE0005I&gt; Started bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-synthetic.context' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:02.944] fs-watcher                  &lt;HD0001I&gt; Hot deployer processing 'INITIAL' event for file 'org.eclipse.virgo.apps.splash-2.1.0.D-20100513124429.war'.
+
[2010-06-04 10:56:03.148] fs-watcher                  &lt;DE0000I&gt; Installing bundle 'org.eclipse.virgo.apps.splash' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:03.246] start-signalling-3          &lt;DE0005I&gt; Started bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-org.eclipse.virgo.apps.repository.core' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:03.284] fs-watcher                  &lt;DE0001I&gt; Installed bundle 'org.eclipse.virgo.apps.splash' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:03.384] fs-watcher                  &lt;DE0004I&gt; Starting bundle 'org.eclipse.virgo.apps.splash' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:03.388] Thread-3                    &lt;WE0000I&gt; Starting web bundle 'org.eclipse.virgo.apps.splash' version '2.1.0.D-20100513124429' with context path '/'.
+
[2010-06-04 10:56:03.764] Thread-3                    &lt;WE0001I&gt; Started web bundle 'org.eclipse.virgo.apps.admin.web' version '2.1.0.D-20100513124429' with context path '/admin'.
+
[2010-06-04 10:56:03.774] start-signalling-1          &lt;DE0005I&gt; Started bundle 'org.eclipse.virgo.apps.admin.web' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:03.783] start-signalling-1          &lt;DE0005I&gt; Started plan 'org.eclipse.virgo.apps.admin.plan' version '2.0.0'.
+
[2010-06-04 10:56:03.936] Thread-3                    &lt;WE0001I&gt; Started web bundle 'org.eclipse.virgo.apps.splash' version '2.1.0.D-20100513124429' with context path '/'.
+
[2010-06-04 10:56:03.941] start-signalling-3          &lt;DE0005I&gt; Started bundle 'org.eclipse.virgo.apps.splash' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:04.313] Thread-3                    &lt;WE0001I&gt; Started web bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-org.eclipse.virgo.apps.repository.web' version '2.1.0.D-20100513124429' with context path '/org.eclipse.virgo.apps.repository'.
+
[2010-06-04 10:56:04.317] start-signalling-2          &lt;DE0005I&gt; Started bundle 'org.eclipse.virgo.apps.repository-2.1.0.D-20100513124429-org.eclipse.virgo.apps.repository.web' version '2.1.0.D-20100513124429'.
+
[2010-06-04 10:56:04.321] start-signalling-2          &lt;DE0005I&gt; Started par 'org.eclipse.virgo.apps.repository' version '2.1.0.D-20100513124429'.
+
</pre>
+
You can then [http://localhost:8080/admin log in] to the Virgo admin console (user "admin", password "springsource"). You should see the welcome panel of the admin console:<br>[[Image:VirgoAdminConsole.png|center|admin console welcome panel]]
+
  
You can then examine the features of the admin console. For example, you can explore the artifacts currently installed by clicking on the Artifacts pane and expanding some of the sections marked with '+' signs:
+
There are topics for discussion that have got beyond a forum thread.  Please feel free to contribute your design thoughts.  
  
[[Image:VirgoAdminConsoleArtifacts.png|center|admin console artifacts pane]]  
+
[[Virgo/Community/Testing_Extensions|Testing Extensions]]
  
If you want to try deploying a bundle, drop it into the pickup directory:
+
= Take Virgo for a spin =
<pre>org.eclipse.virgo.web-server/build-web-server/target/package-expanded/virgo-web-server-&lt;version&gt;/pickup
+
</pre>
+
For example, if you download the trivial test application [http://git.eclipse.org/c/virgo/org.eclipse.virgo.web.git/plain/org.eclipse.virgo.web.test/src/test/apps-static/helloweb.war helloweb.war] and drop it into the pickup directory, the following event log messages are displayed:
+
<pre>[2010-06-04 11:25:49.528] fs-watcher                  &lt;DE0000I&gt; Installing bundle 'helloweb' version '0.0.0'.
+
[2010-06-04 11:25:49.594] fs-watcher                  &lt;DE0001I&gt; Installed bundle 'helloweb' version '0.0.0'.
+
[2010-06-04 11:25:49.683] fs-watcher                  &lt;DE0004I&gt; Starting bundle 'helloweb' version '0.0.0'.
+
[2010-06-04 11:25:49.688] Thread-3                    &lt;WE0000I&gt; Starting web bundle 'helloweb' version '0.0.0' with context path '/helloweb'.
+
[2010-06-04 11:25:49.780] Thread-3                    &lt;WE0001I&gt; Started web bundle 'helloweb' version '0.0.0' with context path '/helloweb'.
+
[2010-06-04 11:25:49.783] start-signalling-3          &lt;DE0005I&gt; Started bundle 'helloweb' version '0.0.0'.
+
</pre>
+
and you can then [http://localhost:8080/helloweb invoke] the application or inspect it in the admin console:
+
 
+
[[Image:VirgoAdminConsoleHelloWeb.png|center|admin console showing helloweb.war]]<br>
+
 
+
= 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:
+
<pre>&lt;context-param&gt;
+
    &lt;param-name&gt;contextClass&lt;/param-name&gt;
+
    &lt;param-value&gt;com.springsource.server.web.dm.ServerOsgiBundleXmlWebApplicationContext&lt;/param-value&gt;
+
&lt;/context-param&gt;
+
</pre>
+
needs to be changed to:
+
<pre>&lt;context-param&gt;
+
    &lt;param-name&gt;contextClass&lt;/param-name&gt;
+
    &lt;param-value&gt;org.eclipse.virgo.web.dm.ServerOsgiBundleXmlWebApplicationContext&lt;/param-value&gt;
+
&lt;/context-param&gt;
+
</pre>
+
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.
+
 
+
<br>
+
 
+
{| width="200" border="1" cellpadding="1" cellspacing="1"
+
|+ 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.
+
 
+
{| width="50%" border="1" cellpadding="1" cellspacing="1"
+
|+ 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.
+
 
+
{| width="30%" border="1" cellpadding="1" cellspacing="1"
+
|+ Manifest header changes
+
|-
+
! '''dm Server slices'''
+
! '''Virgo snaps'''
+
|-
+
| Slice-Host
+
| Snap-Host
+
|-
+
| Slice-ContextPath
+
| Snap-ContextPath
+
|}
+
 
+
=== Bundle symbolic names ===
+
 
+
{| width="30%" border="1" cellpadding="1" cellspacing="1"
+
|+ 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 ===
+
  
{| width="30%" border="1" cellpadding="1" cellspacing="1"
+
If you want to take the Virgo server for a spin, go [[Virgo/Community/Spin|here]].
|+ Plan name changes
+
|-
+
! '''dm Server slices'''
+
! '''Virgo snaps'''
+
|-
+
| com.springsource.osgi.slices
+
| org.eclipse.virgo.snaps
+
|}
+
  
=== Event log messages ===
+
= Migration Notes =
  
The prefix SL is replaced by the prefix SN.
+
* [[Virgo/Community/Migrating_from_dm_Server|Migrating from dm Server 2.0.x to Virgo 2.1.0]]
 +
* [[Virgo/Community/Migrating_from_slices|Migrating from the dm Server slices prototype to the Virgo snaps prototype]]
 +
* [[Virgo/Community/Migrating_from_2.x_to_3.0.0|Migrating from dm Server 2.0.x and Virgo 2.1.x to Virgo 3.0.0]]
 +
* [[Virgo/Community/Migrating_from_3.0.x_to_3.5.0|Migrating from Virgo 3.0.x to Virgo 3.5.0]]
 +
* [[Virgo/Community/Migrating_from_3.5.x_to_3.6.0|Migrating from Virgo 3.5.x to Virgo 3.6.0]]
  
 
= Presentations  =
 
= Presentations  =
  
 
*&nbsp;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 [http://wiki.eclipse.org/images/9/91/VirgoOverview.odp.zip open office] and [http://wiki.eclipse.org/images/a/af/VirgoOverview.pdf PDF] formats.
 
*&nbsp;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 [http://wiki.eclipse.org/images/9/91/VirgoOverview.odp.zip open office] and [http://wiki.eclipse.org/images/a/af/VirgoOverview.pdf PDF] formats.

Revision as of 09:47, 15 April 2013



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

Contents

Meetings

There is a biweekly, one hour call at 14:30 UK time on Mondays to discuss Virgo. See meetings for details.

Very occasional face to face meetings will be held. See F2F 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

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

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.

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. Remember that patches or enhancements can often include 'too much'. It is tempting to include unrelated changes with another idea -- simply because they are 'close by' in the code. No-one is particularly at fault here, but if patches are ruthlessly reduced to the smallest possible units they are more likely to get in. Small is beautiful, and minimal is marvellous.

So, silly as it may seem, if you spot a single line correction (or 'improvement') while writing your magnum opus, please resist the urge to 'just put it in'. If a single line bugzilla patch is raised, it can get in much more easily than a collection of changes, and is quicker and simpler for all concerned. If the change is unrelated, or just 'independent' in the sense that it could be made separately without harm, then please do separate it. That way it won't be 'caught up' in a long discussion (and possible rejection) that has nothing to do with it.

Currently Under Discussion

There are topics for discussion that have got beyond a forum thread. Please feel free to contribute your design thoughts.

Testing Extensions

Take Virgo for a spin

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

Migration Notes

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.