Нові вимоги joomla update system

Нові вимоги joomla update system

Нижче ми розповімо, як впровадити Систему Оновлень Joomla (Joomla Update System) в ваше розширення.

Що таке Система Оновлень Joomla? (Joomla Update System)

Нові вимоги joomla update system

Повідомлення про оновлення

Система Оновлень Joomla надає зручний спосіб для поновлення встановлених розширень, крім того, вона впроваджує систему оповіщень від розробника розширення, інформує користувача про доступність нових версій. Таким чином, адміністратори будуть сповіщені і зможуть оновити розширення з адмінки декількома кліками.

Повідомлення про доступні оновлення

Нові вимоги joomla update system
Повідомлення про успішну установку поновлення

Нова вимога JED

У цьому посібнику будуть викладені загальні деталі, пов'язані з впровадженням Системи Оновлень Joomla як в безкоштовні, так і в платні продукти. Всім розробнику розширення рекомендується вивчити детальну документацію або посмортеть зсередини сторонні розширення, в яких вже реалізована подібна інтеграція з системою оновлень.

Всі розширення, вже додані в офіційний каталог розширень (JED) залишаться в якості винятку, проте після натискання на кнопку Download з'явиться спливаюче віконце, яке попереджає про те, що в даному розширенні немає підтримки серверів оновлень і розширення буде потрібно оновлювати в ручному режимі.

Інтеграція Системи Оновлень Joomla в безкоштовні розширення

Визначення сервера оновлень

Для використання даного функціоналу сервер оновлень повинен бути встановлений в маніфесті розширення.

Оновлення XML файлу

Тип сервера розширень дає розробникам можливість оголошувати маніфест розширення для отримання оновлень з маніфесту одиночного розширення.

Приклад використання: компонент Joomla weblinks

Як відомо, колишній раніше складовою частиною Joomla компонент посилань (com_weblinks) на даний момент поширюється як стороннє розширення і оновлюється за принципом стороннього розширення. Даний компонент - відмінний приклад впровадження системи оновлень: joomla-extensions / weblinks

Як показано на прикладі маніфесту вище, обновлеенія розширення поширюються з XML файлу, який налаштовується вручну. Якщо ви плануєте створити потоки з XML оновленнями з компонента-файлового сховища, то ряд альтернативних рішень можна знайти на JED.

Інтеграція Системи Оновлень Joomla в комерційні розширення

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

Для ідентифікації оновив користувач свою систему, у Joomla є додатковий параметр extra_query в #__update_sites. Даний параметр повинен бути доданий в оголошеному URL для скачування, надаючи користувачу можливість прийняти або відмовитися від скачування оновлення.

Ви можете управляти extra_query в відповідності зі своїми вимогами і Joomla не накладаються ніяких обмежень в області інформації. Поле має бути дійсним як параметр URL.

Приклад реалізації: Akeeba Release System і Akeeba Subscriptions

Розробник компонентів Akeeba Release System і Akeeba Subscriptions використовує дані продукти для продажу своїх розширень. Обидва продукти є безкоштовними альтернативами для створення власної системи релізів.

В даному контексті Download ID (dlid) повинен бути визначений в розширенні, інформація про який оновлюється і зберігається в поле extra_query. Наприклад: dlid = +1234567890123456789012.

Коли Менеджер Оновлень Joomla звертається до вашого сайту з метою поновлення, він включає в себе Download ID. Компоненти Akeeba Release System і Akeeba Subscriptions працюють спільно і здійснюють перевірку валідності підписки користувача і повертають правильну відповідь.

Кілька слів щодо сторонніх Систем Оновлень

Сторонні системи оновлень, створені для забезпечення безпечного і зручного способу оновлень, схожі з Системою Оновлень Joomla і виконують ті ж вимоги. Однак, оскільки нашою метою є централізація інформації про оновлення в розширеннях, Область оновлень (Update area), а потім і стороння система оновлень повинні надавати Менеджеру Оновлень Joomla інфорацію про доступність версії. Користувачам не обов'язково відвідувати сайт кожного розширення для того, щоб перевірити статус розширення.

Приклади скріншотів:

Нові вимоги joomla update system
Сторінка розширення на JED: згода з політикою Системи Оновлень Joomla!
Нові вимоги joomla update system
Форма редагування розширення на JED: вимога Системи Оновлень Joomla
Нові вимоги joomla update system
Форма з попередженням про те, що розширення не використовується Система Оновлень Joomla

Як найкраще виконувати вимоги по додаванню ПДВ у разі продажу електронних товарів і послуг?

У деяких випадках необхідно додавати ПДВ при продажу цифрового товару або послуги, проте подібні аспекти лежать за межами повноважень JED. Це питання лежить цілком на плечах розробника.

Ви можете впровадити Систему Оновлення серверів в схожому ключі, як це реалізовано в платних розширеннях - дана система інформує користувачів про доступні оновлення розширень і відображає повідомлення, що інформує про доступність оновлення через ваш сайт. Ключовим моментом є інформування користувача про оновлення, рішення про те, чи варто оновлювати розширення чи ні лежить цілком на користувача.

До слова кажучи, існує кілька менеджерів завантажень, які вирішують задачу з управління оновленнями, також існують компоненти для організації підписок, які допоможуть вам з урахуванням ПДВ. В іншому випадку ви можете використовувати платформи електронної комерції для організації продажів.

Корисні посилання по темі:

У статті використано зображення з сайту Freepik