I’d say this would also be handy e.g. for people who want to experiment with Speckle and have a certain project as a starting point or for companies that want to create a Speckle project template.
Good suggestion! Would you like this to be a user facing feature or are you looking for a way to do so programmaticlly?
If programmatically, I think @jonathon might have some scripts to share, otherwise you could dig and see how we do it when a new account is created, I believe the sample model is essentially “forked” for every new user (@gjedlicska might correct me if fake news )
I think it would be nice if this were a user facing feature, but for myself and for now I’d be happy with a programmatic way of doing it.
In case someone has a script laying around, great! Otherwise I’ll dig into the code of speckle-server.
(that’s where this would be, right? Given that new accounts are created in the web app.)
If it is all versions of all models there is a very straightforward way to do this, but it wont preserve ids between source and target
Psuedo code makes it look very easy
with source_project
for models in source_project
all_versions = model.versions.reverse()
for all_versions in model
data = receive ( source_project, version )
send ( target_project, model, data)