keystonejs / keystone-5

https://v5.keystonejs.com
MIT License
64 stars 33 forks source link

Keystone 5 and beyond #21

Open bladey opened 3 years ago

bladey commented 3 years ago

Keystone 5 has officially moved into active maintenance mode as we push towards the next major new version of KeystoneJS.

What's next?

When Keystone 5 was announced in 2018, it was a great leap forward for the project from a back-end Node.js CMS platform built with MongoDB, to a modern platform with first class support for GraphQL, PostgreSQL, and more.

Keystone Next is a preview of the next major release of KeystoneJS, the most powerful headless content management system around. We've substantially rewritten the CLI, Schema config, and Admin UI to make them more powerful and easier to use than ever before.

In the last six months, we built around the existing stable core of Keystone 5's packages to test the changes we wanted to make and validate our ideas. We're now happy with what we've built, and over the course of this year, Keystone Next will become Keystone 6.

There is a lot to do, and with a larger than ever team at Thinkmill working on it, we're excited to show you what we're planning and get it shipped!

You can learn more about the next version, which is now in preview.

What happens to Keystone 5?

The Keystone 5 codebase is now in active maintenance mode and now lives at keystonejs/keystone-5.

What does maintenance mode entail?

Thank you for your continued support as we push towards this next major new version of KeystoneJS!

yogex commented 3 years ago

Hi, I'm currently building an app using keystone 5 and I just notice this, will there be migration path from keystone 5 to keystone 6 (next)?

What are the things I should tread carefully when building my app with keystone 5 so that it will ease the upgrade to keystone next?

xpmn commented 3 years ago

@yogex I think it will be documented here: https://next.keystonejs.com/guides/keystone-5-vs-keystone-next

thehonestcto commented 3 years ago

We're almost at the end of the year and v6 is not even released. The 6-12 months period mentioned above has already passed then. Looking at this + the missing features in v6 compared to v5, it will take at least a year more until v6 can become a replacement, which means 2023. Having that said, we should expect bug fixes and minor adjustments to v5 until at least 2023, right? If not, please clarify. We are starting a new project and we need to know if there will be support until v6 becomes for real an alternative to v5 in terms of features and, of course, to be stable too.

bladey commented 3 years ago

Hi @zmirc,

Keystone 6 has been undergoing continuous development since this issue was posted and we are about to enter a general availability mode for Keystone 6.

The end of the maintenance period for Keystone 5 is drawing near, we are looking to archive this repository soon after the GA release of Keystone 6.

Before this happens, a maintenance release will be released to resolve a few dependency problems and update packages to resolve bug fixes and any related security issues.

For ongoing community support around the status of Keystone 6 in general please visit our Slack.

thehonestcto commented 3 years ago

Thanks for the reply, bladey!

As a comment, every software/IT professional knows that it's at least 1 year until a major release becomes reliable enough for production usage. GA != production ready, it's only marketing. Having that in mind, we would expect version 5 to be maintained until this 1 year passes, in other words, until 6 will become production ready.

What you're saying is that the moment 6 is released, 5 will be archived, though 6 will not be production ready for at least a year. That leaves us with a 1 year gap of production ready maintenance. There are plenty of issues in 5 too. Everyone would benefit a lot to get 5 maintained and fixed until 6 is prod ready for real, not only by the marketing team. Let's not forget that this piece of software is aimed towards other IT professionals, which means we can't touch 6 until it becomes trustworthy regardless of the marketing speech.

So how is it going to be? Will KeystoneJS take this into consideration and do something about it or are we going to get the marketing speech?

Kind regards

dragosstancu commented 1 year ago

Hi, I'm currently building an app using keystone 5 and I just notice this, will there be migration path from keystone 5 to keystone 6 (next)?

What are the things I should tread carefully when building my app with keystone 5 so that it will ease the upgrade to keystone next?

If you're using MongoDB, you're left out.

I use Keystone in tandem with MongoDB. I cannot believe how V6 ignores that implementation because of Prisma. Is that a worthwhile tradeoff?!

"Batteries included. No limitations." - I see a huge limitation by dropping MongoDB support :)

ahsantahseen commented 1 year ago

Hello Everyone, I am working with a client who has an node.js application made with keystore.js, his app stopped a while ago that's what he told me and the error it's showing is related to mongoDB driver related to keystore.js that the previous developer he hired used.

Can anyone guide me, what's going on with this? Like the version is updated by mongodb is not working with this anymore.

image

ahsantahseen commented 1 year ago

Hello Everyone, I am working with a client who has an node.js application made with keystore.js, his app stopped a while ago that's what he told me and the error it's showing is related to mongoDB driver related to keystore.js that the previous developer he hired used.

Can anyone guide me, what's going on with this? Like the version is updated by mongodb is not working with this anymore.

image

I have updated the versions in the project but it's still not working for, can anyone let me know?

dragosstancu commented 1 year ago

Hello Everyone, I am working with a client who has an node.js application made with keystore.js, his app stopped a while ago that's what he told me and the error it's showing is related to mongoDB driver related to keystore.js that the previous developer he hired used. Can anyone guide me, what's going on with this? Like the version is updated by mongodb is not working with this anymore. image

I have updated the versions in the project but it's still not working for, can anyone let me know?

I had the very same issue.

You're out of luck, any module update is futile. Unfortunately and sadly, they dropped support for Keystone 4 and 5. What I did was:

  1. create an EC2 Debian server with AWS
  2. install MongoDB 5
  3. migrate the data using MongoDB compass - open two connections

