Dynalist API Improvements - Pull Items with Dates

The Problem:

While Dynalist is an amazing outliner, one area that is outside of it’s core strengths appears to be task management. While we’ve got some great features such as date tagging and syncing with Google Calendar I find myself still at a little bit of a loss when it comes to organizing my “to-dos”.

Because of this I tried to set up an integration with my task manager of choice (todoist), however I ran into some issues with the API. It appears there is no easy way to pull tagged date items from a file, document or account level. Instead you need to master all of the data yourself and scan for dates and tags included in it.

The (possible) Solution:

Update the API to allow you to pull nodes based on their tags, in particular dates. Ideally I’d like to be able to pull anything with a date date, or pull anything with a date tag in the future. This should allow you to sync your due items with your task manager of choice.

Being able to pull nodes based on a non-date tag would be very useful as well.

Related items:

I took a quick scan of the feature request list and I think the following requests may be solved by this implementation (by having the task list external).

3 Likes

@Erica did you have any thoughts on my suggestion?

Sorry I just saw it – move it to the Developer category, as it seems to fit better there.

Let’s see what @Shida has to say about it, as he’s in charge of the API.

I can imagine it being useful. Of course, most of the feature requests listed aren’t directly affected by having this as an API functionality. Internally tracking dates and tags may be a step that helps some of these.

The current problem is that the server doesn’t actually read/parse the contents of your items. That’s all left to the client side, which is written in a different language than the server code. This is currently done on purpose so the server can avoid knowing about the intricacies of the markdown format. It helps minimize mistakes with migrations and any changes to the format, and also saves a lot of server computation work.

For now, I don’t see this feature making it into the codebase. Sorry about that. We could always reconsider if the situations change though, we’ll have to see.

Well I can’t say I’m not disappointed; I think syncing to an external task list would be tipping point feature for usability and usage uptick.

I’m a bit surprised as well. You guys already have a google calendar features so you’ve got what I think are a lot of the building blocks of what you need. I would think, even starting from scratch, you would just have to push anything tagged with a date to a table that includes the node, date, and title. Then allow that to be accessible via the API.

Ultimately though you guys know the product and what you can do. I’ll keep searching for my unifying product.

1 Like

I don’t think it is particularly hard with the current api to build this yourself. Just query all documents once and then pull where the version number changed. The current api gives you access to all of these things. Then you can do the filtering yourself. This is roughly how quick dynalist also handles things at the moment.

You’re giving me too much credit here; definitely above my skill set.

Even if it was, the problem I see with what you’re describing is that you have to:

  1. Continuously poll for changes

  2. Pull the full content when there are changes

  3. See if any of the changed content has a date

  4. Compare to a list of content that has dates looking for a match

  5. If there is no match insert, if not update

Not trivial, and you end up having to master the dynalist data externally to make it work.

Hum, maybe I misunderstood. But don’t you have to do (1),(4),(5) in any case, no matter how the API looks like?

Another point I’d like to bring up is the fact that we can only put some things into the product, not only to avoid feature bloat, but also it takes a lot of time and effort to implement and continuously support these additions.

So… we’re offering an API precisely for these kind of use-cases! Sounds useful for Dynalist to have, but also somewhat out-of-scope for most users. You can use the API to do whatever you need, saving us the time and effort to maintain a somewhat rarely used feature, while you have almost complete control for your use case.

But yeah sadly you have to do most of the work.

1 Like

What kind of features are you actually missing from todoist?

@shida - Hey, it’s your product so you know what’s best. However I would have thought that the ability to sync your dates with an external task manager would be a use case that some (most?) users would have.

@Louis_Kirsch - Todoist is a task manager not an outliner.

I also use Dynalist for my task management and wondered what kind of features you expect from todoist that are not in Dynalist.