prisma / prisma1

💾 Database Tools incl. ORM, Migrations and Admin UI (Postgres, MySQL & MongoDB) [deprecated]
https://v1.prisma.io/docs/
Apache License 2.0
16.55k stars 863 forks source link

CMS functionalities or integration #156

Closed sedubois closed 6 years ago

sedubois commented 7 years ago

I have a legacy production platform with a mixture of static content, such as blog articles, video and audio files, with more dynamic elements, such as user data and metadata. I initially got interested by Graphcool due to the potential it offers in regards to handling this latter dynamic nature. But what about the static assets?

At first I thought a basic solution is to keep all static assets outside of Graphcool and exclusively inside the frontend as purely static files. But what if e.g I want to add interactivity or derived data when content changes? E.g sending push notifications to users when an article is added, recording user's playback position within a video/audio, listing articles with pagination and sorting, filtering articles based on some metadata, restricting access to articles based on user permissions, etc.

I'm kind of forced to put such "static" assets in the Graphcool dynamic backend: binaries in the File API and text stored as plain GraphQL Strings. But how can I collaborate with my team to manage and edit this content? Obviously it's not practical to change an article in-place when it's stored as a plain String.

Offering a full-blown CMS can be a Pandora's box, so what is your way to solve such concerns? Could Graphcool provide at least basic content-editing features? Or do you plan to integrate with a proper CMS? I know that there are GraphQL CMS solutions emerging out there, but I guess switching to them will flip the problem around and not offer much in terms of dynamic support. I'm very much looking for a solution which allows for both static and dynamic features.

Thanks very much and keep up the good work.

marktani commented 7 years ago

Thanks for your feedback! I've seen different ideas/approaches surrounding that topic:

What specific approaches did you think of to improve your experience here?

sedubois commented 7 years ago

Thanks 👍

Of course there's always the "build your own" solution, but obviously the point of using Graphcool is that it makes things much easier for the user to develop, maintain and collaborate (especially with non-technical folks) 😛

I see that you have a markdown-to-graphcool tool, how about open-sourcing that and/or making it part of the product? E.g add a button to the console "upload from markdown". Sounds like a solution of least-effort which could be quite valuable to users 🙂 (as testified by the fact that you use it yourselves)

For the longer-term, it depends on your business model but if you don't intend to offer full-blown CMS capabilities it could be in everyone's interest that you develop a partnership to let a third-party GraphQL CMS to hook into Graphcool. The alternative of course is that you progressively build these capabilities. Maybe these don't exclude each other. E.g GitHub could be for a long time integrated with third-party project management tools, and now they started to offer a (minimal) project management tool themselves.

Either way, it would be nice to know whether you'll consider proper CMS support in your roadmap 🙂

muhajirdev commented 7 years ago

+1 for this, looking for the same thing. A minimal CMS

sedubois commented 6 years ago

Hi, would you have any update on which CMS can be used to administrate the data stored in Graphcool?

humbertocruz commented 6 years ago

I'm trying to use https://getcockpit.com/ - it seens to be great!

marktani commented 6 years ago

This issue has been moved to graphcool/graphcool-framework.

sedubois commented 6 years ago

Hi @humbertocruz, did you have any luck in using Cockpit to manage a Prisma endpoint or did you find other ways to connect some CMS or admin UI?