It was quite terrible, it took me a whole day!

dragosstancu commented 1 year ago

Hello Everyone, I am working with a client who has an node.js application made with keystore.js, his app stopped a while ago that's what he told me and the error it's showing is related to mongoDB driver related to keystore.js that the previous developer he hired used. Can anyone guide me, what's going on with this? Like the version is updated by mongodb is not working with this anymore. image

I have updated the versions in the project but it's still not working for, can anyone let me know?

Updating the code and the node_modules will require some investigative work and Node skills. I tried for about two days and decided to cancel that and figure out a new way of fixing it. If you're trying to fix the code, the problem is with mongodb-core and mongodb inside the subfolder node_modules INSIDE the keystone module. It's completely messed up ... module spaghetti situation. It looks like mongodb-core is part of mongodb now. In order to be able to fix those references in package.json, you'll need to convert keystone into a local module and then update package.json and then all the code that requires mongodb-core.

ahsantahseen commented 1 year ago

Thank you sir, I have decided to make a dedicated cluster on version 5 now.

dragosstancu commented 1 year ago

Thank you sir, I have decided to make a dedicated cluster on version 5 now.

You're welcome. I'd say that's the easiest fix, for now. You might want to rethink a new approach that will work with MongoDB 6. Keystone doesn't support that anymore.

I'm looking at a custom approach using Fastify, GraphQL, and AdminJS. Less friction.

ahsantahseen commented 1 year ago

Well his website is purely based on this, version 4 of keystone. Honestly i have never worked on keystone so it's my first time working with it. So i just connected it with a version 5 mongodb for now, since digital ocean won't change it's database version.

ahsantahseen commented 1 year ago

Thank you sir, I have decided to make a dedicated cluster on version 5 now.

You're welcome. I'd say that's the easiest fix, for now. You might want to rethink a new approach that will work with MongoDB 6. Keystone doesn't support that anymore.

I'm looking at a custom approach using Fastify, GraphQL, and AdminJS. Less friction.

Can you tell me how did you got the connection string for that version, i'm trying over and over again. It connected to my local version but not the one on digital ocean, both are using version 5

dragosstancu commented 1 year ago

Thank you sir, I have decided to make a dedicated cluster on version 5 now.

You're welcome. I'd say that's the easiest fix, for now. You might want to rethink a new approach that will work with MongoDB 6. Keystone doesn't support that anymore. I'm looking at a custom approach using Fastify, GraphQL, and AdminJS. Less friction.

Can you tell me how did you got the connection string for that version, i'm trying over and over again. It connected to my local version but not the one on digital ocean, both are using version 5

Mine is like this: MONGO_URI=mongodb://user>:<password>@<ip:/?authMechanism=DEFAULT Usually, the port is 27017.

Make sure you use the public IP of the DB server. Also, make sure you allow your IP (or any as 0.0.0.0) to access the DB server. Those were critical to my EC2 setup.

ahsantahseen commented 1 year ago

Do i need to update my mongodb and mongoose as well?

ahsantahseen commented 1 year ago

image

Thank you sir, I have decided to make a dedicated cluster on version 5 now.

You're welcome. I'd say that's the easiest fix, for now. You might want to rethink a new approach that will work with MongoDB 6. Keystone doesn't support that anymore. I'm looking at a custom approach using Fastify, GraphQL, and AdminJS. Less friction.

Can you tell me how did you got the connection string for that version, i'm trying over and over again. It connected to my local version but not the one on digital ocean, both are using version 5

Mine is like this: MONGO_URI=mongodb://:@:/?authMechanism=DEFAULT Usually, the port is 27017.

Make sure you use the public IP of the DB server. Also, make sure you allow your IP (or any as 0.0.0.0) to access the DB server. Those were critical to my EC2 setup.

image

dragosstancu commented 1 year ago

Do i need to update my mongodb and mongoose as well?

Just use the latest Keystone 4. My package.json:

"keystone": "^4.2.1",

ahsantahseen commented 1 year ago

Do i need to update my mongodb and mongoose as well?

Just use the latest Keystone 4. My package.json:

"keystone": "^4.2.1",

I am running the same version, i tested with my local mongodb 5 on docker it worked but when i am using the digital ocean one it doesnt

dragosstancu commented 1 year ago

Do i need to update my mongodb and mongoose as well?

Just use the latest Keystone 4. My package.json: "keystone": "^4.2.1",

I am running the same version, i tested with my local mongodb 5 on docker it worked but when i am using the digital ocean one it doesnt

Then there's something with the security on the DB server.

ahsantahseen commented 1 year ago

Do i need to update my mongodb and mongoose as well?

Just use the latest Keystone 4. My package.json: "keystone": "^4.2.1",

I am running the same version, i tested with my local mongodb 5 on docker it worked but when i am using the digital ocean one it doesnt

Then there's something with the security on the DB server.

So i deleted the managed mongodb and set one manually on a droplet, however i need to setup tls and ssl on it, can you help me out with it, thanks.

dragosstancu commented 1 year ago

@ahsantahseen - I really cannot. I don't have the knowledge and the bandwidth. From here, Google and StackOverflow are your friends. Maybe chatGPT.

ahsantahseen commented 1 year ago

@ahsantahseen - I really cannot. I don't have the knowledge and the bandwidth. From here, Google and StackOverflow are your friends. Maybe chatGPT.

I got it sorted out, thanks for all your help @dragosstancu

dragosstancu commented 1 year ago

@ahsantahseen - that's great! You're welcome.