Участвуйте!

Вебмастерам

Команда вебмастеров разрабатывает и поддерживает сайты ЕФСПО, начиная с fsfe.org и заканчивая сайтами проектов и кампаний. Вебмастеры — это добровольцы, которые улучшают «лицо» организации и совершенствуют техническую составляющую деятельности фонда в Интернете.

Познакомьтесь с нами, познакомьтесь с сайтом

Если вы хотите получить представление о том, в чем состоит работа над сайтом ЕФСПО, лучше всего прийти и побеседовать с нами. Некоторые вебмастеры регулярно присутствуют на канале #fsfe, где мы будем счастливы встретить вас и ответить на ваши вопросы! Чтобы взглянуть на список тех, кто работает над сайтом и вообще кто работает с ЕФСПО, посетите страницу нашей команды.

Ваши координаторы по сайту, Николас Джин и Андреас Тольф Тольфстен.

Введение

Техника и программы, которые используются для поддержки сайта ЕФСПО, хорошо знакомы многим разработчикам и авторам и могут представлять интерес для тех, кому они еще не известны.

Переводчики и другие добровольцы в своей работе, скорее всего, столкнутся только с

  • XHTML, из которых генерируются страницы.
  • Subversion, для управления версиями исходных текстов страниц.
  • Trac, для управления доступом, отслеживания проблем и связанных с этим служб.

Добровольцы, заинтересованные в более глубоком ознакомлении с процедурами поддержки, должны также быть знакомы с

  • Perl, для поддержки и программ генерации страниц.
  • Apache, в качестве веб-сервера.

Как воспроизводятся страницы сайта

Страницы сайта fsfe.org хранятся в виде набора файлов XML, из которых сервер каждые десять минут автоматически создает страницы HTML. Таким образом, редактируются только файлы XML, а страницы HTML никогда напрямую не редактируются.

Каждая страница fsfe.org называется по схеме название_страницы.язык.html, где язык является двухбуквенным кодом языка по ISO-639, например, «en» — английский, «de» — немецкий. Названия исходных файлов состоят из название_страницы.язык.xhtml.

На некоторых страницах есть динамическая часть: помимо фиксированного текста из файла XHTML, они содержат информацию из одного или нескольких файлов XML. При их генерации система берет переведенный файл XML, когда тот доступен, или обращается к английской версии тех файлов XML, которые еще не переведены. Таким образом на сайте могут возникать страницы, часть которые переведена, а часть показана на английском. Примеры таких страниц с динамическими вставками: домашняя страница, страница новостей и страница событий.

Получение доступа к страницам

Исходные файлы страниц хранятся в репозитории subversion, размещенном на сервере ЕФСПО. Другие функции доступны через систему Trac.

Получить доступ к этим инструментам можно следующим образом:

  • Если вы член Содружества ЕФСПО, у вас уже есть доступ для чтения, нужно лишь войти со своим обычным именем и паролем.

  • Если вы не являетесь членом Содружества, вы можете зарегистрироваться в качестве гостя. Таким образом вы получите доступ для чтения в репозитории (обратите внимание, что к имени пользователя, выбранного вами, спереди будет добавлено guest-).

Чтобы получить доступ на запись к репозиторию, вики системы Trac и системы обработки заявок, напишите об этом по адресу system-hackers@fsfeurope.org (члены административной команды ЕФСПО по умолчанию имеют доступ для записи).

Создание рабочих копий ветви SVN

В репозитории Subversion есть две основных ветви сайта ЕФСПО: trunk, для главной версии сайта http://fsfe.org/, и test, для тестовой версии сайта http://test.fsfe.org/.

Для повседневной работы, например, добавления новостей и новых переводов (или даже для внесения небольших изменений в сайт), нужно работать с ветвью trunk:

svn --username ВАШЕ_ИМЯ co https://svn.fsfe.org/fsfe-web/trunk

Большие изменения в сайте, включая отладку новых особенностей, которые могут нарушить его нормальную работу, лучше предварительно испытывать на ветви test:

