openulmus / openulmus.org

Openulmus.org - an open collective sustained project for the public production and sharing of knowledge
MIT License
6 stars 2 forks source link

Branding Site: Administrative Plugin #35

Open cleverington opened 6 years ago

cleverington commented 6 years ago

Recommendation

If we add the Administration Plugin and the Git-Sync plugin, we can create a self-sustaining and backed-up site using GitHub webhooks. In addition, updates and changes to content can be made entirely in-browser, which means only our Server Administrators will need access to the AWS instance via SSH. The *Site Administrators can simply have a User created for them and be given access.

Admin Plugin

https://learn.getgrav.org/admin-panel

Git-Sync Plugin

https://github.com/trilbymedia/grav-plugin-git-sync

Status

@mmilutinovic1313 already explored this option a little bit on the Server, but it appears he made have had some Permissions difficulties.

Tested locally and the Admin Plugin works perfectly.

mmilutinovic013 commented 6 years ago

I can confirm that admin plugin is working locally - should be able to get this working on the server once we get merges taken care of tonight/tomorrow morning :)

mmilutinovic013 commented 6 years ago

Update: This has not been successfully ported to the server.

cleverington commented 6 years ago

Update

Installed Admin Plugin -> Tested and confirmed working. Uninstalled and cleared caches.

Installing automatically installs required dependancies:

Why uninstall it? See next comment

Status / Notes

( @btopro - Please chime in thoughts for a quick collaborative question, now that the server is configured enough to get the Admin Plugin installed and working. )

Do we want the Admin Plugin installed on the LIVE environment? Would it instead serve us better to spin up a small DEV environment on an EC2 server or something and then add the Admin Plugin, Git-Sync, and HAX to it?

Something like this, for the setup:

LIVE ENV DEV ENV LOCAL ENV
- GravCMS - GravCMS - GravCMS
- Git-Sync Plugin - Incoming Webhook configured (for when GitHub is updated on master branch) - Git-Sync Plugin - Outgoing Webhook configured (for when master branch is updated) - Incoming Webhook configured (for when any branch is updated, on GitHub) - Git-Sync Plugin - Outgoing Webhook configured
- Webcomponents Plugin - Webcomponents Plugin - Webcomponents Plugin
- Admin Plugin - Admin Plugin
- HAX Plugin - HAX Plugin
btopro commented 6 years ago

this sounds like a reasonable production level setup / notion. I guess you'd sync between the systems and then have a gitignore for the admin module. I'm less concerned about this aspect admittedly though I see the workflow your describing and it sounds correct. Probably could even skip a dev and have a workflow that's local / docker / vagrant (fielders choice) and then sync to github and pull down on live when desired to have the content show up