Update system
Вот занимаюсь созданием универсальной системы обновления.
Как она устроена:
Сервер:
/ root directory
- /config – папка с конфигами сервера.
- /config.php – Конфиг будет рассмотрен дальше
- /headRevision – В этом файле хранится номер ревизии, которую система будет считать за главную.
- /core – папка с классами упдатера
- /revisions - папка в которой будут храниться ваши ревизии
Так как мы храним все ревизии, то соответственно можем получить любую из существующих, по умолчанию работа происходит с Head Revision.
В папке ревизии (путь: /revisions/your_revision) находится файл ignoreFiles, который содержит список файлов (разделенных \n) игнорируемых при обновлении.
Так же сервер может находится в разных режимах работы:
- ajax – в этом режиме сервер будет отдавать большие файлы кусками.
- normal – в этом режиме отдача файла происходит целиком.
Можно регулировать вид в котором происходит отдача обновления, это либо архив, либо по файлово.
Статус сервера: в стадии разработки.
Клиент:
В принципе от клиента лишь требуется папка хранения обновлений, а так же ревизия до которой мы хотим обновиться или откатится.
У клиента есть свой собственный файл ignoreFiles который позволяет игнорировать какие-либо измененные вами файлы.
Статус клиент: в стадии разработки.
P.S. Если у вас есть пожелания и предложения, то пишите не стесняйтесь.
Это что-то вроде системы контроля версий что ли ?
Ну до системы контроля версий далековато конечно, ну в принципе можно будет попробовать собрать что-то подобное. Пока это просто система обновлений.