Я только начинаю в общественных проектах, но я дам вам несколько советов о том, что я знаю.
Как мне настроить и автоматизировать одношаговое API docs submit-test-commit-generate docs-push-обновление процесса веб-сайта?
Я никогда не реализовывал это как один процесс. Вы можете просто иметь контрольный список и, возможно, даже создать несколько сценариев для выполнения определенных задач. Я никогда не работал с любым источником контроля, который автоматизирует загрузку и тому подобное, что должно быть сделано с помощью сценария. Большую часть времени нужно взаимодействовать с сетью.
Вы не хотите выдвигать изменения API, пока он не станет официальным релизом.
РЕДАКТИРОВАТЬ: Рабочая среда
Для PHP большую часть времени я либо редактирую непосредственно на сервере и проверяю его там, используя beta.example.com или аналогичный, перед тем как перейти на example.com. Вы также можете настроить веб-среду на своем домашнем ПК (используя XAMPP для Windows или стандартную установку LAMP в Linux). Вы, вероятно, просто использовали бы здесь зеркало своего репозитория, поэтому вы должны сделать svn commit
, или в зависимости от того, что подходит для выбранной вами VCS или DVCS.
Самое интересное - это тестирование с разными версиями PHP. Я сам этого не делал, но вы, вероятно, могли бы использовать файл .htaccess для запуска другого двоичного файла PHP, чтобы проверить его. Я не совсем уверен, что лучший вариант для этого.
Я не так много сделал с API, так как никогда не создавал библиотеку, но просто выполняя быстрый поиск, я нашел http://www.phpdoc.org/. Это похоже на зрелый проект, так что это может быть отправной точкой.
Что касается создания релизов, я обычно создаю сценарий, который включает в себя только файлы, входящие в дистрибутив (он отфильтровывает любые файлы VCS и все, что вам не нужно в распределенном файле). Вы могли бы написать сценарий около find
для Linux (что я и делаю большую часть времени), или могут быть другие лучшие варианты.
Как я могу обрабатывать (технически) представления от других пользователей? Как я могу гарантировать, что эти материалы должны быть утверждены перед интеграцией?
Это в основном обрабатывается системой отслеживания ошибок и ограниченным доступом в системе контроля версий. Обычно вы и люди, которым вы разрешаете, можете присоединиться к VCS. Другие пользователи могут отправлять исправления, но тогда вы можете попросить кого-нибудь просмотреть исправление, протестировать исправление и зафиксировать его. Вы можете разделить эти задачи в команде или назначить патч для одного человека и сделать так, чтобы он делал все это.
Каких подводных камней можно избежать с точки зрения проектного сообщества? Я бы предпочел, чтобы это было как можно более дружелюбным и полезным без особой драмы.
Я бы просто постарался сохранить его как можно более позитивным для участников проекта и сообщества. Будут некоторые разногласия, и это оттолкнет нескольких человек, но пока у вас есть стабильный продукт, который отвечает потребностям большинства людей, я думаю, что это все, что каждый может ожидать.