Jump to content

jen_at_haverstack

Members
  • Posts

    47
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by jen_at_haverstack

  1. I recently came across the news that CentOS 8 is effectively being killed, so the last production release of CentOS will be CentOS 7. The end-of-life for CentOS 7 is 2024. I know that future versions of Ftrack will be distributed as Kubernetes Helm files. As a consequence of these changes to CentOS it's very likely that our studio will run Kubernetes on Ubuntu instead of CentOS. Will there be Ftrack documentation to support other OSes besides CentOS 7?

    Reference: https://blog.centos.org/2020/12/future-is-centos-stream/

  2. The docs for on-prem installation recommend using Sentry for error handling, so we've set that up for our studio. I've noticed that Sentry collects at least 3 or 4 errors every day but they are all related to internals of the Ftrack server so there's nothing here that we can really fix. Is there some system for sending these errors to Ftrack devs periodically?

  3. This is a fairly minor pain point but on our on-prem Ftrack instance we have LDAP logins enabled and since the login screen placeholder says "Username or Email" we've had a few users get confused when they try to use their email address to log in. We have our "Login attribute" in the LDAP settings set to `sAMAccountName` and I could set it to `mail` instead but then we'd have the same problem but in reverse. It would be nice to maybe have an 'alt login attribute' setting or maybe even have the 'login attribute' be a comma-separated list of values.

    As an alternative, a simpler solution might be to allow for on-prem installs to add a bit of explanatory help text to this login window or change the placeholder text for the input box.

    image.png.9e90e007a169dc552cce9cab94018f6a.png

  4. It seems like thumbnail previews in the UI are locked to a 16:9 aspect ratio. It would be great to have an option to change this ratio. Or perhaps an option to not clip the image but instead use black bars on the sides if it doesn't fit the ratio? Our renders adapt to the 16:9 ratio just fine, but animation assets are often better suited to a square thumbnail.

  5. Uploads are happening via drag-and-drop, but I was hoping I wouldn't have to go the event-listener route because I've had missed events if the event listener process is down.  I'd feel better if I could have multiple event listener processes running at the same time, but if I recall that just caused events to be processed multiple times.

  6. I tried calling `encode_media` on the session object and got this:

    >>> job = session.encode_media(component, version_id=version['id'], keep_original=True)
    
    Server reported error: ValueError(Encoding is not supported for component with file type u'.ai'. Valid formats are: ['3g2', '3gp', 'asf', 'avi', 'drc', 'flv', 'm2v', 'm4p', 'm4v', 'm4v', 'mkv', 'mng', 'mov', 'mp2', 'mp4', 'mpe', 'mpeg', 'mpg', 'mpv', 'mxf', 'nsv', 'ogg', 'ogv', 'qt', 'rm', 'rmvb', 'roq', 'svi', 'vob', 'webm', 'wmv', 'yuv', 'jpg', 'jpeg', 'png', 'tiff', 'tif', 'bmp', 'pdf', 'psd', 'gif', 'dpx', 'exr', 'svg'])

    This is moving out of 'feature request' and into 'bug' territory. Can your devs point me to how I can add the '.ai' format to the encoding list?

  7. Per the Image Encoding documentation, the only formats that trigger an encoding event are jpg, jpeg, png, tiff, tif, bmp, pdf, psd, gif, dpx, exr, and svg. However, our studio makes heavy use of Illustrator files (.ai extension) and we need to be able to kick off this encoding somehow. Illustrator files are compatible with PDFs, so the image encoder is technically capable of the conversion. However, the web UI never sends these files to be converted because it does not consider files with the .ai extension to be images.

    Since we already have the capability to run our own image conversion servers, it makes sense that we should be able to specify what formats are supported in the system settings or in the configuration file.

  8. At our studio we can have many different concurrent connections at the same time -- from 100 to 150. I've noticed that at peak times, the responsiveness of the site suffers a lot. However, even when not at peak times, realtime features like inbox notifications do not work consistently. Many of our artists have resorted to browser extensions that refresh their Ftrack page every 5 minutes or so in order to stay on top of their notifications. Of course, all of this extra refreshing also increases server load, so it would be better to come up with a different solution.

    Is there some sort of chart or recommendation about server specs based on the number of concurrent users?

  9. The View list at our studio is getting quite long. Particularly the Shared Views, but I have seen some very long personal View lists as well. It would be great if we could arrange views into folders or groups. To get around this and to help with organization, we've adopted a norm of using a per-department prefix for views. For example:

    • Harmony - Needs Assets
    • Harmony - Ready for Comp
    • Tweens - Missing Imports
    • Tweens - No EFX
    • Paint - Reuses

    These prefixes are basically serving the same function as folders, but folders would make the list considerably shorter.

  10. I was following the instructions for configuring Sentry for error monitoring, but when I restarted the server I kept getting "ValueError: Invalid Sentry DSN" in my logs and the server refused to start.

    It turns out that in the Client Keys section of my Sentry project, I need to hit the "Show deprecated DSN" link in order to show the DSN that includes the secret. Apparently newer Sentry clients no longer require having the secret in the URL, which is why Sentry lists it as deprecated.

    It would be useful to specify in the instructions that the deprecated DSN is required in order to avoid confusion.

  11. It's my understanding that using the following code should always return the same metadata entity:

    const metadata = await session.ensure(
      'Metadata', {parent_id: "7bd2c20a-f7a1-11ea-8466-005056829324", key: "builds", parent_type: "Breakdown"}
    );

    If the entity did not exist before, `session.ensure` would create it, and if it did exist it would simply return the existing entity. Instead, if the entity already exists this will throw a Duplicate Entry error.

  12. If I do something like this:

    const metadataResult = await session.create(
      'Metadata', {parent_id: "7bd2c20a-f7a1-11ea-8466-005056829324", key: "builds", parent_type: "Breakdown", value: "foo"}
    );

    ...the contents of `metadataResult` will be:

    {
      action: "create",
      data: {
        __entity_type__: "Metadata",
        key: "builds",
        parent_id: "7bd2c20a-f7a1-11ea-8466-005056829324",
        parent_type: "Milestone",
        value: "foo"
      }
    }

    Notice how the `parent_type` key is listed as `Milestone` when it should be `Breakdown`.

    For further context, `Breakdown` is a custom object created via the Objects interface and it has the 'Status' box checked.

  13. Recently I was attempting to create a Folder object via the JavaScript API and encountered this error:

    Permission denied: not allowed to 'create' 'Task'. Missing the required 'Create objects (sequence,shot,task)' permission.

    I was providing the `name`, `parent_id`, `object_type_id` during my attempt, and the given error was very strange to me because my user should have administrator permissions for the project I was modifying.

    After a while I realized that I needed to also provide the `project_id` so that the API could figure out whether I had the appropriate permissions to make this change. Still, if the `project_id` is required to determine permissions, it would have been more useful if the error message specifically called that out instead of sending me down a rabbit hole of checking my permissions and API keys.

×
×
  • Create New...