Установить из JED (для разработчиков расширений)
From Joomla! Documentation
[Начиная с] Joomla! 3.2 предоставляется новый функционал - установка через интернет, которая позволяет устанавливать перечисленные на JED [(официальном каталоге сторонних расширений Joomla!)] расширения. Для включения Вашего расширения в список [расширений] на JED и их установки через интернет, [необходимо выполнить] два шага:
- Заполните два новых поля на JED
- Настройте свой сайт соответственно
Заполните два новых поля на [веб-сайте каталога] JED
File:Install from Web JED Listing-ru.png
Если Вы откроете запись Вашего расширения на JED для редактирования, то Вы увидете два новых поля.
Первое - Download Type [(в переводе - Тип скачивания)], где для своего расширения Вы сможете выбрать тип скачивания из следующих четырех опций:
- None [(в переводе - Без скачивания)]
- Free Direct Download Link: [(в переводе - Бесплатное скачивание напрямую по ссылке:)]
- Free but Registration Required at Link: [(в переводе - Бесплатно, но с обязательной регистрацией по ссылке:)]
- Commercial Purchase Required at Link: [(в переводе - Необходима коммерческая покупка по ссылке:)]
Второе - Download/registration/purchase URL [(в переводе - URL ссылка на скачивание/регистрацию/покупку)] и может содержать одну из следующих URL ссылок:
- ссылку на какой-либо архив в формате zip, например, http://www.example.com/updates/com_extension_v9.9.zip
- ссылку на какой-либо файл обновления XML, например, http://www.example.com/updates/extension_update.xml
Заметьте, пожалуйста: кэширование на сервере для функционала "Установить из JED" настроено на от 2 до 6 часов, так что Вы скорее всего не увидите изменений в своей административной панели тут же.
Если Ваше расширение [предоставляется] для скачивания по ссылке напрямую, то Вы выполнили все что нужно и можете игнорировать второй шаг.
Вот немного более подробной информации по типам скачивания.
None
Это - самый распространенный на сегодня сценарий и в основном означает, что Вы не можете или не жалаете предоставлять прямое скачивание своего расширения. На JEC заполнены только обязательные поля и поля для "Установить из JED" остаются незаполненными.
Когда какой-либо пользователь заходит в свою административную панель и щелкает на вкладку "Установить из JED", то Ваше расширение можно увидеть, кнопка "Скачать" показана, но отсутствует кнопка "Установить".
Free Direct Download Link
Если Ваше расширение предоставляется бесплатно, т.е. без регистрации и покупки, то выбирайте эту опцию. Для "Download/registration/purchase URL" Вам следует ввести либо ссылку на XML файл обновления, либо ссылку на [установочный] ZIP архив.
Когда какой-либо пользователь заходит в свою административную панель и щелкает по кнопке "Установить из JED", Ваше расширение будет показано и появится кнопка "Установить", так что этот пользователь сможет щелкнуть на нее и установить это Ваше расширение.
Free but Registration Required at Link
Выбирайте эту опцию, если для скачивания Вашего расширения необходима регистрация. В поле "Download/registration/purchase URL" Вам необходимо ввести URL ссылку своего веб-сайта на страницу регистрации.
Когда какой-либо пользователь заходит в свою административную панель [Joomla!] и щелкает на вкладку "Установить из JED", то Ваше расширение можно будет найти и появится кнопка "Установить". Когда этот пользователь щелкнет на эту кнопку установки, то он будет перенаправлен на веб-страницу регистрации на Вашем веб-сайте.
Если Вы настроили свой веб-сайт правильно (смотрите ниже расположенный второй шаг), то после успешной регистрации пользователь будет перенаправлен обратно на свой веб-сайт для завершения установки из JED.
Commercial Purchase Required at Link
Если для скачивания Вашего расширения необходима покупка, то выбирайте эту опцию. Для поля "Download/registration/purchase URL" Вам необходимо ввести URL ссылку на веб-страницу продажи Вашего расширения.
Когда какой-либо пользователь заходит в свою административную панель [Joomla!] и щелкает на вкладку "Установить из JED", то Ваше расширение можно будет найти и появится кнопка "Установить". Когда этот пользователь щелкнет на эту кнопку установки, то он будет перенаправлен на веб-страницу покупки на Вашем веб-сайте.
Если Вы настроили свой веб-сайт правильно (смотрите ниже расположенный второй шаг), то после успешной покупки пользователь будет перенаправлен обратно на свой веб-сайт для завершения установки из JED.
[А что насчет подписки? Она больше основана на регистрации или на покупке?]
Настройка Вашего веб-сайта
Как было замечано ранее, если Ваше расширение предоставляется бесплатно, без необходимости регистрации и покупки, то Вам не нужно больше ничего предпринимать. Пропустите этот шаг.
Настройка Вашего веб-сайта и расширений бесплатны, но необходима регистрация по ссылке на расширение
Если Вы требуете чтобы покупатель регистрировался, то Вам необходимо настроить на своем веб-сайте регистрацию пользователей.
Если нет, то пользователь заполняет регистраци и последний шаг установки из JED НЕ завершен.
Как работает установка из JED
Когда пользователь щелкает по кнопке "Установить", то Joomla! отправляет [данные через] следующие параметры:
- installat, как, например, http://client.domain.com/administrator/index.php?option=com_installer&view=install
- installapp, как, например, 99999
installat является обратной URL ссылкой и installapp - это ID номер расширения на JED.
Для заполнения шага веб-установки, Ваш административный раздел должен принимать эти параметры, обрабатывать регистрацию и возвращаться к URL ссылке installat.
Пока заполняется и обрабатывается регистрация, Joomla ожидает получения URL ссылки zip архива или URL XML обновления. Как только [одна из] них получена, Joomla! завершает эту установку.
Веб-установка с jefreg-plugin
jefreg-plugin - это эталонное применение. Хорошая отправная точка, которая была разработана специально для этих целей может быть найдена здесь.
Это плагин содержит два параметра:
- Files to download
- Entry URL
Первый параметр, который Вам необходимо настроить - Files to Download [(в буквальном переводе Файлы для скачивания), имеет своим назначением] направить этот плагин на XML файлы обновлений Ваших расширений, ZIP файлы или скрипты (по одному на строчку).
99999=>http://www.example.com/updates/com_extension_v9.9.zip
30458=>http://www.example.com/updates/extension_update.xml
77777=>http://www.example.com/updates/download.php
Если эта строчка начинается со знака звездочки [*], то она будет пропущена и будет предоставлена для обработки плагинами, которые поддерживают скачивание после получения оплаты. Примеры таких плагинов можно найти в упомянутом выше репозитории.
По URL ссылке [точки] входа: данный плагин разработан специально для компонента пользователей Joomla! (значение по умолчанию index.php?option=com_users&view=login), однако он также прекрасно интегрируется с любой страницей регистрации: например, в случае с [компонентом] "Community Builder" изменяя URL ссылку точки входа в параметрах плагина - в целом это рекомендуется (но совсем не обязательно), чтобы направить это на Вашу страницу входа [в учетную запись]. Заметьте, что пустое значение этого параметра по умолчанию будет направлять на страницу входа [в учетную запись] компонента пользователей Joomla.
Как создать плагин jefreg-plugin
- Скачайте все файлы с GitHub
- Скопируйте все файлы в директорию системного плагина
- Создайте ZIP пакет всех файлов и установите его через менеджер расширений
Настройка Вашего веб-сайта и расширений на коммерческие расширения
[По сравнению с] предыдущим шагом, для этого потребуется поработать побольше. Рекомендуется скачать тот же самый плагин, однако Вам будет необходимо интегрировать в него дополнительную проверку, чтобы посмотреть купил ли данный пользователь Ваше расширение. Поскольку разные расширения применяют эту [проверку] многими разными способами, то применение этого функционала остается за разработчиками расширений.
Этот плагин может быть использован для получения параметров installat и installapp, но он НЕ ДОЛЖЕН возвращать URL ссылки ZIP архива или обновления XML по входу пользователя в его учетную запись. Когда покупка завершена, то эта операция может вернуться на заполнение установки из JED.
Исходный код на будущее
Вы можете отправить код для исправления программных ошибок и новых характеристик на следующие репозитории:
- https://github.com/joomla-extensions/install-from-web-client (плагин-клиент)
- https://github.com/joomla-extensions/install-from-web-server (серверная часть)
- https://github.com/joomla-extensions/install-from-web-plugins ( пример плагина для использования разработчиками)
- https://github.com/joomla/joomla-cms (репозиторий CMS)