Практика распределённой социальной системы (рабочее название - Infonesy)

 
+
+1
-
edit
 

Balancer

администратор
★★★★★
Запущен первый тест репликации контента форума по разрабатываемому протоколу: Info / My FluxBB Forum

Пока только демонстратор технологии:
— Передача только обновляющихся данных (старые архивы не утягиваются)
— Передача односторонняя
— Нет синхронизации юзеров двух систем (хотя механизм заложен)
— Профили пользователей и категории пока тоже не передаются
— Нет никакой доводки нашей разметки в разметку движка FluxBB
— Нет передачи аттачей

Но данные уже передаются в реальном времени с минимальной задержкой, асинхронно с произвольными периодами дисконнекта и т.п. Могут параллельно с основым потоком переноситься вручную и т.п. Плюс конвертация из формата одного движка форума в другой.
 33
RU Balancer #15.12.2015 20:48  @Balancer#15.12.2015 20:46
+
-
edit
 

Balancer

администратор
★★★★★
Сообщение продублировалось корректно:

Мысли вслух по поводу распределённой социальной системы / CMF BORS(C) / My FluxBB Forum

Unfortunately no one can be told what FluxBB is - you have to see it for yourself. You are not logged in. Pages: 1 При доработках имеющихся движков в таблицы, отвечающие за хранение постингов, топиков, форумов, категорий и юзеров (а также блогов, комментариев, статей и т.п.) нужно добавить поле: UUID объекта (формат не утверждён, сейчас — произвольная строка latin1 до 64 символов) Нужно подумать также о хешах объектов в p2p-ФС. Пока в разработке участвует только ipfs, соответственно, поле с хешем можно добавить в те же таблицы. // Дальше — fluxbb.ams.wrk.ru
 

Дальше буду допиливать тонкости передачи данных (в т.ч. аттачи, картинки) и адаптации под движки FluxBB и MyBB.
 33
RU Balancer #15.12.2015 20:49  @Balancer#15.12.2015 20:48
+
-
edit
 

Balancer

администратор
★★★★★
Прикольно, сообщение появляется там спустя пару секунд. Круто :)
 33

+
-
edit
 

Balancer

администратор
★★★★★
Поехали реплицироваться категории и авторы:

Энергосистема Тевга (Page 4) / Научно-технический / Тестовый форум

Форум служит для отработки взаимодействия компонентов распределённой социальной сети Infonesy You are not logged in. Pages: Previous 1 2 3 4 5 Next TEvg-2>> Ну посчитай сколько солнечной энергии падает на Сахару и сколько тратит человечество. V.Stepan> А ты посчитай КПД солнечных установок, и подумай, куда тепло будет деваться. Там конкретная экологическая катастрофа будет.Сахара не нужна. Солнце - это единственный в своём роде источник, дающий возможность ПО-НАСТОЯЩЕМУ распределённой генерации. Прямо на крыше у потребителя, прямо в городе. // Дальше — fluxbb.ams.wrk.ru
 

Для всех данных, кроме постингов, отказался от Markdown/Yaml в пользу JSON.

Пользователи идентифицируются строго по MD5 от e-mail. Остальные объекты — по своим UUID.

Аттачи сегодня сделать не успел, т.к. попутно ковыряюсь ещё с переписываемым с нуля обработчиком фоновых задач.
 33
+
-
edit
 

Balancer

администратор
★★★★★
Ага, наконец, готовы не привязанные ко мне хостинг и доменное имя :) На них-то и будет развёрнута нода «без ограничений». На самом деле, с ограничениями тоже, конечно, какую-нибудь детскую порнографию или разработку деталей терактов сносить будем. Но в остальном будет свободное общение без запретных тем, без ограничений на формы этого общения и т.п. И, соответственно, с возможностью писать без регистрации.

Но это чуть позже.

Сейчас пока только запущена репликация сообщений с наших форумов:

Разговоры без ограничений

Portal Search Member List Calendar Help Hello There, Guest! Login Register Forum Threads Posts Last Post Форум UTK 2 3 Тест2 Yesterday, 06:17 PMby Balancer Forum Threads Posts Last Post Карантин Sub Forums: Авиация Второй Мировой, Бронемодельный, and 4 more. 13 31 Карантин Yesterday, 06:37 PMby Balancer Форумы Авиабазы Sub Forums: Флот, Военспец, and 5 more. // Дальше — www.unlimit-talks.tk
 

Разговоры без ограничений - Search Results

