This is a bit of a shameless plug, but I figure it's relevant to this topic. I just put up blog post introducing my new project, Grow (http://about.grow.io/blog/all-i-want-to-do-is-build-a-web-si...). Grow overlaps with Ghost in some ways, but attempts to be a full-fledged, modern file-based CMS and is not designed just for blogs alone. I've been following all the replies in this thread to get a better idea on what people are looking for, and I think I've nailed it.
Basically, the way I've architected Grow is the whole system is file-based: content is stored in Markdown or YAML files, templates are stored as Jinja2 templates, separate from the content.
When you start up a Grow server for development, essentially what amounts to a super lightweight in-memory index is created from the file structure, and that allows your site to be generated (including pages that leverage complicated queries or access content through taxonomies).
This design keeps everything incredibly portable (zero-configuration development AND zero-configuration deployment) – which is one of the values that I hold to be very important. Anyway, the project is still super young (and my blog post is light on technical details, but I'm working on it), so I'm interested in getting any early feedback.
the db is sqlite by default, and its stored in content/ with your themes and other stuff (?)
so you just backup your content directory ;d
My gripe is that it appears tied to SQLite, and I can't use Postgres. Oh well, wasn't planning on using it anyway.
So in theory putting in the correct connection config should allow you to use Postgres.
I just like Postgres, that's all.
"optionalDependencies": {
"mysql": "2.0.0-alpha9"
},
And this guide [2] seems to indicate that PG support is possible.[1] https://github.com/TryGhost/Ghost/blob/master/package.json
[2] http://www.howtoinstallghost.com/how-to-install-ghost-on-her...
Your prep work in isolating the database work may even be something the Ghost people themselves would be interested in merging, as it's just good design to do so (if they hadn't already).
Fine for a default though. As long as you can switch it later.
But it is /not a CMS/. It's a blogging platform, and it set out to not become what Wordpress has turned into (a CMS).
That's not to say they will become Wordpress, but just to point out that content management is in fact part of what Ghost is created to do.
Maybe you can try looking into one profile.
I think now that you've made your point I may abstract models to the point where the database can be either MariaDB or a bunch of JSON files/SQLite. Its tricky because I build databases for performance and scalability over flexibility.
To give you an idea of what I mean, Wordpress makes me cringe in the way they handle their tags, categories etc. and the sheer amount of SQL queries and joins for a simple front page. I make at most 2 queries for the front page (excluding sidebar, which would be cached), the user session authentication and the articles. I make no queries if I can help it ( Caching in node.js is so fun ). Categories are always in memory, along with user roles, settings etc.
It's really quite glorious having a readily available memory store. I'm getting around ~500 queries per second to my front page in apachebench, which would normally have about 7-10 queries to the database.
The whole Ghost thing I should have mentioned is IMO a pretty sweet concept and not at all a bad followthrough. Their marketplace, partnerships, capital etc. make them a much better contender than my team could be.
Where do you guys get off saying such things? It's a completely absurd statement. Of course you can't do that.
The WordPress community is rivaled by none and that makes it a hard option to pass up on a budget.
edit: This isn't to say I prefer WordPress over something like Ghost. What I do prefer is something stable with a healthy community. I wish Ghost as well as others like it the best of luck in getting there.
It's a well-trodden rite of passage for many web developers to end up writing a CMS or three from scratch (which are always limited, clunky, and unmaintainable) - until they get sick of getting caught out by edge cases on things like multiple editors in race conditions, CSRF on forms, scheduled revisions, password reset flows, user synchronisation, localisation etc.
That may be a great learning experience for a developer but expensive for businesses that end up having to migrate and re-platform after a year or two. It's really hard (and dull) to create a good CMS, and even then the considerations go beyond technical as this is a piece of business infrastructure. Why do you think Wordpress has so little competition even though it's a large and valuable market?