Практика распределённой социальной системы (рабочее название - 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 не позволяет гостям смотреть чаты, так что это только для зарегистрированных.
Прикреплённые файлы:
 
 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

Unix

опытный

>в рамках потенциальных задач Infonesy

По моему это в тему. Рома - если нет - удали плс.
А если да - почитай, там кое что из того над чем ты бился :)
 58.058.0

Balancer

администратор
★★★★★
Unix> А если да - почитай, там кое что из того над чем ты бился :)

На самом деле мало общего :) Это что-то типа стандартизации StausNet/GNUSocial. Публикация микроблоговых записей. Оно, ИМХО, не годится для публикации форумов, работы со статьями и т.п. Этот протокол может быть только дополнительным транспортом под Infonesy :)
 55
+
-
edit
 

Balancer

администратор
★★★★★
Сейчас кроме уже описанных в топике трансляций RSS и избранного в Twitter, на практике работает (хотя уже и давно) только цепочка ZeroBlogs -> HTMLy, односторонняя трансляция избранных блогов из ZeroNet в обычный блоговый движок, чтобы иметь возможность читать Zero-блоги в обычном Интернете:

ZeroNet Blogs - Static ZeroNet blogs mirror

Static Zero proxy. Details. //  zites.cf
 

В основном это задумывалось для того, чтобы поисковики могли нормально окучивать этот пласт данных. А то обычные ZeroBlog'и настолько JS-нутые, что через прокси данные их не извлекает даже Google.

В планах аналогичное решение и для форумов, ZeroTalk -> Vanilla Forums .

Но это на втором плане. На первом плане думаю сделать простую трансляцию своих твитов из Твиттера на форумы Авиабазы :) Twitter -> forums.balancer.ru . И позже аналогичное решение для трансляции чата Авиабазы в Телеграме в обычные топики форума. Telegram -> forums.balancer.ru . Но тут, хотя работы, наверное, на час-два, есть очередной идеологический затык.

У меня была мысль больше не развивать имеющийся движок форумов Авиабазы, сосредоточившись на допиливании и интеграции сторонних движков. В первую очередь — Vanilla. Бесполезно даже пытаться тягаться с большим коммьнити в десятки разработчиков, когда у самого есть возможность заниматься такой разработкой считанные часы в месяц. Поэтому была мысль заморозить дальнейшее расширение имеющихся форумов и, если возникнет надобность в новом подфоруме, то делать его сразу на отдельном движке, на Vanilla. А обновления нового форума показывать на старых форумах общим потоком как раз через Infonesy. Но это тянет за собой сразу цепочку проблем. Авторизация пользователей. Чтобы не требовалось заводить новые аккаунты. Проблема переносов. Нет простых средств переноса тем и сообщений между разными движками, если потребуется упорядочивание. Так что же, опять транслировать на старые форумы? Но не хочется пинать зомби :) Так, в результате, дело и простаивает пока...
 55
Последние действия над темой

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