Character Vault
Any Concept / Any System
Compendium
Your System Come To Life
Roll20 for Android
Streamlined for your Tablet
Roll20 for iPad
Streamlined for your Tablet

Personal tools

RowID

From Roll20 Wiki

Revision as of 10:06, 5 November 2023 by Anubis N. (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
RowID is the unique ID each item in a Repeating Section has, which can be used to reference it in macros and APIs even if the section's rows are reordered.

Preliminary testing have shown that:

  • RowID must be strings, exactly 20 character long, and with a mandatory leading - at the front. This leaves 19 variable characters.
  • Multiple - characters can appear next to each other. The following RowID is valid: --------------------
  • While Roll20 itself might generate RowID with mixed upper- and lower-case, setAttrs(), Sheet worker Events and attribute macros (at least) are case insensitive. If you generate RowID, it is probably best to use all-lowercase.
    • TODO: confirm whether Roll20 still generate RowID with upper-case letters
  • While Roll20 seems to only generate RowID using the characters in [0-9a-z-], it seems any UTF-16 Code Unit is valid. The length above is measured in UTF-16 code units, as javascript does when using String.length in sheetworkers. See Mozilla Developer Network documentation on strings in javascript for details.
    • For compatibility with Macros, it is probably best to not use any ASCII character other that digits, letters and dashes. While it seems possible to create a row with RowID -0123456789abcde@{} with setAttrs(), the RowID is likely incompatible with macros.
    • To get a valid UTF-16 string, avoiding surrogate pairs of UTF-16 (see documentation above) might be advisable. Otherwise, care must be taken to pair them correctly.


See Also: RowIndex

Macros:

Character Sheet Development:

API Development: