The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Релиз SparkleShare 1.0, программы для синхронизации данных и организации совместного доступа

10.12.2012 17:14

После трёх лет разработки доступен первый стабильный релиз проекта SparkleShare, в рамках которого развивается свободное приложение для создания собственных online-хранилищ, похожих на Dropbox, а также для обеспечения синхронизации данных между несколькими системами и организации совместной работы с данными. SparkleShare оформлен в виде графического приложения, написанного на языке С# с использованием Mono и библиотеки GTK+. Исходные тексты распространяются под лицензией GPLv3. Готовые бинарные сборки подготовлены для Linux (Ubuntu, Fedora и т.п.), Mac OS X и Windows.

Ключевой особенностью SparkleShare является использование в качестве хранилища стандартных Git-репозиториев, не требуя запуска серверного ПО и развертывания специальной серверной инфраструктуры. SparkleShare позволяет задействовать в качестве хранилища любой поддерживающий Git внешний хостинг или сервис, например, GitHub, Bitbucket, Gitorious или любой сервер, к которому имеется доступ по SSH и на котором установлен git. Доступ к данным также можно получить при помощи обычных инструментов git, без установки SparkleShare. Для анализа истории работы с файлами и отката изменений можно использовать средства версионного контроля. Иными словами, SparkleShare можно рассматривать как специализированный Git-клиент, оптимизированный для хранения и обмена файлами. Тем не менее, SparkleShare предусматривает возможность создания бэкендов, позволяющих использовать другие типы хранилищ и протоколы для доступа к ним.

Несмотря на простоту и элегантность решения на базе Git, у подобного подхода есть отрицательные стороны. SparkleShare плохо подходит для работы с большими бинарными файлами и наиболее эффективен для относительно небольших текстовых данных. Программа также чувствительна к обрывам соединений в процессе передачи данных, при обрыве сессии уже загруженные данные потребует повторной загрузки. Кроме того, использование Git требует значительного дополнительного дискового пространства, что связано с необходимость хранения Git-репозитория на каждой клиентской системе, содержащего копию всех синхронизированных данных и историю их изменений. При этом, со временем, по мере накопления изменений, репозиторий может разрастись до значительных размеров, особенно если осуществляется работа с большими бинарными данными (например, при изменении бинарного файла в репозитории целиком будут сохранены прошлая и нынешняя версии файла).

Для обхода проблем с хранением бинарных данных, в конфигурациях связанных с хранением медиаконтента, предлагается использовать git-fs для монтирования удалённого репозитория без создания локальной копии (в такой конфигурации репозиторий монтируется только в режиме чтения, что накладывает существенные ограничения на его использование). Другим путём оптимизации работы с бинарными файлами, который планируется интегрировать в SparkleShare 2.0, является использование проекта git-bin, в котором Git-репозиторий содержит только метаданные, а содержимое файлов разбивается на небольшие блоки, которые размещаются в отдельном хранилище.

Из возможностей программы можно отметить средства для организации совместного доступа к файлам и обмена файлами с другими людьми. В том числе предусмотрен сервис отправки уведомлений между клиентами и возможность отправки инвайтов для автоматизации подключения к новым репозиториям. Для защиты информации, сохраняемой в публичных Git-репозиториях, может быть использовано шифрование (AES-256-CBC), применяемое на стороне клиента, перед отправкой данных на хост. Для расширения штатных возможностей программы предусмотрена система плагинов.

