Support for import from Trello JSON export
Brought to you by:
wekan
Originally created by: singpolyma
Originally posted by: alireza-ahmadi
According to Libreboard's Roadmap, Importing data from Trello is already planned for the next release.
Originally posted by: fnkr
+1 in particular the import of card attachments (files) is important to me
Originally posted by: mattab
Importing data from Trello would be super awesome :-)
FYI I've developed a little PHP script that exports all data from Trello.com boards (JSON). https://github.com/mattab/trello-backup - I look forward to the day where we can migrate our trello.com boards to this free/libre project 👍
Originally posted by: xavierpriour
I'll be happy to take a shot at it, if nobody's working on it yet.
@mquandalle is it the right place to discuss UI and implementation? or should this happen on the roadmap board?
Originally posted by: mquandalle
Hi @xavierpriour, this is the right place to discuss the feature UI/UX and implementation. As far as a know (I being the lead dev) no one has started working on it. I would be happy to help you to get this merged in core if you decide to work on it :-)
Originally posted by: xavierpriour
I've just had a deeper look, and here's my analysis:
Exported data
Trello allows to export a full board (at board level: Show menu > More > Print and Export) or a single card (on a card: Share and more > Export JSON).
Import mechanism
Importing self-contained data (card text and title, board labels) should not be an issue, but we face interesting questions when dealing with "shared" data - data that might also be referenced by elements of the wekan instance, like members, or even labels when importing a single card.
I see 3 possibilities:
Your thoughts?
UI/UX
As a final target, I'd like to allow the user to pick and choose what to import where. For example, upon opening a "board" file, display data, then let user only select a few lists (or even cards).
But as a first goal, I'll aim to import whole files (card or board). This limits shared data problems
So that would give us two UI to discuss: importing a card, and importing a full board.
Other points
Here's a brain dump for anything left:
Next action
Maxime, I'd like to proceed through multiple small PR's instead of a big bang.
If you're ok with it, I'll split it that way:
Then we can discuss where to go from there: map members, UI to select parts to import, or decide it's "good enough" and move to other features.
Originally posted by: mquandalle
Here are some quick answers to some of the points you raised:
inviteUserByEmail('aa@bb.cc'). This function isn’t currently implemented but we need it anyway and could probably re-use some of the code written for another Meteor application (I think Rocket.chat has this feature);Originally posted by: xavierpriour
Just finished step 1 as [#358], @mquandalle can you review and tell me if some fixes are needed before I proceed further?
A few more questions that came along the way:
Originally posted by: fnkr
@xavierpriour Importing the whole history is very imporant to me. I use cards to store information and I may need to access that information at a later time.
Originally posted by: xavierpriour
@fnkr I import comments and descriptions, that is all the info the user provides and Trello displays (just give me some time for the attachments).
The history I suggest we dump only include info like: "user A created card on m/d/y", "card was moved from board B on m/d/y", etc. Can you tell me what information this represents for you? Do your lists/boards represent task status (like "done") and you want to keep change dates?
If that's the case, I understand - what do you think we should do with missing pieces, like when mentioning a board we don't have? Or a user?
Originally posted by: fnkr
@xavierpriour Oh, sorry, I thought you mean archived tasks. Loosing historical events would be ok for me.
Originally posted by: xavierpriour
Hi guys, finished the board import - except attachments, members, and file upload.
I'm wondering about those:
PS: @mquandalle could you please update the Wekan roadmap board to note the feature is being worked on - and maybe include a link to that Github page?
Originally posted by: mquandalle
And I guess have a checkbox next to each user name and a
SubmitandDismissbuttons. (BTW I don’t consider this as a requirement to merge [#362].)I edited the roadmap, thanks for the reminder. Do you have an account on http://try.wekan.io so I could add you on the appropriate card?
Originally posted by: xavierpriour
Hi, I just created a try.wekan.ion account: xavier.priour.
For the user mapping, I'm in favor of the mail mapping too. I'm just suggesting we don't do anything for non-existing accounts instead of doing: import screen > analysis > display list and ask for confirm > invite > manage "invited but not accepted" in the import process.
I'll do a PR with that part soon (hopefully), will probably be a better place to continue the discussion :)
Originally posted by: xavierpriour
Ouch, I'm looking into member mapping now, and we don't have access to Trello members mail.
The only id we have to map is the username - I will match on it automatically, but I doubt success rate will be high. So we need a mapping screen after all :(
Thinking about attachments, the import will potentially trigger many downloads, possibly large ones. When you add possible failures, this screams for an upload manager - @mquandalle do you know if there is anything like that for collectionFS, like there is for meteor-uploads?
Originally posted by: mquandalle
I’m not aware of any but I’ll search for a solution. By “upload manager” do you mean a way to schedule jobs, restart them if they fail, report progress and errors? Should it have any other specific feature?
Originally posted by: mquandalle
Oh yes I remember that I already played with https://github.com/CollectionFS/Meteor-power-queue — but it doesn’t seem maintained anymore unfortunately.
Originally posted by: xavierpriour
Just looking for something where the downloads would be queued, and you can view the list and their status, and cancel/retry them. To give users some feedback and control over what happens.
From the description it seems power-queue was ok, too bad it's not maintained. It seems development on collectionFS is slow too: https://github.com/CollectionFS/Meteor-CollectionFS/issues/840
Originally posted by: jadeqwang
I'd like to add a 👍 to importing CSV's as well, which many apps have the option of exporting as, including across to spreadsheets, forms, and Gmail-plugin-CRMs. (Actually, I was trying to figure out how to import a CSV to Wekan today, and realized that the feature didn't exist yet. 😹 )
Originally posted by: xavierpriour
I'm unclear - how would you map a CSV (that is, tabular data) to a Kanban
(list of lists)?
On Tue, Nov 10, 2015 at 10:35 PM, Jade Q Wang notifications@github.com
wrote:
Xavier Priour
Originally posted by: mquandalle
Let's open another thread for CSV import and keep this one about Trello JSON (which is now implemented thanks to Xavier)
Originally posted by: jadeqwang
Thanks @mquandalle, and great question @xavierpriour. I started https://github.com/wekan/wekan/issues/395 to talk about this. :)
Originally posted by: xavierpriour
Members import is in (with mapping), only attachments left!
Originally posted by: xavierpriour
That's it, attachment import is in [#401]
It's basic, but I believe if we want to do something more sophisticated, it would deserve its own issue.
So @mquandalle, I think you can close that issue :)
Originally posted by: xavierpriour
Added a page of doc on the wiki: https://github.com/wekan/wekan/wiki/Migrating-from-Trello
Feedback welcome