OberonCore
https://forum.oberoncore.ru/

Менеджер компонентов
https://forum.oberoncore.ru/viewtopic.php?f=127&t=5853
Страница 1 из 3

Автор:  Иван Денисов [ Пятница, 05 Август, 2016 12:54 ]
Заголовок сообщения:  Менеджер компонентов

Как вы это видите в Блэкбоксе, коллеги?

Автор:  prospero78 [ Пятница, 05 Август, 2016 13:34 ]
Заголовок сообщения:  Re: Менеджер компонентов

1. Централизованное хранилище с индексом и версионностью.
2. Документация + примеры (документация и примеры -- как компонент).
3. Возможность получать, встраивать, удалять, создавать новые компоненты по необходимости в депозитории.
4. Проверка целостности.
5. Бориса Рюмшина в цар... в контролирующее лицо.

Автор:  Иван Денисов [ Пятница, 05 Август, 2016 23:50 ]
Заголовок сообщения:  Re: Менеджер компонентов

Начал делать некий прототип хранилища.
http://apps.blackboxframework.org/
Пока сделал регистрацию и систему поиска по компонентам. Загрузка пока не поддерживается, только ссылки можно втыкать в описание. Надо пока такой вариант обкатать. Понять, что на этом этапе надо продумать.

Автор:  Valery Solovey [ Суббота, 06 Август, 2016 09:05 ]
Заголовок сообщения:  Re: Менеджер компонентов

А регистрация зачем?

Автор:  Иван Денисов [ Суббота, 06 Август, 2016 10:56 ]
Заголовок сообщения:  Re: Менеджер компонентов

Valery Solovey писал(а):
А регистрация зачем?

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

Автор:  Иван Денисов [ Воскресенье, 07 Август, 2016 00:59 ]
Заголовок сообщения:  Re: Менеджер компонентов

Сделал загрузку компонентов.

Уважаемые авторы компонентов, помогите потестировать систему, залейте кто сколько сможет своих трудов!

http://apps.blackboxframework.org/registration

Автор:  Valery Solovey [ Воскресенье, 07 Август, 2016 12:43 ]
Заголовок сообщения:  Re: Менеджер компонентов

Иван Денисов писал(а):
Valery Solovey писал(а):
А регистрация зачем?

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

Возможность публиковать компоненты для автора - это ещё ладно. Но все функции, которые для пользователя, - не нужны.
Подборки вообще мало где полезны. Вряд ли кто-то, зайдя на сайт с компонентами, подумает: "Дай-ка я поставлю вон тот компонент. Он есть у того парня в подборке".
Рейтинг полезен при наличии возможности выбора. Я сомневаюсь, что будут компоненты, дублирующие функционал уже имеющихся компонентов. Оберонщиков мало, и, я надеюсь, они этим страдать не будут.
Обновление компонентов можно и нужно производить по-другому. Каждое приложение должно смотреть за обновлениями самостоятельно. Смотреть, модули каких версий есть у него, и какие версии на сайте. Обновление через аккаунт чревато ошибками.

Словом, не стоит тратить на эти функции время.

Автор:  Valery Solovey [ Воскресенье, 07 Август, 2016 13:06 ]
Заголовок сообщения:  Re: Менеджер компонентов

В настройках пользователя не нашёл пункта "Имя" или "Псевдоним". Похоже, в подписи к компонентам указан логин, который можно сразу начинать ломать.

В описании компонента есть пункт "Цена". Но чтобы он заработал, нужно проделать массу административной, юридической и финансовой работы. Думаю, лучше и не начинать ею заниматься. Особенно, если учесть, что пока за деньги компоненты никто покупать не будет (даже при наличии предложения).

Возможно, над этим сейчас идёт работа, но всё же... В описании компонента нет номера его версии. И номеров версий ББ, на которых он будет работать.

Автор:  Иван Денисов [ Воскресенье, 07 Август, 2016 19:34 ]
Заголовок сообщения:  Re: Менеджер компонентов

Valery Solovey писал(а):
Обновление компонентов можно и нужно производить по-другому. Каждое приложение должно смотреть за обновлениями самостоятельно. Смотреть, модули каких версий есть у него, и какие версии на сайте. Обновление через аккаунт чревато ошибками.

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

