Acknowledged
CIQQA-3401

Feature request: Set custom FIT ID or allow retrieving the full title

Working with FIT files in a 3rd party app is really cumbersome. My main issue is the following:

When I download FIT files with my app, I need to be able to identify the file through the PersistedContent API in every session. The problem is though, that the getId() method won't guarantee that the file I'm looking for has the same ID as before, because the user might have deleted it and downloaded another FIT file through the native apps or other 3rd party apps. Since the getName() method only returns the first 32 characters of a FIT title (which is not documented by the way) and some file titles are identical for the first 32 chars, this is not an option either.

Can we have a feature for setting a custom ID for FIT files?

Parents
  • >  Add a session variable

    That would make sense if OP was talking about loading an activity FIT file somehow, with an off-device (non-CIQ) app.

    However, a few clues in the bug report indicate they are talking about something else:

    - "PersistedContent API" 

    - "getId()"

    - "getName() method only returns the first 32 characters" 

    Based on all of that, it seems OP is talking about using a Connect IQ app to download FIT content using MakeWebRequest, which is subsequently stored on the device and accessible through the PersistedContent module (https://developer.garmin.com/connect-iq/api-docs/Toybox/PersistedContent.html), such as: courses, routes, tracks, waypoints or workouts.

    The content that the CIQ app downloads is presumably served by some service that OP controls. One example would be using the dwMap / routeCourse CIQ apps to download routes from 3rd party services. 

    Their point is that getName() truncates the name in question, and getId() isn't suitable for the reason that they mentioned.

    To be clear, OP is trying to use the content name as a unique id, and it doesn't work because of the name truncation.

    Anyway, my only suggestion would be to include some kind of unique ID as a prefix in the name, but that would probably look weird from the user's POV. And it would also be inconvenient, as the watch only has so much space in the UI to display the name, which means that adding a prefix which is meaningless to the user only prevents them from seeing part of the name which is relevant to them.

Comment
  • >  Add a session variable

    That would make sense if OP was talking about loading an activity FIT file somehow, with an off-device (non-CIQ) app.

    However, a few clues in the bug report indicate they are talking about something else:

    - "PersistedContent API" 

    - "getId()"

    - "getName() method only returns the first 32 characters" 

    Based on all of that, it seems OP is talking about using a Connect IQ app to download FIT content using MakeWebRequest, which is subsequently stored on the device and accessible through the PersistedContent module (https://developer.garmin.com/connect-iq/api-docs/Toybox/PersistedContent.html), such as: courses, routes, tracks, waypoints or workouts.

    The content that the CIQ app downloads is presumably served by some service that OP controls. One example would be using the dwMap / routeCourse CIQ apps to download routes from 3rd party services. 

    Their point is that getName() truncates the name in question, and getId() isn't suitable for the reason that they mentioned.

    To be clear, OP is trying to use the content name as a unique id, and it doesn't work because of the name truncation.

    Anyway, my only suggestion would be to include some kind of unique ID as a prefix in the name, but that would probably look weird from the user's POV. And it would also be inconvenient, as the watch only has so much space in the UI to display the name, which means that adding a prefix which is meaningless to the user only prevents them from seeing part of the name which is relevant to them.

Children
  • Sorry. It looks like my post was not making clear which API I was talking about. You are right that I mean the Courses-API.

    Your suggestion with a unique ID as prefix is exactly what another 3rd party developer uses and what I'll be using aswell for now, but as you've already mentioned it comes with backdraws, hence the feature request I proposed.