# 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]].