Task IDs (Notion): verschil tussen versies
(11 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 7: | Regel 7: | ||
== Overview == | == Overview == | ||
+ | Approaches to create task- od card IDs: | ||
+ | |||
+ | * ''Manual'' | ||
* ''Global IDs'' | * ''Global IDs'' | ||
* ''Notionthings.com'': Create real IDs, from Global IDs + joined table | * ''Notionthings.com'': Create real IDs, from Global IDs + joined table | ||
* ''Datestamp-IDs'': Create IDs based on creation datestamps of objects | * ''Datestamp-IDs'': Create IDs based on creation datestamps of objects | ||
− | * ''NotionPlusID''. | + | * ''NotionPlusID'' |
+ | * ''API'' ? | ||
+ | |||
+ | == Manual == | ||
+ | |||
+ | Just add a field ''Task-ID'' or ''Card-ID'' and give it manually a number, when needed. | ||
== GlobalIDs == | == GlobalIDs == | ||
− | + | Rows of database tables do have a ''global ID''. They can be retrieved with the function <code>id()</code>. They are quite long and unwieldly, like ''cef53e69b99d426f8ad5a00bd9f6e5f3''. | |
== Notionthings.com == | == Notionthings.com == | ||
− | Solution [https://notionthings.com/2022/03/06/auto-increment-table-row-ids/ here] from Notionthings.com. I think it's as impressive as it may be convoluted. Let's see if there are easier a | + | Solution [https://notionthings.com/2022/03/06/auto-increment-table-row-ids/ here] from Notionthings.com. I think it's as impressive as it may be convoluted. |
+ | |||
+ | How it seems to work: | ||
+ | |||
+ | * Create a database table used for ''ids'' only - ''id table'' | ||
+ | * Relate a database table that needs IDs to this table | ||
+ | * In the main table, have a rollup function that copies the <code>id()</code> value from the ''id table'' | ||
+ | * Do some rollup stuff back-and-forth between these tables, that eventually count the number of commas that separate those ids | ||
+ | * Use that count +1 as the id for the next row. | ||
+ | |||
+ | Let's see if there are easier solutions. | ||
+ | |||
+ | Sources: | ||
+ | |||
+ | * https://notionthings.com/2022/03/06/auto-increment-table-row-ids | ||
+ | * https://www.reddit.com/r/Notion/comments/v3ivmr/comment/ibkpcnq | ||
+ | |||
+ | == Datestamp IDs == | ||
+ | |||
+ | Derive an ID from the ''Created time'' date/time stamp. E.g.: | ||
+ | |||
+ | Step 1: | ||
+ | |||
+ | <pre> | ||
+ | toNumber((prop("Created time")) | ||
+ | |||
+ | 1674667620000 | ||
+ | 1674667380000 | ||
+ | Etc. | ||
+ | </pre> | ||
+ | |||
+ | Step 2: | ||
+ | |||
+ | <pre> | ||
+ | toNumber((prop("Created time"))/10000 | ||
+ | |||
+ | 167466762 | ||
+ | 167466738 | ||
+ | Etc. | ||
+ | </pre> | ||
+ | |||
+ | Step 3: | ||
+ | |||
+ | * Note that the timestamps are 9 character long | ||
+ | * Keep the last 4 digits [[Unix Epoch Time]] | ||
+ | |||
+ | <pre> | ||
+ | slice(format(toNumber((prop("Created time"))/10000),5) | ||
+ | |||
+ | 6762 | ||
+ | 6738 | ||
+ | Etc. | ||
+ | </pre> | ||
+ | |||
+ | Issues: | ||
+ | |||
+ | * There is about 0.7% change that multiple cards get the same ID, when your project has 70 cards | ||
+ | * The sequence of IDs might cycle multiple times during the project, going from ''9xx'' to ''0yy'', which might be confusing. To avoid this, you probably need 6 to 8 digits, which I personally think, is quite unwieldly | ||
+ | * You need all 4 digits at any time. It doesn't start e.g., at code '1'. | ||
+ | |||
+ | Conclusions: Too messy to my taste. | ||
+ | |||
+ | == NotionPlusID == | ||
+ | |||
+ | [https://notionplusid.app/]: A free extension to generate automatically incrementing ticket numbers. It can be run as-is or self-hosted | ||
+ | |||
+ | How it seems to work - When self-hosted [https://github.com/notionplusid/core#how-to-run-private-notion-plus-id-for-free]: | ||
+ | |||
+ | * Deploy something within a free Terraform account - Middlewhere? | ||
+ | * Deploy the app within a free Google Cloud Platform account | ||
+ | * Enable NotionPlusID in your Notion database. | ||
+ | |||
+ | To use the 'SAAS' version: | ||
+ | |||
+ | * Just click on the website at the button to install it | ||
+ | * Grant permissions | ||
+ | * Create in a database table a field called ''PlusID'', type ''number'' and it will become an ID-field | ||
+ | * The trick is, that the title has to be exactly ''PlusID'' (bit weird, in certain ways). | ||
+ | |||
+ | What I really like about NotionPlusID: It shows me, that you can make sophisticated stuff in a user-friendly way in Notion. I'm only less thrilled that you have to use a 'trick' to enable an ID column, that actually breaks the structure of the system: Functionality now depends on the name of the column. | ||
+ | |||
+ | == API? == | ||
+ | I guess you can program it yourself through the API - In the end, that's what ''NotionPlusID'' does. | ||
== See also == | == See also == |
Huidige versie van 18 feb 2023 om 21:37
How to implement something like task IDs or card IDs in Notion, similar to Trello - Card-IDs (Trello)?
There seems to be no out-of-the-box solution, but there is a global ID for each entity.
Additionally, there are some workarounds that seem quite convoluted
Overview
Approaches to create task- od card IDs:
- Manual
- Global IDs
- Notionthings.com: Create real IDs, from Global IDs + joined table
- Datestamp-IDs: Create IDs based on creation datestamps of objects
- NotionPlusID
- API ?
Manual
Just add a field Task-ID or Card-ID and give it manually a number, when needed.
GlobalIDs
Rows of database tables do have a global ID. They can be retrieved with the function id()
. They are quite long and unwieldly, like cef53e69b99d426f8ad5a00bd9f6e5f3.
Notionthings.com
Solution here from Notionthings.com. I think it's as impressive as it may be convoluted.
How it seems to work:
- Create a database table used for ids only - id table
- Relate a database table that needs IDs to this table
- In the main table, have a rollup function that copies the
id()
value from the id table - Do some rollup stuff back-and-forth between these tables, that eventually count the number of commas that separate those ids
- Use that count +1 as the id for the next row.
Let's see if there are easier solutions.
Sources:
- https://notionthings.com/2022/03/06/auto-increment-table-row-ids
- https://www.reddit.com/r/Notion/comments/v3ivmr/comment/ibkpcnq
Datestamp IDs
Derive an ID from the Created time date/time stamp. E.g.:
Step 1:
toNumber((prop("Created time")) 1674667620000 1674667380000 Etc.
Step 2:
toNumber((prop("Created time"))/10000 167466762 167466738 Etc.
Step 3:
- Note that the timestamps are 9 character long
- Keep the last 4 digits Unix Epoch Time
slice(format(toNumber((prop("Created time"))/10000),5) 6762 6738 Etc.
Issues:
- There is about 0.7% change that multiple cards get the same ID, when your project has 70 cards
- The sequence of IDs might cycle multiple times during the project, going from 9xx to 0yy, which might be confusing. To avoid this, you probably need 6 to 8 digits, which I personally think, is quite unwieldly
- You need all 4 digits at any time. It doesn't start e.g., at code '1'.
Conclusions: Too messy to my taste.
NotionPlusID
[1]: A free extension to generate automatically incrementing ticket numbers. It can be run as-is or self-hosted
How it seems to work - When self-hosted [2]:
- Deploy something within a free Terraform account - Middlewhere?
- Deploy the app within a free Google Cloud Platform account
- Enable NotionPlusID in your Notion database.
To use the 'SAAS' version:
- Just click on the website at the button to install it
- Grant permissions
- Create in a database table a field called PlusID, type number and it will become an ID-field
- The trick is, that the title has to be exactly PlusID (bit weird, in certain ways).
What I really like about NotionPlusID: It shows me, that you can make sophisticated stuff in a user-friendly way in Notion. I'm only less thrilled that you have to use a 'trick' to enable an ID column, that actually breaks the structure of the system: Functionality now depends on the name of the column.
API?
I guess you can program it yourself through the API - In the end, that's what NotionPlusID does.