Wishlist module. Currently in beta.
Regarding saving carts persistently forever without performance problems.
1. They can be saved forever
2. But not without potential performance problems. Forever’s a long time…. and it depends on how many carts need to be saved.
Basically you can turn off garbage collection in CT which will help performance issues, and will leave carts in the database until you want to delete them. At that point you’d just need to expand the session / cookie length. If you do this it would be smart to get an extension set up to delete a cart when the order’s complete. Me might also need to add something that doesn’t encrypt the cart contents. I think CT encrypts the cart data by default that’s stored in the DB… for a high volume of storage we should probably create a setting that doesn’t encrypt the data.
We’ve done some optimization on how and why our carts are regenerated and stored which has helped performance quite a bit when storing a high volume of carts for a long time. But it would be good to see it in action. None of our clients have ever required permanent carts, so it’s not something we’ve built for specifically but we have at least attempted to support them.