This document tries to provide the information necessary for an individual to run the JVCL project. The purpose of this document is to ease the way for new admins and to remind current admins about the tasks might they have to perform to make things in JVCL run smoothly and also to remind them on how these tasks are most easily performed.
Additionally, this document lists common practices used today within the JVCL to complete these tasks.
All passwords and sensitive URLs are passed from one admin to the next via private, secured channels.
Here's some of the more common tasks an admin might perform:
Promotes the project whenever and however he can.
The web site is currently hosted on a Borland server. The server location and username/password needed to upload files are only available to admins. The website files are available in CVS (currently in dev/website/JVCL3) and should match the content on the home page.
Sourceforge provides us with space on their servers as well. The project can be accessed using SSH Secure Shell (http://www.ssh.com) using the following settings:
|Username||<your sourceforge username>|
The project web space currently contains the script to create the daily zips, a redirect to the new site URL, a copy of the active CVS (used by the daily zip script), a redirection to the current location of Mantis and some help related zip files.
The daily zip files at http://jvcl.sf.net/daily are generated by a shell script in the sourceforge project web space (see above). The current script is located in /home/groups/j/jv/jvcl/bin and is named postnew.sh. The zip files are created automatically by a crontab job running once a day. When an admin takes over the script maintenance, he also needs to install it in his own crontab to make sure it runs. For more info on crontab and how to use it, see the man page in Linux.
Admins handles adding and removing developers as well as handling their permissions to various parts of the project. An admin should make sure that the people having developer status also are reasonably active within the project. If it is discovered or suspected that a developer is doing something dangerous or detrimental to the JVCL project (like removing files or making strange changes), he should be removed immediately. A discussion with the developer can then be initiated and, if a resolution is found, the developer can maybe be added again.
The GIT repository can be access by anyone having developer access. An admins main responsibility in GIT is to add and remove folder structures when needed and generally keep GIT clean. Problems with GIT that cannot be resolved by the admin, should be reported to GITHub for resolution (stale locks, file recasing, etc).
One of the most important tasks for an admin is making sure the releases are created and uploaded. In JVCL3, the release mechanism has been greatly simplified thanks to the use of want (a commandline script tool).
To prepare and create a release, an admin needs to perform the following tasks:
Run the want script in jvcl/install/release from a command prompt to create the releases. To see available options, use "want help" and follow indications in readme.txt.
Once the zip files have been created, upload them to sourceforge's sftp folder (/ incoming).
Go to the sf project page, log in as an admin and create a new release in the release system.
Add the uploaded files to the release as required.
Post update announcements to all mailing lists, newsgroups and magazines as listed in jvcl/install/release/announce.txt (and any others you can come up with).
Admins should have admin access to the bug tracker (contact one of the current Mantis admins if you are a JVCL admin and don't have admin access to Mantis). As an admin, you should clean up the users list from time to time and also close old bugs that are either resolved or have been inactive for a long time.
An admin that is also a member of JEDI Steering, should participate in the discussions on the JEDI Steering mailing list as much as needed. JEDI Steering is, despite it's name, not steering the JVCL or any other JEDI project. Instead, Steering is a forum for JEDI project admins to discuss and decide on matters that affects all JEDI groups. Active JEDI projects should have at least one representative in JEDI Steering.