Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for IShField ValueType Label coming over API 2.5 in 15.1/Alf1 #184

Open
7 tasks
ddemeyer opened this issue Feb 29, 2024 · 1 comment
Open
7 tasks

Comments

@ddemeyer
Copy link
Contributor

One of the UX improvements in Tridion Docs 15.1/Alf1 release is the availability of a User's Display Name throughout user interfaces. Technically this means that the public API had to be extended in a non-breaking way to support delivering these values. The choice was made to add a new valuetype attribute on the the <ishfields> metadata containers in API 2.5 called Label.

User Display Name can now be returned on User Card Reference fields. So where you used to be able to retrieve Value/Element/Id on fields like FAUTHOR or FTRANSLATOR, you can now also request the non-unique Label (the user's display name)

ValueType Value
User Value ddemeyer
User Element VUSERDDEMEYER
User Id 45665
User Label (new since 15.1/Alf1) Dave De Meyer

Same idea works to retrieve Logical Object Titles on Logical Content Object Reference fields. So where you used to be able to retrieve Value/Element/Id on fields like FMASTERREF (root DITA Map on a Publication Version) or FISHRESOURCES (library DITA Topics on a Publication Version), you can now also request the non-unique title (the object's FTITLE field)

ValueType Value
Map Value GUID-A...Z
Map Element GUID-A...Z
Map Id 45465
Map Label (new since 15.1/Alf1) Release Notes Root Map

For ISHRemote it means that the following things need to be reviewed

  • Set-IshMetadataField should probably throw as no write operation is allowed as Dave De Meyer is not a unique identifier (while value ddemeyer or element VUSERDDEMEYER is guaranteed to be unique).
  • Set-IshMetadataFilterField should probably throw as filtering is not implemented on a lookup field (like FISHUSERDISPLAYNAME and FTITLE).
  • Set-IshRequestedMetadataField should work
  • Set-IshRequiredCurrentMetadataField should probably throw as value checks is not implemented on a lookup field (like FISHUSERDISPLAYNAME and FTITLE).
  • Get-IshMetadataField should work
  • $ishSession.DefaultRequestedMetadata should be verified to potentially add Label by default, but this only for 15.1/Alf. What happens if you use Label on 15.0 and lower instances - throw?
  • $ishSession.StrictMetadataPreference variations could explicitly or silently remove Label usage depending on the target instance server version
@ddemeyer ddemeyer added this to the v8.1 milestone Feb 29, 2024
@ddemeyer ddemeyer added could and removed should labels Mar 14, 2024
@ddemeyer ddemeyer removed this from the v8.1 milestone Mar 14, 2024
@ddemeyer
Copy link
Contributor Author

Put more thought into it...

  • DisplayName can already be done, with a lookup over Find-IshUser explicitly asking for the FISHDISPLAYNAME field in the PowerShell process perhaps a post-routine over Add-Member cmdlet
  • Title on Content Object card references like FISHRESOURCES on a publication, this is an edge case

Mostly concerned that this would complicate the code that much that switching to future public OpenApi without little-to-none breaking changes might become harder instead of easier - what is -ValueType Label worth on OpenApi, nothing really, it is implicit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant