Open mottosso opened 5 years ago
Is the entry to Avalon not what https://github.com/getavalon/docker is trying to solve?
Hey @tokejepsen, this would apply there too I think; as you'd still need some way of uploading the example project.
I also realised the above example wasn't clear enough. In the current guide, you call avalon --import batman
which in turn calls on the mongodump
executable for its upload into the database. What this issue would do instead is use the pymongo
Python library to do that, such that you don't need the MongoDB executables. (pymongo already being part of Avalon core)
I'd also like to get rid of Mongo for the initial learning curve; @davidlatwe wrote a mongo emulator I'd like to try here. If we can get to the point where you can just pip install avalon
that would be great for adoption. Then there can be advanced options for installing and maintaining a Mongo instance for performance and scale etc.
In the current guide, you call avalon --import batman which in turn calls on the mongodump executable for its upload into the database.
I thought the batman example was using pymongo
: https://github.com/getavalon/examples/blob/cb733dbbf7c7adc96c8d7a898a6973c25b3a8da3/import.py#L38 ?
If we can get to the point where you can just pip install avalon that would be great for adoption.
Totally agree. The entry to Avalon is too steep atm.
Oh no, yes it is! The guide is referencing the setup
repo, which references an older version of this.
Maybe it's only a matter of updating setup
?
Maybe it's only a matter of updating setup?
Quite possibly. I personally would like to see avalon-docker being used, as I see it as an easier environment to manage. We are currently using avalon-docker in production for the database. Have even got a scheduled backup of the avalon database through avalon --backup
.
Goal
Improve adoption by simplifying the getting-started procedure.
Motivation
An example project is critical to getting started with Avalon. The current installation guide works well, except for when you get to uploading the "Batman" example project to Mongo.
Because it's a database and not your typical file hierarchy it requires dedicated tools that you typically don't have on your system unless you follow the guide to the letter and install a temporary MongoDB instance on your machine. To make matter worse. you can't leverage Docker for your Mongo instance, because the guide requires access to one of Mongo's command-line utilities for uploading the project.
Implementation
So I had a thought; why not wrap that process in a Python script that ships with the Avalon install?
Bam, all done. Furthermore, with this process within our control, we could easily fetch demo projects straight from GitHub, and download things on-demand as opposed to having everything pre-downloaded as it is at the moment.