Lorenzo Angeli

  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Lorenzo Angeli

  1. HI @Jakub Trllo, >> I hope this issue is not caused because we don't have newest ftrack_api version I've been checking this with the one of latest api (1.8.0), but I would expect the same behaviour from previous versions too. If you suspect is an api version issue please let me know what version are you using so I can try to replicate. >> Api do not return `None` if default value is set  Setting the default value on the custom attribute indeed override the None if the value is not set, that's what is for. >> If value is not set, `None` should be returned If you want it to return None, you simply have to leave the default value empty, tested now and seems to be working as expected. >> [....] if all parents don't have set that custom attribute's value then default should be returned like values in web app. On checking the previous hierarchy item, that's something I'd leave to the coder to implement as custom logic , rather than providing it by default (as it might cause confusion) Hope it helps! L.
  2. Hi @Jakub Trllo the only thing which might be happening is a bit of slowdown, but this won't impact the robustness of the overall system. If there's any doubt let us know. Cheers. L.
  3. Hi @Jakub Trllo, look like you hit a genuine bug there ! Thanks for reporting, we will soon start looking into it. For now though you can use this workaround (see the session.reset() before the last commit) task = session.query('Task').first() user = session.query('User').first() # This will work as expected task.create_note('Note 1', user) session.commit() task.create_note('Note 2', user) session.commit() note3 = task.create_note('Note 3', user) session.commit() note3.create_reply('Reply 1', user) session.commit() task.create_note('Note 4', user) # here is the fix session.reset() # reset the session session.commit() # On this line Hope it helps! L.
  4. @John Su if you want this to be working for everyone, $FTRACK_EVENT_PLUGIN_PATH should be set on each machine , and should be pointing to a shared folder on the network path. If on the other hand you just want to test it by yourself you can drop it in the local plugin folders under a hook folder (please note this applies also on the shared one). If you are still having issues please let us know and we'll try to further help you out. Cheers. L. ps. Best of course is to extend the environment and not to replace it , so something like: FTRACK_EVENT_PLUGIN_PATH=$FTRACK_EVENT_PLUGIN_PATH:/your/central/path
  5. Hi @AlexOddbratt, overall your approach seems right. For general actions though, I'd suggest having a looking into our helper class in there you can find a helper function that might help you out narrowing down the entity type you are after. For what concerns custom attributes I'd suggest having a look a the query projections as might be a good way to speed it up. Hope it helps. L.
  6. Hi @John Su, you don't need to have ftrack connect running to have actions and events. You can run them as simple python scripts (as long as they can access the ftrack-python-api). 1) no it should jut work 2) In here you can find many examples on how to run events and actions as standalone. Hope it helps. L.
  7. Thanks @Michael Habenicht I'll check if there's anything we can do to ease these issues . Cheers. L.
  8. Download 1.2.2 Changes: Allow Open of asset along with Import and Reference (to retain render settings) Allow Alembic to be imported as reference Fix fbx export under windows Install integration as plugin: 1) remove previous plugin from either connect plugins or connect resources. 2) download the new version from the above link 2) decompress the zip in the FTRACK_CONNECT_PLUGIN_PATH 3) restart connect If there's any problem please let us know! L.
  9. Hi @John Su, sure you can ! just extract the given script (or download it directly from here ) and drop it in a folder mapped in a FTRACK_EVENT_PLUGIN_PATH environment variable. When the session start will look into that variable to see if there's any plugin to be discovered and run. I'd suggest having one folder on a shared server folder mapped so you can simply drop events in there. Hope it helps. If you need any further help just let us know ! L.
  10. Installing and testing the api in Blender Go to the blender's python folder (blender <version>/<version>/python/bin/) Ensure pip is installed with: ./Python3.7m -m ensurepip Install the api using pip: ./pip3 install git+https://bitbucket.org/ftrack/ftrack-python-api.git@backlog/ftrack-python-api-compatibility-with-python-3 Launch Blender and open Python Console to test the api
  11. Hi @TTT there's no need to install it locally to each machine. This event can be easily hosted on a central network folder and mapped into the FTRACK_CONNECT_PLUGIN_PATH Hope it helps. L.
  12. Hi @John Su, the path is resolved through an event available in ftrack_connect itself and called resolve.py If the path is red is possible that your structure cannot be properly initialised and hence not be resolved. You can try adding more logs into the resolve.py and see if anything is off. Please send us , either here or through support (depending on how sensible the information are) and we'll look further into it. Hope it helps. Cheers. L.
  13. Lorenzo Angeli


    Download 2.2.1 What's new Fixed: Tasks are marked as duplicated if the same clip name is present on multiple tracks. Fixed: Tasks generate empty unwanted components. Changed: Replace simple EDL export with OpenTimelineIO edl export (older EDL exporter remains available). New: Thumbnails are published also to parent entity. How to install stop ftrack-connect-package remove previous nuke studio plugin from : <ftrack-connect-package>/resource/connect-standard-plugins/ download and uncompress the new version in : <ftrack-connect-package>/resource/connect-standard-plugins/ restart ftrack-connect-package
  14. Lorenzo Angeli


    Windows Download 0.1.0 Linux Download 0.1.0 Osx Download 0.1.0 Documentation Changes since last version fixed: User settings crashes under osx and windows platform. fixed: Perforce password is not properly set. fixed: Workspaces breaks if contains spaces. new: Admin role for action gets checked against perforce roles too. new: User's workspace is created on first run if not already available. new: Init documentation. Requirement Accessible Helix Server What to expect to work Storage setup User preferences setup Publish Versioning Aim for testing Publish from any application Import/Update version through connect's asset management system Known Issues and limitations None known atm
  15. I'd like to report here , for other users which might find similar issues, the root cause which has been resolved through the internal ticketing system. Here the full reply from our developer: we are looking now on how to properly fix this for an upcoming api release.
  16. Hi @tweak-wtf sadly there's no easy way for us to replicate this issue. We'll be looking though, to improve the error logging in the api to present a more complete report. Let us know if you have any progress on this. Cheers. L.
  17. Hi @instinct-vfx, glad to hear! Please feel free to report any issue or notes about your experience with them. Cheers. L.
  18. Hi @tweak-wtf , thanks for reporting back , and good idea to raise the overall logging level ! Sadly though, I cannot see anything in the errors that would help pin point the root cause. As the error seems to be happening from within the plugin only, and not from a plain shell or plain maya, I'd suggest have the pyblishs developers involved. If you get any further information coming out from them, please feel free to report here so we can cross examine the results. As last thing , could you please check what interpreter pyblish is using adding at the beginning of your script: import sys print sys.executable In the meanwhile we'll keep looking on potential causes on our side. L.
  19. @tweak-wtf could you please try with a simple standalone python script rather than from within maya to see if you can replicate ? Thanks !
  20. Hi @tweak-wtf sorry to see you are having problems. The error seems to be coming from a wrong deserialization of the server response (json) relative to the storage scenario. This could be caused by a variety of things related to the network itself (proxy, firewall etc....) Could you please check if any of these changes have been put in place before this error have started happening ? I've trying to replicate it with you same version of the ftrack-python-api without success so far. Looking forward to hear more from you ! In the meanwhile we'll keep looking for other potential reasons. L.
  21. Hi @Jakub Trllo glad to hear you had it sorted! If you can produce a piece of code that crashes I'd like you to send it to support for further checks if you don't mind Thanks a lot, and if there's anything else we can help out with, just let us know ! L.
  22. Hi @Jakub Trllo, I've just tried the code you sent and cannot get to reproduce your issue. Here is what I've been doing and the code I've used. 1) I have manually created a note on a task from the web interface. 2) I have run the following code to add a component to the given note (please "note", that I have just one , so the query is quite simple). import ftrack_api session = ftrack_api.Session() server_location = session.query( 'Location where name is "ftrack.server"' ).one() note = session.query('Note').first() # get the only note I have in the system # Create component and name it "My file". component = session.create_component( '/path/to/an/image.png', data={'name': 'My file'}, location=server_location ) # Attach the component to the note. session.create( 'NoteComponent', {'component_id': component['id'], 'note_id': note['id']} ) session.commit() Once run this code I then run this other snippet : import ftrack_api session = ftrack_api.Session( auto_connect_event_hub=True, ) server_location = session.query( 'Location where name is "ftrack.server"' ).one() # just pretend that note with component will be queried... note = session.query('Note').first() for note_component in note['note_components']: component = note_component['component'] download_url = server_location.get_url(component) print download_url # I just print the path as the issue seems on retrieving it. When running the above code this is the result I'm getting: https://myserver.ftrackapp.com/component/get?id=d5d785dc-fdd0-4c6f-b7f9-54b3339ade81&username=myuser&apiKey=m1ap1key-m1ap1key-m1ap1key-m1ap1key-m1ap1key Hope it helps. L.
  23. Download 1.2.1 Changes: Add fbx output for geometry. Install integration as plugin: 1) remove previous plugin from either connect plugins or connect resources. 2) download the new version from the above link 2) decompress the zip in the FTRACK_CONNECT_PLUGIN_PATH 3) restart connect If there's any problem please let us know! L.
  24. Lorenzo Angeli


    Windows Download 0.0.1 Linux Download 0.0.1 Osx Download 0.0.1 Documentation Requirement Accessible Helix Server What to expect to work Storage setup User preferences setup Publish Versioning Aim for testing Publish from any application Import/Update version through connect's asset management system Known Issues and limitations None known atm
  25. Welcome to the new integration forum for the Perforce plugin! This new plugin provides a seamless integration with Perforce Helix Core in the form of a new storage scenario, allowing artists to publish and retrieve versions straight from it. The new integration is packaged as a native ftrack plugin, ready to be dropped in to place. This forum will have a new thread published for each release and provide a download link for each build. You can subscribe to this forum section to receive a notification when a new build is added. We recommend you use the latest build when available. Install To install, download the zipped file from the correct version and follow these instructions to get to the plugin folder, then decompress the zip in there. Build If you want to build from sources, clone the correct branch and run python setup.py build_plugin Bug report When reporting bugs to support, please remember to include: Log file Plugin version Connect version Any stack trace or error you are receiving.