svn --username ВАШЕ_ИМЯ co https://svn.fsfe.org/fsfe-web/branches/test

Обратите внимание, что полная рабочая копия займет около 160 Мб. Если вы хотите работать над определенной частью сайта, можно извлечь только ее. Вы можете просмотреть дерево SVN и узнать, что вас интересует.

Чтобы получить рабочую копию страниц Дня свободы документов, воспользуйтесь командой:

svn --username ВАШЕ_ИМЯ co https://svn.fsfe.org/df-web/trunk

Работа с репозиторием

В Subversion подстановка ключевых слов должна включаться явным образом для каждого файла. Поскольку некоторые ключевые слова используются в файлах .xml и .xhtml (например, ключевое слово $Author$ в нижнем колонтитуле страницы), вам следует настроить автоматическую замену ключевых слов, добавив следующий текст в свой файл ~/.subversion/config:

enable-auto-props = yes

[auto-props]
*.xml = svn:keywords=Date Author Id Revision;svn:mime-type=text/xml;svn:eol-style=native
*.xhtml = svn:keywords=Date Author Id Revision;svn:mime-type=text/xhtml;svn:eol-style=native
    

После создания рабочей копии необходимо выполнять

$ svn update

каждый раз перед работой над конкретным файлом.

Если вы хотите добавить в репозиторий новые файлы или каталоги, нужно выполнить

$ svn add имя_файла

Чтобы включить подстановку ключевых слов для нового файла, выполните

$ svn propset svn:keywords "Date Author Id Revision" имя_файла

Для того, чтобы занести свои изменения на сервер, будь то новый или измененный файл, выполните

$ svn commit имя_файла

Откроется редактор, который у вас установлен по умолчанию, чтобы вы могли добавить описание своих изменений.

Если вы знакомы с программой CVS, вы легко разберетесь в SVN, как вы заметили, основные команды очень похожи. О различиях между CVS и SVN можно почесть на странице Subversion для пользователей CVS, а сравнение команд CVS и SVN представлено в Руководстве по переходу с CVS на SVN.

Загрузить подробное руководство по SVN можно на странице Subversion book (ЕФСПО использует SVN версии 1.5).

Средства координации

Работа над страницами сайта координируется через список рассылки для вебмастеров.

Система Trac предоставляет ряд средств для координации: просмотр репозитория SVN, систему отслеживания задач и вики.

Более подробная информация о системе Trac опубликована в виде Руководства на странице вики.

Если вы хотите отслеживать все изменения в исходных текстах страниц, вы можете также подписаться на список рассылки уведомлений об изменениях, и вы будете получать сообщение о каждом изменении, внесенном в дерево исходных текстов.

Доступ для записи и ответственность

Если у вас есть доступ на запись, подпишитесь на список рассылки для вебмастеров.

