
ApostropheCMS – An Open-Source Node.js CMS for the Enterprise (apostrophecms.com)
91 points by rmbryan 6 months ago | hide | past | web | 36 comments | favorite

Honestly, yet another CMS that ties your UI to your CMS is not what we as an industry need.

I know it seems nice and it has a lot of nice features (features that have been in other CMSes before) .. but this is just an old school way of thinking.

Any enterprise, before anything else, should be looking at headless CMSes, primarily in my opinion. This is what I advise all of our enterprise clients. (we have no horse in the race)

The benefits of headless CMSes are multiplied by enterprises with very large and rich content needs, and generally, what these businesses need, is less coupling of things.

I'd rather look at something like strapi, which is open source, has a MVC architecture built on express, is headless by default, more than a single db option, has a graphql api etc.

Or if you want to go SAAS, use Prismic.io or Contentful

Decoupling the pieces that make up the editorial process brings modern practices to the table, for sure, but it also adds another level of management that the enterprise market as a whole just doesn't seem to enjoy. It's easier to sell them a solution that integrates everything into one marketable package.

It looks like it can be headless if you want it to be. https://github.com/apostrophecms/apostrophe-headless

Confirmed, can run fully-headless or a mix of hybrid with mix-ins.

I would also check-out https://github.com/tinacms/tinacms which allows simple markdown editing on Gatsby and Next. It's as extendable as you'd like.

This may not be geared towards the enterprise, but I would like to see a CMS that provides content monetization and paid memberships as a native feature. Ghost recently announced their latest version[1] with Stripe integration and has paid memberships[2] in beta.

[1] https://news.ycombinator.com/item?id=21322712


Thank you, their paywall & trial services sounds good. I'm not seeing any information on pricing though. Do you by chance know how much they charge?

What in the world is going on with those videos?!

It brought my gpu's (Radeon VII) video decode to 90%, and brought my whole pc to a standstill.


Interestingly if I use OBS to record it happening, and use AMD AMF as the encoder, then the decode load only hits 73%. After swapping over to cpu x264 encoding, back to 90%+ (Peaked at 96%). Might have a power limit for encode/decode. Weeeeird.

This looks interesting.

Comparing it to something like Adobe Experience Manager/CQ, I wonder if it has mobile editing modes and if any large enterprises outside of their customer logos section are using it.

The editing menus are not totally responsive. If you don't mind some swiping left and right, then you'll be fine. But no, it doesn't have a specific mobile editing UI.

Correct, mobile editing hasn't been a priority so far. Of course you can build mobile responsive sites well with it.

To me, JCR and Sling are superior to anything I've ever used in regard to content management. In my opinion, having such a powerful concept supports far more use cases than just serving content pages. Its a bit sad, that there are not more OSS projects on top of Sling or projects that try to implement similar concepts for different platforms (than Java).

It looks interesting but on an Android smartphone the demo UI was pretty garbled.

Also I like the pitch but I think you need to focus more on what separates this from the status quo.

I like the fact that it has a how to deploy to Heroku section because that means you can also deploy to Dokku or Flynn or just use Herokuish on it’s own with Docker.

Yeah, that was our main reason for documenting Heroku. It has all the same concerns as the alternatives and it's widely known.

Uses MongoDB?

Has anyone used this before? It has a bunch of nice features but I don't understand what separated it into a "Enterprise" category.

They also seem to have migrated to a completely different platform from 1.5 to 2 (PHP -> NodeJS). So that doesn't really scream stable Enterprise to me.

"Why you should never, ever, ever use MongoDB" (2015): http://cryto.net/~joepie91/blog/2015/07/19/why-you-should-ne...

Choose boring technology - especially for a relatively simple use case such as a CMS.

2015 was a while ago for MongoDB and most of those issues no longer apply. That article could stand an update.

Frankly I have no intention to write an update to the article.

