We are starting a project and it will be a lot faster to use Drupal Commerce for it, just to get started. However in the future we are planning to use Meteor, as we have already some project with Meteor and we really like it.
Our main concern is data, Drupal uses SQL as default -but we have also seen that it can use Mongo-, and we would like to know if it is possible to migrate data from Drupal SQL to Mongo, specially the users.
Any thoughts will be greatly appreciated.
You might want to consider using Apollo. Especially if you’re going with Drupal (and SQL) for now, and will be integrating Meteor into things later on. Apollo is already quite usable, and will only get more usable in a couple of weeks/months. By leveraging Apollo (and GraphQL) you’ll be able to integrate Meteor with your SQL based backend directly (and won’t need to worry about using Mongo).
Again, I would recommend looking at Apollo before you head down this path, but you can always migrate data between databases by writing/creating a custom data migration process to do so. As long as you can get data in/out of your database, then you can write code to automate the process, and migrate that data into/out of another database. You could also consider keeping your Meteor based app and your Drupal app separate (both using separate databases), and have them communicate with each other through something like the Drupal RESTful Web Services module.
There are also many cool projects out there that make sharing data between Mongo and SQL based databases easier, like Stripe’s MoSQL project for example.
In addition to @hwillson’s excellent response, here are some more comments.
We too came from Drupal (with Drupal Commerce as well). We used to love it, now that we are on Meteor, that relationship turned into hate – so bloated, creating modules is time-consuming etc. Migrating from SQL to Mongo should be super easy, write a Perl / Node script that reads from SQL and dumps into Mongo (you can probably do this in Meteor).
Also, we really like Mongo vs SQL. We don’t need to be ACID-compliant so Mongo does a great job. When comparing to SELECT’s and INSERT’s … you’ll feel relieved
You might have good luck setting up a Drupal Services endpoint and just reading the data into your Meteor app and saving it in the data structure you want in Mongo.
Take a look at Reaction Commerce. Maybe it will fit most of your needs. If so, you can start with Meteor from the very beginning of your project.
Reaction Commerce looks really cool - took a quick look at the Github, is it ready for production yet? Only see main template with no views.
It is ready. However as it lacks some features, which mature ecommerce solutions (i.e., Magento) have for a long time, you probably have to add some missing parts. As an example of production use - http://www.snaxter.ch.
That last snaxter.ch site looks cool in terms of functionality (the eCommerce side of it), but there are visual elements that need work (images improperly sized, bad margins / padding, background misplacement). Probably Beta …
Will keep watching that project as it matures. Thanks for linking to it.
I’ll definitely try Reaction Commerce. It may have the features we need to get started while we are building our app.
Going back the Drupal migration, I think that the most difficult thing will user password compatibility. Any idea how to overcome that? Maybe asking users to reset they password once the migration is done?
You can’t guess your users’ passwords as they are hashed in the Drupal DB. You have no choice I believe except to reset passwords, or mimic Drupal’s hashing and create your own login authentication system.