# Adapting & Extending The system is just folders, frontmatter, and queries — so you can reshape it freely. Here are the common adaptations and how they ripple through. ## Use it without the academic parts For a personal or business vault, drop the teaching machinery entirely: skip the `Classes/`, `Assignments/`, `People/Students/`, `Activities/Class Sessions/`, and `Activities/Submissions/` folders, and don't install the `Student`, `Class`, `Assignment`, `Class Session`, or `Submission` templates. Remove the (empty) `classes:` and `assignments:` lines from the activity templates if you like — empty fields are harmless, so this is optional. What remains — People, Organizations, Projects, and the Email/Task/Call/Meeting activities — is a complete personal CRM-and-task system on its own. ## Add a new activity type Say you want to log "Site Visits." 1. Create `Templates/Site Visit.md` modeled on the Meeting template: a `<%* %>` block that files into `Activities/Site Visits/`, frontmatter with `type: site-visit` plus whatever fields you want, and the shared Actions + Spawned-activities blocks. 2. Create the `Activities/Site Visits/` folder (optional but tidy). That's all. **Every dimension timeline picks it up automatically**, because those queries read `FROM "Activities"` without filtering on type. Your new visits appear on the relevant Person/Project pages with no query edits. ## Add a new dimension Say you want to track "Committees." 1. Add a `committees:` link field to the activity templates you want to connect (e.g. Meeting, Email). 2. Create a `Committees/` folder and a `Committee` template whose body reuses the timeline block from any dimension template, changing only `const dim = "committees"`. Add open/closed task blocks the same way if you want task tracking. 3. Create committee notes and link activities to them via `committees:`. The pattern is identical to People/Projects/Classes — the only per-dimension variable is which link field the queries filter on. ## Roll a dimension out to activities Organizations and Departments are, by default, a *static affiliation* on People — activities reach them only through the people involved. If you want an email or meeting to carry its own `organizations:` link, add the field to those activity templates and add a matching timeline/relationship query to the Org and Department pages. The existing People-based aggregation keeps working alongside it. ## Customize folder names The queries reference a handful of folder names literally: `Activities`, `Activities/Tasks`, `Activities/Submissions`, `Activities/Class Sessions`, `People`, `People/Students`, `Organizations`, `Organizations/Departments`, and `Assignments`. If you rename any of these, search the templates for the old name and update every `FROM "..."` / `dv.pages('"..."')` reference. Everything else (subfolders, display names) is free to change. ## Tune the integrations - **Mail:** change `minAttachmentBytes` to adjust the inline-image skip threshold; flip `isAcademic`; or extend the script to route messages to different vaults by account (see [[08 Mail Integration|Mail Integration]]). - **Todoist:** change `PULL_INTERVAL_SEC` for a faster/slower poll; point `DEFAULT_PROJECT_NAME` at a different project; run multiple vaults into multiple projects by adding rows to the deploy script. ## Keep frontmatter consistent The single most important habit for a healthy vault: **quote wiki-links in YAML and use ISO dates** ([[04 Frontmatter and Naming|Frontmatter & Naming]]). Nearly every "my timeline is empty" problem traces back to an unquoted link or a non-ISO date. When in doubt, create activities from the templates rather than by hand. ## Where to go next - Re-read [[06 Dataview Queries|Dataview Queries]] — once the query patterns click, you can build any view you want. - The official [Dataview docs](https://blacksmithgu.github.io/obsidian-dataview/) and [Templater docs](https://silentvoid13.github.io/Templater/) cover everything these guides don't. ← Back to [[Obsidian System Home|Home]].