Перейти до вмісту
Intum — Довідковий центр

Platform - власні модулі в intum

Оновлення: 4 хв читання

Для чого призначений модуль Platform?

Модуль Platform дозволяє створювати власні модулі в intum - додавати нові розділи до системи, які працюють як нативні елементи застосунку. Завдяки цьому ви можете розширити intum будь-якими функціями без втручання у вихідний код.

Кожен модуль - це шлях URL (напр. /raporty, /baza), пов’язаний із джерелом контенту - сторінкою CMS, застосунком Noe, базою знань чи зовнішнім файлом JavaScript.

Як увімкнути модуль Platform?

  1. Перейдіть до Обліковий запис → Модулі (/account/modules)
  2. Знайдіть модуль Platform у списку
  3. Натисніть перемикач, щоб його ввімкнути

Після ввімкнення в меню з’явиться розділ Platform зі списком ваших модулів.

Що можна підключити як модуль?

Кожен модуль може бути пов’язаний з одним із чотирьох джерел:

  • Noe::App - окремий застосунок Noe (Svelte, JS, HTML). Ідеально для простих інструментів і дашбордів. Більше про Noe →
  • Файл JavaScript (source_url) - зовнішній застосунок JS (напр. створений у Svelte, React, Vue). Ви вказуєте URL до файлу JS, і модуль завантажує його в елементі <div id="intum_platform_module">. Ідеально для застосунків, створених поза intum.
  • Cms::Site - повний сайт CMS з багатьма підсторінками, макетами та шаблонами Liquid. У сторінках CMS ви можете вбудовувати будь-який код JavaScript, Svelte, Vue, React - завдяки цьому ви створюєте інтерактивні застосунки безпосередньо в CMS. Ідеально для складних модулів з багатьма сторінками. Більше про CMS →
  • Kb::KnowledgeBase - база знань з категоріями, статтями та пошуком. Ідеально для внутрішньої документації. Більше про Базу знань →

Модуль з файлу JavaScript

Замість підключати наявний сайт CMS чи застосунок Noe, ви можете вказати URL до файлу JS у полі Source URL. Модуль завантажить цей файл і виконає його на сторінці.

Застосунок JS має монтуватися в елементі #intum_platform_module:

const target = document.getElementById("intum_platform_module")
// mount your app here

Файл JS може роздаватися з будь-якого джерела - з CDN, з власного сервера, або з асетів intum. У режимі development зручно використовувати локальний dev-сервер (напр. http://localhost:3100/app.js) з watch mode - змінюєте код, оновлюєте сторінку і бачите ефект.

Цей підхід дозволяє створювати модулі в будь-якому фреймворку (Svelte, React, Vue, vanilla JS) з власним процесом збірки, тестами та деплоєм.

Макет модуля

Кожен модуль може працювати в одному з двох режимів:

  • З макетом застосунку (app) - модуль відображається всередині стандартного інтерфейсу intum, з топбаром, сайдбаром і меню. Виглядає як нативна частина системи. Корисно, коли модуль має пасувати до решти застосунку.
  • Без макета (none) - модуль займає всю сторінку, без елементів інтерфейсу intum. Корисно для самостійних застосунків, лендінгів, віджетів чи модулів із власною навігацією.

Режим ви задаєте в полі Layout під час створення чи редагування модуля.

Як створити новий модуль?

  1. Перейдіть до Platform → Модулі (/platform/modules)
  2. Натисніть Новий
  3. Заповніть форму:
    • Назва - відображається в меню (напр. “Звіти продажів”)
    • Код - ідентифікатор модуля (напр. raporty)
    • URL - шлях, під яким модуль буде доступний (напр. raporty/raporty). Можна використати /* наприкінці, щоб ловити підшляхи (напр. raporty/*/raporty/cokolwiek)
    • Source URL - опціонально URL до файлу JS (замість джерела CMS/Noe/KB)
    • Тип джерела - виберіть Cms::Site, Noe::App або Kb::KnowledgeBase (коли не використовуєте Source URL)
    • Layout - з макетом застосунку (сайдбар, топбар) або без
    • Право доступу - опціонально обмежте доступ обраним правом доступу
  4. Збережіть
  5. Увімкніть модуль у Обліковий запис → Модулі (/account/modules) - він з’явиться в меню

URL з wildcard

URL модуля може закінчуватися на /* - тоді він ловить саму базову адресу і всі підшляхи:

  • myapp/* - працює під /myapp, /myapp/dashboard, /myapp/settings/profile тощо
  • Підшлях потрапляє до модуля як контекст навігації

Exact URL (без /*) відповідає лише на точну адресу. Якщо існує модуль з точним URL-ом і водночас інший з wildcard - точний має пріоритет.

Розширення наявних модулів

Хочете додати нову опцію до наявного модуля, напр. додаткову сторінку в розділі Organize чи новий вигляд у CRM? Достатньо використати / в URL модуля.

Впишіть як URL назву наявного модуля, скісну риску / та назву нової опції. Нова позиція з’явиться автоматично в меню цього модуля, поряд зі стандартними опціями.

Приклади

URL модуля Ефект
organize/raporty Нова позиція Звіти в меню Organize
crm/analiza Нова позиція Аналіз в меню CRM
helpdesk/faq Нова позиція FAQ в меню Helpdesk

Контроль доступу

Кожен модуль може мати задане право доступу (privilege). Якщо воно задане, модуль бачить і може відкрити лише користувач із цим правом. Якщо поле порожнє - модуль доступний для всіх залогінених користувачів.

URL-адреси

Кожен модуль доступний за двома адресами:

  • Чистий URL: /url-modulu (напр. /raporty) - основний шлях
  • Запобіжник: /m/url-modulu (напр. /m/raporty) - завжди працює, навіть якщо URL конфліктує з наявним модулем

Чи була ця інформація корисною?

Поділитися

Коментарі