Автор:  Иван Денисов [ Воскресенье, 07 Август, 2016 19:37 ]
Заголовок сообщения:  Re: Менеджер компонентов

Valery Solovey писал(а):
В настройках пользователя не нашёл пункта "Имя" или "Псевдоним". Похоже, в подписи к компонентам указан логин, который можно сразу начинать ломать.

В описании компонента есть пункт "Цена". Но чтобы он заработал, нужно проделать массу административной, юридической и финансовой работы. Думаю, лучше и не начинать ею заниматься. Особенно, если учесть, что пока за деньги компоненты никто покупать не будет (даже при наличии предложения).

Возможно, над этим сейчас идёт работа, но всё же... В описании компонента нет номера его версии. И номеров версий ББ, на которых он будет работать.

Спасибо за замечания, учту.

Автор:  prospero78 [ Понедельник, 08 Август, 2016 09:32 ]
Заголовок сообщения:  Re: Менеджер компонентов

Ваня, залил для теста, всё весьма прилично, оперативно сделал... Удивил))
Могу согласиться с предложением:
1. Версия компонента
2. Версия БлэкБокса.

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

От себя добавлю, может какие-то тэги вести?

(* Сайт летает. Не может не радовать *)

Автор:  prospero78 [ Понедельник, 08 Август, 2016 21:14 ]
Заголовок сообщения:  Re: Менеджер компонентов

Ваня, не работает переключение между языками. Где-то в полях формы запроса обработка не верная.

Автор:  Valery Solovey [ Понедельник, 08 Август, 2016 21:40 ]
Заголовок сообщения:  Re: Менеджер компонентов

Между "самостоятельно обновляется" и "самостоятельно принимает решение об обновлении" большая разница.

Автор:  Александр Ильин [ Вторник, 09 Август, 2016 00:03 ]
Заголовок сообщения:  Re: Менеджер компонентов

Valery Solovey писал(а):
Между "самостоятельно обновляется" и "самостоятельно принимает решение об обновлении" большая разница.
Никакой разницы.

Автор:  Иван Денисов [ Вторник, 09 Август, 2016 08:56 ]
Заголовок сообщения:  Re: Менеджер компонентов

prospero78 писал(а):
Ваня, не работает переключение между языками. Где-то в полях формы запроса обработка не верная.

Проверяй. Доделал поддержку описания на двух языках. Потом можно будет и другие языки добавлять кроме русского и английского.

Автор:  prospero78 [ Вторник, 09 Август, 2016 09:23 ]
Заголовок сообщения:  Re: Менеджер компонентов

Есть разница, Александр.
Примерно такая же, как автомобиль сам решил повернуть, и водитель повернул руль, после чего повернул и автомобиль.
В первом случае, транспортное средство неисправно. Во-втором случае -- всё так и было задумано.

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

Адд. Зашёл через Опера Мобайл, опять показывает исправления на обоих языках одновременно.

Автор:  Valery Solovey [ Четверг, 11 Август, 2016 23:52 ]
Заголовок сообщения:  Re: Менеджер компонентов

Александр Ильин писал(а):
Valery Solovey писал(а):
Между "самостоятельно обновляется" и "самостоятельно принимает решение об обновлении" большая разница.
Никакой разницы.
С точки зрения реализации данного механизма разница только во внешнем воздействии. Можно сказать, что разницы и вправду никакой.

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

Автор:  Роман М. [ Вторник, 30 Август, 2016 09:59 ]
Заголовок сообщения:  Re: Менеджер компонентов

Считаю, что менеджер компонентов нужно рассматривать только в рамках экосистемы для хранилища компонентов.

Сегодня самый крупный ресурс с опубликованными компонентами для КП - это Component Pascal Collection (CPC).
Для того, чтобы опубликовать новую версию компонента, каждый раз нужно обращаться к Хельмуту. Это не удобно, да и создаёт на него лишнюю нагрузку.

Сегодня самой популярными площадками для публикации являются GitHub, Bitbucket, GitLab (помимо SourceForge, CodePlex и прочих).
Преимущества таких хранилищ ясны:
  1. код компонентов хранится на открытых хранилищах и доступен всем в любое время (если доступ не заблокирован)
  2. не зависит от графика работы кого-либо из разработчиков
  3. есть управление версиями кода компонентов
  4. есть экспорт в архивы zip, tar.gz
  5. любой может создать ответвление от опубликованного компонента согласно своему видению
  6. при этом видно кто какой вклад внёс
  7. можно участвовать в разработке, предлагая свои изменения и управлять ими
  8. код можно просматривать онлайн
  9. есть сопутствующие вспомогательные средства: Wiki, bug tracking, графики ...

Многие современные менеджеры пакетов сегодня поддерживают скачивание прямиком с GitHub. Можно даже выбрать, использовать ли определённые выпуски, ветви разработки или даже самый свежий код.
Для управления версиями компонентов в корне проекта обычно вставляют специальный файл, который менеджер пакетов считывает и знает откуда брать (скачивать по протоколам HTTPs/Git/SVN/...) компоненты и каких версий, включая разрешение зависимостей.
То есть менеджер пакетов обязан знать по адресу какого ресурса (реестра) нужно обращаться для того, чтобы скачать тот или иной компонент. Ведь откуда в реестре может появиться сведения о том что кто-либо опубликовал новую версию компонента? В случае же компонентов КП никаких таких реестров компонентов пока не имеется. Чтобы другие разработчики узнали о новом компоненте, нужно, чтобы существовал такой реестр, который позволил бы разработчику самостоятельно, заполнив опросный лист (название компонента и т.д.), занести информацию в реестр.

Ранее я писал (2013-й год):
http://forum.oberoncore.ru/viewtopic.php?f=127&t=4407&hilit=sourceforge&start=0#p81258
Цитата:
Если есть заинтересованные в ББ лица, то я предложил бы SourceForge.net в качестве платформы для:
хранилища для бинарных версий под разные ОС (включая разные их версии)
хранилища бинарных версий и исходных кодов компонентов пользователей, чтобы их можно было скачивать прямо из ББ парой кликов из менеджера пакетов
списка рассылки (по общим вопросам использования и прочим)
отслеживания исправлений по найденным ошибкам
координации действий, дальнейшего развития
Конечно, если продолжать вести общение по-русски (что многим гораздо удобнее), то нерусскоговорящие заходить туда, скорее всего, не станут и тогда ни о какой централизации Оберон-сообщества речи быть не может.

Можно или же взять за основу OberonRevival, попросив доступа у Димыча или же зарегистрировать другой (опять же, дублирование).

Когда речь идёт об исходных кодах, то есть некоторые нюансы:
исходные коды компонентов могут постоянно находиться в процессе разработки и поэтому напрягает каждый раз обращаться к кому-то с целью обновить их.
могут быть разветвления от одного источника разработки.
авторы компонента могут прекратить их разработку, поэтому надо дать возможность другим подхватить разработку.
По-моему, SourceForge такой гибкости работы с исходными кодами не даёт, в отличие от GitHub, BitBucket и подобных.

Пожалуй, нет смысла ограничивать разработчика в выборе подходящей для него платформы для проекта (типа SourceForge).
Таким образом, код должен находиться на любой площадке, а реестр должен иметь сведения о компонентах, находящихся на них.

В качестве примера реестра компонентов предлагаю взглянуть на http://rubygems.org/ (язык Ruby)

Автор:  Valery Solovey [ Вторник, 30 Август, 2016 21:24 ]
Заголовок сообщения:  Re: Менеджер компонентов

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

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

Автор:  Иван Денисов [ Воскресенье, 18 Сентябрь, 2016 11:25 ]
Заголовок сообщения:  Re: Менеджер компонентов

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

А серверная часть хранилища уже должна обеспечивать интеграцию.

Для пользователя все должно выглядеть просто: форма для поиска и просмотра списка доступных компонентов, кнопка "Установить" и "Удалить".

Може кто-то еще загрузить свои компоненты?
http://apps.blackboxframework.org/

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

Страница 1 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/