Portal Search Member List Calendar Help Hello There, Guest! Login Register Pages (8): 1 2 3 4 5 ... 8 Next »   Thread / Author Forum Replies Views Last Post     Снимаем голливудское кино о Великом Октябре :) ( 1 2 ) Beholder44 Россия 11 1 Less than 1 minute agoLast Post: U235     А с 7 ноября - днём Великой Октябрьской Социалистической Революции :) Fakir Человек и общество 9 0 4 minutes agoLast Post: ED     Боевая служба ВМФ РФ в Средиземном море [наше время...] ( 1 2 3 4 ... // Дальше — www.unlimit-talks.tk
 

Предстоит ещё сделать автоматическую линковку аккаунтов при регистрации, репликацию аттачей и обратную репликацию оттуда на наш форум.
 33
+
-
edit
 

Balancer

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

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

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

...

А я уже начал делать систему командного управления нодами :)

Придётся возвращаться ко всё откладываемой идее синхронизации файлов аттачей через ipfs.
 33
+
-
edit
 

Balancer

администратор
★★★★★
Сегодня сделал через плагин экспорт сообщений для MyBB. Пока без авторов и топиков. Удивляет чехарда с хуками и данными в MyBB...

Также ранее сделал в порядке эксперимента экспорт в ipfs аватаров пользователей с Авиабазы. Например:

QmPv43Cfzp3R9mxku4LSASAsjPhzrHtGVQgtgDx7rePZPD

В принципе, на

Разговоры без ограничений

Portal Search Member List Calendar Help Hello There, Guest! Login Register Forum Threads Posts Last Post Форум UTK 2 3 Тест2 Yesterday, 06:17 PMby Balancer Forum Threads Posts Last Post Карантин Sub Forums: Авиация Второй Мировой, Бронемодельный, and 4 more. 13 31 Карантин Yesterday, 06:37 PMby Balancer Форумы Авиабазы Sub Forums: Флот, Военспец, and 5 more. // Дальше — www.unlimit-talks.tk
 

уже можно писать. Сообщения кладутся в очередь и хотя на Авиабазе пока не появляются, но не пропадут. Как только будет настроен импорт, то втянутся и сюда :)
 33
+
-
edit
 

Balancer

администратор
★★★★★
Страница проекта на GitHub:

Balancer/infonesy

infonesy - Information about the project distributed exchange // github.com
 

