mitch.s Posted September 26, 2013 Report Posted September 26, 2013 Using the API it is possible to 'nest/reparent' items using the 'parent_id' property.Eg Creating empty AssetBuilds named Characters, Props and Sets and categorize AssetBuilds according to these AssetBuildGroups. assetBuildGrp = project.createAssetBuild('Characters')assetBuildGrpId = assetBuildGrp.getId()assetBuild = project.getAssetBuilds()[7] # a characterassetBuild.set('parent_id',assetBuildGrpId) All calculus and states nicely bubble up through the tree. Great!But it seems that it's not a' real' feature of FTrack yet. The Project overview on the left throws a 'server error' when you try to expand nested assetbuilds.Is it safe to Use this nesting/reparenting or should we wait for you guys to implement it properly?A small step for our dear FTrack Coders, a giant leap for the Users !!An 'open projectstructure' will be a critical feature in our consideration to purchase FTrack.
Björn Rydahl Posted September 27, 2013 Report Posted September 27, 2013 Hey, it is not safe yet but I can assure you we are moving towards a more open structure. It is very open behind the scenes but at the same time we are trying to have a solution that works well for most studios out of the box. But I guess a group entity might be nice to have out of the box anyways until it is fully open. The asset group entity has more features enabled than what a group would need. Let me know what your thoughts are here and we will make sure things work out for you. Cheers
mitch.s Posted September 27, 2013 Author Report Posted September 27, 2013 Being able to reparent to create custom projectstructures is (would be) great! There's a problem with reparenting sequences though...project = ftrack.getProject(projectName)ep = project.getEpisodes()[0] #valid Episodeshotlist = ep.getSequences()[1] #empty Sq used to Group sequencesshotlistId = shotlist.getId()sq = project.createSequence('Sq020') # Must createSequence() at projectLevel because of episode.createSequence() bugsq.setPriority(ftrack.Priority('None')) # Must set priority manualy because it's 'Urgent' by defaultsq.set(key = 'parent_id', value = shotlistId)# Error: # Traceback (most recent call last):# File "<maya console>", line 1, in <module># File "C:\Temp\Ftrack\Ftrack_Plugins_winx64_b17\ftrackplugins\libdir\ftrack\ftrackAPI\FTrackCore.egg\FTrackCore\api\ftobject.py", line 112, in set# response = self.xmlServer.action('set',data)# File "C:\Temp\Ftrack\Ftrack_Plugins_winx64_b17\ftrackplugins\libdir\ftrack\ftrackAPI\FTrackCore.egg\FTrackCore\api\xmlserver.py", line 225, in action# response = function(data)# File "C:\Temp\Ftrack\Ftrack_Plugins_winx64_b17\ftrackplugins\libdir\ftrack\ftrackAPI\FTrackCore.egg\FTrackCore\api\xmlrpc27\xmlrpclib.py", line 1224, in __call__# return self.__send(self.__name, args)# File "C:\Temp\Ftrack\Ftrack_Plugins_winx64_b17\ftrackplugins\libdir\ftrack\ftrackAPI\FTrackCore.egg\FTrackCore\api\xmlrpc27\xmlrpclib.py", line 1578, in __request# verbose=self.__verbose# File "C:\Temp\Ftrack\Ftrack_Plugins_winx64_b17\ftrackplugins\libdir\ftrack\ftrackAPI\FTrackCore.egg\FTrackCore\api\xmlrpc27\xmlrpclib.py", line 1264, in request# return self.single_request(host, handler, request_body, verbose)# File "C:\Temp\Ftrack\Ftrack_Plugins_winx64_b17\ftrackplugins\libdir\ftrack\ftrackAPI\FTrackCore.egg\FTrackCore\api\xmlrpc27\xmlrpclib.py", line 1312, in single_request# response.msg,# ProtocolError: <ProtocolError for ################//client/: 500 Internal Server Error> # This problem is probably due to the createSequence() implementation being incomplete... ? oops ... hadn't read your post before posting this one
mitch.s Posted September 27, 2013 Author Report Posted September 27, 2013 Having an out of the box sollution is great.A group entity allowing an open structure would be epic!
mitch.s Posted October 10, 2013 Author Report Posted October 10, 2013 Any news on the group entities yet?
Björn Rydahl Posted October 31, 2013 Report Posted October 31, 2013 Hi Mitch, we have not forgotten, just a lot of other small things that needs to be fixed first. Cheers
mitch.s Posted October 31, 2013 Author Report Posted October 31, 2013 Great! Any spoilers on how this will work/look like. Now I use Assetbuilds as a container/category to group/nest Assetbuilds and Sequences as a container/category to group/nest Shots Is it comparable to the method we use now for grouping tasks etc. Then I overwrite the parent attributes of the tasks. From there on complex querying can be done by hand Will there be Category/Group/... entities?Functions for querying that are powerful and easy to use?setParent () getParents ( [ofType], [filter], [recursive] )pseudo code example: getParents (type=ALL, filter=HighPriority , recursive=true ) getChildren ( [ofType], [filter], [recursive] )pseudo code example: getChildren (type=AnimTasks, filter=InProgress, recursive=false ) or simply getRelatives (...) etc
Recommended Posts
Archived
This topic is now archived and is closed to further replies.