Commenting fields in tables
TRUECHART supports the commenting of table rows by using dedicated comment columns.
Furthermore, comments aren’t restricted to text, but can also be a list or a flag.
These inputs can be saved in a "common table", which is basically a shared data base. It allows to show the same input across independent instances of TRUECHART.
Types
TRUECHART offers 3 types of annotations for table rows.
List: A dropdown with a defined set of entries for selection.
Comment: A text field rich-text capabilities.
Flag: Creates a checkbox.
Input
Selecting any one of the above enables the input tab. In here, you can further customize the input behavior.
Input is saved with no extra key: Possibility to add an extra variable which will be included in the save key in the database.
and 1 of 2 key columns: Depending on how many dimensions are used it’s possible that the input is just saved referring to one of them. Otherwise the 2nd key column has to be added as well. If you have the dimensions Region and Country the input will be saved either Region|Input or Region|Country|Input.
Log: Additionally create logging information for the added input.
Save all: Allows the developer to define a variable which saves all the inputs included.
Auto save: Save the input to the data base whenever it was changed.
The listing in the main part of the input section shows the available measures.
Length: In a comment, this will define the maximum length of the text. Setting this to 0 will enforce no character limit. In a list, this will show the number of entries defined. Clicking on the length will open a dialog to define these items.
Common table: Defines a common table (database) for the input. It’s possible to choose between existing common tables, create new ones or define a unique one (Self).
Save as: is an individual add on for each input which will be added to the main key in the common table. With these options it’s possible to trigger each individual comment.
Key: Specify a save variable. This options is relevant when the above mentioned Save all function is not allowed. This variable can consider the current selections while adding the comment which makes it possible to comment on the smallest level of detail.
Edit: Allows to edit the input. This is something which can also be done in the data properties.
Mandatory: Makes an input necessary for the end-user if it’s activated.
Text copy: This is relevant when the application is being transported. Active means that the content/input will be transported whether the application is duplicated or published. The D activates the transport of the content just in case the App is duplicated
Check: Text can be limited to only allow numbers or dates. This options only exists for comments.
In case you are using two dimensions and have activated the 2 of 2 key columns functions and are using an individual Save as name and a Key variable the saved input in the common table looks like this:
Dimension 1 | Dimension 2 | Save as | Key variable | Input content
Store comments with future-proof keys
In addition to using the general table dimensions as lead columns, you can use variables to add further information to the data keys for comments. In view of the planned further developments of TRUECHART in the area of commenting and the goal of being able to automatically recognize comments and your linked data, when defining these data keys, you must make sure that it is possible later to migrate these keys or conditions automatically to the new mapping logic if you adhere to a few general rules.
The following best practice rules should be considered as far as possible, otherwise automatic mapping will not be possible for cross-platform commenting. In this case, the comments can only be displayed individually on the respective platform.
Best Practice Rules for Comment Keys
For each value, dimension or key figure names must always be prefixed, so that these elements can be identified more easily later.
Splitter between dimension & dimension value:
##
.Splitter between key figure & key figure value:
$$
.Splitter between dimensions:
§§
Splitter between dimensions and key figures:
%%
.
Data dependent input
Further customization can be achieved via a special expression definitions for measures. These expressions help to let various aspects of table input be dependent on certain variables.
Such a formula is a string, denoted by ' (single quote) or " (double quote) at the beginning and end. The string begins with a prefix to determine what kind of input it represents. It is then followed by some numbers (either 0 or 1) to enable or disable some options. After that it contains input dependent properties.
List
Example:
'tclt:1' + $(allowEdit) + '000tc;;01tc$$Goodtc§#01tc§§Acceptabletc§#02tc§§Badtc§#03tc§§'
Explanation:
'tclt: signals that this is a list.
Then a list of options follows, in this order:
Visible: The selected value is visible.
Editable: The selected value can be changed. In this case, a variable is used. The value of this variable has to be either 0 or 1 for the formula to work.
Mandatory: A selection is required.
Release: This sets a flag in the database.
Overwrite: Disables the ability to change the value.
tc;; ends the flags portion and leads into the input type dependent options.
01 is the key that should be used as the default value.
tc$$ separates the default value from the available values.
Now follows a list of values in this format "label tc§# key tc§§" (without spaces)
Comment
Example:
'tccm:1100000tc;;Default Valuetc$$Enter commenttc##'
Explanation:
'tccm: signals that this is a comment.
The options are the same as for lists, with the addition of:
Check: 0 won’t do any input validation. 1 will allow only numbers, while 2 will only allow dates.
Text copy: 0 will set it to duplication, which means that comments won’t be transferred when the app is published. 1 will set it to active, which will keep them even after publishing.
tc;; ends the flags portion.
Default value: The text that is used if the comment is empty. To not show a default text, simply end it right away with the tc$$ token.
Enter comment: This text is shown as a placeholder if the comment is empty. It differs from the default text in that it is slightly transparent.
tc## ends the formula.
Furthermore, comments can take the value of another comment via optional copy arguments, which are separated by ;;.
'tccm:1100000tc;;Default Valuetc$$Enter commenttc##C01;;K02;;K03'
C01: This references an alternative cell content. The numbering starts from C01. If this is omitted, the currently active cell will be used. following indexes will be relative to this cell.
K02: References a flag measure. The numbering starts from K01, and is incremented only for active measures. See the image below for an example.
K03: References the source field. This needs to be a comment as well. If the flag is checked, this field will be used for the comment.
Flag
Example:
'tcfl:11000tc;;1tc$$'
Explanation:
'tcfl: signals this is a flag.
The options are the same as for lists.
tc;; again ends the options part.
1 represents that checkbox is checked by default. 0 will leave it unmarked.
tc$$ ends the formula
Creating a common table
The common table dialog will open when you click on the Common table button of an input measure. In here, you can select an existing one or create a new one. input.
To use an existing common table, simply click on it and provide the password to unlock it. You can use the Search key or description input to filter the list.
Click on No common table to use the unique common table Self.
To create a new one, you need to provide a key and a password. The key acts as the name of the common table. Optionally, you can add a short description and additional information in the text area to the right.
Copy an inline comment
If you want to use the same inline comment in different places you can easily do so with the copy function of inline comments. Just right click on the inline comment you want to copy and select the copy comment entry in the context menu. The inline comment is then saved into the clipboard and can then be inserted elsewhere. A copied element can also be pasted outside of the extension, for example in Microsoft Word or an email.
Currently the copy function has some limitations across the different browsers. Every browser handles copying rich text via JavaScript differently. This behavior can change depending on the version of the browser that is used. In general, it can happen that certain styles are not correctly copied, for example text colors and font sizes.
Related articles
TRUECHART supports the commenting of table rows by using dedicated comment columns.
Furthermore, comments aren’t restricted to text, but can also be a list or a flag.
These inputs can be saved in a "common table", which is basically a shared data base. It allows to show the same input across independent instances of TRUECHART.
Types
TRUECHART offers 3 types of annotations for table rows.
List: A dropdown with a defined set of entries for selection.
Comment: A text field rich-text capabilities.
Flag: Creates a checkbox.
Input
Selecting any one of the above enables the input tab. In here, you can further customize the input behavior.
Input is saved with no extra key: Possibility to add an extra variable which will be included in the save key in the database.
and 1 of 2 key columns: Depending on how many dimensions are used it’s possible that the input is just saved referring to one of them. Otherwise the 2nd key column has to be added as well. If you have the dimensions Region and Country the input will be saved either Region|Input or Region|Country|Input.
Log: Additionally create logging information for the added input.
Save all: Allows the developer to define a variable which saves all the inputs included.
Auto save: Save the input to the data base whenever it was changed.
The listing in the main part of the input section shows the available measures.
Length: In a comment, this will define the maximum length of the text. Setting this to 0 will enforce no character limit. In a list, this will show the number of entries defined. Clicking on the length will open a dialog to define these items.
Common table: Defines a common table (database) for the input. It’s possible to choose between existing common tables, create new ones or define a unique one (Self).
Save as: is an individual add on for each input which will be added to the main key in the common table. With these options it’s possible to trigger each individual comment.
Key: Specify a save variable. This options is relevant when the above mentioned Save all function is not allowed. This variable can consider the current selections while adding the comment which makes it possible to comment on the smallest level of detail.
Edit: Allows to edit the input. This is something which can also be done in the data properties.
Mandatory: Makes an input necessary for the end-user if it’s activated.
Text copy: This is relevant when the application is being transported. Active means that the content/input will be transported whether the application is duplicated or published. The D activates the transport of the content just in case the App is duplicated
Check: Text can be limited to only allow numbers or dates. This options only exists for comments.
In case you are using two dimensions and have activated the 2 of 2 key columns functions and are using an individual Save as name and a Key variable the saved input in the common table looks like this:
Dimension 1 | Dimension 2 | Save as | Key variable | Input content
Store comments with future-proof keys
In addition to using the general table dimensions as lead columns, you can use variables to add further information to the data keys for comments. In view of the planned further developments of TRUECHART in the area of commenting and the goal of being able to automatically recognize comments and your linked data, when defining these data keys, you must make sure that it is possible later to migrate these keys or conditions automatically to the new mapping logic if you adhere to a few general rules.
The following best practice rules should be considered as far as possible, otherwise automatic mapping will not be possible for cross-platform commenting. In this case, the comments can only be displayed individually on the respective platform.
Best Practice Rules for Comment Keys
For each value, dimension or key figure names must always be prefixed, so that these elements can be identified more easily later.
Splitter between dimension & dimension value:
##
.Splitter between key figure & key figure value:
$$
.Splitter between dimensions:
§§
Splitter between dimensions and key figures:
%%
.
See also navigation definitions in notation manual.
Data dependent input
Further customization can be achieved via a special expression definitions for measures. These expressions help to let various aspects of table input be dependent on certain variables.
Such a formula is a string, denoted by ' (single quote) or " (double quote) at the beginning and end. The string begins with a prefix to determine what kind of input it represents. It is then followed by some numbers (either 0 or 1) to enable or disable some options. After that it contains input dependent properties.
List
Example:
'tclt:1' + $(allowEdit) + '000tc;;01tc$$Goodtc§#01tc§§Acceptabletc§#02tc§§Badtc§#03tc§§'
Explanation:
'tclt: signals that this is a list.
Then a list of options follows, in this order:
Visible: The selected value is visible.
Editable: The selected value can be changed. In this case, a variable is used. The value of this variable has to be either 0 or 1 for the formula to work.
Mandatory: A selection is required.
Release: This sets a flag in the database.
Overwrite: Disables the ability to change the value.
tc;; ends the flags portion and leads into the input type dependent options.
01 is the key that should be used as the default value.
tc$$ separates the default value from the available values.
Now follows a list of values in this format "label tc§# key tc§§" (without spaces)
Comment
Example:
'tccm:1100000tc;;Default Valuetc$$Enter commenttc##'
Explanation:
'tccm: signals that this is a comment.
The options are the same as for lists, with the addition of:
Check: 0 won’t do any input validation. 1 will allow only numbers, while 2 will only allow dates.
Text copy: 0 will set it to duplication, which means that comments won’t be transferred when the app is published. 1 will set it to active, which will keep them even after publishing.
tc;; ends the flags portion.
Default value: The text that is used if the comment is empty. To not show a default text, simply end it right away with the tc$$ token.
Enter comment: This text is shown as a placeholder if the comment is empty. It differs from the default text in that it is slightly transparent.
tc## ends the formula.
Furthermore, comments can take the value of another comment via optional copy arguments, which are separated by ;;.
'tccm:1100000tc;;Default Valuetc$$Enter commenttc##C01;;K02;;K03'
C01: This references an alternative cell content. The numbering starts from C01. If this is omitted, the currently active cell will be used. following indexes will be relative to this cell.
K02: References a flag measure. The numbering starts from K01, and is incremented only for active measures. See the image below for an example.
K03: References the source field. This needs to be a comment as well. If the flag is checked, this field will be used for the comment.
Flag
Example:
'tcfl:11000tc;;1tc$$'
Explanation:
'tcfl: signals this is a flag.
The options are the same as for lists.
tc;; again ends the options part.
1 represents that checkbox is checked by default. 0 will leave it unmarked.
tc$$ ends the formula
Creating a common table
The common table dialog will open when you click on the Common table button of an input measure. In here, you can select an existing one or create a new one. input.
To use an existing common table, simply click on it and provide the password to unlock it. You can use the Search key or description input to filter the list.
Click on No common table to use the unique common table Self.
To create a new one, you need to provide a key and a password. The key acts as the name of the common table. Optionally, you can add a short description and additional information in the text area to the right.
Copy an inline comment
If you want to use the same inline comment in different places you can easily do so with the copy function of inline comments. Just right click on the inline comment you want to copy and select the copy comment entry in the context menu. The inline comment is then saved into the clipboard and can then be inserted elsewhere. A copied element can also be pasted outside of the extension, for example in Microsoft Word or an email.
Currently the copy function has some limitations across the different browsers. Every browser handles copying rich text via JavaScript differently. This behavior can change depending on the version of the browser that is used. In general, it can happen that certain styles are not correctly copied, for example text colors and font sizes.
Related articles