Установщик сторонних модулей

Если у вас есть модуль, которым вы хотите поделиться - пишите в этот раздел

Модератор: core team

helldog
Гуру
Сообщения: 97
Зарегистрирован: Ср апр 03, 2013 10:16 am
Откуда: Москва

Сообщение helldog » Вс сен 29, 2013 7:09 pm

Предлагаю сделать Установщик сторонних модулей для Юпи!. Алгоритм работы такой:
- Пользователь указывает (через админку) путь к модулю, который лежит в zip архиве на пользовательском компьютере.
- Модуль загружается, распаковывается и устанавливается=) (создается папка с файлами модуля, файл в конфиге, а также таблицы в БД)

Как доделаю слайдер, могу заняться этим =)

Аватара пользователя
xoma
Администратор
Сообщения: 1924
Зарегистрирован: Ср авг 22, 2012 8:54 am
Контактная информация:

Сообщение xoma » Вс сен 29, 2013 11:08 pm

helldog писал(а):Предлагаю сделать Установщик сторонних модулей для Юпи!. Алгоритм работы такой:
- Пользователь указывает (через админку) путь к модулю, который лежит в zip архиве на пользовательском компьютере.
- Модуль загружается, распаковывается и устанавливается=) (создается папка с файлами модуля, файл в конфиге, а также таблицы в БД)

Как доделаю слайдер, могу заняться этим =)



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

п.с. окажу поддержку при разработке модуля!
http://yupe.ru/subscribe - интересное от команды "Юпи!"

helldog
Гуру
Сообщения: 97
Зарегистрирован: Ср апр 03, 2013 10:16 am
Откуда: Москва

Сообщение helldog » Вс сен 29, 2013 11:45 pm

Естественно отдельным модулем =)
В идеале можно сделать так:
В архиве с новым модулем будет лежать установочный файл . Модуль установки загружает архив с новым модулем, проверяет наличие и корректность установочного файла и выполняет установку. Правила составления установочного файла должны быть описаны в документации Юпи!. Установочный файл должен содержать всю необходимую информацию для установки модуля (папки, пути, запросы в бд). После установки модуля, установочный файл удаляется , и выводится сообщение об окончании установки.
Мне кажется будет здорово =)

P/S: Если с чем-то не согласны или есть дополнения - пишите =)

А в последствии можно сделать загрузку модулей из собственного репозитория. Например как в WordPress =)
Последний раз редактировалось helldog Пн сен 30, 2013 11:24 am, всего редактировалось 1 раз.

Аватара пользователя
xoma
Администратор
Сообщения: 1924
Зарегистрирован: Ср авг 22, 2012 8:54 am
Контактная информация:

Сообщение xoma » Вт окт 01, 2013 9:23 am

На самом деле на первом этапе будет вполне достаточно если модуль просто распакует архив в каталог modules.
После этого модуль подхватится движком и будет доступен для установки через панель управления.

Модуль должен проверить окружение и и убедится, что он может работать (метод selfCheck) как пример https://github.com/yupe/yupe/blob/master/protected/modules/yupe/YupeModule.php#L66

Проверки для этого модуля:

1 Доступна для записи директория /protected/modules/
2 Доступна для записи директория /protected/runtime
3 Установлено расширение для работы с zip-архивами


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

1 Модуль, который мы пытаемся поставить уже есть (имеется каталог в /protected/modules) ?
2 Каталог, пришедший в архиве, действительно является модулем (для примитивной проверки есть метод https://github.com/yupe/yupe/blob/master/protected/modules/yupe/YupeModule.php#L698)
http://yupe.ru/subscribe - интересное от команды "Юпи!"

helldog
Гуру
Сообщения: 97
Зарегистрирован: Ср апр 03, 2013 10:16 am
Откуда: Москва

Сообщение helldog » Вт окт 01, 2013 10:23 am

Задача ясна=) В свободное время попробую реализовать =)

Аватара пользователя
xoma
Администратор
Сообщения: 1924
Зарегистрирован: Ср авг 22, 2012 8:54 am
Контактная информация:

Сообщение xoma » Пн окт 14, 2013 12:38 pm

Как успехи ? =)
http://yupe.ru/subscribe - интересное от команды "Юпи!"

helldog
Гуру
Сообщения: 97
Зарегистрирован: Ср апр 03, 2013 10:16 am
Откуда: Москва

Сообщение helldog » Пн окт 14, 2013 4:17 pm

