Class / form structure for templates

Hello- just discovered and getting started with Obsidian. Seems almost a perfect fit for my ideal knowledge base use case. My current go-to solution is Semantic MediaWiki combined with form/template extensions. Is there a way to do this with Obsidian? For example, define class structures “teacher” and “class”. “Teacher” has properties, of name, field, etc, and “classes taught”. “Class” has properties of Instructor, semester, etc. You can then create entry forms which limit the field choice of Instructor to pages of class “Teacher”. You can also add a query to the template for “Teacher” pages to show all related pages of type “class”.

2 Likes

I’m not totally sure I’m understanding you correctly, but this almost sounds like what the Typing plugin does? Check out the readme: GitHub - konodyuk/obsidian-typing: Strict note typing for Obsidian

1 Like

That plugin looks nice (and seems ro have some overlap with metadatamenu) bit it feels like is not finished, and will probably never be. Is there any alternative?

Who knows, it probably will… What is your use case that is not possible with existing plugins?

I want to see what information I’m inputing when creating a note from a relatively complex template.
Let’s say you want to link to different people, you don’t want to do it twice so it’s better if you can see previous fields (like you mentioned someone as introducer, so you don’t want to link it again in relationships, for example).
Also, seeing all the information you have input is a good way to remind you what are you actually filling

Leaving a link here as this is a relevant thread.

I have posted an update about the current status of the plugin. Anyone interested may check the docs for a preview of the new version and leave feedback.

2 Likes

For your specific use case, where you want to define class structures like ““teacher”” and ““class”” with properties, you can use custom YAML front matter and markdown templates. You can create templates for teachers and classes and structure your notes accordingly.As for limiting field choices and creating queries, Obsidian is highly extensible, and you can create custom scripts or use plugins like Dataview to filter and display information in a way that suits your needs.Additionally, if you’re looking for inspiration or templates, you might want to explore Google Docs invitation templates. They often have well-designed structures that you can adapt for your Obsidian setup.