cul-2016 / site

The Quodl website - where the latest information on Quodl, the science behind it and sign up links can be found.
http://quodl-site.herokuapp.com/
MIT License
5 stars 0 forks source link

Spike: Investigate CMS suitability #2

Closed Cleop closed 6 years ago

Cleop commented 6 years ago

Following my research into CMS options we have narrowed down our choices to Ghost and Apostrophe. Now in order to understand which is most suitable we are going to do a short spike into each of these to learn more. I will be looking at Ghost whilst @finnhodgkin will be looking at Apostrophe. We will record our findings in here and choose a CMS by the end of the day.

finnhodgkin commented 6 years ago

First impressions of Apostrophe

It's really easy to get set up and running!

apostrophe

There's a great beginner's guide that takes you through the installation and templating process, and I can already see exactly how you would build fairly complex layouts with text editing integration. :+1:

The CMS side of things is 'widget' based - signed in admins just click directly on the existing page content to make edits or add new sections (widgets). This means the page isn't limited to just a title/content like some blog sites, and the text editing is 'rich text' so there's no markdown/html on the client-side. Image selection/upload is also included out of the box.

The docs

On first impression the Apostrophe documentation seems to be thorough but not terribly well organised. There's just a giant list of alphabetised module names so unless you know exactly what you're looking for it's hard to know where to look.

CSS

It comes bundled with Less for css but it was v. easy to swap out it for tachyons (you can add <style> and <script> tags like any other static site).

JS

Lodash / jQuery are included by default and there doesn't seem to be an easy way to remove them. Bundling doesn't seem to be provided so no access to brunch/webpack, and no npm/require on the front-end.

Links

Example demo: http://demo.apostrophecms.org/ Beginner guide: http://apostrophecms.org/docs/tutorials/getting-started/index.html Docs: http://apostrophecms.org/docs/

Issues so far:

@nelsonic posted a list of questions in https://github.com/dwyl/adoro/issues/3#issuecomment-359429975 that I've tried to answer below. Some information may be missing/wrong because I haven't had much time to explore the module ecosystem:

Cleop commented 6 years ago

Reflections on Ghost

Setup

tl;dr

The setup was time consuming and I encountered lots of hiccups along the way. I've now had to take a shortcut for a local version which may be difficult to run in production. This experience may have been totally different if I was using Ubuntu which is what Ghost is designed for.

Setup on a Mac

Ie. brew install nginx not sudo apt-get...

Ensure that MySQL is installed with a password specified (as per the Ghost documentation): image

Problems I encountered/ instructions I chose not to follow:

You must install ghost-cli globally, everything else I didn't install globally even when it tells you to: npm i -g ghost-cli

Do sudo mkdir -p /var/www/ghost or sudo mkdir -p /var/www/{folder} - must use sudo

Do cd /var/www/ghost, then sudo ghost install

image


Based on the journey above, now going to pursue the local option: ghost install local. Make sure your repo is totally empty before doing this.

image

This runs like the production example but skipping the following sections:

This works and I am now running their demo site. The demo site uses the theme Casper which they suggest you customise.

Using Ghost

The site's structure doesn't seem to difficult to get a grasp of for customisation. Concerns however are:

Links

Setup guide for production site - https://docs.ghost.org/docs/install Local setup - https://docs.ghost.org/docs/install-local

Cleop commented 6 years ago

We are going to proceed with Apostrophe because it is more of an all-round CMS (rather than Ghost being publishing centric), it is compliant with both Ubuntu and OS X and has good documentation and options for module expansion.