I think you will enjoy your webdev experience with Grav 🙂 It’s refreshingly different from WordPress and traditional CMS platforms.
— Grav (@getgrav) March 13, 2018
So, what is Grav? It’s a content management system (CMS) or, said another way, it’s an application to make websites. But differs from other CMSs like Drupal or WordPress in its underlying technology. While it’s a PHP app like those two, unlike them it does not have a database. All data is written directly to files rather than stored and retrieve from a database. This is known as a flat-file system and it can help with performance given numerous database calls can slow down sites.
Why and when would you use Grav? I’m not sure I would push a faculty member or student towards Grav if they weren’t somewhat technically-inclined. It’s not that Grav is particularly difficult, every CMS has a learning curve, but rather it gets really interesting when you can integrate it into Github using the Github Sync plugin, which sync everything on your Grav site to a Github repository for others to contribute to, clone, or fork.
But is it educational? Thanks to the great Paul Hibbitts, absolutely. One of the cool things Paul has been doing is building packages with predefined themes and plugins to create a focused functionality. We have these as part of our shared hosting servers, and they add fun options like a Resume, Photo site, Open Course Hub, etc. In many ways it is quite similar to what Brian Lamb and Alan Levine imagined with their SPLOTs.
In fact, the package are well maintained, in fact Paul just updated a few Installatron packages at Reclaim Hosting, and you can try it out on our demo server at stateu.org.
Thanks to the speedy work of Tim @ReclaimHosting updated Installatron packages for @getgrav Open Course Hub are now ready with Grav 1.4 and Admin Panel 1.7?????? (Open Publishing Space and Learn2 with Git Sync have also been updated) pic.twitter.com/7QtfIm9USU
— Hibbitts Design (@hibbittsdesign) March 12, 2018
To get more familiar with Grav, I actually installed and played around with the Open Course Hub package to re-make the Workshop website.
The original is a course/blog theme designed by Paul that I used his package to install on Reclaim and then synced with Github (which the wizard makes quite simple if you have an account). I deleted much of the pages in the original and keep the sidebar and page structure—notice the “Edit This Page” link that leads you to Github.
One of the issue I ran into as I was getting acquainted with Grav through the Open Course Hub package is that changing the menu structure or the blog post structure took me a bit to figure out. This is always the case with learning new systems, but when installing these packages you may feel somewhat tied to the pre-existing structure.
I’ll provide a quick anatomy of the homepage in my Grav to explain what I mean. Here is a look at the Grav pages management area:
The pages under home are part of the blog. Keep in mind Grav is not necessarily a blogging engine, so the blog functionality is a bit of an addon that you need to build which depends in part on your theme. Paul setup the Open Course Hub that it would have the blog feature enabled by default. The blog posts are known as “items” and you can see the content for the “Day 1 (March 15th)” post below:
Like Ghost, Grav is built to write using Markdown and you can see in the Content tab that it has a basic visual editor similar to WordPress. The other tabs are where you would control various features of the item.
In the Options tab you can update the date of the post, the status (published, draft, etc), add categories, tags, etc.
In Advanced you can control parent page, template, ordering, etc.
In Blog Item you can add featured image, link, summary excerpt, etc.
In retrospect it is simple enough, but after being so trained to think through the WordPress dashboard it’s amazing how much of something as simple as creating a post you take for granted.
So, I’ll be saying as much and more this Friday when I show off Grav to a group of folks to give them a better sense of some of the options afforded through open source applications like Grav and their dedicated community members like Paul that make these applications that much better.
Also, please leave additional talking points, recommendations for examples, and even critiques of what I wrote above in order to help me fine-tune this bit of Workshop of One’s Own.