getgrav / grav-plugin-admin

Grav Admin Plugin
http://getgrav.org
MIT License
355 stars 227 forks source link
admin admin-dashboard administration cms content content-management es6 es6-javascript grav grav-plugin markdown markdown-editor markdown-to-html php user-interface website website-builder website-generation

Grav Standard Administration Panel Plugin

This admin plugin for Grav is an HTML user interface that provides a convenient way to configure Grav and easily create and modify pages. This will remain a totally optional plugin, and is not in any way required or needed to use Grav effectively. In fact, the admin provides an intentionally limited view to ensure it remains easy to use and not overwhelming. I'm sure power users will still prefer to work with the configuration files directly.

Features

Support

Support

We have tested internally, but we hope to use this public beta phase to identify, isolate, and fix issues related to the plugin to ensure it is as solid and reliable as possible.

For live chatting, please use the dedicated Discord Chat Room for discussions directly related to Grav.

For bugs, features, improvements, please ensure you create issues in the admin plugin GitHub repository.

Installation

First ensure you are running the latest Grav 1.6.7 or later. This is required for the admin plugin to run properly (-f forces a refresh of the GPM index).

$ bin/gpm selfupgrade -f

The admin plugin actually requires the help of 3 other plugins, so to get the admin plugin to work you first need to install admin, login, forms, and email plugins. These are available via GPM, and because the plugin has dependencies you just need to proceed and install the admin plugin, and agree when prompted to install the others:

$ bin/gpm install admin

Manual Installation

Manual installation is not the recommended method of installation, however, it is still possible to install the admin plugin manually. Basically, you need to download each of the following plugins individually:

Extract each archive file into your user/plugins folder, then ensure the folders are renamed to just admin/, login/, form/, and email/. Then proceed with the Usage instructions below.

Usage

Create User with CLI

After this you need to create a user account with admin privileges:

$ bin/plugin login new-user

Create User Manually

Alternatively, you can create a user account manually, in a file called user/accounts/admin.yaml. This filename is actually the username that you will use to login. The contents will contain the other information for the user.

password: 'password'
email: 'youremail@mail.com'
fullname: 'Johnny Appleseed'
title: 'Site Administrator'
access:
  admin:
    login: true
    super: true

Of course you should edit your email, password, fullname, and title to suit your needs.

You can use any password when you manually put it in this .yaml file. However, when you change your password in the admin, it must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters.

Accessing the Admin

By default, you can access the admin by pointing your browser to http://yoursite.com/admin. You can simply log in with the username and password set in the YAML file you configured earlier.

After logging in, your plaintext password will be removed and replaced by an encrypted one.

Standard Free & Paid Pro Versions

If you have been following the blog, Twitter, Discord chat, etc., you probably already know now that our intention is to provide two versions of this plugin.

The standard free version, is very powerful, and has more functionality than most commercial flat-file CMS systems.

We also intend to release in the near future a more feature-rich pro version that will include enhanced functionality, as well as some additional nice-to-have capabilities. This pro version will be a paid plugin the price of which is not yet 100% finalized.

Admin Events

General events

Page specific events

Tasks

Editing

Pages

Running Tests

First install the dev dependencies by running composer update from the Grav root. Then composer test will run the Unit Tests, which should be always executed successfully on any site.