Real use case for Obsidian: Dataview and Database Folder

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
- I use Obsidian for everything: work, play, and everything in between. In fact, I barely even close down Obsidian unless I close down my computer. So in this video I'm gonna show you a very real life example of how I problem solve in Obsidian, specifically to tackle my burgeoning Kickstarter back list, using plugins like Dataview, Buttons, Templater, Quick Add, and Database Folder. Kickstarter is a way to crowdfund your project by talking about what your project is and then asking people if they'd like to kind of pre-order. But the problem with Kickstarter is that you may pay now but you may not get what you paid for until sometimes years down the track. I don't really have a great way to manage this. And to top it all off, Kickstarter now isn't the only platform. So there's Kickstarter, and then there's Backerkit, and then there's Indiegogo, and I'm probably forgetting a few more. So I need a way to track all of this that in one unified place and like with most things, my answer to it is Obsidian. Here's what I wanna do. I'm going to create a single Kickstarter Database but I'm going to show you two different ways to view it. The first one involves stringing along the plugins Quickadd, Templater, Buttons, and Dataview. This way is more stable because all of these plugins have been around for a while but it does take a little bit more to set up since you're using multiple plugins. If you're looking for a more Notion-like experience for databases though, then I am also going to show you how to do the same thing with Database Folder. First, a bit about my requirements. I basically want a single page where I can pull in all of the information about every project that I've backed and paid for, see like at a minimum the status of the project, whether I've gotten it or not, and then be able to click into each of them and see what the latest updates were. So I am thinking now that this is going to involve Dataview for sure and maybe I'll have each project be its own note so that in the Dataview I don't have all of the information, but I can always click into that note to find out more detailed information. I don't really wanna have a bunch of notes that are for Kickstarters in with the rest of my notes because that might get confusing because some of them are books that I might take notes on. So I'm going to create a Kickstarter folder. So you can create a folder within the file explorer but you can also just create it when you create a note. So I'm gonna do Kickstarter and I'll just call it Kickstarters I've Backed. So just to show you what that looks like in the file explorer here, there's now a Kickstarter folder with the Kickstarters I've backed. That didn't exist before. I just created it when I created the new note. So I don't really have anything to put in here yet. Maybe I'll start with a Kickstarter template. Kickstarter, and then I'll open that in this next pane so that I can work on them in parallel. It's going to need my standard front matter here. I'm going to replace this though with a template and then I'm going to put the whole thing in bracket so that it links to the daily note. And then I want to define some parameters. Now, this is where I need to make sure I have all of them. Well first the name, and that's just going to be the title but probably doesn't need to be to have brackets 'cause it doesn't need to link to it. Then I'll say status date expected. The tier that I backed it on, I wanted to have a comments field. Oh, because this is a lot of my Kickstarters are for role playing games, I probably want something about the kind of system it is and the link I'll need the link to the Kickstarter or whatever it is. Now that I've got this template here I want this template to be automatically applied to any note that I create within this Kickstarter Folder. So I'm going to go into templater settings and in folder templates you'll see I have a couple already. I'm going to add this one for the new Kickstarter folder and I'm going to select that Kickstarter template. I can change this Kickstarter template at any time later on. So having this on Templater means I don't have to apply the template every single time that I create a new Kickstarter project file, but then I also want to be able to add new Kickstarter projects without having to do it manually. So for that I'm going to use Quick Add. So I'm going to go all the way down and this is definitely going to be a template. Add new Kickstarter project. And then I'll add that choice. And in the settings here, I'm going to use the Kickstarter template, the file name format. I really just want to be able to put in a value and I do want it to create it within a folder. And that folder is the Kickstarter one. And then I'll click add, create in the same folder as active file, not necessarily. I don't want it to append links. I think that is it. So I'll exit out of that and then I'm gonna click on the lightning button so that I can just add new Kickstarter projects on the fly. Exit out of that. Looking at this, I think I would like to be able to distinguish which are Kickstarter projects and not just buy folders. So I'm actually going to add some front matter here and I'll add type Kickstarter. I don't really want it to be within the body of the notes so that's why I put it in the front matter but it's really the same as if I had put it like this. Okay, so that's better. This should now work. Now let's try that again. Kickstarter project. Select Kickstarter, and I'm gonna put Drakar och Demoner and that seems to have worked. I didn't have a note open so that's why it didn't split it, but the date is set so I'm going to copy that and paste the link. The status of this one is, it's not even, it's awaiting funding. For the tier that I selected, it is supposed to arrive in August, 2023. Mm, I want this to be a date later on so I don't know what I'm doing with it yet but I'm just going to put the first day of August and I did the digital SEK 248, which is Kroner Comments, Dragonbane, system, Drakar och Demoner, and shipping address. Where did I have this shipped? Well, it's digital. Now I want to create the Kickstarters I've Backed page. What would I have here? I would want some sort of Dataview query. I want a table and it has, well, it'll already have the name and the link to the the specific page. Then I want a link to the Kickstarter, probably. The status, and maybe date expected and shipping address. Okay, from Kickstarter. This is another reason why it's handy to have had a folder just for Kickstarters. And then I wanted to sort by date expected descending. Okay, the problem here is that this Kickstarters I've Backed page itself is coming up in the results, so I'm going to filter that out. This is where the type comes in, where the type is equal to Kickstarter, and that way it's just the actual projects that will show up. Now, these are the parameters, but I don't really want it to show up like that. So as expected and then shipping address I'm just giving these aliases, so that way it just says expected and then address or maybe I'll put ship to. Ship to. Maybe I'll put the link at the end. I'm gonna do this for a bunch of other projects and then I'll catch you up when I have more to show. Hey, so it's another day because that took a little longer than I planned to actually move all of my Kickstarter projects into Obsidian. But here's what that looks like now. This is my Kickstarters I've Backed page and I have it separated into two sections pending and by status. So in the pending section I have a Dataview query that has these five different columns and each one of these is a crowdfunding project. So I've got the status, expected, ship to, and link, but I can really change any of those if I want to. It's just that this was the view that made sense to me. And I'm also filtering out the ones that are fulfilled already because I don't really need to track them if I've already gotten the rewards. In the other section by status, I thought it might also be nice to see them according to different statuses. So even if they're fulfilled, for example, they'll still show up here. The Dataview query for this looks a little like this. This is a Dataview JS query actually, which means that I'm doing the query in JavaScript. I'm sure that there is a way to do this in Dataview but sometimes I'm just still more comfortable in JavaScript. So this is how I did that. I am basically grouping them according to statuses and that's what that looks like. This is the new template that I've got. I changed a few things from when I saw you last. I filled out the pledge manager and then I realized that I needed two dates, the original one because these Kickstarters are often late, and then the date expected according to the last update. And I also added things like my tier, like how much I spent, and then the creator. And I have updates here that I fill out when these projects send the updates out. Whenever I create new metadata like this for a very specific use case, I like to keep track of these fields because sometimes I might think that maybe system is with a small with a lowercase S or something. And to do that, I do have a data model page. Going to put this template over here. This data model page has a lot of metadata that I use for different reasons, and I added a section here for Kickstarters. So I basically went through these fields and then I added them here. Just so I know for example, what the statuses are. I want to only use these four statuses. And actually while I was recording this, I saw that I have one that's Backerkit open and I want to remove that. I'm going to just put not fulfilled. There's currently no way to enforce the metadata or the parameters that you're using for Dataview. And so having this data model page to refer to is really useful for me so that I can keep things consistent. For the most part I'm going to be using the template anyway, so really the only things that I have to worry about are these values. I've also got the template working now to create new crowdfunding projects. And so if I hit Command + P to get to the command pane, and then I type Kickstarter, I can already see the add new Kickstarter project and I do have a hot key setup for it as well. So then if I hit that command, I can type in my new Kickstarter project and that opens up with all of the values filled in. I'm going to delete that because what I want to do now is I want to have a nice button here. I know that I could just use my shortcut, but sometimes I still like having something that I can click. And for that I'm going to be using the Buttons plugin. I already have it installed, so I'm gonna hit Command + P and type in Buttons and it has this nice button maker. I'm going to call it Create New Crowdfunding Project. For the button type, I'm going to select command, because for command I'm actually going to choose that command that shows up in the command pane. You know how I did Command + P earlier? So this is the Quick Add template. Add New Kickstarter project. I'm going to select that and I'll call it you always have to have a button ID that's unique. So I'm going to say Create New Proj. And do I need anything else here? No, so this is what the button will look like. I mean, you can customize what the color is. How about red? Red is always nice. Yeah, okay, I'm going to hit insert button there. And this is our nice new button. And when we go into the code here, then we'll see that the button maker has added all of this in. This is basically what we typed into the fields. It's just in code format. So now I'm going to click on that create new crowdfunding project, and I'm going to type the new project name and that basically does the same thing. It's just now I have a nice button to click. So the way that I created this database is pretty repeatable when you think about it for any database, not just for Kickstarter projects. First I created a new folder that was specific for that database, and then I created a template for all of the items that are going to be in that database with the metadata and the parameters that I want each item to have. Then I created a page that had a Dataview query that would then pull in all of those items. And then I finished up by using Quick Add to create a command that would let me add new items to that database from the command pane and Buttons to have a nice clickable button that does the same thing. But as you may already be thinking, there's quite a bit of steps involved in that. So I'm going to show you two potentially easier ways. First, if you are a member of my Patreon, I have created a sample database for you called the database of stuff. It already has the button here and the Dataview query. So you can just click create a new database item, for example. Type in my item, and that's already done for you. It's going to already be moved into the sample DB Folder and it'll also show up in the Dataview query. This is still going to require some changing, though. Like if you want to change the name of it, then you know you might want to change the folder name here as well or maybe you want to call it something other than DB item. I've also already set this up in Quick Add to add a DB item so that it always applies this template. The second option is a plugin called Database Folder plugin. This does have some caveats, so let me go through how to use it quickly, and then I'll talk about why I didn't recommend it off the bat. Now I'm gonna go over to settings and install the plugin as normal by going into community plugins and browse. And I'll type database folder and I'll hit install. I'd uninstalled it and I'm now reinstalling it just so I can show it to you. Enable, I'm gonna right click on Kickstarter and click on New Database Folder. I'm gonna wait a second. And there's already a table that's been populated and it's called Untitled Database. So let me close the file explorer here and look at this a little bit more. So this was effectively replicating what I did manually except in a nicer interface. So while I don't need this column, so I'm gonna hit delete. I'm going to rename this database. Let's call it Crowdfunding Database. And this is already showing some of my projects but as you can see, it's splitting it out across five different files. So I'm gonna hit open table options here, open Database settings, and then I'm going to scroll all the way down. And here where it says select the number of rows to show per page, I'm just gonna hit the maximum, which apparently is 200. Now it's showing all of my projects and there are 44 of them that's also showing up here, but I don't really want to see old projects. Remember in the Kickstarters I've Backed page, I was filtering out the ones that had been fulfilled. So I'm going to click here, and that's the table filters. I'm gonna add a filter, and I'll say that the status should not be equal to fulfilled. I'm going to add another filter, though, because this might still show the Kickstarters I've Backed page, which I don't want because it's not in itself a project. So I'm also going to hit type is equal to Kickstarter. I'll exit out of that. And then hit this one to actually filter. And now you'll see that there are 34 because I guess that there were 10 that were either not Kickstarters like that page, the Kickstarters I've Backed page, or there are Kickstarters that have already been fulfilled but this is still just showing the file. I'm going to hit this plus sign here to add columns. So I can add, definitely, I want to add the status. I will add that, and then I'll need the link so that I can click through to the project easily. And I could also say date expected here, and I'll add that. And when I exit out of this, this view will now show me pretty much the same thing that I had been using the Dataview query for. Clicking on each of these, I'm holding down command so that it opens in a new tab. Will take me to that project's note. Now, for the caveats. The performance really starts to get quite bad if you have a lot of files that you're going through. In this case, I had 44 files and during the recording of this video, I still had some issues where it took a little bit longer than I would've liked to create new items. For example, let me show that to you now. At the bottom left here, there is a plus icon but when I click on that, it's just really difficult to see. I'm sure that this is going to be sorted out. It might be my theme, but I tried it with a few themes and this was still a problem. And then now I'm stuck in a place where like I can't even exit out of this focus, so it seems like I can click on something and escape focus that way. But you see what I mean? It's a little clunky. It looks like that page was indeed created, but it just wasn't giving me any feedback that it had been created. And the other thing is that I just find Dataview queries a little easier to deal with because they're more atomic and it's easier to embed them. So here are Dataview queries that I showed you. And that's the query there. And I can create specific views that I want to show in this particular note without changing the view and any other note. The way that the Database plugin works is that you have one Database. And depending on the views that you've selected, if you try and embed that, for example, if I want to click on the crowdfunding database here, so it does create a view but if you have a look at it, it's a little bit wonky. I can't really click on the files from here either. And it is also filtered based on the filters that I'd selected in this view. So none of the fulfilled ones are being shown, which is fine, but sometimes I'm still going to want to create specific data view views or queries for specific notes. And that's not really something that you can do with Database Folder. So in general, I still prefer to not use Database Folder most of the time and to just string plugins along the way that I showed you. However, I do really believe in the promise of this plugin, and I'm pretty sure that there will be a time in the future when I recommend Database Folder just as the easiest way to get started with creating databases in Obsidian. Having databases in your notes can seem like overkill for some. And if that's you, then I really recommend and encourage you to keep doing what you're doing because nobody needs to tell you what to do with your notes. However, I personally have found a lot of value in having standardized templates, because they help me be consistent in my metadata usage and they force me to think about creating repeatable structures rather than just creating one off notes haphazardly. I find it easier to compare and link notes when I have a bit more of a structured framework to go on. If you'd like to know more about Dataview, check out this video that I made for beginners to Dataview because it's a very powerful but also pretty daunting plugin. Hvala za ogled. Thank you for watching.
Info
Channel: Nicole van der Hoeven
Views: 53,959
Rating: undefined out of 5
Keywords: real use case for obsidian, rela use case for obsidian, rela uise case for obsidian, obsidian use cases, obsidian dataview, obsidian database folder, databases in obsidian, obsidian databases, database folder plugin obsidian, dataview vs database folder, obsidian db folder, notion-like database in obsidian, obsidian tutorial, obsidian plugin tutorial
Id: Ak7cuIyQeYw
Channel Id: undefined
Length: 22min 28sec (1348 seconds)
Published: Fri Oct 07 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.