326 lines
12 KiB
HTML
326 lines
12 KiB
HTML
<?xml version="1.0" encoding="utf-8" ?>
|
|
|
|
<html>
|
|
<head>
|
|
<title>
|
|
FSFE - Contribute - Information for Webmasters
|
|
</title>
|
|
</head>
|
|
|
|
<body>
|
|
<h1>Information for Webmasters</h1>
|
|
|
|
<h2>Introduction</h2>
|
|
|
|
<p>
|
|
The technologies and programs used to maintain the FSFE web page
|
|
should already be familiar to many developers and authors and might be of
|
|
interest to those that have not yet discovered them.
|
|
</p>
|
|
|
|
<p>
|
|
Translators and occasional volunteers will most likely only get in touch
|
|
with
|
|
</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<a href="http://savannah.gnu.org" target="_blank">Savannah</a> -- for
|
|
CVS (see below) services and access permission management
|
|
</li>
|
|
<li>
|
|
<a href="http://www.w3.org/MarkUp/" target="_blank">XHTML</a> -- from
|
|
which the static pages are generated every 5 minutes
|
|
</li>
|
|
<li>
|
|
<a href="http://www.cvshome.org" target="_blank">Concurrent Version
|
|
System (CVS)</a> -- for co-ordination and synchronisation
|
|
</li>
|
|
</ul>
|
|
|
|
<p>
|
|
Volunteers interested in getting deeper into the maintenance should also
|
|
be familiar with
|
|
</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<a href="http://www.perl.org" target="_blank">Perl</a> -- for the
|
|
maintenance and page creation scripts
|
|
</li>
|
|
<li>
|
|
<a href="http://www.apache.org" target="_blank">Apache</a> -- as the
|
|
web server
|
|
</li>
|
|
</ul>
|
|
|
|
<h2>Understanding how the web pages are built</h2>
|
|
|
|
<p>
|
|
The web pages of www.fsfeurope.org are maintaned as a set of XML files.
|
|
The web server generates the HTML pages from these XML files
|
|
automatically every five minutes. Consequently, all editing of the pages is
|
|
done in the XML files, and the HTML is never edited directly.
|
|
</p>
|
|
|
|
<p>
|
|
Every page on www.fsfeurope.org is named
|
|
"<i>pagename</i>.<i>language</i>.html" (<i>language</i> being the
|
|
2-letter iso-639 code of the language, like "en" for English or "de" for
|
|
German). The source files are named
|
|
"<i>pagename</i>.<i>language</i>.xhtml".<br />
|
|
Some pages have a dynamic part: apart from the fixed texts taken from the
|
|
.xhtml file, they include information from one or several .xml files.
|
|
Whenever such a page is built, the build system takes the translated .xml
|
|
files where available, and falls back to the English version of those
|
|
.xml files that have not yet been translated. This way, such pages
|
|
can end up with parts of the text being translated and other parts still
|
|
showing in English. Examples of such pages include the
|
|
<a href="/index.html">start page</a>, the
|
|
<a href="/news/news.html">news page</a>, and the
|
|
<a href="/events/events.html">events page</a>.
|
|
</p>
|
|
|
|
<h2>Registering at savannah</h2>
|
|
|
|
<p>
|
|
The source files for the web pages are stored on
|
|
<a href="http://savannah.gnu.org/">Savannah</a>, a server hosted by the
|
|
Free Software Foundation, our sister organisation in North America. To
|
|
get write access to these files, you can create an account on that
|
|
server.
|
|
</p>
|
|
|
|
<h3>Registering a new account</h3>
|
|
|
|
<p>
|
|
Follow
|
|
<a href="https://savannah.gnu.org/account/register.php">this link</a> to
|
|
register a new account. Choose a login name, a password, fill in your
|
|
real name and your e-mail address and click on the "Submit" button.
|
|
</p>
|
|
|
|
<p>
|
|
Now you will now receive a email from savannah. In order to complete your
|
|
registration, visit the URL mentionend there. Accounts not confirmed
|
|
after two days are deleted from the database.
|
|
</p>
|
|
|
|
<p>
|
|
After confirming your account, you can log in at
|
|
<a href="https://savannah.gnu.org/">https://savannah.gnu.org</a> with
|
|
your login name and your password.
|
|
</p>
|
|
|
|
<h3>Creating an SSH key</h3>
|
|
|
|
<p>
|
|
While you can use the password to log into the web portal on Savannah,
|
|
you have to register an SSH key to get CVS access. This has to be done on
|
|
every machine from where you will access the CVS repository.
|
|
</p>
|
|
|
|
<p>
|
|
To create and register an SSH key, please follow the
|
|
<a href="https://savannah.gnu.org/faq/?group_id=5802&question=User_Account_-_How_do_I_configure_my_SSH_access.txt">instructions
|
|
given in the Savannah FAQ</a>.
|
|
</p>
|
|
|
|
<h3>Joining the FSFE project</h3>
|
|
|
|
<p>
|
|
There are a lot of projects hosted on Savannah, and CVS access is granted
|
|
on a per-project basis. To get access to the FSFE web page source files,
|
|
you have to become a member of the FSFE project.
|
|
</p>
|
|
|
|
<p>
|
|
Choose "Group Membership" in the top tabs. Now you can enter "FSFE" into
|
|
the search box of "Request for Inclusion", activate the FSF Europe check
|
|
box and enter a comment.
|
|
</p>
|
|
|
|
<p>
|
|
The administrators of the FSFE project will then get a mail with your
|
|
request and the comment you gave and can approve your membership in the
|
|
project. After that you should see "FSF Europe" in the "Groups I'm
|
|
Contributor of" after you login at savannah.
|
|
</p>
|
|
|
|
<h3>Checking out the repository initially</h3>
|
|
|
|
<p>
|
|
First you should make sure that your ~/.bashrc file contains a line
|
|
saying<br />
|
|
<code>export CVS_RSH=ssh</code><br />
|
|
then create a directory for the repository and execute<br />
|
|
<code>$ cvs -z3 -d <i>username</i>@cvs.savannah.gnu.org:/web/fsfe co
|
|
.</code><br />
|
|
in that directory. Now you are asked for your SSH passphrase. Enter it
|
|
and confirm. If everything is alright, now the website should be checked
|
|
out.
|
|
</p>
|
|
|
|
<h2>Working with the repository</h2>
|
|
|
|
<p>
|
|
After you checked out the repository the first time, you should
|
|
execute<br />
|
|
<code>$ cvs update -d</code><br />
|
|
in the fsfe directory every time before you work on a specific file.
|
|
</p>
|
|
|
|
<p>
|
|
If you want to add new files to the repository you have to execute<br />
|
|
<code>$ cvs add <i>filename</i></code><br />
|
|
</p>
|
|
|
|
<p>
|
|
To post your changes to the server, no matter be it a new file or a
|
|
modification in an existing file, execute<br />
|
|
<code>$ cvs commit <i>filename</i></code><br />
|
|
and an editor will open to allow for some description of your changes.
|
|
</p>
|
|
|
|
<p>
|
|
You can download a detailed manual for CVS at the
|
|
<a href="http://www.nongnu.org/cvs/">CVS home page</a>.
|
|
</p>
|
|
|
|
<p>
|
|
If you want to keep track with all commits that are done to the web page
|
|
sources, you can subscribe to the
|
|
<a href="http://mail.fsfeurope.org/mailman/listinfo/web-cvs-notify">CVS
|
|
notification mailing list</a> and you will get a mail for every change
|
|
posted to the source tree.
|
|
</p>
|
|
|
|
<h2>Responsible handling of write access</h2>
|
|
|
|
<p>
|
|
If you have write access to the web pages, please subscribe to the
|
|
<a href="http://mail.fsfeurope.org/mailman/listinfo/web">Webmasters
|
|
mailing list</a>.
|
|
</p>
|
|
|
|
<p>
|
|
Please bear in mind that all your changes will become effective and
|
|
visible automatically, without any further action of anybody.
|
|
Consequently, there are a few things we would request you to do whenever
|
|
you commit changes or new files:
|
|
</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>
|
|
The FSFE holds responsible for the content of the web pages. Please
|
|
do not commit modifications that change the meaning of the text
|
|
without approval from a
|
|
<a href="/about/members.html">core team member of the FSFE</a>.
|
|
(This is not necessary for translations of already existing content)
|
|
</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>
|
|
If you are posting translations, and there is any chance that others
|
|
can proofread it, use that chance. You can use the
|
|
<a href="http://mail.fsfeurope.org/mailman/listinfo/translators">Translators
|
|
mailing list</a> to ask for proofreading. Whether you are translating
|
|
files or proofreading them, you are encouraged to spell-check files
|
|
using some automated tools, such as GNU aspell, ispell, or your
|
|
favourite spell-checker. For example, to use
|
|
<a href="http://aspell.net/">GNU aspell</a> on a Debian GNU/Linux
|
|
system, just install the packages <code>aspell</code> and
|
|
<code>aspell-XX</code> (where "XX" is your language code), then run
|
|
the command
|
|
<pre>aspell -H -d language -c file.xhtml</pre>
|
|
(where "language" is the name of the dictionary for your language;
|
|
the <code>-d</code> option can be omitted if your UNIX locale is the
|
|
same as the language of the dictionary).
|
|
</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>
|
|
Make sure that all files are proper XML. There is a script named
|
|
<code>tools/validate.pl</code> that helps finding errors in the
|
|
markup. Improper XML breaks the automatic build process of the web
|
|
pages and blocks updates for the complete FSFE web site. If you
|
|
suspect the build process to be broken, you can view the log of the
|
|
last build run <a href="http://status.fsfeurope.org/web/">here</a>.
|
|
</p>
|
|
|
|
<p>
|
|
The <code>validate.pl</code> script requires the
|
|
<code>XML::LibXML</code> Perl module; if this is not installed on
|
|
your system, you can validate files using your favourite XML
|
|
validator. For example you can use the command line
|
|
<code>xmllint</code> utility from the
|
|
<a href="http://xmlsoft.org/">libxml2 project</a> (if you are using
|
|
the Debian GNU/Linux distribution, install the
|
|
<code>libxml2-utils</code> package); run the command
|
|
<pre>xmllint --noout file.xhtml</pre>
|
|
and watch for possible error messages.
|
|
</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>
|
|
Make sure the encoding of the file is consistent with the content of
|
|
the "encoding" attribute declared in the first line of the file. For
|
|
example, if your file is encoded as "iso-8859-1" (also known as
|
|
"latin-1" encoding), the first line of the file should read
|
|
<pre><?xml version="1.0" encoding="iso-8859-1" ?></pre>
|
|
Another valid encoding is the unicode, or "UTF-8" encoding. If you
|
|
want to change the encoding of a file, you can use the standard
|
|
<code>iconv</code> utility, as in the following example (which
|
|
converts a file from the "latin1" to the "utf-8" encoding):
|
|
<pre>iconv -f LATIN1 -t UTF8 inputfile > outputfile</pre>
|
|
</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<p>
|
|
Please coordinate with other people who also have CVS commit access to
|
|
make sure that translations and fixes contributed by people without
|
|
commit access are committed properly after they have been proofread. Of
|
|
course, please check these files before you commit them like you check
|
|
your own files.
|
|
</p>
|
|
|
|
<h2>Further information</h2>
|
|
|
|
<p>
|
|
Given that the FSFE web page has a European/global level and
|
|
user-chosen local levels that supplement them for information that is
|
|
country-specific, the layout has a certain complexity that is hidden
|
|
entirely from the user of the page.
|
|
</p>
|
|
|
|
<p>
|
|
Unless you only wish to translate pages (see below), please make sure you
|
|
have taken a look at the
|
|
<a href="Webpage-Structure.txt" target="_blank">structural
|
|
reference</a>.
|
|
</p>
|
|
|
|
<p>
|
|
Also, there is a
|
|
<a href="http://www.texinfo.org" target="_blank">Texinfo</a>
|
|
documentation file
|
|
"<a href="/README.texi" target="_blank">Webmastering FSF Europe</a>" by
|
|
<a href="mailto:oberg@fsfeurope.org">Jonas Öberg</a>, who implemented
|
|
the build system for the page. Please read it to know more about how the
|
|
web pages works.
|
|
</p>
|
|
</body>
|
|
|
|
<timestamp>$Date$ $Author$</timestamp>
|
|
</html>
|
|
<!--
|
|
Local Variables: ***
|
|
mode: xml ***
|
|
End: ***
|
|
-->
|