Přeskočit na hlavní obsah

Instalační skript pro Mattermost

Tento skript se spustí automaticky po úspěšné instalaci rozšíření Mattermost do systému EspoCRM. Jeho hlavním účelem je připravit systém pro integraci s Mattermostem vytvořením speciálního uživatelského účtu, nastavením základní konfigurace a úpravou seznamu dostupných záložek v rozhraní.

Hlavní funkce

  • Vytvoření uživatele Mattermost: Skript vytváří speciální systémový účet s uživatelským jménem mattermost a přiřazuje mu předdefinovanou roli s omezenými právy. Tento účet slouží pro komunikaci mezi EspoCRM a Mattermostem.

  • Nastavení základní konfigurace: Pokud se nejedná o upgrade, skript aplikuje výchozí konfigurační hodnoty definované v konstantě DEFAULT_CONFIG.

  • Úprava seznamu záložek: Přidává entitu Chat do seznamu dostupných záložek v hlavním navigačním panelu EspoCRM, pokud tam již není.

  • Vyčištění cache: Pro zajištění správného fungování všech změn skript na závěr vymaže systémovou cache.

Závislosti

Skript využívá následující klíčové komponenty EspoCRM:

  • Container - Pro přístup k systémovým službám
  • EntityManager - Pro práci s databázovými entitami

Technické informace

Třída AfterInstall

Hlavní třída obsahující logiku post-instalačního procesu.

Konstanty

  • TAB_LIST_ENTITIES: Pole entit, které mají být přidány do seznamu záložek (výchozí: ['Chat'])
  • DEFAULT_CONFIG: Výchozí konfigurační hodnoty (výchozí: prázdné pole)

Metody

  • run(Container $container, array $params = []): Hlavní vstupní bod skriptu

  • $container: Instance kontejneru EspoCRM

  • $params: Volitelné parametry (např. isUpgrade pro detekci upgradu)

  • createMattermostUser(): Vytvoří uživatele mattermost s příslušnou rolí

  • defaultConfig(): Nastaví výchozí konfiguraci ze DEFAULT_CONFIG

  • addEntitiesToTabList(): Přidá entity do seznamu záložek

  • clearCache(): Vymaže systémovou cache

Příklad použití

$container = new Container(...);
$installer = new AfterInstall();
$installer->run($container);