We now challenge you to create the basic building blocks for a project management dashboard. No matter if you do client work or personal projects, what you practice today will come in handy for any project-related work.
The use case for today’s challenge is a bit different from the previous days. The reason is that we’ve noticed that most people using Logseq for projects do so in a client setting. That means that they juggle multiple projects for multiple clients.
Luckily, queries provide us with the tools to sort through piles of notes. Instead of repeatedly searching for the same information, queries enable us to create a single page for a client to automatically (and continuously) search the graph for relevant notes. This gives queries a huge time-saving potential.
As in the days before, we first look at the inputs, movements, and outputs for this process. Use this information to complete the exercises. If you’re stuck, ask for help in today’s forum topic.
For this challenge, our inputs are:
- Meeting notes related to client projects.
- Tasks that are mixed in between meeting notes.
These are the steps to go from inputs to outputs:
- The starting point is to run a meeting template and fill in the links or properties in the parent branch.
- Add text in a Notes subbranch.
- Add tasks in between the notes.
- Fetch all tasks mentioned during the meeting.
- Filter out all tasks from the notes to create a summary.
For this challenge, we’re looking for two outputs that will help create an outline for stakeholder updates:
- A list of tasks, distilled from the notes branch.
- A summary of clean notes (not containing any tasks).
- Inspect the structure of the meeting notes on page 2022/08/15 (make sure you use the training graph for challenge 4) and answer the following questions:
- What is the function of each value in the query in the Tasks subbranch?
- Why isn’t Finalize contract by having Marvin Acme sign it showing in the Tasks query?
- What do you need to keep in mind when using the
<% current page %>variable?
Hint: View the query in isolation. Why isn’t it showing any results?
In the Summary subbranch of the meeting notes from 2022/08/15, add a query that fetches all notes but not the mixed-in tasks that are in status TODO or DONE.
(Hint: Use separate
notfilters as there’s a known issue in some Logseq versions where the
notfilters don’t mix well.)
Create a new template with at least the following characteristics (you choose what functionality to use, be it links or properties):
- A value to mark the main branch as a Meeting.
- A value to mark the main branch with the Client Name.
- A subbranch that’s marked with the value Notes.
- A subbranch that contains a query with Tasks and only fetches any TODOs from these meeting notes.
- A Summary subbranch that contains a query that fetches all notes from these meeting notes, but filters out all tasks (TODO and DONE).
Stuck? The meeting notes you worked with in the previous exercise are a basic version of this exercise. Challenge yourself by creating a variation of this structure, using properties for example.
On today’s Journals page (2022/09/01), use your meeting template to create dummy notes for a new client.
Tip: See this Time article if you need inspiration for a name.
On the page of each Client, add the following queries:
- All Notes related to the client.
- All open tasks (TODO) related to the client.
- All closed tasks (DONE) related to the client.
Bonus points if you use more advanced features like the
between filter and
<% current page %> variable.
If you have any questions or insights related to today’s challenge, please post them in this forum topic.