## Overview
In this development log, I started out attempting to solve one small problem but ended up solving multiple seemingly disconnected problems all in one go, somewhat accidentally. I typically write logs like this to keep track of changes and to document methodology, in case it's useful elsewhere, or to reverse engineer my own work down the road in case I ever forget how I was able to do something as to not waste effort.
**In this log, the problems that were solved were:**
- Creating a system to automatically apply a unique universal number code to all new entries to make keeping track and referencing these entries more streamlined
- Added the ability to automatically add clickable links at the top of all entries, that when clicked, open a semi-prefilled draft email with the proper email address to the Research Committee and the corresponding unique ID number code in the subject line, ready for corrections and/or additional information to be added, reducing barrier to participation for those *not* in the committee themselves, but just using/viewing the archive
- Connected this above mentioned email inbox directly to the Element room for the Committee so that all correction/addition emails that are sent to this inbox, are also "injected" directly in the committee chat room in the form of a standard message for easy discussion.
I'll start with figuring out how I created the unique identifier number and how it was implemented.
## Unique Identifier
So for this Research Committee, I wanted a unique ID code for each document, beyond just the title as that bcould change over time and it could become confusing to figure out which documents people are referring to. Some kind of unique ID code shouldn't change and should be consistent regardless of whatever change in title there is.
> [!note]
> No one has to do anything to make this work, this is just an explanation for what was added.
Within Obsidian, at the top portion of all notes, you can add "properties", a sort of metadata section, displayed as a clean table that lists out basic information like authors, dates, link sources etc.
![[Pasted image 20260228112017.png]]
In addition to this basic info, you can also add a big of "magic formulas", similar to in Excel, to do things a bit extra. The best and easiest method to create some kind of unique number that can be used as a unique code that I could think of is to just smash the current date and time together at the moment of an entry being created, which just requires very simple Obsidian specific code like this:
```
{{date:YYYYMMDDHHmmss}}
```
So for today, this code would result in something that looks like `20260228104355`.
As far as how this actually works, having certain text wrapped in `{{}}` is just a way to ✨magically✨ tell Obsidian "Hey, this is *special* text that needs to be considered differently than regular text, so pay attention". Having `date:` within the {{}} makes Obsidian anticipate some sort of date format. You could add `-`'s or `/`'s to make it more proper, but in this case, we're not adding anything like that in order to create that long string of numbers that we need.
- `YYYY` for 4 digits of a year
- `MM` for 2 digits of a month
- `DD` for 2 digits of a day
- `HH` for hours
- `mm` for minutes
- `ss` for seconds
So just *smashing* it all together like this:
`YYYYMMDDHHmmss`
causes the result to also be...
<center>🫸smashed together🫷</center>
> [!note]
> Just to reiterate, **no one** will need to ever manually type in or remember this code, just thought it was interesting to show how it works and is pretty simple once you know what it's doing.
The resulting string of numbers is also unique enough that the likelihood of 2 notes being created at the exact same second is ridiculously low so this works to create a unique string of numbers that we're looking for that can be referenced, regardless of any title changes in the future.
For organizational purposes, having this sort of "anchor" string of numbers, almost like a social security number for an entry, will make it easier to find an entry someone is talking, regardless if other aspects of the entry change. If someone were to attempt to email a correction about "that Joe Biden entry you did, and you should change XYZ", it may be difficult to know exactly which one they're talking about.
## Templates
Obsidian also let's you create templates, not just for manual use, but also automatically if *any* new note is created in folders you specify, or vault wide as a sort of "default" starting point for any new note created. When you normally create a new entry, you start with a completely blank page, which is fine and expected, but it is better if things can start with a bit of this information to make it work better with how things operate here.
Certain information, including this metadata with the "unique ID code" can be inserted into a blank document first which would mean this unique identifier would automatically be established right at the onset. This ensures less barriers to using this sort of system. So we could set this template to be the default behavior for the *entire* Obsidian vault so that any note that is created would get this treatment and would adhere to basic organizational standards. So regardless of what note someone is adding, whether it's an article, summary, bunch of random videos etc, this unique identifier will be added.
You'll see why later why this unique code will be useful for reference later.
## Web Clipper
Obsidian also has a feature called a "Web Clipper" which is a browser extension that works on mobile and computers that will, in one singular click, extract the text and images from an **entire article** and automatically format it to Obsidian standards, no AI necessary. No ads, minimal fluff, just straight forward information.
![[Pasted image 20260228112545.png]]
This extension also allows the use of templates of its own as a way to make any slight custom changes to the information being captured when the Web Clipper is used. So even for notes that are *technically* created outside of Obsidian via this extension, this bit of "unique ID code" can be inserted into that as well and it works just like you would expect. So far so good, everything is working.
## Correction Requests
Then I was thinking... Well if this is all going to be published as a of wiki-like website, we should make sure that people can request changes or add additional information easily to different entries they come across as a way to help them contribute, even if they're not directly "in the committee". I was thinking I could just maybe add a committee specific email address automatically to the top of each page so that people could just copy and paste the unique ID code themselves, which *would* work, but I feel like it could be made even more intuitive than that.
Then I was thinking there might be a way to combine these ideas into a clickable link that automatically opens a new email draft with the unique ID code ready to go already in subject line. This technique is known as a 'mailto:' link.
After a bit of digging I found out that with this code:
```
[Request Corrections?](mailto:
[email protected]?subject=Corrections%20{{date|date:"YYYYMMDDHHmmss"}})
```
It would show up as a prefilled like I hoped (you can give it a click to see for yourself)
[Request Corrections](mailto:
[email protected]?subject=Corrections:%202026228110155)
Everything is working like it should and all of this works within Obsidian itself and via the Web Clipper extension which I suspect would be the most used way to gather information into the Vault as it's the most complete and easiest to use. That was *also* the method I was **most** worried about since it isn't *technically* in Obsidian itself when being used, but in a browser, so I thought that because of that, it might not have the full power of the platform necessary to run this "unique ID code", but it turned to be a non issue it works just like it should.
---
So just for an example, using this Web Clipper, [this Wikipedia article](https://en.wikipedia.org/wiki/2008%E2%80%932011_Icelandic_financial_crisis) becomes [this Research Committee article](https://publish.obsidian.md/researchcommittee/-To+Be+Sorted-/2008%E2%80%932011+Icelandic+financial+crisis+-+Wikipedia) with one click and no editing and with the corrections message email link up at the top automatically.
## Emails to Element
So it's good to have found a way to let people email the committee easily to add corrections but it's still probably not feasible to expect one person to be managing all of these correction request emails but it *also* isn't safe to give everyone access to the inbox either. But there is a third, better option that requires even less effort for everyone contributing to this committee.
Matrix/Element has some pretty wild features behind it and this next one in particular I have played around with but wasn't sure if it would work here. There's a service on our Matrix server called **Postmoogle** which essentially lets you designate an *actual* Element room as a legit email inbox in addition to being just a regular room. Emails get converted into a message allowing all in the room instant access to what was emailed.
For instance, my test chat room for this I designated as this address:
[email protected]
So any email that gets sent to that address, will show up as a message, including attachments, to whatever room is designated as the destination. I thought the `@matrix.50501pgh.org` part of the address was ugly so I just set up a more traditional inbox at:
[email protected]
All emails sent to this address get forward to the Element chatroom and converted into a message, so it's essentially the same thing, but to the public, this email address isn't as ugly, but functionally, it doesn't matter.
We could also set up a filter to only allow subject lines with "Corrections:" in the subject line to be forwarded as a protection for the chat room against spam.
Just for another example, this is what it was like to click the link on the Research Committee website and fill out and send a basic email:
![[Pasted image 20260228114833.png]]
And this is what it looked like in the Element chat room once it was sent:
![[Pasted image 20260228115036.png]]
This will make it very *very* easy for anyone in the committee to see and deal with requests like this as it will be open for all without necessarily needing actual access to the inbox itself, and it's all within the Element room. Corrections can also be discussed within the thread that it makes when it sends the email to the room as well so very very easy, tidy and intuitive.
---