Grav CMS – The future of flat file CMS

Grav is an open source Flat-File CMS written in PHP developed by RocketTheme. When we say Flat-File CMS it means that the Content Management System doesn’t rely on a Database to serve content, instead, it stores content in files that can be a text file or a markdown file depending on what kind of content it is handling or what kind of CMS it is. Flat-File CMS are useful with your I/O for file handling is faster than a Database response or when you don’t have enough resource to power a Database. It is also useful if a specific Database type costs money, Flat-File CMS at times can cost cheaper then a Database driven CMS. There are many Flat-File CMS out there like Statamic, Kirby, PhileCMS and many other. To know what makes Grav a better choice stay tuned.

Grav is one of the fastest flat-file CMS with a cleaner code base that follows the PSR standards. Grav uses YAML that uses the <code class="highlighter-rouge">.yaml extension to store system and other various configuration. It uses Markdown files with the <code class="highlighter-rouge">.md extension to store content the Markdown files are parsed by Parsedown one of the best PHP based Markdown parser. Grav uses Twig for templating that is one of the most popular PHP-based templating engines. It is also a better templating engine compared to other templating engines because Twig is parsed directly into PHP that makes it really fast.

The benefit of using Twig for templating is that the user does not require knowledge of PHP and can directly read the documentation and start developing themes for it. This is one of the reasons why I love Grav.

Grav has it’s own package manager named GPM was also known as Grav Package Manager that lets the user install/uninstall/update 3rd party plugins and themes. It is also the at the very core of Grav that lets the user update this Grav install on every new update. The GPM package manager makes Grav, even more, user-friendly. Grav also comes with other CLI tools like grav it is similar to GPM. Grav grav CLI lets the user purge cache and manage much other various stuff.

Even after Grav being in the development stage turns out to be very stable. Grav developers are working on an Admin Panel plugin that lets the user have a really nice looking GUI to work with Grav. The Admin panel is currently not yet available it would be available in version 1.0.1, you can find the screenshots over here. Grav is being developed on GitHub.

Grav lets the user create skeletons some skeletons are already available here.

For a developer, Grav has a lot of user in areas where one would prefer file based system or lack resource to have a Database at the same time not lack functionality for this reason. Grav plugins are written in PHP and let 3rd part developers add more functionality to Grav. Grav lets theme developers file written in PHP named after the theme name that can make a connection with plugins or have it’s own unique functionality. Grav lets the theme have its own YML configuration file with a .yaml an extension that lets the theme developer add this/her own configuration with having to mess with the CMS core configuration files.

Grav being a Flat-File CMS also lets the user manage it using version control and sync based system, as the whole system just files. Version Controlling a CMS can be a very good idea at times as it lets the user have a track record of every change made and lets the user revert back to an older build. This can be better achieved on a Flat-File CMS, because If a Database driven CMS is version control like an SQLite driven CMS then only the binary change can be visible and file size as this does not show the big changes made to the system and makes the SQLite driven CMS a much unfriendly option for version control users.

In my opinion, Grav is one of the fastest Flat-File CMS I have ever used and one of the best in the way it works. Grav might be the best alternative to Database driven systems in the near future.

Thanks for reading. This is my first written preview of any web technology. Feel free to give a feedback or ask any questions in a comment below.

This post was written before the features of Grav became common to other CMS

Android SDK : installation on Ubuntu via PPA

Android SDK is a development kit targeted at developing apps for mobile devices running Android. With the Android SDK, one can develop, debug, and test apps via an inbuilt emulator. The emulator can emulate the expected behavior of the Android OS on many platforms including Linux, Windows, and Mac.

Here, we will instruct on how you could install the latest version of ***Android SDK  ***under Ubuntu 12.04/11.10 or Linux Mint via our PPA. You can still install it manually if you like; check this page for more details.

Unlike most other SDKs, the Android SDK comes in parts and don’t function without one another. The list of repositories for installation packages on Ubuntu and Linux Mint doesn’t already contain the Android SDK. This is why we would need to add a PPA i.e. Personal Package Archive. This essentially lets us include an additional repository that will let us install the Android SDK via the terminal.

Since it’s the terminal, you’d be guaranteed to have the most recent version of the SDK.

This process will install the following:

      1. The Android SDK and ADK
  1. Eclipse IDE for JAVA
  2. JAVA JDK 6

Install Android SDK

1. Open Terminal

Do this using the keyboard shortcut [CTRL][ALT][T] or [command][option][T] in Macs.

2. Add the new PPA

sudo add-apt-repository ppa:upubuntu-com/sdk

The above command will include the required repository containing Android SDK.

sudo apt-get update

This will update your system to conform with the latest in the repository.

sudo apt-get install android-sdk

This installs the Android SDK. Be patient and let the process complete.

This completes the installation of all of Android SDK components on your Linux PC.

3. Install the ADT plugin in Eclipse

Start up Eclipse that was installed in the previous step.

In the menu-bar go to **Help **> Install New Software

Android SDK

In the pop-up dialog, click the ***Add ***button and enter the following details and click **OK.**
Fill in the following details

Name: **ADT Plugin**(but you can enter whatever you like really)

Location: https://dl-ssl.google.com/android/eclipse/

[![add-repository-eclipse-adt](https://www.revryl.com/wp-content/uploads/2013/01/add-repository-eclipse-adt-300×108.png)](https://blog-darryldias.rhcloud.com/installing-android-sdk-on-ubuntulinux-mint-via-ppa/add-repository-eclipse-adt/)

Check on **Developer Tools** and click **Next***.*

Shortly, you’ll come upon a list of tools to be downloaded. Click Next.

[![add-repository-eclipse-adt-2](https://www.revryl.com/wp-content/uploads/2013/01/add-repository-eclipse-adt-2-300×264.png)](https://blog-darryldias.rhcloud.com/installing-android-sdk-on-ubuntulinux-mint-via-ppa/add-repository-eclipse-adt-2/)

 

Accept the terms of the license agreements and click **Finish **to start the installation of selected items. Read the whole thing if you are into that sort of thing.

[![Add repository into Eclipse](https://www.revryl.com/wp-content/uploads/2013/01/add-repository-eclipse-adt-3-300×264.png)](https://blog-darryldias.rhcloud.com/installing-android-sdk-on-ubuntulinux-mint-via-ppa/add-repository-eclipse-adt-3/)

When the installation completes, restart Eclipse so that changes take effect. You can now start developing your Android apps and games!

That’s it. Feedback is much appreciated.