Commit in projects/lcsim/trunk/site on MAIN | |||
TODO | +16 | -11 | 2855 -> 2856 |
pom.xml | +13 | -4 | 2855 -> 2856 |
rebuild.sh | +5 | added 2856 | |
src/site/apt/build.apt | +18 | -23 | 2855 -> 2856 |
/distribution.apt | +61 | added 2856 | |
/drivers.apt | +12 | added 2856 | |
/features.apt | +31 | added 2856 | |
/grid.apt | +89 | added 2856 | |
/maven-repo.apt | +83 | -3 | 2855 -> 2856 |
/project-structure.apt | +107 | added 2856 | |
/source-code.apt | +1 | -1 | 2855 -> 2856 |
src/site/site.xml | +23 | -7 | 2855 -> 2856 |
+459 | -49 |
updates and improvements to lcsim project website
--- projects/lcsim/trunk/site/TODO 2013-12-14 22:02:58 UTC (rev 2855) +++ projects/lcsim/trunk/site/TODO 2013-12-15 23:52:17 UTC (rev 2856) @@ -6,26 +6,31 @@
X lcsim Maven repository information
-explanation of Maven module structure
+X adding pom dependency to distribution
+X steering file usage; can point to the lcsim xml documentation page + +X list of Driver classes + +X instructions on running the software on the grid + +X explanation of project module structure +
software license news publications
-coding standards
+coding standards and Javadoc guidelines
-Eclipse instructions
+Eclipse project setup instructions
-Netbeans instructions
+Netbeans project setup instructions
-links e.g. to Confluence etc
+links page, such as ILC Confluence docs for further instruction and information
-instructions on running the software on the grid; should mostly be links to ILCDIRAC documentation
+description and links of other associated applications such as SLIC, PandoraPFA, slicPandora, LCFIVertexing (ick)
-steering file usage; can point to the lcsim xml documentation page - ----------------------------------------------------- - -see freehep/trunk/site/src/site/apt/*.apt for examples and java.freehep.org for the output
+JAS instructions such as explanation of ~/.JAS3/extensions, how to install, how to run drivers, basic event display usage (can point to wiki), +basic usage of event browser (also wiki)
--- projects/lcsim/trunk/site/pom.xml 2013-12-14 22:02:58 UTC (rev 2855) +++ projects/lcsim/trunk/site/pom.xml 2013-12-15 23:52:17 UTC (rev 2856) @@ -3,10 +3,9 @@
<modelVersion>4.0.0</modelVersion> <groupId>org.lcsim</groupId> <artifactId>lcsim-site</artifactId>
- <version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
- <name>LCSim Project Homepage</name> - <description>lcsim site</description>
+ <name>LCSim Project</name> + <description>Physics Event Reconstruction and Analysis in Java</description>
<scm> <connection>scm:svn:svn://svn.freehep.org/lcdet/projects/lcsim/trunk/site</connection> <developerConnection>scm:svn:svn://svn.freehep.org/lcdet/projects/lcsim/trunk/site</developerConnection>
@@ -76,17 +75,26 @@
<report>index</report> <report>issue-tracking</report> <report>mailing-list</report>
+<!--
<report>modules</report> <report>plugin-management</report> <report>plugins</report>
+-->
<report>project-team</report>
- <report>scm</report>
</reports> </reportSet> </reportSets> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId> + <version>2.16</version> + <configuration> + <aggregate>true</aggregate> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId> <version>2.9</version> <configuration>
@@ -127,6 +135,7 @@
<linkJavadoc>true</linkJavadoc> </configuration> </plugin>
+
</plugins> </reporting> </project>
--- projects/lcsim/trunk/site/rebuild.sh (rev 0) +++ projects/lcsim/trunk/site/rebuild.sh 2013-12-15 23:52:17 UTC (rev 2856) @@ -0,0 +1,5 @@
+#!/bin/sh +rm -rf /scratch/staging/* +#mvn site:site site:stage --non-recursive -DstagingDirectory=/scratch/staging/site/ +#mvn site:site site:deploy +mvn site:site site:stage -Djava.awt.headless=true -DstagingDirectory=/work/scratch/site
--- projects/lcsim/trunk/site/src/site/apt/build.apt 2013-12-14 22:02:58 UTC (rev 2855) +++ projects/lcsim/trunk/site/src/site/apt/build.apt 2013-12-15 23:52:17 UTC (rev 2856) @@ -6,23 +6,22 @@
* Prerequisites
- The following tools are required for building HPS Java software:
+ The following tools are required for building the software:
* {{{http://subversion.tigris.org/}Subversion}}
- This is the revision control system used by the experiment. - Unix and OSX machines should have this installed by default. - Windows users can install TortoiseSVN or the SVN command line tool.
+ This is a common revision control tool. Unix and OSX machines should have this installed by default. + Windows users may install {{{http://tortoisesvn.net/}TortoiseSVN}} or the SVN command line tool.
* {{{http://www.oracle.com/technetwork/java/javase/downloads/index.html}Java}} A valid JDK 1.7 installation is required for building and running the software.
- The commands java and javac must both work from the command line.
+ The commands "java" and "javac" must both work from the command line.
* {{{http://maven.apache.org/}Maven}} This is the build tool used to create a local installation of the Java software.
- Any 3.x.x version should work fine.
+ Any 3.x.x version of Maven should work fine for building LCSim.
[]
@@ -40,8 +39,8 @@
[]
- The instructions below which involve command line input assume a bash shell on Unix but those which don't involve Unix-specific - utilities will also work from a Windows command prompt.
+ The instructions below which involve command line input assume a bash shell on Unix, but those which don't use Unix-specific + utilities should also work from a Windows command prompt.
* Downloading
@@ -50,25 +49,27 @@
* Maven Overview LCSim projects are built using the Maven project management tool. It provides facilities for compiling Java source code,
- as well as downloading a project's dependencies from remote repositories, among other {{{http://maven.apache.org/maven-features.html}features}}.
+ as well as downloading a project's dependencies from remote repositories, among other + {{{http://maven.apache.org/maven-features.html}features}}.
* Installing Maven
- The command line 'mvn' tool can be installed by getting the latest release from the {{{http://maven.apache.org/download.cgi}download area}}.
+ The command line 'mvn' tool can be installed by getting the latest release from the {{{http://maven.apache.org/download.cgi}download area}} + using a web browser.
- Or you may fetch it directly from the command, e.g. using a wget command such as:
+ Or you may fetch it directly, e.g. using a wget command such as:
+-- wget http://mirror.cc.columbia.edu/pub/software/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz +--
- Once downloaded, untar the file into a directory on your system where you install local software:
+ Once downloaded, the file should be unpacked:
+-- tar -zxvf apache-maven-3.1.1-bin.tar.gz +--
- Now all that needs to be done is setting up your environment to find the command line tool:
+ The shell environment can be configured to find the command line tool:
+-- cd apache-maven-3.1.1/
@@ -76,19 +77,19 @@
export PATH=$MAVEN_HOME/bin:$PATH +--
- Finally, check that the command line client is accessible in your shell:
+ This command will check if the command line build tool is accessible in your shell:
+-- mvn -version +--
- This should print out the local configuration starting with a line like:
+ That command should output the local configuration to the terminal, starting with a line like:
+-- Apache Maven 3.1.1 +--
- Now you are ready to build LCSim on your system.
+ Once Maven is successfully installed, LCSim can be built locally.
* IDE Support
@@ -118,7 +119,7 @@
target/${artifactId}-${version}.jar +--
- For instance, suppose you have compiled a local copy of the tracking module, then its artifact will show up at:
+ For instance, suppose the tracking module was built; its artifact will be located at:
+-- target/lcsim-tracking-3.0-SNAPSHOT.jar
@@ -208,9 +209,3 @@
This will allow the LCSim repository to be used by all projects for resolving their dependencies. []
- -* Distribution Module - - TODO - -
\ No newline at end of file
--- projects/lcsim/trunk/site/src/site/apt/distribution.apt (rev 0) +++ projects/lcsim/trunk/site/src/site/apt/distribution.apt 2013-12-15 23:52:17 UTC (rev 2856) @@ -0,0 +1,61 @@
+ --- +LCSim - Distribution + --- + +Distribution + +* Dependency + + The distribution jar can be used to include all LCSim modules in your project. + + In order to depend on the distribution jar, include the following snippet in the dependencies + section of your pom.xml file. + ++-- +<dependency> + <groupId>org.lcsim</groupId> + <artifactId>lcsim-distribution</artifactId> + <version>3.0-SNAPSHOT</version> +<dependency> ++-- + + The Nexus repository described in the {{{maven-repo.html}Maven Repository}} section can be + used to see what versions of the distribution are available. + +* Downloading Distributions + + The distribution jar may also be downloaded and run from the command line, as it is self-contained. + + To find a distribution, go to the Nexus repository and type "lcsim-distribution" into the search box. + Then click on the {{{http://srs.slac.stanford.edu/nexus/service/local/artifact/maven/redirect?r=lcsim-maven2-snapshot&g=org.lcsim&a=lcsim-distribution&v=3.0-SNAPSHOT&e=jar&c=bin}bin jar}} link under the "Download" column. + +* Running the Bin JAR + + Once the distribution jar has been downloaded locally, it can be run as follows: + ++-- +java -jar lcsim-distribution-3.0-SNAPSHOT-bin.jar [arguments] ++-- + + To see what options are available for command line usage, simply run the command without any arguments. + The following help text should show: + ++-- +java -jar lcsim-bin.jar [options] steeringFile.xml +usage: + -D Define a variable with form [name]=[value] + -i Add an LCIO input file to process + -n Set the max number of events to process + -p Load a properties file containing variable definitions + -q Turn on quiet mode + -r Use a steering resource rather than a file + -s Set the number of events to skip + -v Turn on verbose mode + -w Rewrite the XML file with variables resolved + -x Perform a dry run which does not process events ++-- + +* Steering Files + + The {{{https://confluence.slac.stanford.edu/display/ilc/lcsim+xml}LCSim XML documentation}} shows how to create steering files + for running algorithms from the command line.
--- projects/lcsim/trunk/site/src/site/apt/drivers.apt (rev 0) +++ projects/lcsim/trunk/site/src/site/apt/drivers.apt 2013-12-15 23:52:17 UTC (rev 2856) @@ -0,0 +1,12 @@
+ --- +LCSim - Drivers + --- + +Drivers + + One of the most fundamental concepts in LCSim is the Driver, which is an algorithm that runs on event data. + Drivers may have child Drivers, so the entire algorithm structure is hierarchical. + + The {{{apidocs/org/lcsim/util/Driver.html}Driver API documentation}} shows all the classes that derive from + this class under the "Direct Known Subclasses" section. These may all be called from within LCSim steering + files.
--- projects/lcsim/trunk/site/src/site/apt/features.apt (rev 0) +++ projects/lcsim/trunk/site/src/site/apt/features.apt 2013-12-15 23:52:17 UTC (rev 2856) @@ -0,0 +1,31 @@
+ --- +LCSim - Features + --- + +Features + + LCSim has the following major features: + + * Physics event model including an abstract API and IO implementation using LCIO. + + * Driver framework for creating a hierarchical set of reconstruction and analysis algorithms. + + * Histogramming and Plotting using AIDA. + + * Calorimeter hit clustering. + + * Track finding and fitting with Seedtracker. + + * Detailed hierarchical detector and geometry description framework. + + * Batch processing using a flexible XML steering format. + + * Math utility library. + + * Vertexing with Billoir. + + * TRF track reconstruction framework. + + * HepRep output for binding to the Wired event display. + + * Plugin for JAS3 including an event browser, event display and binding to the record loop.
--- projects/lcsim/trunk/site/src/site/apt/grid.apt (rev 0) +++ projects/lcsim/trunk/site/src/site/apt/grid.apt 2013-12-15 23:52:17 UTC (rev 2856) @@ -0,0 +1,89 @@
+ --- +LCSim - Grid Usage + --- + +Grid Usage + + Because it is packaged as standalone, runnable bin jar, LCSim is easily adapted for grid usage. + +* ILCDIRAC + + The recommended way to run jobs with the application is using the {{{https://twiki.cern.ch/twiki/bin/view/CLIC/DiracUsage}ILCDIRAC}} + client, which wraps a suite of reconstruction and analysis tools with a structured Python API. + + + The {{{https://twiki.cern.ch/twiki/bin/view/CLIC/DiracForUsers}DIRAC for Users}} guide shows how to configure jobs under + the "LCSIM" section. + + The page {{{https://confluence.slac.stanford.edu/display/ilc/LCSim+Analysis+Jobs+on+the+Grid+with+DIRAC}LCSim Analysis Jobs on the Grid with DIRAC}} + on the SLAC Confluence Wiki gives a recipe for running a more complicated script. + +* Sample Script + + The LCSim application is activated with the {{{http://lcd-data.web.cern.ch/lcd-data/doc/ilcdiracdoc/ILCDIRAC.Workflow.Modules.LCSIMAnalysis-module.html}LCSIMAnalysis module}}. + + Below is a sample of how to use this class, which can be used as a starting point for writing your own scripts: + ++-- +#!/usr/bin/env python + +""" +Simple test job that runs a dummy lcsim job in ILCDIRAC. +""" + +# MUST call this first +from DIRAC.Core.Base import Script +Script.parseCommandLine() + +# imports +import sys +from ILCDIRAC.Interfaces.API.NewInterface.Applications import * +from ILCDIRAC.Interfaces.API.NewInterface.UserJob import * +from ILCDIRAC.Interfaces.API.DiracILC import * +from DIRAC.Resources.Catalog.FileCatalogClient import FileCatalogClient + +# job parameters +repositoryFile = 'myrepo.cfg' +outputSandbox = [ "*.log" ] +inputSandbox = [] +jobName = 'lcsim_test' +systemConfig = 'x86_64-slc5-gcc43-opt' +cpuLimit = 100000 +inputFile = '/ilc/user/j/jeremy/slic_test/slic.slcio' + +# lcsim config +lcsimVer = '3.0-SNAPSHOT' +nEvts = 1 +xmlFile = 'template.lcsim' + +# setup ILCDIRAC +dirac = DiracILC ( True , repositoryFile ) + +# configure lcsim +lcsim = LCSIM() +lcsim.setVersion( lcsimVer ) +lcsim.setNumberOfEvents( nEvts ) +lcsim.setSteeringFile( xmlFile ) + +# add lcsim to the job +job = UserJob() +result = job.append( lcsim ) +if not result['OK']: + print result['Message'] + sys.exit(2) + +# configure the job +job.setOutputSandbox ( outputSandbox ) +job.setInputSandbox ( inputSandbox ) +job.setCPUTime( cpuLimit ) +job.setName( jobName ) +job.setJobGroup( jobName ) +job.setSystemConfig ( systemConfig ) +job.setInputData( [ inputFile ] ) + +# submit job +job.submit ( dirac ) ++-- + + This is an example which only prints out the number of each event. The DIRAC Wiki contains all the information for setting + up and configuring your actual analysis jobs in Python.
--- projects/lcsim/trunk/site/src/site/apt/maven-repo.apt 2013-12-14 22:02:58 UTC (rev 2855) +++ projects/lcsim/trunk/site/src/site/apt/maven-repo.apt 2013-12-15 23:52:17 UTC (rev 2856) @@ -4,12 +4,42 @@
Maven Repository
+* Remote Repositories +
LCSim module artifacts such as jar files are deployed to a remote repository where they are
- publically available for download, either manually or via a dependency in a POM file.
+ publically available for download, either manually or via a dependency in a POM file. These repositories
+ have directory and file structures that allow Maven to find these dependencies when building dependent
+ projects.
+* Local Repository + + When building, Maven will cache artifacts from remote repositories into a local repository so that + it does not need to fetch them from the internet every time. By default, the location of the + local repository is <~/.m2/settings.xml> on Linux and OSX or the user home area on Windows. + + This location can be configured differently via the settings file at <~/.m2/settings.xml>: + ++-- +<settings> + ... + <localRepository>/path/to/local/repo/</localRepository> + ... +</settings> ++-- + + Or it may be set from the command line for an individual build, as follows: + ++-- +mvn -Dmaven.repo.local=/path/to/my/repo ++-- + + In fact, periodically removing and then rebuilding the local repository is a good idea, as it can + make clear any possible dependency problems that might be otherwise hidden. +
* Repository Information
- The following information can be put into the repositories section of your Maven project:
+ The following information can be put into the repositories section of your project's POM file
+ so that LCSim artifacts will be downloaded when found in the dependencies:
+-- <repository>
@@ -27,4 +57,54 @@
The {{{http://www.sonatype.org/nexus/}Sonatype Nexus}} application is used to manage the repository. To search for jars, go to the {{{http://srs.slac.stanford.edu/nexus/index.html}SLAC SRS Nexus Application}} and
- enter "lcsim" in the "Keyword Search" box, which will show the artifacts that are available.
\ No newline at end of file
+ enter "lcsim" in the "Keyword Search" box, which will show the artifacts that are available. + +* Snapshots + + Maven has the concept of the snapshot version, which is a rolling release that is subject to change over time. + There can be many remote snapshot versions, because they are deployed automatically by the continuous integration system. + + Artifacts of this type have long names including a unique identifer, such as: + ++-- +lcsim-distribution-3.0-20131214.221640-10-bin.jar ++-- + + It is easy to spot snapshot dependencies in POM files as these have "SNAPSHOT" in the name, for instance: + ++-- +<dependency> + <groupId>org.lcsim</groupId> + <artifactId>lcsim-distribution</artifactId> + <version>3.0-SNAPSHOT</version> +<dependency> ++-- + + When referenced in this way, the latest version of the snapshot will be pulled automatically from the remote repository, + or a copy will be used from the local repository if it has a more recent timestamp. + + Snapshot versions must be updated when releases are made, so after the "3.0" release is made, the snapshot version would + be changed to "3.1-SNAPSHOT" in anticipation of the "3.1" release. + +* Releases + + Release versions point to artifacts that usually do not change once deployed to the remote repository. + + These artifacts have short names including the release such as: + ++-- +lcsim-distribution-3.0-bin.jar ++-- + + A dependency on that release would look like this in a POM file: + ++-- +<dependency> + <groupId>org.lcsim</groupId> + <artifactId>lcsim-distribution</artifactId> + <version>3.0-SNAPSHOT</version> +<dependency> ++-- + + Depending on release versions has the benefit that a project will not be affected by changes in the HEAD copy of the dependency + which are usually deployed automatically to remote repositories.
--- projects/lcsim/trunk/site/src/site/apt/project-structure.apt (rev 0) +++ projects/lcsim/trunk/site/src/site/apt/project-structure.apt 2013-12-15 23:52:17 UTC (rev 2856) @@ -0,0 +1,107 @@
+ --- +LCSim - Project Structure + --- + +Project Structure + +* Modules + + LCSim is structured as a series of Maven modules whose artifacts are combined together into a runnable bin jar + and a plugin for the JAS3 framework. + + The current HEAD version or "trunk" of all modules can be found at this location: + ++-- +svn://svn.freehep.org/lcdet/projects/lcsim/trunk/ ++-- + + The top level POM that builds all the modules is found here: + ++-- +svn://svn.freehep.org/lcdet/projects/lcsim/trunk/pom.xml ++-- + + Every module in the project is referenced from that configuration, so Maven commands that are executed from the "trunk" directory + will actually operate on every module unless the "--non-recursive" option is used. + + This command run from "trunk" would build all the modules and execute the tests for them: + ++-- +mvn clean install ++-- + + Usually when bootstrapping the software, this is the only command that should need to be executed + to get a working local copy of the application. + +* Distribution + + The distribution module is responsible for packaging all the jars together into a standalone runnable jar. + It is referenced as a module in the primary POM described above so usually it does not need to be built + seperately. + + But when a local copy of one or more modules contains source code changes that are not in the SVN and therefore deployed to the remote repository + via snapshots, the distribution module should be rebuilt in order to make a copy of the runnable bin jar that will contain these changes. + + The distribution module is found here in SVN: + ++-- +svn://svn.freehep.org/lcdet/projects/lcsim/trunk/distribution ++-- + + The standard 'mvn install' command can be used to both make the runnable bin jar as well as install your changes for JAS3 to load when it starts. + +* Parent POM Files + + In order that each module need not include configuration information that is common to all of them, settings are kept in shared, parent POM files. + + Most modules depend on the "lcsim-parent" artifact by including a section in their POM file such as: + ++-- +<parent> + <groupId>org.lcsim</groupId> + <artifactId>lcsim-parent</artifactId> + <version>3.0-SNAPSHOT</version> + <relativePath>../parent/pom.xml</relativePath> +</parent> ++-- + + Should modules be checked out individually, the parent POM usually needs to be installed manually so that the module can load + its settings. + + The parent POM is located here: + ++-- +svn://svn.freehep.org/lcdet/projects/lcsim/trunk/parent ++-- + + Additionally, for technical reasons, the parent POM itself has its own parent which contains information for the website. This is + called "lcsim-site-parent" and it needs to be found by "lcsim-parent" when it builds. + + The site-parent is found here: + ++-- +svn://svn.freehep.org/lcdet/projects/lcsim/trunk/site-parent ++-- + + Both of these modules can be built using the standard 'mvn install' command, and if installing manually, e.g. outside a full build + of all modules, site-parent should be built before parent. + +* Website + + Most of the website configuration is found in this module: + ++-- +svn://svn.freehep.org/lcdet/projects/lcsim/trunk/site ++-- + + The site POM file has its own list of modules that are included in the website. (Some are not because they have no attached source code.) + This means that without the "--non-recursive" option, commands from the "site" directory will actually be run on each module as well + as site itself, to produce the full website including the top LCSim project page as well as module sub-pages. + + It is possible to build a complete local working copy of the site by executing a command such as this: + ++-- +mvn site:site site:stage -Djava.awt.headless=true -DstagingDirectory=/work/scratch/site ++-- + + Once this (rather long) build has completed, the URL "file:///work/scratch/site/index.html" should point to the top of the full LCSim website.
--- projects/lcsim/trunk/site/src/site/apt/source-code.apt 2013-12-14 22:02:58 UTC (rev 2855) +++ projects/lcsim/trunk/site/src/site/apt/source-code.apt 2013-12-15 23:52:17 UTC (rev 2856) @@ -100,4 +100,4 @@
+-- svn list svn://svn.freehep.org/lcdet/projects/lcsim/branches/ +--
-
\ No newline at end of file
+
--- projects/lcsim/trunk/site/src/site/site.xml 2013-12-14 22:02:58 UTC (rev 2855) +++ projects/lcsim/trunk/site/src/site/site.xml 2013-12-15 23:52:17 UTC (rev 2856) @@ -1,30 +1,46 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<project name="LCSim Project Homepage">
+<project name="LCSim Project">
<body> <menu name="General">
+ <item name="Home" href="index.html"/> + <item name="Site Map" href="sitemap.html"/>
<item name="Introduction" href="intro.html"/>
+ <item name="Features" href="features.html"/>
<item name="Users" href="users.html"/> <item name="Team" href="team-list.html"/> <item name="Mailing List" href="mail-lists.html"/> </menu>
- <menu name="For Users">
+ <menu name="Source Documentation"> + <item name="Javadoc" href="apidocs/index.html"/> + <item name="Test Javadoc" href="testapidocs/index.html"/> + <item name="Source Xref" href="xref/index.html"/> + <item name="Test Source Xref" href="xref-test/index.html"/> + </menu> + + <menu name="Project Information"> + <item name="Project Dependencies" href="dependency-convergence.html"/>
<item name="Bugs and Issues" href="issue-tracking.html"/>
+ <item name="Jira Report" href="jira-report.html"/>
</menu>
+ <menu name="For Users"> + <item name="Maven Repository" href="maven-repo.html"/> + <item name="Distribution" href="distribution.html" /> + <item name="Analysis Drivers" href="drivers.html" /> + <item name="Grid Usage" href="grid.html" /> + </menu> +
<menu name="For Developers"> <item name="Getting the Source Code" href="source-code.html"/> <item name="Building the Software" href="build.html"/>
- <item name="LCSim Maven Repository" href="maven-repo.html"/>
+ <item name="Project Structure" href="project-structure.html"/>
<item name="Continuous Integration" href="integration.html"/>
+ <item name="Surefire Test Report" href="surefire-report.html"/>
</menu>
-<!-- - <menu ref="reports"/> ---> -
</body> </project>
Use REPLY-ALL to reply to list
To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1