How to make attributes mandatory

Hello,

how can I make key_attributes and user_attributes mandatory, so they need to have a value/filled before using them? Practically, I try to create my own research file and there might be attributes which are important and need to be filled out manually (user interaction required).

I know, I can do some of them with prototypes and addon ie. dates or so but the user needs to enter information into attributes and there is my issue, that I forget to fill them out. Further, there might be similar/equal notes in TBX but they relate to another “case”.

Any help?

Example:
Attributes are digit1, digit2, IP-Address (all as sets, but IP address is emty - new file)

If I like to create information about the IP address, I would :

fillout digit1, digit2, digit3 per drop down but the IP-Address needs an value

relates to: digit1=Project number, digit2=Generell Information digit3=own information

After that, the name of the note will be “recreated” using an action/rule/edict:

Input: 100 30 20 127.0.0.1
so it will come to IP_127.0.0.1_100.30.20_OriginalNoteTitle.

Any advise, so that I do not forget to fill out the attributes?

Thanks
Steffi

Tinderbox isn’t a database so such affordances aren’t there in the underlying design. You can make agents to report incomplete notes (i.e. with Displayed Attributes attributes that are incomplete). You can make tules that check certain attributes are complete and , for instance change the colour or badge of the note† if incorrect.

As to your example, let’s assume se have 5 Displayed Attributes attributes ProjectNumber, GeneralInfo, OwnInfo, IPAddressandOriginalNoteTitle`. A rule (or edit, or stamp pr agent action) might test all are filled:

if(ProjectNumber & GeneralInfo & OwnInfo){
   IPAddress = "IP_127.0.0.1_100.30.20_" + OriginalNoteTitle;
};

Want the action is any (one or more is complete)?

if(ProjectNumber | GeneralInfo | OwnInfo){
   IPAddress = "IP_127.0.0.1_100.30.20_" + OriginalNoteTitle;
};

Does that help?

† Tip: pick a visual feature that isn’t already used to signal meaning.

Hi Mark,

thank you - that helps. I will do some visual features to signal this and might change background colour too.

Relating to the non-database features: Is it possible to work on one document with multiple users - guess not …

BTW: Tinderbox is just great and I enjoy working with it. From all the information in my TBX document, I can create client reports with easy, without thinking about it!

Thank you, Mark for such a great tool!

Steffi

PS: I will try to attend the Saturday meeting in the near future again… was a bit snowed under

In short, no. Tinderbox is a single-user non-server application in basic design. I’m sure workarounds could be found but it’s not a designed feature.

I’m a different Mark (Anderson), not the Mark (Bernstein) who as you point out has written a great app. Still, all plaudits happily accepted :slight_smile:

I know let’s put it that way:

Thank you Mark and Mark B ! :slight_smile:

1 Like

You can ensure that Tinderbox will show you Displayed Attributes by setting the default value of $DisplayedAttributes to the list of attributes you want. Or, you can inherit that list from a prototype.

You can flag an incomplete or invalid note — one that lacks values for mandatory attributes — by writing an agent that validates each note.

You can’t make things literally mandatory, because a core principle of Tinderbox is that you are in charge.

2 Likes

Stealing that quote. :slight_smile: