Lucas Correia
-
Posts
209 -
Joined
-
Last visited
-
Days Won
41
Content Type
Events
Profiles
Forums
Downloads
Posts posted by Lucas Correia
-
-
The documentation could be a bit more clear about this. The JS API doesn't support targeted expressions when subscribing to events.
That is, the following will trigger the callback if the topic matches regardless of what the data is:
session.eventHub.subscribe('topic=my-company.some-topic and data.foo=bar', callback);
It should however support publishing events that target specific clients. Try the following:
const event = new Event( 'ftrack.action.trigger-user-interface', eventData, { target: 'applicationId=ftrack.client.web and user.id="SOME-USER-ID"' } );
Regards,
Lucas -
It looks like it is an issue with the eslint loader. As it is not needed for building the project, you could try replacing these lines, with an empty array:
const rules = [];
-
I see. Thanks for the feedback on the documentation!
It does seem like node-sass depends on node-gyp which in turn requires windows-build-tools. I wasn't aware of that.
Regards,
Lucas -
Hi,
The Adobe extension consists of two parts: ftrack-connect-spark-adobe (adobe specific logic) and ftrack-connect-spark (shared UI).When building the extension, it copies the UI distribution (`node_modules/ftrack-connect-spark/dist/`) to build/staging/ftrack_connect_spark/. I don't actually think the distribution files are checked in into ftrack-connect-spark, which means that you either have to build those files locally or copy the files over from the extension if you are not making any changes to the UI.
To build the extension with changes to the UI, you will need to:
- Clone the ftrack-connect-spark repository
- Build it (yarn install && yarn dist)
-
Configure ftrack-connect-spark-adobe to use the local package
- In ftrack-connect-spark: yarn link
- In ftrack-connect-spark-adobe: yarn link ftrack-connect-spark
- Rebuild ftrack-connect-spark-adobe using grunt
Regards,
Lucas -
Hi Jen,
For your use case are you looking at obtaining the file path or uploading the file to the server location / storage?For showing the actions interface, have you tried using the ftrack.action.trigger-user-interface event instead of ftrack.actions.launch? https://help.ftrack.com/en/articles/1040479-events#ftrackactiontrigger-user-interface
I believe the Web UI listens for the trigger-user-interface event, but not for the launch one.
Regards,
Lucas -
The Python API Client often uses relationships (e.g. status) to update entities, but when using the raw API backend or the JS API client I recommend that you instead the relationship key attributes instead. In this case, that would be `status_id`.
A more complete example of a request body would be:
[ { "action": "update", "entity_type": "Task", "entity_key": [ "12bd29be-72b0-11e7-96a7-0a580ae40a16" ], "entity_data": { "status_id": "44dd9fb2-4164-11df-9218-0019bb4983d8", "__entity_type__": "Task" } } ]
Regards,
Lucas -
Hi Konstantin,
Thanks for the feedback. I have reported this as a bug.
Regards,
Lucas -
Hi Mike,
We have a helper method for obtaining the available statuses in the project schema, but it doesn't seem to be one for returning the available types at the moment.It is a bit complicated to follow the entity structure for the project/workflow schemas, so I did a first pass at a similar method which you can find here: https://bitbucket.org/snippets/ftrack/n79e8B
It might need some more polish before it is read for general use, but I believe it should be enough for your use case. You can use it like so:
getAvailableTypes( session, 'AssetBuild', 'caddd816-acb5-11e1-8668-f23c91df1211' ).then( types => console.info('Types', types) );
Regards,
Lucas -
Thanks for reporting the issue.
I have pushed a commit which replaces the git+ssh dependencies with git+https. This should fix the permission error you are seeing.
Regards,
Lucas -
Invited!
/ Lucas -
Hi Remus,
Thanks for reaching out.
There is currently no support for formatting version description/comments. We plan to move to markdown for task and version descriptions in the future.
Regards,
Lucas -
Hi Margot,
For the next iteration of the client review interface, we will make it possible to add previous invitees by searching for them by name.
Further down the line, we may also introduce a way to view and manage all external collaborators/clients.
Thanks for the feedback!
Regards,
Lucas -
Hi Chris,
You should have received an invite now.Regards,
Lucas -
-
Hi Remus,
I don't believe there is any workaround for this. You can group the custom attributes to make it less confusing for users, but will still show up for other asset types.Regards,
Lucas -
Invited.
Regards,
Lucas -
Hi,
Thanks for reaching out.If you call "AssetVersion.encode_media(component, keep_original=False)" the original component will automatically be removed from the cloud storage (ftrack server location) and deleted when the encoding process completes. There is no need to remove it manually.
Regards,
Lucas -
Hi,
That is correct, if you are cloud-hosted or run the server over HTTPS/SSL, the dashboard widget must also be served over SSL due to the browsers security restrictions. For development, you could run a SSL proxy in front of the development server.To host the built widget, you can google for "static website hosting" for alternatives. It should be possible to host it on AWS S3, Google's storage service, github, etc.. I believe you can use e.g. dropbox for static website hosting as well.
Regards,
Lucas -
Hi,
Thanks for showing interest in the widget examples.
To run the example you linked to in development mode, install the dependencies (`npm install`), and then start the development server using the following command and opening a web browser on port 8001.
npm start
To build a a production version, you can run `npm build`.
The example contains a very minimal webpack configuration, which can be extended. The example can probably be rewritten using create-react-app to avoid having to deal with build configuration etc.. Interesting parts of the example are:
- Setting up the Javascript API using injected credentials in index.js
- Fetching and displaying notes in the Notes component.
Regards,
Lucas -
Hi Chris,
It should be possible to use an event listener to automate starting a timer for a user when a task's status is set in progress. The reason that we don't do this automatically is that there can be several situations where you do not want the timer started automatically, and it is hard to know when this is.An event listener is a small python script that can be used to subscribe to changes in ftrack and perform custom logic such as updating a status, starting a external process or triggering a user interface. Here are some useful resources for setting up an event listener:
* Developer hub with introduction to the API
* How to subscribe with the API
* Information about the update event
* Example event listenersIf you are not interested in logging time, but rather want to see how long a particular task has been in a certain state you can look at querying `Event` objects using the API. There is a snippet with some examples here. You probably want to query for action=change.status.task and parent_id=the task's id.
Regards,
Lucas -
Hi,
We have just added a new "Clone review session" feature to client reviews in ftrack 3.3.17. Cloning review session will allow you to carry over the collaborators from one review session to the next, making it a lot easier to work with reoccurring review sessions with the same collaborators. Hosted sites will be upgraded to this version during the next week. More information is available in the release notes for 3.3.17.
We still have more plans to further improve the workflow when inviting collaborators to review sessions going forward. Please let me know what you think; does the new feature implemented work for your use cases, or do you need anything more?
Regards,
Lucas
-
Thank you for the feedback.
This was actually planned for the initial implementation, but fell through due to time constraints. I'll bump it up and see if it something we have time to tackle again.
Regards,
Lucas
Golang api
in API
Posted
Very cool! Thank you for sharing this!
Regards,
Lucas