Tinderbox Forum

Adding new attributes - selecting a data type

I have been playing with the demo, and I was trying out adding custom key attributes. I apologize for what must be a really basic question, but when it prompts you to create a new one, I don’t know whether to pick string or boolean, etc. What should be the basic choice if I’m “tagging” a note with the name of someone mentioned in the article? Should I be using a different feature for this?

A “string” attribute is a bunch of characters, like a name.

A “numeric” attribute is a number.

For tags, you probably want a set attribute. Sets are a bunch of strings, separated by semicolons:

. Important;Scenic;European;2021

These behave a lot like tags. In fact, there’s a built-in set attribute $Tags already waiting for you.

Step back and think why you are adding an attribute, this is part of the decision process.

Tagging is a broad-brush term normally used when tagging/keywording images and normal done so because it is the only ‘attribute’ on offer in such apps. Tinderbox has a Set data type attribute built-in called $Tags, that you can add as a Key Attribute.

However, you want to set an attribute to store the name of someone mentioned in the article. Rather than put this into a $Tags value (which mirrors and in some cases imports general ‘tag’ data in imported data) it might make this value in a discrete use attribute only storing people of note. Let’s assume you do want a discrete attribute for this person related data. The next choice is single value or multiple value:

  • Single value: when you add a value it replaces the one there. For this use a String data type attribute.
  • Multiple values: when you add a new value it is added to the list of existing value(s) in the attribute. In this case use a Set or List data type. The main difference here is a Set only allows any value to be stored once per-note-per-attribute, i.e. it de-dupes your entries. A List allows multiple instances of the same value. If you had a list of values ‘Fred’ and ‘Steve’ and added the value ‘Fred’ to a Set, the result is “Fred;Steve”. For a List the result is “Fred;Steve;Fred”.

For your purposes here, the other data types aren’t pertinent but you can read about them here.

Hopefully you can see how your opening question was broader than you imagined. We don’t know what ‘tag’ implies to you, whether it is is one of many values per-attribute-per-note or single per-attribute-per-note.

Hope that helps. If still stuck just ask.

Thank you both very much for the prompt and helpful responses. I’m just unfamiliar with the terminology in general, besides the obvious ones like date or color. I understand why those differences are functionally significant. It sounds like for people mentioned, “set” is the logical option.

Terminology and descriptive vocabulary is confusing as different subjects/apps use differing terminology. Most things used for user-created attribute are String (a technical term for text, but which can include numerical characters), Numbers (numbers only) for single values. List & Set, cover multiple values; there is no explicitly multi-value Number-type attribute but if you use a Set or List with only number values it will work oOK with operators expecting a number.

There are so many variations in terminology that it’s hard to make a look up. If stuck and wanting to ask it helps to know the functional task at hand rather than , as is human nature, to describe the desired outcome. :slight_smile:

1 Like