I am looking for one or more individuals to take over the mongodb and mongodb_ecto packages. My company no longer uses MongoDB and I have not really been keeping up with the packages as much as I should. If anyone is interested in taking over the package, or just helping out with it, let me know and I will do what I can in order to help you get started with the codebase.
If you want, I can give you commit access to the repository. Or, if you prefer, I can transfer the repository to the organization/user of your choosing.
I just finished transferring the packages and wanted to say thank you to @deadtrickster and @hauleth, as well as anyone else at KOBIL Systems for taking over these packages!
@deadtrickster@hauleth - it looks like the mongodb and mongo_ecto packages could do with some TLC. I had a quick look today what it might take to provide ecto 3.x compatibility but I quickly got stuck in broken tests so I thought I’d ask first. Do you have any plans to provide any updates soon, and if not do you have any guidance on what needs to be updated?
At TableCheck we’d really love to see these better maintained as well. We are a Ruby/Elixir + Mongo company but TBH the experience using Elixir+Mongo has been rocky at best – especially compared to Ruby’s fantastic Mongoid library.
If looks like zookzook/elixir-mongodb-driver has now eclipsed kobil-systems/mongodb in terms of functionality. I would propose there should be a project to move mongo_ecto to use the zookzook driver and also upgrade to Ecto 3. We could commit some resources to this on our end if others are willing to help as well.
I’m happy to put in some effort but it’d be really great if one of the maintainers could give an idea of what’s required to give a little head start!
As for the choice of mongo driver, I have no strong opinions; the existing one seems fine for most purposes. Whatever gives us the best way for encouraging further contributions and better maintenance going forward.
Re: driver, I do have a strong opinion. The zookzook driver is actively maintained, and it is up-to-date on the latest features such as transactions. Maintenance momentum is few and far between on Elixir libs, so we should jump on the bandwagon ASAP rather than investing our time building-up a competing lib.
Over the new few weeks, I’m going to be working full time on upgrading the Mongo Ecto Library to be compatible with Ecto 3. Before I jump in, I wanted to check to see if anyone else has done all or part of this in another fork. I’d love to build upon existing work if at all possible!
I haven’t done any work but since posting on this thread earlier I’ve been working with GitHub - zookzook/elixir-mongodb-driver: MongoDB driver for Elixir and it’s been working very nicely. I’m not sure if there have been any developments in the existing mongo driver included with the MongoDB Ecto lib but assuming not, I still believe it would be worth investigating integrating zookzook’s Mongo driver.
@hauleth@deadtrickster are you still planning to maintain the mongodb_ecto packages? @scottmessinger has put in some effort and it’d be great to get this wrapped into the officially maintained packages.
I have been trying to elicit a response from the current maintainers of the mongodb and mongodb_ecto packages. I’ve not heard anything yet (if you’re reading, please just let us know what the plan is so we can plan accordingly).
As far as I can tell, those who would wish to use MongoDB + Ecto have:
In terms of drivers, mongodb and mongodb_driver. As has been pointed out, the latter has better support for newer MongoDB features.
In terms of Ecto, we have mongodb_ecto which hasn’t received any updates in some time, and the work of Scott and others in the form of a fork.
@scottmessinger’s efforts bring MongoDB + Ecto into a usable state, which is very welcome. I hope Scott you won’t mind me saying though that these are “just the beginning” of a few changes that are needed. There are also features in newer versions of MongoDB that would be nice to support too. In other words, the libraries are in need of TLC, it seems like there are people that are willing to put in the work, but we’re stuck here. My question is for everyone, what should we do to keep things moving forward?
Our current options seem quite undesirable for the community and the current maintainers:
Another fork
A separately published and maintained package
Something else?
I really don’t wish to appear to be being negative or critical of anyone’s efforts here: We have a requirement in our company to use MongoDB in our stack, and it’d be great if we could take advantage of an Ecto + MongoDB integration along the way. That and I believe the community could really use a decent offering in this area. Those are my reasons for continuing to push :).
Edit:
I should also add that it seems that mongodb_driver came about in the first place because of a lack of maintenance from the mongodb driver original from which it draws. I’m all for competition but it’s worth pointing out that the same problem exists there too.