marcusolsson/obsidian-projects

Add a Timeline view

Opened this issue · 21 comments

Add a Timeline view to lay out long-spanning calendar items in parallel. Similar to a Gantt chart.

This would be amazing1

Since there seems to be quite some interest in this kind of view, I'm bumping the priority.

heads up: i'm working on implementing this! only problem is that the code i wrote is a total trashfire...

heads up: i'm working on implementing this! only problem is that the code i wrote is a total trashfire...

Exciting! I imagine this require some time and effort, so please feel free to open a draft PR and post some screenshots to get some feedback.

At a minimum I imagine you'd pick two fields: Start and End dates. I was planning to look at the d3-scale which has a time scale for mapping a timestamp to a pixel, which would likely be useful here.

Let me know how it goes!

obisidian has a built in mermaid support, which has a gantt chart https://mermaid.js.org/syntax/gantt.html so maybe you could create markdown files with the gantt chart?

I'll give an update here, since this is the most requested feature in the backlog.

While I'd love to have a Timeline view for my own projects, I won't personally prioritize working on any new views for a while.

A few reasons:

  • In an attempt to use my time more wisely, I'm trying to focus on cross-cutting bugs and features that affect all views.
  • Introducing a new view introduces a whole new category of feature requests and bug reports specific to that view.
  • Views are isolated parts of the plugin. Each view acts almost like a plugin within the Projects plugin. I believe this makes it easier for other contributors, as you can build new views and improve existing ones without having to understand the rest of the Projects codebase.

This is also a reminder that anyone can develop a view without having to fork the Projects plugin. You can use the Custom View API to build your own Projects view from your own plugin. Since the core views use the same API, it should be pretty easy to merge it as a core view down the line.

I was looking for this future, now I know still on the way !!!!!!!! I have made a example that I prefer.
tl

amglez commented

I would love to see it too
<3

Ampa commented

Please please please add a timeline view.
Would be so helpful to me.
Thanks.

Hello, first of all thank you for your work ^^ I love it!
Secondly, I think this is a great idea!
It's exactly what prompted me to create an account to exchange with you ^^
Yes, for example, I really like the Trello view! With the timeline.
So I'm really happy that you're working on this project ^^

image

aiyou9 commented

Just found Markwhen, which is an open source project that is also aiming at integrating with other IDEs/editors. They already have a VS Code extension, but importantly they also have Obsidian on the roadmap, which can be followed in mark-when/markwhen#103! Might be worth keeping an eye on, as it could then hopefully be adapted to Projects down the line.

I like your work very much! Thanks you very much!
Can't wait to see your Gantt view 👍

I can't imagine how hard it is to maintain, kills bugs, etc. However, this feature seems indispensable for, well, projects. I was surprised 'Projects' didn't have a 'spanning calendar' feature as it seems essential if one intends to use it for project management.

This plugin is superb and with this feature it would make it indispensable for me, and given the votes for this feature, a lot of other people. I wish this was prioritized (and that I actually knew what I was doing to help).

upvote
I'll try mermaid plugin @BlackScorp , and watch for Markwhen @roaldarbol , useful thread, thanks

Any Updates @Acylation ?

There is a quite recent alternative plugin for timelines: markwhen

There is a quite recent alternative plugin for timelines: markwhen

The Markwhen plugin takes the approach of storing all data in a dedicated file, instead of using file properties in your notes like Projects.
Could it be simple enough to make Projects use the Markwhen plugin as a view? That way we don't have to build a timeline-viewer from scratch here. The approach would be:

  • compile all tasks which Projects has collected from the user's files into a markwhen temporary file
  • let the Markwhen plugin read that temporary file
  • set a file-watcher on the temporary file, so that when the user edits something in the Markwhen plugin viewer, we can update the data in the user's files accordingly.

I haven't built any obsidian plugins yet, so I don't know how feasible this is.

What do you guys think?

From a user standpoint I would really like and appreciate this approach, as the handling of a timeline inside of a project would fall in line with other Views, like KanBan or Calendar, while reducing the strain on the user to setup and build the timeline from scratch with markwhen.

@emendir I am using Markwhen for few weeks now and it works really nice. The WebUI is slightly better, but the obsidian plugin is currently under development.

I was also thinking about programming an obsidian plugin, which simply grabs frontmatter values and convert them to markwhen syntax. This seems not that difficult, however all files need to have the same frontmatter fields.

Unfortunately, I am currently not able to start (another) side project. :(

Yeah I’m also on the markwhen thread. Feel free to find me there.

About the idea to grab front matter times to a single markwhen file, could templater help over this case?

Experimenting with some essential components to build timeline views for Projects. Still a long way to go.