Post is aimed at the Devs more than @cretz, but his points give the basis of the discussion
Its to do with - These tag(s) are for my/our project/app and by using a central tag for any of the 4 functions above seems counter productive and contrary to good practices. Its centralisation.
By attributes I was vaguely saying like this (SD) object is say read by owner only or is encrypted.
So the above tags could be better implemented as a permissions field (attributes) and the 4 tags would convert into
- owner read
- public read
- owner write
- public write
While there are more bits used, the bits can be combined to give many more options.
Are we going to add another 4 tags to allow append instead of modify to give an equivalent functionality but only allow appending. OR public append and owner modify
If we don’t address this issue at some stage then we will just multiply tags used every time a new feature is added to SD functionality. And then limit people to only using that specific tag for every SD in their project.
What about I want
- ID xxx0000 - xxxFFFF as read by owner only and encrypted
- ID xx10000 - xx1FFFF as read by public and encrypted
- ID xx20000 - xx2FFFF as read by public and NOT encrypted
But someone else decides to start a project and unknown to them my project had the above planned but only used 1/10
They decide to use similar but addresses overlapped. So now my addressing scheme has holes in it.
If I had used my own TAG instead of a centralised one then the potential of this happening is more than 2^40 times less. IE insignificant if I choose a random and non-common TAG#. But using a central TAG then the chances are much higher. (Yes I admit if I choose an ID that is random and non-common then the chance is still small, but not as small as if I can use any tag.
Actually its becoming why have tags, if I want more than owner write/public read then I have to use a specific tag#, so why even have a field called tag# since any useful use of SDs is limited to one tag#
Yes that is the solution at this time, But as with all engineering projects (physical/software) implementing the obvious the right way at the start save a whole lot of time, energy, money later on.
So now we could implement for 2 groups owners & public and later have other groups (eg primary owner)
- write (ie modify)
- version control
- execute (later on for computational purposes)
Are we going to have 4096 tags just to implement all these and limit people to only using those system defined tags if they want some combination of the 12 “permissions/attributes”