marcusolsson/obsidian-projects

Handle parsing errors

Opened this issue · 4 comments

Projects tries to detect the field type of each property in the notes. If multiple field types were detected, Projects considers the property as raw text.

Some values can easily be converted to text, like numbers and boolean, but other values like objects and arrays are currently not displayed.

The arrays is as weird one, because in data view they are rendered properly and using the path they are displayed as tags. When using a data view query it breaks and Projects doesn't show anything.

Do you have an example of a dataview query that breaks so that I can reproduce?

---
code: USERSTORY-1234
sprint: 29
date: 07-10-2022
area:
  - backend
  - frontend
kind:
  - story
estimation: 5
---

For this yaml block, this query presents data:

TABLE
	code AS "Code",
	file.name AS "Title",
	sprint AS "Sprint",
	date AS "Date",
	area AS "Area",
	kind AS "Kind",
	estimation AS "Est."
FROM "User Stories"
WHERE file.name != this.file.name

This is the rendered table:
Screenshot 2022-11-08 at 23 03 38

This is Projects with path:
Screenshot 2022-11-08 at 23 06 44

This is Projects with dataview with that query:
Screenshot 2022-11-08 at 23 07 01

Not sure if it's also relevant, but projects has an issue trying to parse links through a dataview query:

TABLE WITHOUT ID
	file.link as link,
	"[[" + file.path + "]]" as link2,
	"[[" + file.name + "]]" as link3,
	"[[" + file.name + "|" + regexreplace(...) + "]]" as Name
FROM ...

image

My use case involves allowing aliasing of the file links so I can replace the File field to match a value in a frontmatter/metadata field in the note.