Hi, we are starting our new project, which is being created starting with many assets from the last project. We started a new Project in SG, copying templates and pages etc, but I also want to be able to migrate entity data, including task status, notes, versions etc. Is there any way to do that, or should i keep going with my current effort to copy and create records using a python script?
Hi @mgarward , welcome to the community!
So as I think you’ve discovered, duplicating, creating a project based on a template, or changing a Projects configuration can include:
- Project Navigation Pages: Controls which pages appear in the main navigation bar for the Project.
- Record Detail Pages: Choose the layout used to display information about each type of entity you track, such as Shots, Assets, etc.
- Custom Pages: Includes any page layouts you create in a Project to organize information.
- Tracking Settings: Settings used to determine which entities should appear in a Project, the fields, steps, and statuses used on each entity, as well as how you want to navigate each entity. You can find Tracking Settings under Project Actions > Tracking.
But, as you discovered, it doesn’t copy the actual data/records within the project. The more manual approach for users not savvy with the API would be to export/import on entity landing pages from the old project to the new one.
That said, your current path in creating a python script to help automate this sounds awesome, and if you create something you like and would like to promote it here in our community, that would be awesome too!
If you need any pointers along the way, we’d be happy to help.
I’m still surprised by this. We can’t be the only project that rolls-over assets from one project to the next. How do other people deal with this situation?
Ah, I see what you mean. If your goal is to ultimately share assets across projects, like having an Asset Library you can pull from, there are a couple of options worth exploring in this post from Tommy:
We also have a couple more posts and related topics:
Admittedly, this can be handled better. If you’d like to share ideas with our product team or request this as a feature, submit it directly to our product team over on our public roadmap:
Thanks for all those links, but I don’t think those solutions are going to meet our needs. I think the problem is that it isn’t a pure library that’s shared, it’s more like we finish one project, and start the next using the old one as a starting point. I don’t want to lose the “time capsule” info of what we did, but I might be removing huge chunks of data that we won’t need on the new project, up updating task templates etc.
I thought I remembered years ago being able to clone a Project as a starting point but I don’t see evidence of that so I must be mis-remembering. I think I’m going to forge ahead with my script so we end up with one “current” library of data starting as a copy of the last one.
@mgarward, sorry that didn’t hit the spot. While I’ve heard of people creating scripts to automate (like you’re doing) the copying of data, I’d love to hear more from our community on this
Definitely keep us posted with how your script works out. We’d be happy to help guide you with any questions that come up as you develop it further.
@mgarward, we have been working through this problem ourselves.
At this point, I think the most effective solution is to use the “Template” project field links which inform the project your new project was created from.
I recommend maintaining a template project with the “latest” project-entities you want to populate new projects. Past projects as the basis for new projects tends to come with a lot of garbage. (Custom pages / detail views specific to the project / users)
Then setting up an automated trigger (Webhook / Event Daemon) to pick up on the events for new projects, and migrate the Entity Type records you’re looking to transfer. - Possibly filtered by your criteria.
One lesson learned: we initially stumbled on the common problem with CSV export/import when the Entity records have entity and multi-entity links to their own Entity Type which may or may not already exist (pretty common if you’ve set up a schematic Entity hierarchy structure) - Our way around is to create without setting entity/mutli-entity fields, then update those fields as a 2nd pass.
Just a suggestion, but maybe use a episode or season based project?
Because it seems all the work is for the same project which spans multiple episodes/seasons?
That way it’s all in one project but you can branch it out.