DrupalRU / drupal.ru

Репозиторий кода для сайта русскоязычного сообщества Drupal переехал на GitLab https://gitlab.com/drupal.ru/7
GNU General Public License v2.0
30 stars 22 forks source link

Интеграция gitter.im & github #120

Closed Gormartsen closed 6 years ago

Gormartsen commented 8 years ago

Надо сделать раздел на drupal.ru - разработка.

orion76 commented 8 years ago

Фуфф.. Уже невыносимо чесалось подобное предложить.. -) Оказывается есть уже...-))

На самом drupal.ru не видно, как идет работа по его развитию..
Плохо освещены планы, приоритеты, что делается в данный момент и т.п...
Нет системы коллективного принятия решений, отсюда это вечное - покиздели, посрались и разошлись.
Да и ссылочка в профиле на "отработанные" ишью и их количество, неплохо подстегнет чувство собственнной значимости, а следовательно мотивацию сделать свой вклад в развитие сообщества...

Я бы для начала сделал систему принятия решений:

1.Предложение задачи.
2.Обсуждение.
3.Голосование за принятие на выполнение.
4.Голосование за приоритет выполнения.

По принципу того же стэковерфлоу или раздела вопросы dru.io.

Потом связал бы принятые задачи с ишью гитхаба:

А далее уже можно будет подключить больше людей как минимум к обсуждению, максимум - как исполнители.

И можно будет заняться остальными пунктами данного ишью..

Gormartsen commented 8 years ago

Рано коллективные обсуждения делать @orion76 - сколько уже всего обсуждали.. а толку?

Я пока предлагаю другой вариант:

В итоге быстрее процесс идет. Кто хочет, тот участвует.

А по интеграции в профиль - это обязательно.

orion76 commented 8 years ago

сколько уже всего обсуждали.

В том-то и дело, что обсуждали - а результат обсуждения у каждого свой-) Итог то не подведен, в нужный раздел на нужную полку не положено.

Ладно, может вернемся к этому позже..

В общем по задаче почти все понятно..

Можно немного пункты задачи "развернуть", чтоб отпали лишние уточняющие вопросы??
Особенно 1 и 2 пп.:

orion76 commented 8 years ago

ЗЫ.. И обозначить приоритеты пунктов задачи..

Gormartsen commented 8 years ago

sidecar - позволяет вставить чат на сайт. Я думаю сделать отдельную страницу няшную. где есть переход на логи и собственно в сам чат.

wiki - собственно ее в порядок привести и сделать страницу "разработка drupal.ru" где грамотно расписать ссылки, часто задаваемые вопросы и тп. Эта часть большая и еще вообще не понятно что туда писать на текущий этап.

Gormartsen commented 8 years ago

В том-то и дело, что обсуждали - а результат обсуждения у каждого свой-) Итог то не подведен, в нужный раздел на нужную полку не положено.

потому я и предлагаю

И никакого флейма.

По приоритетам конкретно в этой задаче - оно менее приоритетно. стоит в milestone Второе обновление

Сейчас важнее раскидать те, что в Первое обновление. Так что в принципе можно брать часть этой задачи, делать issue и предлагать конкретное решение.

Gormartsen commented 8 years ago

Добавил чат на drupal.ru : http://www.drupal.ru/chat

orion76 commented 8 years ago

Кстати...

А как мы относимся к идее организации drupal.ru - как "горизонтальный" портал субсайтов, микросервисов и т.п.??

Т.е. "крупные" разделы выносим на отдельный сайты (на субдоменах) (по теме данного ишью - тот же раздел "Разработка")..
Связываем их общим протоколом обмена данными, сквозной авторизацией и т.п.
drupal.ru - центральный раздел агрегатор...

Как известно, система слабосвязанных сущностей:

Короче, мягко гворя, плюсов дохрена-)

Какие в этот раз будут возражения??-)

Gormartsen commented 8 years ago

Это имеет смысл. Тот же API.drupal.ru было бы целесообразно обновить .

Но до фанатизма я бы не шел. Примеры фанатизма:

Forum.drupal.ru Blogs.drupal.ru Marketplace.drupal.ru

что касается разработки раздела, есть конкретные предложения зачем нужен отдельный сайт и что на нем делать?

Из функционала что надо на сейчас - все реализовывает GitHub. Отображение на Drupal.ru - скорее механизм вовлечение участников сообщества в процесс разработки, чем сам процесс разработки. Потому чат, архив, может быть топики для обсуждения публичного? Больше мне ничего такого не видно.

orion76 commented 8 years ago

Но до фанатизма я бы не шел.

Нее.. смысл не в том, чтобы все поделить до атомов..

А для упрощения расширения функционала drupal.ru, не связывая этот доп.функционал с drupal.ru "намертво"..

Отображение на Drupal.ru - скорее механизм вовлечение участников сообщества в процесс разработки, чем сам процесс разработки.

Тоже думал над этим.. Не верит народ, что на drupal.ru могут быть перемены в приемлемые сроки (не "до осени")...
А так как, скорее всего, многие из участников сообщества и сочувствующих, имеют отношение к программирования постольку-поскольку, то слово "github" у них душит все порывы энтузиазма накорню..-)

Надо чтобы народ видел, куда ,как и какими темпами идет работа по развитию drupal.ru. И по возможности пробовал принимал в ней участие в привычной для него обстановке.

Потому чат, архив, может быть топики для обсуждения публичного? Больше мне ничего такого не видно.

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

Или разделы сообществ "узких" тематик:

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

что касается разработки раздела, есть конкретные предложения зачем нужен отдельный сайт и что на нем делать?

Как минимум потренироваться, протестировать отладить технологии по интеграции отдельных субсайтов в drupal.ru..
Другие причины я описал выше..

awd-studio commented 8 years ago

Не верит народ, что на drupal.ru могут быть перемены в приемлемые сроки (не "до осени")...

А так как, скорее всего, многие из участников сообщества и сочувствующих, имеют отношение к программирования постольку-поскольку, то слово "github" у них душит все порывы энтузиазма накорню..-)

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

Или разделы сообществ "узких" тематик:

Это уже похоже на тематические группы. Я вижу следующее разделение:

Gormartsen commented 8 years ago

@orion76

Я бы например еще добавил песочницу модулей, разработанных участниками сообщества.

Речь о каталоге модулей, сделанные разработчиками кто имеет профиль на drupal.ru ?

Можно тогда добавить тип ноды, чтоб вносили ссылку где (гитхаб, d.org, просто архив) и описание.

И сделать банально страницу (views для начала по типу материала) "Разработки рускоязычных друпалистов" - с поиском по странице.

Если да, можно делать issue. я только ++

Или разделы сообществ "узких" тематик: *\ Каждый из подобных подразделов может иметь свой специфичный функционал, который не имеет смысла внедрять на drupal.ru.

Теоретически да, сделать ecommerce.groups.drupal.ru как вариант. Практически - это будет иметь смысл только когда drupal.ru из пепла вынырнет. Рано еще потоки разносить по разным доменам. Иначе получим "мертвые" сайты, где никто ничего не пишет, потому что активность маленькая. На сейчас - разделы форума есть (его немного оживить) - в будущем как вернется поток посетителей, можно разносить.

Как минимум потренироваться, протестировать отладить технологии по интеграции отдельных субсайтов в drupal.ru..

Это да, разработка в кайф должна быть и что то попробовать новое. С интеграцией базы пользователей, или сквозная аутентификация - это еще та морока. Попробуй для себя сначала попробовать сделать непробиваемый конфиг двух разделенных сайтов, с синхронизацией профайлов. Задачка еще та. Стандартные решения из контриба - полный ужас и смерти подобны. Проще всего делать возможность использования одной и той же таблицы DB.users но там завязка на версию друпала.

@awd-studio

Теперь задача стоит уже не в возвращении, а в создании нового сообщества, пусть и из прежних участников. Людям нужно дать понять, что сейчас Dru уже не "тот", заинтересовать их снова. А иначе работает ассоциация, не в лучшую сторону для сообщества. Нужно показать "качественную" обратную связь.

В точку.

Я вижу следующее разделение: Узнавайка (вопросы-ответы, FAQ'и, маны и т.д.) Promo (всевозможная инфа о Drupal и сообществе, выставки сайтов, туториалы по установкам и настройкам... можно тут сделать подразделы "Drupal - интернет-торговля", "Drupal - образование", "Drupal - портал") Dev (раздел для разработчиков, API, форумы, публикации...)

Как я выше писал, разносить по доменам еще рано. Надо сначала набрать активность на сайте. Иначе будут мертвые субдомены с нулевой активностью.

awd-studio commented 8 years ago

..разносить по доменам еще рано..

Я, если чесно, не вижу особого смысла разносить по субдоменам. Чем будет плохо "drupal.ru/promo", "drupal.ru/dev", "drupal.ru/aq"?

"api" - пусть будет отдельным проектом, там описания классов, хуков, функций... А "dev" - это подраздел для разработчиков. Сниппеты там всякие, доки, в частности по git... И интеграция с "api", автоссылки на функции и пр.

Gormartsen commented 8 years ago

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

awd-studio commented 8 years ago

А база одна будет?

Gormartsen commented 8 years ago

Если одна база, то это не подходящее решение. В том и сложность, что профили надо правильно синхронизировать, сессии тоже... и contrib решения что сейчас есть, они очень корявые.

awd-studio commented 8 years ago

По ходу, это проблемы Drupal'еров из будущего.

orion76 commented 8 years ago

Речь о каталоге модулей, сделанные разработчиками кто имеет профиль на drupal.ru ?

Нет, скорее наоборот..

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

А так, например, на менее жестких условиях, даем разработчику возможность опубликовать свой github-репозиторий с модулем в "разделе"..
Потом добавим систему обработки ишью, багрепортов, возможно тоже интегрированную с гитхабом..

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

И как портфолио разработчика, такой раздел был-бы хорош..
Заказчики могли бы искать исполнителей по конкретным кейсам..
А "узкая" специализация - это вообще, мечта-))

С интеграцией базы пользователей, или сквозная аутентификация - это еще та морока.

А чем OAuth (и подобные технологии) плох?

Много синхронизировать врядли придется..
Я писал ранее - продумать протокол обмена данными (RestFull и т.п.)..

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

Что-то даже можно в обход сервера с браузера js-ом подгружать.. Но это уже детали..

Короче.. напридумывать полезных, интересных фич и способы их реализации , для таких умных парней как мы - не проблема-))

Нужен для начала план-минимум и за работу, а там разберемся-)

orion76 commented 8 years ago

Кстати, для вовлечения участников сообщества в процессы этого самого сообщества необходим раздел "Пропоганды и опроса и анализа мнений"...
В краце. как вижу:

У drupal.ru , уверен, огромная база аккаунтов и соотвественно емэйлов..
Грех не заняться рассылками:

Но для начала необходимо создать, так сказать, информационный повод : публикацию этих самых планов, отчетов, опросов, новостей, т.е. раздел "Разработка" хотябы с достаточным минимумом функционала..


По субсайтам

Короче - сделать, так сказать, стандартный "шаблон" субсайта, а далее уже использовать его для конкретных субсайтов.

orion76 commented 8 years ago

Интеграция с github


Почитал я комменты, как-то связанные с работой над drupal.ru и сделал следующие выводы:

1.Боиться народ github-) Предположение "почему":

Ну в общем, пользователей, мало связанных с веб-разработкой (дизайнеры, верстальщики, сеошники, маркетологи и т.п.) понять не сложно.. Они по ходу своей деятельности с подобными вещами сталкиваются редко, и оно им не особенно нужно.

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

Кто-то возможно и не прочь освоить, но гордость не позволяет.. Это же надо задавать "глупые" вопросы, делать ошибки и т.п. А для "настоящего крутого" программера это неприемлемо-)
Как говаривал мой преподаватель по АиЯП - каждый программист считает себя лучшим-)
И по жизни так оно и выходит-)

Для решения данной проблемы, думаю необходимо решить как минимум 2 задачи:

1. Упростить доступ к информации github Избавить тех. кому этого не нужно, ходить на github, т.е. "вытащить" неоходимый функционал из github непосредственно на drupal.ru.

2. Снизить порог входа в разработку Составить подробную понятную пошаговую документацию по основным аспектам разработки drupal.ru:


Случай из жизни, как я обновлял свой форк drupal.ru:-) Решил, на всяки пожарный синхронизировать ветки своего форка с оригиналом. Пошел в гугл, стэковерфлоу говорит - проще удаkить форк и создать заново.. Что-то, думаю не так.. Это не наш метод..

Потом в документации к github нашел, что нужно подключить к локальному репо удаленный репо-оригинал.
Смержить оригинал со локальным репо. Смержить локальный с форком на github.

Так, думаю, лучше, но помоему всеравно как-то коряво..

Есть методы правильнее??


Модуль интеграции с github


репо модуля

На данный момент можно (добавив необходимые настройки сущностей в код) создавать типы сущностей github_entity, связанные с сущностями github, к которым есть доступ по API (issue, wiki, users и т.п.),

Уже добавлена сущность issue и возможность выводить нужные поля "ответа" github вьюсом.

Т.е. если уже сейчас сделать главную страницу раздела "Разработка" (например модулем Page Manager)(можно экспортировать уже готовую автоматом при установке модуля).

Добавить на страницу вьюс со списком ишью (так же экспортировать уже готовый при установке модуля).

То можно уже делать PR.

Правда есть у меня сомнение, что надо было для этого делать специальную сущность..
Сейчас уже кажется, что практичнее и гибче будет сделать специальным полем, которое можно будет подключить к любой drupal-сущности и тем самым связать с ней некую информацию с github.

Но пока "обратная" связь drupal.ru -> github не реализована, можно сущности поюзать, а потом "безболезненно" заменить их на поля.


Есть еще много соображений по этому поводу, но пока наверное хватит..
Продолжение в следующей серии..-)

orion76 commented 8 years ago

Ну что? Я забираю себе это ишью?

Кстати, для добавления в профиль пользователя аккаунта github необходима проверка, что этот аккаунт принадлежит пользователю.

В общем ничего сложного..

Github предоставляет сервис для авторизации по своим аккаунтам через OAuth.. Для Drupal есть необходимый инструментарий.

Сейчас точно не помню, по-моему можно даже без перелогинивания подключать OAuth-аккаунты из профиля(т.е. необязательно заходить именно по OAuth авторизации)

Хотя.. точно можно.. как-то делал такое с вконтакте и инстаграмм..

Gormartsen commented 8 years ago

@orion76 у меня сомнения.

Я понимаю что нам рук не хватает, но у меня нет уверенности что трата времени на удобства для тех, кому лень сделать лишний шаг на встречу (даже банально написать в приват - хочу! что надо ?) - принесет результат.

От себя я могу лишь предложить упрощение входа - доками и разделом где можно задать вопрос - получить ответ.

Что касается изначального issue что я написал, цель - выводить в профиль разработчика инфу чего он сделал для пользы drupal.ru.

orion76 commented 8 years ago

но у меня нет уверенности что трата времени на удобства для тех, кому лень сделать лишний шаг на встречу (даже банально написать в приват - хочу! что надо ?) - принесет результат.

Такова жизнь-) Пока не не попробуешь, не понятно - сработает или нет..

Да в общем , я думаю, основная польза от вывода инфы с гитхаба на drupal.ru не в том, чтоб кому-то надо было меньше кликов, а чтоб она была чаще на виду, так сказать -"мозолила глаза".

Тогда, уверен, вероятность, что у кого-то промелькнет мысль: "А не показать ли этим руко..ым как порталы делать надо" - возрастет на порядки-))

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

Я уже писал, что для этого уже почти все готово (и ишью вывести и инфу в профиль). API работает, остальное добавляется конфигами и добавлением полей..

Нужно только "добро" на продолжение работы и PR.
В начале января обычно работы почти нет, возьмусь серьезно за drupal.ru-)

Gormartsen commented 8 years ago

На сейчас она мозолить глаза не сможет и так, для этого надо ее куда то кидать чтоб мозолила. Отдельный раздел страница - туда специально идти надо, даже если в меню поставить - это не решит момент "мозолить".

Если решать вопрос - мозолить, то можно фильтр (bbcode) сделать, который будет заменять [issue]120[/ussue] на допустим что то такое:

#120 [Второе обновление] Интеграция gitter.im & github [нужна помощь]

и обновлять ее автоматически.

Мозолим мы регулярно ссылками на issue, когда кто то в топик обновления пишит. Это покрывает момент "мозолить"

Еще я учитываю такой момент - через 3-4 месяца активная фаза разработки закруглится. Новое что то редко будет проявлятся. Отсюда сомнение в целесообразосноти большого количества траты времени.

Тут надо четко сформулировать - зачем.

Я предлагаю сделать вот такое:

страница Профиль пользователя новый пункт профиля: Drupal.ru разработка - 110 commits/ 3517++ / 1572 --, 2 PR, 7 Issues. Последняя активность 3 дня назад.

Зачем:

На будущее

@orion76 давай так. То, что ты предлагаешь - сделай отдельное issue. Аналогично распиши что конкретно ты хочешь сделать, какие цели преследует и как именно от этого будет польза для сайта. Мне не жалко выделить раздел, но я пока не вижу зачем, кроме как для тех, кому и так лень что либо делать и будут только ныть что им все не так.

awd-studio commented 8 years ago

Если решать вопрос - мозолить, то можно фильтр (bbcode) сделать, который будет заменять [issue]120[/ussue] на допустим что то такое: ... и обновлять ее автоматически

Я думал над таким. Но тут фильтром не обойтись. Фильтр кеширует результат, а обновлять по каждому просмотру не огонь... Думал AJAX'ом, как на гиттере подгружать, когда подружусь с поповером. А [issue]120[/ussue] просто ссылкой заменять.

Сорри, оффтоп.

Gormartsen commented 8 years ago

А [issue]120[/ussue] просто ссылкой заменять.

ну можно и кешировать. главное сделать красивый вывод. аля с label, milestones.

awd-studio commented 8 years ago

Не, оно закеширует, а изменения не будут отображаться. ИМХО на гиттере норм реализовано - статус подсвечивает. И инфу всю действительно в окошке лучше (в контекст проще вписывать).

Gormartsen commented 8 years ago

@awd-studio сделал отдельный #276

mbaev commented 6 years ago

Считаю это issue неактуальным. :+1: - оставить :-1: - закрыть