Anyone who, after reading that list of issues and seeing the repeated sketchy behaviour of MongoDB (the company), still doesn't recognize the deep-seated issues behind how MongoDB is being developed and marketed, isn't going to be convinced by an updated list of grievances either. It'd be a waste of my time and energy.

But if you insist on evidence that they haven't actually meaningfully improved, this is their latest problem, from a few months ago: https://www.ongres.com/blog/benchmarking-do-it-with-transpar...

Seriously. My original article wasn't just a to-do list for the MongoDB developers. It was meant to illustrate the deeper problems with MongoDB, and how it's a database that was developed just to have a product to sell, not to actually build a better database.

If that message still hasn't gotten through to people, well, I've tried.

There are competing implementations of MongoDB's API. Microsoft's CosmosDB is promising but, last I tried it, not complete enough for Apostrophe. AWS DocumentDB may be up to the task, if the plaintext search indexing features of Apostrophe were replaced with an alternative.

In the meantime, PostgreSQL has perfectly good querying capabilities, including for JSON if you need schemaless data for some reason, working full-text search, and (unlike MongoDB's API design) an injection-resistant query API.

What's the point of continuing to pour engineering resources into something that doesn't actually improve upon what's already available?

Yes, used it for a government gig.

Who knows why, but the gov dept wanted Apostrophe.

It was mostly good to use. Admin UI on mobile pretty terrible, but they weren’t worried about that.

Most of the work involved configuring the CMS, customizing templates and hacking on CSS to implement the site design. Wrote a couple Mongo queries, that’s it.

Not the best dev experience, but I wouldn’t run from another Apostrophe project.

No doubt, the version numbers from PHP to Node are weird.

Here's what happened: when we first came to Node back in 2012, Node itself was being very, very cautious about releasing a 1.0 version, something that didn't happen for quite some time after. So the culture was to be conservative with module version numbers, and we felt our first Node release shouldn't be 1.0 or 2.0... and we wound up releasing it as 0.4. Then the second major release on Node, which should if anything have been 3.0, as 0.5.

Then node version numbering got rational, we got serious about semantic versioning, and for our next major rewrite we went to 2.0. Still confusingly close to the old PHP 1.5 version number, but at least it's not a smaller number!

2.x is an LTS (Long Term Support) release, supported through 2023, so we've been iterating on it while maintaining bc. 3.x, which will finally break bc but also be an LTS for quite a while, will be released sometime in 2020.

Many feature additions in the past few years have been driven by enterprise support from Michelin and other clients, which is why there's a strong emphasis on workflow and localization (see the apostrophe-workflow module, which is an optional npm install so that projects that don't need it can easily skip it).

The price?

It's open source. We do have one or two closed source modules we're pursuing, but we've learned our lesson watching what happens when other companies closed-source the wrong functionality. If it's a big win for most websites, and not just those at the largest scales, it should be open source.

I like it, doesn't look very enterprise to me (think Liferay style of CMS), but it surely has lots of good work put into it.

What makes Apostrophe CMS not enterprise?

Ability to plug the CMS data store into Oracle, SQL Server, Informix, DB2, including having different servers for the published web site and the content management system used by the editors.

Connectors to SAP, Dynamics, Commerce solutions.

Connectors to multi-channel campaigns and built-in analytics.

Ability to define workflows, either through rules, or via specific actions.

Plugin based interface to customize the CMS behaviour at all levels, handling the HTTP request, exposing WebAPIs, authentication into various kind of security systems, extending the menu options available on the UI designer.

I guess there are JavaScript libraries to some of these features, however an enterprise CMS brings all of these in one box.

Ah, and a enterprise CMS also has their own set of certifications, developer conferences and partnerships with different kinds of support levels.

What plug-on/integrations do they support?

For example, there are salesforce integrations, as well as the apostrophe-passport and apostrophe-saml modules which leverage passport to achieve compatibility with most single sign-on solutions.

Marvel lawyers, assemble!
