[Intum Pomoc](https://intum.pl/pomoc.md) / [Moduły](https://intum.pl/pomoc/platform/moduly.md)

# [Tworzenie modułu](https://intum.pl/pomoc/platform/platform-moduly-tworzenie.md)

Moduł osadza istniejącą stronę CMS, aplikację albo bazę wiedzy pod dowolnym adresem konta i
dodaje ją do menu. Sam moduł nie tworzy treści - źródło musi już istnieć w swoim module (np.
strona w CMS albo baza wiedzy w Bazie wiedzy).

> [!PATH]
> [Platform → Moduły](app:/platform/modules) → **Nowy moduł**

## Pola formularza {#pola}

- **Nazwa** - etykieta widoczna w menu.
- **Kod** - unikalny identyfikator bez `/`; gdy pole jest puste, generuje się automatycznie z
  nazwy. Kod jest zarezerwowany, jeśli koliduje z nazwą istniejącego modułu intum (np. `mail`,
  `crm`, `account`) - w takim wypadku zapis odrzuci formularz.
- **Ścieżka URL** - adres, pod którym moduł jest dostępny (np. `raporty` → `/raporty`). Może
  zawierać `/` - wtedy moduł pojawia się jako podmenu istniejącego modułu (np.
  `organize/raporty` trafia do podmenu **Organize**). Ścieżka zakończona `/*` (np. `raporty/*`)
  łapie też wszystkie podstrony (`/raporty/cokolwiek`) - przydatne dla aplikacji z własnym
  routingiem wewnątrz.
- **Źródło** - strona CMS, aplikacja albo baza wiedzy z konta, która ma się wyświetlać pod tym
  adresem.
- **URL pliku JS** - alternatywa dla **Źródła**: adres gotowej aplikacji (bundla JS) zamiast
  wskazywania strony/aplikacji z konta. Pole techniczne, używane rzadko.
- **Layout** - jak moduł wygląda po otwarciu: **Bez layoutu** (pełna strona, bez menu i topbara
  intum), **Z layoutem aplikacji** (ze standardowym sidebarem i topbarem) albo **Aplikacja SPA**
  (pełna strona przygotowana pod urządzenia mobilne).
- **Ikona**, **Opis** - opcjonalny opis widoczny przy module.
- **Uprawnienie** - gdy puste, moduł widzi każdy zalogowany użytkownik konta; wpisanie nazwy
  uprawnienia (podpowiadanej z listy) ogranicza dostęp do osób, które je mają.
- **Pozycja** - kolejność w menu.
- **Aktywny** - odznaczenie chowa moduł z menu bez usuwania go.
- **Publiczny widok (bez logowania)** - pojawia się tylko dla modułów z **URL pliku JS**; po
  włączeniu aplikacja jest dostępna też bez logowania pod adresem z tokenem
  (`/<adres>/public/<token>`) - wymaga, żeby sama aplikacja pobierała dane przez własne publiczne
  API po tym tokenie, bo ten widok nie niesie sesji użytkownika.

## Po zapisaniu {#po-zapisaniu}

Moduł jest od razu aktywny na koncie, na którym powstał, i widoczny w menu (o ile konto ma
włączony moduł Platform) - nie trzeba go dodatkowo aktywować w ustawieniach konta. Jest dostępny
pod dwoma adresami: ustawioną **Ścieżką URL** i zawsze też pod `/m/<ścieżka>` - drugi jest
zapasowy, przydaje się, gdy ścieżka koliduje z czymś innym.

## Gdy coś nie działa {#gdy-cos-nie-dziala}

Patrz [Szybka pomoc](platform/platform-szybka-pomoc).