selenia / platform
An extensible application base, built on Electro
Installs: 2 005
Dependents: 5
Suggesters: 0
Security: 0
Stars: 0
Watchers: 8
Forks: 1
Open Issues: 3
Type:electro-plugin
Requires
- php: >=5.6.0
- electro-modules/illuminate-database: ^0.10
- electro-modules/login: ^0.10
- electro-modules/matisse: ^0.10
- electro-modules/matisse-components: ^0.10
- electro/framework: ^0.10
- electro/installers: ^1.0.0
This package is auto-updated.
Last update: 2024-11-06 12:27:42 UTC
README
An extensible application base, built on Electro
This package is meant to be installed on an Electro framework blank application.
Features
This plugin provides:
Design
- Administration layouts based on Twitter Bootstrap 3.
- A main menu for your app.
- Breadcrumb navigation.
- Custom UI components.
- Custom styling for the standard widgets.
- Overridable templates for every bundled page.
Users and Authentication
- User management with roles support.
- A form for editing the logged-in user's profile.
- Automatic login form and logout action.
- A default implementation of the User and Authentication APIs.
Translations support
- A fully translatable interface.
- Translations management.
Forms
- Multi-language forms.
- Predefined actions for handling form submissions and automatically creating, updating and deleting records.
Bundled UI components
Administration / Generic App layouts
Sub-layouts
Widgets
Installation
To install this plugin on your application, using the terminal, cd
to your app's directory and type:
workman module:install-plugin selenia/selenia
For correct operation, do not install this package directly with Composer.
Required configuration settings
The default bundled administration pages require some settings to be configured.
If you don't use these pages on your app, you don't need to set these settings.
languages =
[ array of language definitions ]requireLogin = true
globalSessions
(optional)
The admin interface is multilingual (even if you use just one language on your app), and this plugin enables translation support by default.
If you have overriden that setting on your app's configuration, you'll need to enable it or create a sub-configuration to enable it for the chosen URI prefix.
You'll need to define, at least, one language on the app's configuration and select a default language on the .env
file.
Example
On private/config/application.ini.php
return [ 'main' => [ 'languages' => [ 'en:en-US:English:en_US|en_US.UTF-8|us', 'pt:pt-PT:Português:pt_PT|pt_PT.UTF-8|ptg', ], 'globalSessions' => false, // share the session between the application and its sub-applications? 'requireLogin' => true, // require login for this application? ] ];
On .env
APP_DEFAULT_LANG = en
Usage
This plugin integrates into your application's main menu. The bundled pages will appear automatically on it.
If the app does not display the menu, you'll need to navigate manually to the provided URLs to see one of the bundled administration pages.
Relative URL for the user administration page:
admin/users
If you want pages on your app to inherit the bundled administration graphical layout and default functionality, you'll need to:
- make your controller classes inherit from
Selenia\Controllers\SeleniaController
- include on each of your views, as root tag, one of the bundled layout templates (ex:
<Selenia>
).
See the bundled administration pages' source code for concrete examples.
Plugin development
If you need to perform modifications on this plugin's assets, you'll need to rebuild it before commiting those changes.
Installing the development tools
cd private/plugins/selenia/platform
npm install
bower install
Rebuilding the plugin
cd private/plugins/selenia/platform
npm run build
License
The Selenia Platform is open-source software licensed under the MIT license.
Selenia Platform - Copyright © Cláudio Silva and Impactwave, Lda.