Low-Code-Admin-Panel und Business-Intelligence-Rails-Engine (kein DSL – über die Benutzeroberfläche konfigurierbar) .
? Demo-App | ? Funktionsübersicht | Profi
Fügen Sie diese Zeile zur Gemfile Ihrer Anwendung hinzu:
gem 'motor-admin'
Und dann ausführen:
$ bundle install
Migration erstellen und ausführen:
$ rails motor:install && rake db:migrate
Alles im Admin-Panel kann über die intuitive Benutzeroberfläche für Einstellungen konfiguriert werden, die über das Symbol in der oberen rechten Ecke geöffnet werden kann.
Die auf der Ressourcenseite angezeigten Daten können über SQL-Abfragen und Dashboards, die als Registerkarte an die Ressource angehängt sind, vollständig angepasst werden. Normalerweise sollten Abfragen, die zum Anzeigen von Ressourcendaten verwendet werden, die Variable {{resource_name_id}}
enthalten.
Erfahren Sie mehr über Ressourcenanpassungen
Benutzerdefinierte Ressourcenaktionen können über den Aufruf der Active Record-Methode, den API-Endpunkt oder benutzerdefinierte Formulare hinzugefügt werden. Außerdem ist es möglich, die Standardaktionen zum Erstellen/Aktualisieren/Löschen zu überschreiben.
Jede Methode oder jedes Attribut des ActiveRecord-Modells kann dem Admin-Panel zugänglich gemacht werden, indem eine neue Spalte mit dem Namen hinzugefügt wird, der mit dem Methodennamen aus dem Ressourcenmodell übereinstimmt:
class Customer < ApplicationRecord
has_many :orders
def lifetime_value
orders . sum ( & :total_price )
end
end
Werte aus den Formularfeldern können im API-Pfad über die {field_name}
-Syntax verwendet werden: /api/some-endpoint/{resource_id}/apply
.
Erfahren Sie mehr über den Builder für benutzerdefinierte Formulare
Abfragen können eingebettete Variablen über die {{variable}}
-Syntax (Mustache) enthalten. Mit der Syntax {{#variable}} ... {{/variable}}
können Sie entscheiden, ob Bedingungen innerhalb des Bereichs in die Abfrage einbezogen werden sollen.
Daten aus der SQL-Abfrage können dargestellt werden als: Tabelle, Zahl, Liniendiagramm, Balkendiagramm, Kreisdiagramm, Trichter, Markdown.
SQL-Abfragen können in Dashboards organisiert werden, um eine praktische Darstellung der Daten zu erstellen.
Mithilfe der Benachrichtigungsfunktion können Abfragedaten regelmäßig per E-Mail gesendet werden. Das Intervall der Benachrichtigungs-E-Mail kann in natürlicher Sprache festgelegt werden, z. B. every day at midnight
, every Monday at 8 PM
, every weekday at 6AM and 6PM
, every minute
.
Die Absenderadresse kann mithilfe der Umgebungsvariablen MOTOR_ALERTS_FROM_ADDRESS
angegeben werden.
Die Geheimdienstsuche kann über die Schaltfläche oben rechts oder mit der Tastenkombination Cmd + K geöffnet werden.
Motor Admin ermöglicht das Festlegen von Berechtigungen auf Zeilen- und Spaltenebene über cancan gem. Administrator-UI-Berechtigungen sollten in der Datei app/models/motor/ability.rb
in der Klasse Motor::Ability
definiert werden. Weitere Informationen zum Definieren von Benutzerberechtigungen finden Sie im Motor Admin-Handbuch und in der CanCan-Dokumentation.
Motor Admin ist standardmäßig so konfiguriert, dass es Uploads zu dem Anbieter durchführt, den Sie in Ihrer Datei storage.yml
für Active Storage konfiguriert haben. Wenn Sie große Uploads in Motor Admin verwenden, müssen Sie direkte Uploads aktivieren, indem Sie die folgende ENV-Variable festlegen.
MOTOR_ACTIVE_STORAGE_DIRECT_UPLOADS_ENABLED=true
Hinweis: Derzeit sind dadurch direkte Uploads weltweit möglich
Motor Admin kann Rails ActiveRecord i18n-Schlüssel verwenden, um Ressourcenübersetzungen zu rendern:
es :
activerecord :
models :
customer :
one : Cliente
other : Clientes
attributes :
customer :
name : Nombre
scopes :
customer :
enabled : Activado
Alle Admin-Panel-Konfigurationen werden automatisch in der Datei config/motor.yml
gespeichert. Es wird empfohlen, diese Datei in das Git-Repository der Anwendung aufzunehmen, um die Konfigurationen des Admin-Panels in verschiedenen lokalen und Remote-Umgebungen immer synchron zu halten.
Es ist möglich, die Konfigurationen des Admin-Panels für die lokale Entwicklung mit der Remote-Produktionsanwendung über den Task rake motor:sync
zu synchronisieren:
MOTOR_SYNC_REMOTE_URL=https://remote-app-url/ MOTOR_SYNC_API_KEY=secure-random-string rake motor:sync
Das Admin-Panel kann mit der „Basisauthentifizierung“ gesichert werden, indem die Umgebungsvariablen MOTOR_AUTH_USERNAME
und MOTOR_AUTH_PASSWORD
angegeben werden.
Alternativ kann es mit devise oder einer anderen von der Anwendung verwendeten Authentifizierungsbibliothek gesichert werden:
authenticate :admin_user do
mount Motor :: Admin => '/admin'
end
Starten Sie den Webpack-Entwicklungsserver:
yarn install && yarn serve
Entwicklungsdatenbank einrichten:
rake app:db:create && rake app:db:setup
Beispielanwendung im Entwicklungsmodus starten:
MOTOR_DEVELOPMENT=true rails s
Motor Admin ist unter der MIT-Lizenz lizenziert.