Имейте в виду, что все изменения, которые вы внесете, вступят в силу и станут видны автоматически, без каких бы то ни было дальнейших действий с чьей-либо стороны. Поэтому есть несколько вещей, которые мы просим вас делать каждый раз при внесении изменений или добавлении новых файлов в репозиторий:

  • ЕФСПО несет ответственность за содержание страниц. Не публикуйте изменения, которые могут исказить значение текста, без одобрения членов ассоциации ЕФСПО. (Это не обязательно для переводов уже существующих текстов.)

  • Если вы размещаете переводы, старайтесь всегда отдавать текст на проверку при наличии такой возможности. Подпишитесь на список рассылки для переводчиков, чтобы просить о проверке. Желательно также всегда пользоваться автоматическими средствами проверки орфографии, например, GNU aspell, ispell или любыми другими. Если у вас Debian GNU/Linux, просто установите пакеты aspell и aspell-XX (где "XX" код вашего языка) и выполните команду

    aspell -H -d язык -c file.xhtml
    

    где «язык» — название словаря языка; -d — можно опустить, если региональные настройки UNIX совпадают с языком словаря.

  • Убедитесь, что все файлы представляют правильный XML. По умолчанию сервер SVN проверяет синтаксис файлов XML с расширением .xml и .xhtml и отменяет изменения, если обнаружит ошибки. Чтобы избежать этого, вы можете проверять свои файлы перед загрузкой одним из перечисленных ниже способов.

    С помощью сценария /trunk/tools/validate.pl. Он найдет ошибки в разметке, которые могут вывести из строя автоматическое обновление страниц на сайте ЕФСПО. Если у вас сложилось впечатление, что процесс создания страниц нарушен, посмотрите журнал последней генерации на странице состояния сервера.

    Для сценария validate.pl нужен модуль Perl XML::LibXML. Если он не установлен, можно проверить файлы с помощью любой другой программы проверки XML. Например, можно использовать программу xmllint, запускаемую из командной строки, входящую в состав пакета libxml2.

    Если вы используете операционную систему Debian GNU/Linux, установите пакет libxml2-utils; выполните команду

    xmllint --noout файл.xhtml

    где файл — имя файла, который вы хотите проверить, и следите за возможными сообщениями об ошибках.

  • Убедитесь, что кодировка файла соответствует содержимому атрибута «encoding», объявленному в первой строке файла. Например, если файл записан в кодировке «iso-8859-1» (известной также как «latin-1»), то в первой строке должно быть написано:

    <?xml version="1.0" encoding="iso-8859-1" ?>

    Другая допустимая кодировка — «UTF-8». Изменить кодировку файла можно с помощью стандартной программы iconv следующим образом (пример преобразует кодировку из «latin-1» в «UTF-8»):

    iconv -f LATIN1 -t UTF8 inputfile > outputfile

Координируйте, пожалуйста, свои действия с другими добровольцами, у которых тоже есть доступ на запись, чтобы переводы и исправления файлов, присланные людьми без доступа на запись, можно было заносить после проверки. И конечно же, проверяйте эти файлы перед тем, как заносить их в репозиторий, как вы проверяете свои собственные файлы.

Лицензирование исходного текста

Каждый раз, когда вы вводите на сайте новую серверную программу (т.е. на PHP или Perl) или программу на JavaScript, убедитесь, пожалуйста, что вы соблюдаете наши правила лицензирования, а именно:

  • Когда вы пишете программы от имени ЕФСПО, будьте любезны поместить их под AGPLv3+ (то есть AGPL 3.0 с добавлением «или любой более поздней версии»).
  • Когда вводите программы со стороны, будьте любезны убедиться, что они распространяются по лицензиям свободных программ, перечисленных на http://www.gnu.org/licenses/license-list.html
  • Когда вы пишете программы для ЕФСПО (но вы не сотрудник ЕФСПО), мы предпочли бы получить программу, лицензированную на условиях AGPLv3+, GPLv3+, Apache 2.0 или CC0; распространение программы по одной из лицензий свободных программ обязательно для эксплуатации этой программы фондом.

Использование лицензированных материалов

Если вы воспользовались изображениями или другими материалами, которые были лицензированы с помощью лицензии Creative Commons или другой лицензии, вы можете гарантировать, что сведения о лицензии отображаются верно, добавляя их в конец документа перед </html>. Вот три примера:


<legal type="cc-license">
  <license>https://creativecommons.org/licenses/by-sa/3.0/</license>
  <notice>This work is published under the Creative Commons BY-SA 3.0 Unported license by John Doe</notice>
</legal>


<legal>
  <license>http://www.gnu.org/licenses/fdl-1.3.txt</license>
  <notice>This page is published under the GNU Free Documentation License 1.3 or later</notice>
</legal>

<legal>
  <notice>This work is published undere the CC-BY-SA 3.0 Unported license or the <a href="http://artlibre.org/">Licence Art Libre 1.3</a> at your option, etc.</notice>
</legal>


    

Другие сайты ЕФСПО

Кроме главного сайта fsfe.org, добровльцы приглашаются к работе над другими сайтами ЕФСПО и Содружества; более подробные сведения об этом можно найти в вики ЕФСПО.