Также сегодня завёл группы по проекту в основных социальных сетях:
  • Войдите на Facebook | Facebook

    Войдите на Facebook, чтобы начать делиться новостями и общаться с друзьями, родственниками и знакомыми. // www.facebook.com
     
  • Infonesy — распределённая социальная система (пр | ВКонтакте

    Роман Роман Каршиев Местоположение: Москва, Россия Infonesy — распределённая социальная система (пр Рыба описания насостояние дел:  Balancer/infonesy github.com infonesy - Information about the project distributed exchange 8 минут назад к предыдущим записям ВКонтакте © 2015 Роман Роман Каршиев Местоположение: Москва, Россия Infonesy — распределённая социальная система (пр Рыба описания насостояние дел:  Balancer/infonesy github.com infonesy - Information about the project distributed exchange… // Дальше — vk.com
     
  • Infonesy — распределённая социальная система – Сообщество – Google+

    Мой аккаунтПоискКартыYouTubePlayПочтаДискКалендарьGoogle+ПереводчикФотографииЕщёДокументыBloggerКонтактыДругие сервисы GoogleВойтиСообществаЛентаПрофильЛюдиПодборкиПопулярноеСообществаМероприятияHangouts+СтраницыНастройкиОтправить отзывСправка  ·  РегионКонфиденциальность  ·  Условия использования  ·  Условия использования Google КартНачать чат Все сообществаРекомендуемInfonesy — распределённая социальная системаОткрытое1 участникВсе записиФотоВесь списокУчастники (1)Чтобы добавить запись или комментарий, вступите в сообщество.Присоединиться Рыба описания насостояние дел:дальшеСвернутьПрактика распределённой социальной системы (рабочее название - Infonesy)wrk.ru1Прокомментировать Мой аккаунтПоискКартыYouTubePlayПочтаДискКалендарьGoogle+ПереводчикФотографииЕщёДокументыBloggerКонтактыДругие сервисы GoogleВойти Мой аккаунтПоискКартыYouTubePlayПочтаДискКалендарьGoogle+ПереводчикФотографииЕщёДокументыBloggerКонтактыДругие сервисы GoogleВойти Мой… // Дальше — plus.google.com
     
 33
+
-
edit
 

Balancer

администратор
★★★★★
Аттачи пошли сохраняться в IPFS. Первым нетестовым аттачем был этот (и тут в сообщении он показывается через гейт IPFS):



// via РКа пр.206МР, шифр "Вихрь" [ОТ-2456#05.01.16 21:16]

:)
 47.0.2526.10647.0.2526.106
+
-
edit
 

Balancer

администратор
★★★★★
Вынес все сопутствующие темы, а также всё, что навскидку нашёл по p2p в отдельный подфорум (этот).
 33
+
-
edit
 

Balancer

администратор
★★★★★
Открыт репозиторий под PHP-код под фреймворком BORS©

Balancer/infonesy-bors

Contribute to infonesy-bors development by creating an account on GitHub. // github.com
 

Кода пока нет, сначала буду вносить планы в Issues.
 33
+
-
edit
 

Balancer

администратор
★★★★★
Просто для отладки взаимодействия и проверок концепций настроил трансляцию всех публичных сообщений в чат Slack'а:

Slack

You need to sign in to see this page. If you have an @balancer.ru email address, you can create an account. Trying to create a team? Sign up on the home page to get started. // balancer.slack.com
 

К сожалению, Slack не позволяет гостям смотреть чаты, так что это только для зарегистрированных.
Прикреплённые файлы:
forum-messages-Slack-Opera_006 .png (скачать) [1920x1031, 232 кБ, 7 загрузок]
 
 
 33
+
-
edit
 

Balancer

администратор
★★★★★
Очень сырая демка импорта из Infonesy в Flarum:

В процессе работы всё острее чувствуется надобность в реализации p2p-key-value хранилище :)
 33
+
-
edit
 

Balancer

администратор
★★★★★
Ура! Сегодня удалось отправить тестовое сообщение в p2p-сеть ZeroNet. Ну а читать там итак просто. Таким образом есть потенциал для включения в Infonesy ещё и ZeroNet'а (в отличие от закрытого и непонятного RetroShare).
 44
+
-
edit
 

Balancer

администратор
★★★★★
Ещё одна веха — сделал постинг в движок Flarum через его собственный код. В отличие от постинга напрямую в БД это позволяет полноценно отрабатывать размещение движком (извещения пользователей при ответах, подъём тем в списках и т.п.). Правда, пока на очень примитивном уровне, без тегов.

...

Заодно появилась мысль, как по Flarum можно реализовать таблицы — банальной обработкой Markdown на клиенте. JS в браузере.
 44
+
-
edit
 

Balancer

администратор
★★★★★
Драйвера для разных движков должны состоять из трёх уровней.

— Чтение данных из потока (т.к. текущий JSON/BTSync явно не единственный в будущем вариант обмена данными).
— Запись данных в движок (в форум, блог и т.п.).
— Собственно, связывающий их контроллер.

По формату JSON я, в общем, устаканился с более-менее устоявшимися именами ( Title:,  Date: и т.п.). С записью — там понятно, как в движке сделано, так и обзываем. А вот промежуточный слой у меня будет иметь привычные уже для BORS snake_style имена.
 44
+
-
edit
 

Balancer

администратор
★★★★★
Драйвер MyBB.

Идея, писать его на respect/relational в роли примитивного ORM была явно ущербной. Хотел сэкономить на том, чтобы не цеплять в зависимости весь монструозм BORS©, но вышло боком. По мере усложнения функционала началась совсем полная каша с кодом.

Ну и плюс к тому было не очень удачной идеей лепить монолитный драйвер с модификацией базы самой MyBB. Как я писал ранее, удобнее и гибче делать свою параллельную базу с привязками UUID на том же SQLite. Это вводит, конечно, лишнюю сущность, зато не создаёт проблем с модификацией чужой живой БД.

В общем, буду переписывать. И balancer/bors-core в качестве движка, и собственная SQLite-БД. Заодно, хоть, с миграциями на phinx будет :)
 44
+
-
edit
 

Balancer

администратор
★★★★★
Обновлённый драйвер Flarum'а заводит юзеров и пишет сообщения на форум. Правда, пока без топиков, тегов и статистику форума не пересчитывает.

Balancer/infonesy-driver-flarum

Contribute to infonesy-driver-flarum development by creating an account on GitHub. // github.com
 

Теперь сделать генерацию топиков (это должно быть проще остального) и, в принципе, можно даже как есть запускать в тестовую работу будет. Хотя, по-хорошему, надо будет ещё реализовать настраиваемую конвертацию категорий и форумов в теги.
 44
+
-
edit
 

Balancer

администратор
★★★★★
Потренировавшись на Flarum, взялся с тем же подходом и за Vanilla.

Последний куда более привычный и весьма богат возможностями. Но у него есть генетическая беда — первое сообщение в топике — это не постинг, а данные топика. Но с новым подходом пережить такое можно :) Просто будет несколько больше возни при размещении сообщений — если оно раньше самого первого в топике, то сообщение топика превращаем в комментарий, а наше ранее сообщение пишем в топик. Только sqlite-адаптер усложняется немного, надо хранить ещё для сообщений и отметку типа локальной записи — комментарий или топик.
 44
+
-
edit
 

Balancer

администратор
★★★★★
Поднял общедоступную демку Flarum. Пока без включения в Infonesy. Можно регистрироваться на ней, можно входить через GitHub. Объединение аккаунтов там работает, так что если вход будет с тем же e-mail, что на Авиабазе, то аккаунты потом сольются.

Flarum. Поехали! - Flarum@Infonesy

Обсуждение, разработка, отладка и демонстрация взаимодействия форумного движка Flarum с распределённой социальной системой Infonesy. // flarum.infonesy.tk
 
 44
+
-
edit
 

Balancer

администратор
★★★★★
Не смотря на то, что отдельные компоненты системы уже работают (RSS-трансляции, unlimit-talks.tk) и ещё отдельные компоненты в процессе тестов (в основном форумные движки), это, всё же больше пока демо концепции. И даже без выложенного вычищенного кода :)

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

То, ради чего задумывалась система, для синхронизации форумов, пока не так критично. Форумы в основной массе прекрасно живут сами по себе. Хотя и было бы интересно связать Web-форумы и ZeroTalk (например, Infonesy.Talk) или просто сделать для тех же форумов Авиабазы альтернативные интерфейсы на Vanilla или Flarum, но это не скорее хотелки, чем востребованная необходимость. А форумное писание тянет за собой много разных сложностей, которые решать ещё долго. Даже не смотря на то, что трансляция с форумов Авиабазы в MyBB на unlimit-talks работает вполне успешно. Также, было бы неплохо забрать/объединить данные с форума Убежища на Авиабазу. Но и это задача не особо востребованная, пока всё итак работает.

Зато в рамках потенциальных задач Infonesy на первом месте у меня стоит, думаю, блогописание. Заметки на разные темы пишутся на разных движках в десятке разных мест. Чему-то я делаю кросс-постинг вручную, что-то так и остаётся рассеянным по многим ресурсам. Даже в рамках самой Infonesy.

И тут возникает необходимость думать и планировать.

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

Но.

На форумах Авиабазы давно есть система блогов. Сделана она на самом форумном движке, популярностью особенной не пользуется, так как не имеет массы востребованных блог-фич, типа подписок и т.п. Была попытка пересадить людей на отдельный LiveStreet (LSBR), но и этот вариант «не взлетел», так как даже при наличии форумной авторизации в этой системе, люди не хотят куда-то уходить. Напрашивается вариант объединения двух систем, т.е. перенос системы форумных блогов в LSBR. Отказ от доморощенной системы, но сохранение функционала публикации с форума в блог. Просто это уже должно делаться не внутри самого форума, а через Infonesy. Форум при размещении записи с пометкой «в блог» кидает её в сеть, а блог-сайт уже забирает эти данные себе.

Однако, вызывает сомнение, насколько хорош сегодня для этой цели LiveStreet. Система относительно мало популярная, слабо развивающаяся, с перекосом в коммерциализацию. И сюда точно плохо подходит WordPress, поскольку у него всё не очень хорошо с социальностью и множественными пользователями.

Думаю, нужно поискать какую-то современную социальную систему на замену LiveStreet. Вариантов много, но пока не попалось что-то, полностью удовлетворяющее хотелкам:

1. Открытый гостевой доступ, чтобы блоги/обсуждения читали не только регистранты, но и гости.
2. Желательно PHP, так как разрабатывать в рамках одной платформы проще.
3. Markdown в разметке для упрощения обмена в Infonesy.
4. Фотогалереи, категории, теги, блоги как персональные, так и коллективные...

Надо будет искать и тестировать :)

Пока, наверное, надо будет организовать трансляцию блог-записей пользователей форумов Авиабазы в Infonesy. Чтобы было что загружать для тестов в тестируемые системы.
 44
Последние действия над темой

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru