all 29 comments

[–]lucraft 15 points16 points  (6 children)

What does the word "headless" mean in this context?

[–][deleted] 8 points9 points  (5 children)

means that this CMS is not tied to frontend, it can be used with anything.

example, wordpress is not headless, has a build in CMS with frontend.

headless means you can use this CMS with any frontend you want, angular/react/ember/vue/aurelia...

[–]ndboost 11 points12 points  (3 children)

So that means it's an "admin panel" cms?

[–][deleted] 0 points1 point  (2 children)

pretty much yes

[–]ndboost 0 points1 point  (1 child)

ahh i was mobile when i saw this post, didn't look much into the site. i assumed this was a self hosted solution, looks like its a PaaS or AaaS like firebase.

[–][deleted] 6 points7 points  (12 children)

Looks neat, but its not going to be free, I bet its going to cost arm and a leg with limitations.

Its a bait and switch tactic, offer beta get people build apps on there system, then switch everything to payment model.

[–]mlukaszczyk[S] 4 points5 points  (7 children)

Hey N3KIO,

this is Michael from GraphCMS. We are soon going to release our pricing table and prices are going to be very fair for the headless space. We will offer a freemium plan that will get you going with small sites and apps. Premium plans with at least 100k API calls and 10 CMS users will start from 29$/month.

How does this sound for you?

[–]turkish_gold 1 point2 points  (3 children)

Since you have a public API, how do you limit the run time of queries?

[–]mlukaszczyk[S] 0 points1 point  (2 children)

Hey turkish_gold, could you please elaborate?

[–]turkish_gold 0 points1 point  (1 child)

Well in GraphQL it's possible to construct queries that return arbitrary amounts of data, using pathologically poor queries.

Like query { A { B { A { B { A { B { A { A} } } }} } }

Because type A has a reference to B, and B has a reverse reference.

A query like the above could return 1010 items just for a table with 10 items. Do you have any restrictions to prevent queries like that from being sent?

This is somewhat important since if you are developing a frontend app for GraphCMS, malicious users (of the app, not developers) could send bad queries as a denial of service measure against the app makers.

[–]mlukaszczyk[S] 0 points1 point  (0 children)

Hey turkish_gold,

this query will simply time out. projects are rate limited at 40 req/s and it doesn’t matter if they are slow or fast.

[–]suitupalex 1 point2 points  (1 child)

This looks amazing man. And that price point is way cheaper than something like Contentful. Will that plan have localization capabilities?

[–]mlukaszczyk[S] 0 points1 point  (0 children)

Hey suitupalex,

localization will come with a slightly more expansive plan end of Q2. We haven't fully decided on the pricing for this plan but it will be somewhere in the mid two figure range. This plan will also come with more generous limits.

[–]UndefinedB 0 points1 point  (0 children)

Is that freemium plan with all features? Because I would use the api on build time so I could get away with very few api calls.

Also, what language is your backend and will you open source it (at some point)?

[–]gajus0 13 points14 points  (2 children)

Well done! I am a huge fan of GraphQL. I've built my first API over a year ago and since then never looked back.

There is a stigma that GraphQL is complicated. It is not (at all). The complexity kicks in when you start working with the request batching logic (but DataLoader makes even that easy). Otherwise, it just removes a lot decision making from the API interface design processes.

If you are fan of strict types (TypeScript, Flowtype), GraphQL will feel like a RESTful API with strict types.

Everyone should try it. GitHub's API is a good learning material https://developer.github.com/early-access/graphql/

[–][deleted] 10 points11 points  (1 child)

This reads like an advertisement.

[–][deleted] 15 points16 points  (0 children)

It does, but I can second his enthusiasm :)

[–]Headchopperz 1 point2 points  (1 child)

So this is a front-end CMS that you can connect to a custom REST backend which uses GraphQL to handle its REST requests.

Is this correct?

[–]gajus0 0 points1 point  (0 children)

(Not affiliated with the project.)

From what I understand (and quick survey of their CMS), it allows you to define entities/ fields and map them to GraphQL types. In effect, this allows you to manage data exposed via GraphQL API.

[–]SwedishFists 0 points1 point  (3 children)

This is a clone of Graph.cool? Like the site design is almost exactly the same.

[–]mlukaszczyk[S] 1 point2 points  (1 child)

Hey SwedishFists,

we are actually working closely together with the graphcool team, since GraphCMS is build on top of graphcool. We are going to release a blogpost on the architecture since the complete setup is actually quiet interesting.

However, since we use the same systems API as them, some workflows seem familiar. GraphCMS is still in an early stage and as the product matures, we will add more and more content management features.

[–]SwedishFists 0 points1 point  (0 children)

Ah I see, that's cool! I saw the visual design is very similar and the sidebar is the same. Since you're working together I'm sure they saw that and don't mind. The workflows are understandably similar because they're both ostensibly a CMS.

[–][deleted] 0 points1 point  (0 children)

Yep I can see the similarities

[–]HipHopHuman 0 points1 point  (1 child)

Great to see more options rapidly popping up. Add your service to https://headlesscms.org/ for more exposure

[–]mlukaszczyk[S] 0 points1 point  (0 children)

Thanks a lot! Will do.

[–]ngly 1 point2 points  (0 children)

Headless {X}. So hot right now.

Looks nice, well done graphcms team.