WIP: Add Kanboard migrator #1607
No reviewers
Labels
No Label
dependencies
duplicate
help wanted
invalid
kind/bug
kind/feature
needs reproduction
question
security
wontfix
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: vikunja/vikunja#1607
Loading…
Reference in New Issue
No description provided.
Delete Branch "jackymancs4/vikunja-api:feat/kanboard-migrator"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hello,
I have a fairly big Kanboard instance which I'm trying to move to Vikunja. This PR is extremely WIP, but any good pointer is welcome.
If there no interest on it, let me know and I'll close it.
Technical Notes
Kanboard uses Jsonrpc 2.0 for the API, so I need to add library to properly handle that.
Kanboard does not support Oauth, so I guess I'll have no use for
AuthURL
(?)Links for reference
https://kanboard.org/
https://github.com/kanboard/kanboard
Links for Docs
https://docs.kanboard.org/v1/api/authentication/
https://docs.kanboard.org/v1/api/project_procedures/#getallprojects
https://docs.kanboard.org/v1/api/board_procedures/
Dependencies added
https://github.com/ybbus/jsonrpc/tree/v2
Hey there! Thanks for the PR.
Can we modify it so that it will either ask the user for the kanboard URL and token or accept a file export? (does Kanboard even support those?)
Right now this would tie the Vikunja instance to the kanboard instance configured. Allowing users to "bring their own" kanboard instance will require work in the frontend, but that's a tradeoff I'm willing to make in favor of a better ux.
Are the kanboard tokens scoped by user?
Let's see:
You mean like a payload on the "migrate" POST request containing the endpoint and key? I'm totally fine with it, but isn't it different from how client secrets of the other migrators (e.g MicrosoftTodo) are handled?
I'm afraid not. The suggested solution I've read about on the forum is to dump the database, or do it by code. But I'd rather use the API.
I'm happy to get a shot at the UI If I manage to get this landed. But since I only really need the API now, I would like for that to be a second step. Of course let me know if the frontend side is a requirement.
They can be. Relevant docs: https://docs.kanboard.org/v1/api/authentication/
I'm using the application API as I'm aiming at an instance migrator (users and all), not just my user. I can see why this might not be the best approach, especially on your hosted service.
If you can point me in the right direction on the first point, I can fix the auth flow before beginning to work on the models.
Maybe a new Migrator interface like:
?
BTW it goes without saying that I'm really loving Vikunja. Thank you!
Yes, that's different from how the other migrators work, but Kanboard seems to be quite different in how one should use their api as well. Using the Kanboard API seems like the correct solution though.
If we go this route, the frontend would be a requirement. But it's totally fine to implement the API first and then do the frontend part.
Another option would be to build a separate tool which creates a Vikunja-readable dump from a Kanboard instance.
I'd rather add the relevant fields to the new
Migration
struct you created. The struct will be automatically populated from the request data.Will do.
I missed the request binding feature. That's nice.
The authentication flow know works as per requirements. Tokens can now be user scoped.
If you confirm, I can go on and implement the models.
Which models do you mean?
Hey @jackymancs4 are you still interested in this?