Выпуск Seafile 3.1, Dropbox-подобного сервера хранения на основе технологий Git
Представлен релиз Seafile 3.1, открытой платформы для создания сервиса облачного хранения данных, организации совместной работы и синхронизации информации. В отличие от таких сервисов как Dropbox, Seafile обеспечивает возможность развёртывания облачного хранилища на собственном подконтрольном оборудовании с использованием для хранения данных технологии Git. Помимо базовых функций хранения на удалённом сервере и обеспечения синхронизации данных между компьютерами, Seafile предоставляет гибкие возможности по организации совместной работы с контентом. Код проекта написан на языке Python и распространяется под лицензией GPLv3, для хранения метаданных может применяться SQLite или MySQL. Кроме серверной части, параллельно развиваются десктоп-клиент для синхронизации файлов, web-интерфейс SeaHub и мобильные клиенты Seadroid и Seafile-iOS для платформ Android и iOS. Готовые бинарные сборки клиентской части сформированы для Ubuntu, Windows, OS X, Android и iOS. Сборки сервера доступны для Debian, Ubuntu, CentOS/RHEL, Raspberry Pi и Windows.
Ключевые новшества Seafile 3.1:
Переработан протокол синхронизации. Новая реализация без проблем позволяет синхронизировать библиотеки, содержащие десятки тысяч файлов. В прошлых выпусках синхронизация требовала выполнения большого числа операций сканирования файлов на диске и наличия локального кэша большого размера (кэш чистился только после завершения работы клиента). Теперь вместо операций сканирования используются средства нотификации ОС об изменении файлов. Внедрение механизма автоматической чистки кэша после завершения синхронизации позволило существенно сократить занимаемое кэшом дисковое пространство. Для ускорения загрузки больших директорий внедрена поддержка пакетной передачи в несколько потоков. Улучшения в web-интерфейсе: Реализована поддержка удаления персональных сообщений; Улучшена реализация системы вывода уведомлений (наличие уведомлений проверяется каждые 30 секунд); Обновлена версия PDF-просмотрщика pdf.js; Добавлена возможность установки пароля для контента, открытого для совместного доступа; Для администратора обеспечена возможность заведения группы пользователей через загрузку CSV-файла с их параметрами; Обеспечена поддержка сортировки вывода элементов библиотеки по имени и дате; Предоставлена возможность прикрепления дополнительного сообщения при отправке ссылки для совместного доступа; В десктоп-клиенте добавлена возможность пометки файлов, просмотра истории операций и получения уведомлений о непрочитанных сообщениях; Добавлены средства для ротации логов. На уровне хранения данных библиотеки представлены в форме, напоминающей Git-репозитории. Данная особенность даёт возможность использования версионного контроля, в том числе поддержку доступа к прошлым редакциям хранимого контента, возможность отследить все внесённые изменения (кто, когда и что менял), вернуть прошлое состояние файла или восстановить случайно удалённый файл. Для обеспечения конфиденциальности данных поддерживается шифрование на стадии до отправки информации на сервер (администрация сервера не сможет просмотреть содержимое, не зная пароля). Передача данных между клиентом и сервером ведётся с использованием шифрования.
В основе Seafile лежат технологии, применяемые в системе управления исходными текстами Git. При этом Seafile не зависит от Git и самостоятельно реализует нужные методы, которые упрощены и переработаны для выполнения задач автоматической синхронизации данных, обеспечения возобновления передачи данных в случае разрыва соединения и поддержки различных бэкендов хранения на стороне сервера. Данные хранятся с разбиением на блоки, что повышает эффективность хранения и даёт возможность ускорения передачи файлов за счёт параллельной загрузки блоков с разных серверов хранения.
Для удобства совместной работы поддерживается создание рабочих областей, в которых члены группы могут размещать произвольную информацию, интересную для участников группы. Наборы файлов могут объединяться в библиотеки, к которым может открываться доступ для отдельных пользователей или групп, а также публичный доступ. Для отслеживания изменения файлов в областях совместного доступа, предусмотрена возможность отправки уведомлений членам группы. Каждая библиотека воспринимается как отдельное хранилище и может синхронизироваться между машинами пользователя по отдельности.
Клиентская часть поддерживает обеспечение синхронизации данных между локальной директорией и определённой библиотекой в облачном хранилище. В web-интерфейсе поддерживаются функции предварительного просмотра и редактирования различных типов файлов, возможность обсуждения файлов с участниками группы, функции ведения списков задач, средства управления проектами, Wiki для совместного создания контента.
© OpenNet