Да также как и свободного времени=) На роботе валят, дома девушка , которой я и так "уделяю мало времени, эгоист неблагодарный". Также сейчас делаю себе сайт на Юпи!, нужно немного подкорректировать hp модуль, даже до него руки не доходят ((((
Последний раз редактировалось helldog Пн окт 14, 2013 4:17 pm, всего редактировалось 1 раз.

Аватара пользователя
xoma
Администратор
Сообщения: 1924
Зарегистрирован: Ср авг 22, 2012 8:54 am
Контактная информация:

Сообщение xoma » Пн окт 14, 2013 5:23 pm

helldog писал(а):Да также как и свободного времени=) На роботе валят, дома девушка , которой я и так "уделяю мало времени, эгоист неблагодарный". Также сейчас делаю себе сайт на Юпи!, нужно немного подкорректировать hp модуль, даже до него руки не доходят ((((


Ясно, учтите, что личная жизнь - превыше всего +)
http://yupe.ru/subscribe - интересное от команды "Юпи!"

helldog
Гуру
Сообщения: 97
Зарегистрирован: Ср апр 03, 2013 10:16 am
Откуда: Москва

Сообщение helldog » Пн окт 14, 2013 5:45 pm

Вы хотите 0.6 выпустить уже с этим модулем?

Аватара пользователя
xoma
Администратор
Сообщения: 1924
Зарегистрирован: Ср авг 22, 2012 8:54 am
Контактная информация:

Сообщение xoma » Пн окт 14, 2013 6:08 pm

helldog писал(а):Вы хотите 0.6 выпустить уже с этим модулем?



Неет, скорее всего потом его включим, на 0.6 итак полно дел =)
http://yupe.ru/subscribe - интересное от команды "Юпи!"

helldog
Гуру
Сообщения: 97
Зарегистрирован: Ср апр 03, 2013 10:16 am
Откуда: Москва

Сообщение helldog » Вт окт 15, 2013 5:58 pm

Сегодня начал делать модуль (по тихому, на роботе =) ).

Аватара пользователя
xoma
Администратор
Сообщения: 1924
Зарегистрирован: Ср авг 22, 2012 8:54 am
Контактная информация:

Сообщение xoma » Вт окт 15, 2013 6:09 pm

helldog писал(а):Сегодня начал делать модуль (по тихому, на роботе =) ).


Смотрите, не попадитесь =)
http://yupe.ru/subscribe - интересное от команды "Юпи!"

evgeniy
Гуру
Сообщения: 121
Зарегистрирован: Пт окт 12, 2012 1:43 pm
Откуда: Russia, Rostov-on-Don
Контактная информация:

Сообщение evgeniy » Чт окт 17, 2013 1:41 am

Добрый день, по возможности отпишитесь.

http://www.php.net/manual/en/class.ziparchive.php
Не входит в базовую поставку PHP, а потому не встанет на большинстве хостеров.
Что если перейти на использование Phar? Он вроде как идёт из коробки в одной из версий php 5.3.x?
http://fiberside.ru/ - разработка проектов и автоматизация бизнеса. Поддержка проектов на Yiiframework 1.x/2.x
http://kulikov.im/ - немного личных размышлений

evgeniy
Гуру
Сообщения: 121
Зарегистрирован: Пт окт 12, 2012 1:43 pm
Откуда: Russia, Rostov-on-Don
Контактная информация:

Сообщение evgeniy » Чт окт 17, 2013 1:49 am

Тем более, что phar поддерживает большинство необходимых нам в будущем функций, а именно:
(http://www.php.net/manual/en/class.phar.php)
Phar::getModified — Return whether phar was modified
require_once 'phar:///way/file.phar/file.php'; (то есть можем заранее прочитать тот же конфиг)
Phar::getMetadata — Returns phar archive meta-data (можно заюзать для информации о пакете)

Phar::buildFromDirectory — Construct a phar archive from the files within a directory.
Phar::buildFromIterator — Construct a phar archive from an iterator.

Последние две можно использовать для создания пакета модуля, что кстати удобно, согласитесь?
http://fiberside.ru/ - разработка проектов и автоматизация бизнеса. Поддержка проектов на Yiiframework 1.x/2.x
http://kulikov.im/ - немного личных размышлений

Аватара пользователя
xoma
Администратор
Сообщения: 1924
Зарегистрирован: Ср авг 22, 2012 8:54 am
Контактная информация:

Сообщение xoma » Чт окт 17, 2013 9:31 am

evgeniy как простым архиватором собрать phar архив ?
или нам придется писать консольную тулзень, которая будет упаковывать модуль в phar ?
http://yupe.ru/subscribe - интересное от команды "Юпи!"


Вернуться в «Дополнительные модули»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость