Content Management System

Extensions

Overview

Extensions are simple way to create modular web applications. Each extension can contain database model classes, migrations, route controllers html pages and components, queue jobs classes and events subscribers classes.

Package descriptor file arikaim-package.json

{ 
    "version": "{ Version }",
    "name": "{ Extension name }",
    "title": "{ Extension display name }",
    "package-type": "extension",
    "repository": "{ Git Repository Url }",
    "help": "{ Help page url }",
    "description": "{ Description text }",
    "short-description": "{ Short description text }",
    "type": "user",  
    "admin-menu": {        
        "title": "{ Title }",
        "icon": "{ Css icon class }",
        "page-title": "{ Control panel page title }",
        "page-icon": "{ Css icon class }",
        "component": "{ Control panel component name }"
    }      
}
Property Type Description
version string required Package version.
name string required Package name.
title string optional Package display name.
package-type string required Package type.
repository string optional Git repository url.
help string optional Help page url.
description string optional Package description text.
short-description string optional Short description text.
admin-menu/title string required Control panel menu title.
admin-menu/icon string required Control panel menu icon.
admin-menu/page-title string required Control panel page title.
admin-menu/page-title string required Control panel page icon.
admin-menu/component string required Control panel html component name.

Folder structure

Extension folder

config
Extension config files.
console
Console command classes.
controllers
Controller classes.
jobs
Queue jobs classes.
models
Laravel ORM model classes.
models / schema
Database migrations.
subscribers
Event subscribers.
view
Html components, pages, js and css files.
view / components
Html components root folder
view / pages
Html pages root folder