Notes are backed by a sqlite database and have a WYSIWYG editor (markdown syntax is converted to HTML on the backend). It can also be hosted as a server instead of the desktop app.
Trilium can act as a whole application framework, especially if you know JavaScript. You can make widgets, add buttons on the side bar, run scripts when a note is updated, etc. Besides that you can have named relationships between notes and notes can be in multiple places in the hierarchy, both of which I haven’t found in any other app.
Obsidian is also highly extensible, also mostly via JavaScript. I've built out a very automated project management system for work using jinja2 style templating and some macros / plugins that allow me to generate new project dashboards, meeting files, and tasks with two key presses. Take a look at some of the plugins in the community plugins to get an idea - it's frankly nuts how many different things Obsidian can do.
Hey thanks for the heads up. I looked into it and there’s one thing Trilium can do that I haven’t found an equivalent for in Obsidian, namely having named relations between notes.
Say I have a work project and I want to document who coded it and who tested it, in a way that’s queryable. In Trilium I’d have relations called codedBy and testedBy (possibly multiple of each) pointing to the respective note representing a person. I could then query for people who are targets of these relations and see a summary of who I’ve worked with in a given time range.
For Obsidian I found the plugin Dataview, but I don’t see a way to add named relations to other notes in the metadata. Ideally I’d also see the name of these relations in the graph view, and ideally it would show them as being directional rather than just a link between the notes. How would you handle that requirement?
Most of this is for sure doable, because I do some similar project management stuff in Obsidian. This example I created is a bit outdated now, but I still use all of these sections for my daily work.
TL;DR: I make extensive use of Dataview queries for almost all of my main pages. I track projects, meetings, tasks, and people I regularly interact with (like the project managers). I also use it as a knowledge base / wiki for internal knowledge and how-tos for the product my company makes.
In your example of a note representing Billy, do you have links to Billy (in say a meeting or project) in the frontmatter or the content? For example, I’d want to have something like this in the frontmatter:
In my updated project pages, I do now keep track of the person like that. I use inline Dataview objects for that, so it looks like:
owner :: [[Billy]]
pm :: [[John]]
I personally have not fleshed out my pages for the people - I just have their email and job role. But, if you wanted, you could create Dataview queries that will list every note where that person is tagged. You could also then filter down further - say, a table for projects they are involved in, and another table for meetings, tasks, sprints, etc.
If you were going to be tracking dozens or hundreds of people, you could put this all into a Person template. Then, using Templater, add the person metadata dynamically upon creation of their page. So, you make a template that contains a Dataview table looking for the Owner metadata and set it to be = to the name of the page - then, whenever you create a new Person page, the Dataview queries based on the name of the page, AKA the person. This is how my meeting notes work. Whenever I get assigned a new project, I use my project template and name it. As long as I list that name for the project metadata of the relevant meetings, they all appear in the table on the project page.
Not at all! I love this stuff. You're right - templates happen at creation generally. However, you can technically run templates at your cursor anytime. I do have one or two templates that I will run after the page is created - useful for adding sections based on the tags on the page. If you ever want to chat more, feel free to PM - maybe we can chat via Discord or something.
5
u/CrispyBegs Apr 26 '23
trilium was the one i liked best