Управление и контроль за выполнением операций производится через графический интерфейс. Наборы обрабатываемых данных ассоциируются с определённой директорией в домашнем каталоге пользователя, содержимое которой автоматически синхронизируются с внешними Git-хранилищами и другими клиентами, для которых открыт доступ. При изменении файла участником группы, для других пользователей группы выводится всплывающее уведомление. В случае одновременного изменения одного и того же файла несколькими людьми запускается процесс разрешения конфликтов (создаются две копии).

  1. Главная ссылка к новости (http://bomahy.nl/wordpress/?p=...)
Лицензия: CC-BY
Тип: Программы
Ключевые слова: sparkleshare, git, sync
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (15) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.2, нано анон (?), 17:33, 10/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    с этими, вашими, новыми, обоями, ничего не видать
     
  • 1.4, Crazy Alex (ok), 17:50, 10/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ну что их всех на гит тянет так в контексте, где у гита преимуществ вообще никаких? И при этом "графический интерфейс" вместо модулей к fuse...
     
     
  • 2.8, prokoudine (??), 18:58, 10/12/2012 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Никаких преимуществ для дизайнеров у распределённых VCS? Батенька, да Вы шутник.

    Этот проект создан одним из дизайнеров MeeGo, а сейчас активно используется дизайнерами гнома для быстрого обмена набросками интерфейсов, значков и прочего (https://github.com/gnome-design-team).

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

     
     
  • 3.9, Аноним (-), 19:30, 10/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Этак скоро выяснится, что дизайнерам не нужна ни отвязанность от одного рабочего места, ни децентрализованность, ни возможность хранения версий с визуальным их сравнением.

    А что, git уже научился визуально диффать графические файлы? Или архивировать блобы и их диффы? Или хотя бы докачивать файлы после разрыва?

     
     
  • 4.10, prokoudine (??), 19:55, 10/12/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > А что, git уже научился визуально диффать графические файлы?

    Это делает SparkleShare

     
     
  • 5.13, Аноним (-), 21:07, 10/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А докачивать файлы Пушкин будет?
     
     
  • 6.23, Xasd (ok), 01:41, 11/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    а сразу почему нельзя было скачать?
     
  • 5.31, Crazy Alex (ok), 23:34, 11/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да не делает оно ни хрена. Авторы  что-то там думают, но сделать пока ничего не сумели. И не в диффах дело, а в том, что там нормлаьной архитектуры и близко нет.
     
  • 3.11, Gentooboy (?), 19:57, 10/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    батенька не шутник, батенька реалист. Бока не будет нормального дифа бинарников, это для жратвы не пригодно.
     
     
  • 4.18, XoRe (ok), 00:48, 11/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > батенька не шутник, батенька реалист. Бока не будет нормального дифа бинарников, это
    > для жратвы не пригодно.

    Вам их в hex диффать хочется?

     
     
  • 5.26, GentooBoy (ok), 06:42, 11/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    можно делать дифф бинарный, xdelta посмотрите.
     
  • 5.32, Crazy Alex (ok), 23:38, 11/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. Надо учить клиента понимать разные форматы и подходящим образом показывать различия. Для картинки - в рамочке различия показать, понимать несколько базовых трансформаций (ну там - кроп/масштабирование/поворот), и тому подобное. Тоолько это не дизайнеры писать должны, а нерды, дружащие с image recognition. Ну или если на это забить - то надо делать развитую систему тегов или категорий, в которой можнобудет нормлаьно описывать, что сделано в очередной версии, и по этому потом искать. Понятное дело - опять-таки с пониманием форматов - чтобы из jpg EXIF вытащило и тому подобное.
     
  • 3.30, Crazy Alex (ok), 23:31, 11/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот заметно, что дизайнером писано. Впрочем, если б это написали в новости - вопросов бол бы меньше. ну ладно, локальная тулза написанная на том, что под рукой было. Потому что по уму гит - категорически неподходящий инструмент для таких случаев - собственно, проблемы упомянуты - большой объем локальных репозиториев (и удалённого тоже!), и проблемы с обрывами. При этом 90% функционала git здесь непригодно, так как расчитано на тектсовые данные. А специфики бинарей нет никакой.

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

    А вообще - судя по моему опыту дизайнерам, юристам и подобным товарищам децентрализованные версионники противопоказаны - на локальной машине у них слишком часто происходят инциденты вида "случайно удалил" и "не знаю, куда положил". Как минимум - кроме всего прочего сохраненная версия должна уходить куда-то в централизованное хранилище, где его случайно прибить без особых полномочий не получится и где за сохранность информации отвечает квалифицированный админ. SVN здесь себя отлично показывает, для него это совсем родной workflow. С гитом - можно, но надо вешать хуки, которые на коммит сразу пушили бы в свою веткуна сервере, и прикрывать всякие push --force.

     
  • 2.14, Аноним (-), 21:58, 10/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно, не допираю. Редкий случай где от fuse мог бы быть толк дабы вместо имения дел с очередными потугами в гуятине цепануть в любимом файлманагере и не парить мозг. Так нет, фиг вам.
     

  • 1.33, serg (??), 21:28, 18/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/

    Gnome... C#? Странно, ведь в Gnome есть замена до-диезу: Vala (https://wiki.gnome.org/Projects/Vala) называется. И работает быстрее, и синтаксис такой же, как у сишарпа. Ну, и git для бинарников непригоден.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    MIRhosting
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру