Here, I am assuming the following scenario: You are out there somewhere on planet Earth with an Internet connection to SEUL server. You would like to contribute some content (such as HTML/CSS) files, the effects of which can be seen on the Website by everyone.

SEUL uses CVS to track all files revisions. So you will need to be passingly familiar with basic Linux shell commands and CVS. Refer to the resources at the end of this document to learn about BASH, SSH and CVS. Ofcourse, if you are contributing webpages, you will need to have an understanding of HTML too.

Here's how to go about it:

Step-1: Setting up a shell account and getting required the files:

  1. You need to get an account on cran.seul.org aka moria.seul.org (Which is the SEUL server). Contact Roger (arma@seul.org) for that. He will create an account and mail you the password.
  2. Once you get an account, you can use secure shell (ssh) to login to cran. Since there are plenty of people sniffing network packets for passwords, you must use only ssh for all your work when you login with your account-id. DO NOT USE TELNET or FTP to login to your account.
    More about ssh
    If you do not have ssh program, you can:
  3. Login with your name and password into cran using ssh. eg:
    ssh -v -l your_name cran.seul.org
  4. If this is your first session,
  5. ssh seul@belegost
  6. run ssh-keygen from your cran account. Hit enter when prompted for a passphrase (or provide a passphrase, if you know what you're doing and like extra security).
  7. send "arma@seul.org" a mail to copy your identity.pub over to seul@belegost so it will work.

Step-2:Get, Edit and Commit Files:

  1. Before you can modify anthing, you need to get your own version of the repository. The steps for that are: Before you start editing a file, you need to make sure that you're using the most up to date version of the file. To do this, type cvs update -d -P everytime before you start editing files.

    How do you locate the file you need? You can use 'find' command as follows:

    find . -exec grep -i "your_text_here" {} \; -print
    or if you know the filename but not where you put it:
    find . -name file_name.ext -print

    This command, with "your_text_here" being a phrase that you want to look for inside each file, will list each file that has that phrase, plus the other text on that line. But it's not perfect, because it won't find it when your phrase is split up into two lines, etc. The -i (for grep) means a case insensitive search.

    For instance, there's a lot of sdoc material in /pub/website/html/ in the repository. For the most part, you can guess where it should live in the repository, based on where you found it on the website. In particular, read the getting started file

  2. If you intend to copy the files to your machine and edit there, you can
    a)use scp or rsync to copy the required files to your PC eg:
    anand@falcon$ scp -prC cran.seul.org:~/work/website ~/seul/
    anand@falcon$ rsync -avxz -e ssh cran.seul.org:~/work/website ~/seul/
    b) Use ftp to do the same as follows:
  3. move the required files to a directory under /home/ftp/pub/seul/incoming/Logout of cran (ssh)
  4. Start your ftp program, connect to cran as user: anonymous, password:your_email_id
  5. Download all your files. Do all the changes in your local machine
  6. To upload the file into your directory securely via anonymous ftp:
  7. ssh seul@belegost from your cran account, and you will magically be logged into belegost server.
  8. Type the following (bold) text only:
  9. use the following command to commit the modified file to the repository:
    cvs commit -m "your_message_here" filename.html
  10. Ensure the permissions are correct on files you just updated. The permissions should be set to Read-Yes, Write/Execute-No
    (you'll likely want to do a chmod a+r on them)
    Note:The umask on seul@belegost is set for the cvs updates such that it makes them x00 rather than xxx. If somebody wants to fix this, by all means. :)


  1. ttssh (teraterm pro with ssh plugin) program doesn't support scp (secure copy, like ftp).
  2. If you're on seul-commits and you're doing stuff, but you're not on seul-pub-www, you should fix that by mailing majordomo@seul.org with body of
    subscribe seul-pub-www
  3. SDOC formatted documents: Originally, the website was designed to make use of .sdoc files as templates (which was designed for the website) to make it much easier to get a common layout for each page. On many pages, those little section headers you see to the right of the text are the result of
    tags. Things like that.

    Now, sdoc was a good idea, somewhere along the line. I don't think it's such a great idea currently. This means that if you want to do a webpage for seul, you either
    * make use of sdoc, use .sdoc as the suffix for your file, and cvs will handle it for you
    * use .html as your suffix, and sdoc never enters the picture.

    Why sdoc? : somebody else can decide what looks good, and even if they change their mind later as to how

    should actually look, my page doesn't need to be changed. On the other hand, if you want your page to look different, or you use an automatic html-generating program like hotdog, or any other reason you can think of, just ignore sdoc.

    CVS Information: Secure Shell (SSH) Information: