8000 Add feature: Import/Export Trello/Wekan board to/from Sandstorm Wekan. · Issue #799 · wekan/wekan · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Add feature: Import/Export Trello/Wekan board to/from Sandstorm Wekan. #799

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
xet7 opened this issue Feb 8, 2017 · 43 comments
Closed

Add feature: Import/Export Trello/Wekan board to/from Sandstorm Wekan. #799

xet7 opened this issue Feb 8, 2017 · 43 comments

Comments

@xet7
Copy link
Member
xet7 commented Feb 8, 2017

From @xet7 on December 16, 2016 11:14

Original request from @gaconkzk at Wekan Gitter.

Copied from original issue: wefork#51

@xet7
Copy link
Member Author
xet7 commented Feb 8, 2017

From @tml on January 18, 2017 16:14

With the Trello purchase, I suspect this might be something that a number of people become interested in rather quickly.

@xet7
Copy link
Member Author
xet7 commented Feb 8, 2017

@tml

In standalone Wefork it's already possible to import Trello export JSON files, including attachment images. For example using VirtualBox appliance at https://wekan.xet7.org

This feature is not enabled for Sandstorm Wefork.

@xet7
Copy link
Member Author
xet7 commented Feb 8, 2017

From @ocdtrekkie on January 18, 2017 16:20

If the import from Trello requires actually logging into Trello, rather than importing like an export file, that'd probably be why, since it requires a network opening to do, and Sandstorm sandboxes the application. Future updates to Sandstorm should make this easier to do securely.

@xet7
Copy link
Member Author
xet7 commented Feb 8, 2017

Checklists are not imported yet, because that feature #11 is not yet merged to Wefork. Some other features can be missing also.

@xet7
Copy link
Member Author
xet7 commented Feb 8, 2017

From @tml on January 18, 2017 16:30

@ocdtrekkie I have an export file from Trello, and a standalone Wekan knows how to deal with those; there's just no opportunity to provide that information to the Wekan grain created by Sandstorm.

@xet7
Copy link
Member Author
xet7 commented Feb 8, 2017

From @ocdtrekkie on January 18, 2017 16:32

Should definitely tag @dwrensha on this one then.

@tml
Copy link
tml commented Feb 8, 2017

This seems to be a duplicate of #800?

@xet7
Copy link
Member Author
xet7 commented Feb 9, 2017

@tml

Thanks, I closed #800 now. Duplicate came when I used https://github-issue-mover.appspot.com/ to move issues from Wefork to Wekan

@xet7 xet7 changed the title Add feature: Import/Export Trello/Wekan board to/from Sandstorm Wefork. Add feature: Import/Export Trello/Wekan board to/from Sandstorm Wekan. Feb 10, 2017
@xet7
Copy link
Member Author
xet7 commented Feb 10, 2017

@FiloSottile said at #549
I'd love this, too. My understanding from #113 is that #430 should make this possible.

I have not checked those yet.

@brevilo
Copy link
8000 brevilo commented Mar 24, 2017

If it means anything: +1 👍 Will use Wekan (via Sandstorm) as soon as this is possible.

@ajrossnz
Copy link

Really looking forward to this. As wekan on its own doesn't have LDAP, we can't use that, so waiting on this feature before we go for implementation here.

@xet7
Copy link
Member Author
xet7 commented Jun 4, 2017

@ajrossnz @brevilo

Please do not wait. In Open Source, although current code is available for free, the way to use it in your company is to have a programmer in your company implementing missing features and submitting them as pull requests.

According to Open Hub, Wekan code is only about 7000 lines so it's very small when comparing to other software. With git history viewer like gitk it's possible to see how different features are implemented.

To implement this, check current features for exporting and importing, and have the feature enabled in Sandstorm by using environment variable isSandstorm = true like is at wekan/sandstorm.js .

In wiki there is Developer Documentation.

Thanks!

@xet7
Copy link
Member Author
xet7 commented Jul 16, 2017

Currently dropdown menu on Wekan looks like this:

4-menu

In addition to #1134 for Import to work on Sandstorm @GhassenRjab would need to add:

  1. Check that isSandstorm variable is true https://github.com/wekan/wekan/blob/devel/sandstorm.js

  2. Add to board menu above Export also Import

  3. When Import is clicked, there would be paste screen and warning above it that imported board will delete all existing data on board and replace it with imported board.

I don't know is mapping of imported board users to Sandstorm users somehow different than in standalone Wekan. @dwrensha do you know about this?

Also on same menu where is Outgoing Webhooks. Is there a way to make it work on Sandstorm?

@xet7
Copy link
Member Author
xet7 commented Jul 22, 2017

@ocdtrekkie @dwrensha @kentonv

On menu above there is Archived boards.

Currently on Wekan the All boards link is hidden, and only one board is used on Sandstorm.

When importing new Wekan board, should current board be archived, and new board be made visible?

Then on Board menu / Archived Items there would be Cards, Lists and Boards.

Or should there instead be:

  • All boards page and similar functionality like in standalone Wekan?
  • Ability to copy cards/lists etc to some other board on the same grain, and also to other grain at Sandstorm?

@ocdtrekkie
Copy link
Contributor

The ideal Sandstorm way to handle multiple boards would be to continue with Wekan only containing one board, but that trying to copy cards or lists to another board would bring up a Sandstorm powerbox to select a destination Wekan. That ensures the security isolation continues to work well, that people who can access one board can't tamper with another board even if there's a security issue.

If you can archive the old board when importing a Wekan board, that might be a smart choice just in case someone ignores the warning and overwrites the content accidentally. Presumably someone could dig into the grain backup and pull the lost data out of it with some effort.

@xet7
Copy link
Member Author
xet7 commented Jul 22, 2017

@ocdtrekkie

I think in that case, that when importing new Wekan board:

  • current board should be archived
  • new board be made visible
  • on Board menu / Archived Items there would be Cards, Lists and Boards, with options to restore and delete board.

@xet7
Copy link
Member Author
xet7 commented Jul 22, 2017

Also when restoring archived board, current board should be archived. Only deletion is from archived boards.

@xet7
Copy link
Member Author
xet7 commented Jul 27, 2017

Automatic builds for Sandstorm would be nice, like there is currently for Docker and Ubuntu snap edge.

@ocdtrekkie
Copy link
Contributor

In order to do that and it work in production, we'd also need to switch the signing key for Wekan away from David's key (might be prudent anyways since he doesn't seem super interested in building this regularly), and your build server would need to have the new key.

But at the very least, if we had a routine/reproducible way for people to build test packages of Wekan for Sandstorm, it'd be possible to test Sandstorm features on it. (There's more I'd like to do, like enabling access to the API and stuff. Someday hopefully using the Powerbox to move cards and lists between boards, etc.)

If I could package Wekan, I'd be more than happy to work with anyone who needs help implementing Sandstorm features, like a separate "Import board" flow.

@xet7
Copy link
Member Author
xet7 commented Jul 27, 2017

Code for Export and import boards in Sandstorm is included in today's Wekan release tagged v0.30 .

@xet7
Copy link
Member Author
xet7 commented Aug 3, 2017

I did make my own Sandstorm key with:

spk keygen

and add it's public key it displayed after that command to sandstorm-pkgdef.capnp.

Then I generated wekan-0.32.spk on Ubuntu 14.04 64bit on VirtualBox:

meteor-spk pack wekan-0.32.spk

When I tried to upload it to local Sandstorm, I got this error:

Upload failed: 500 Internal Server Error.
Unpacking SPK failed; is it valid?

@ocdtrekkie
Copy link
Contributor

Did you try meteor-spk dev and using the app locally in dev mode? Does that work?

Also, did you do anything with the pgpSignature in there? It signs the app key, and so if you didn't re-sign the app, Sandstorm may think the SPK is invalidly signed. I don't know if that would cause that error or not, mind you.

But whereas packing and unpacking SPKs cares about keys and signing, dev mode does not, so is a good first place to start.

@xet7
Copy link
Member Author
xet7 commented Aug 3, 2017

I wrote instructions how I did get newest Wekan built for Sandstorm.

@GhassenRjab

With instructions above, could you test how to Export and Import Wekan board correctly? I tried to setup names for all labels, tried to map users, and got errors that:

  • JSON is not formatted correctly
  • I did not map users correctly

Maybe user mapping in Sandstorm is different?

@ocdtrekkie
Copy link
Contributor

One note: The appVersion must always be higher, but it doesn't matter if they get skipped. It's just an ordinal integer. The app market will reject an appVersion equal to or lower than the published version. That, like the signing/appId stuff won't be of any material importance to people doing testing, since we'll make sure the metadata is all right before we publish.

@ocdtrekkie
Copy link
Contributor

I'm curious if @GhassenRjab is around and interested in tackling this issue in the near future, or if we should be trying to package Wekan for Sandstorm with import disabled so that all of the other new fixes and features can be pushed out.

@xet7
Copy link
Member Author
xet7 commented Aug 14, 2017

@ocdtrekkie

Currently @GhassenRjab is working on some Import Export fixes, we can be add those later.

I think it's not needed to hide anything additional from Wekan, we'll see first how current features work. Import Export can work in some cases. It's better to just get current version released for Sandstorm.

I will make new release of Wekan and then also make Wekan spk for Sandstorm.

@ocdtrekkie
Copy link
Contributor

Alright. Make sure all of the GPG metadata is changed to Wekan Team before publishing, as per David's request. (I would remove the Upstream Author line entirely from the package definition file.)

When you use spk publish, it should check that everything squares up right before putting it in the experimental market at https://apps.sandstorm.io/?experimental=true

We can keep it available there until all of the important issues are all tested, upon which we can release it to everyone else.

@xet7
Copy link
Member Author
xet7 commented Aug 16, 2017

@GhassenRjab

Works:

  1. Standalone Wekan Export => Standalone Wekan Import
  • But: Start date is not imported. Only Due Date.
  1. Standalone Wekan Export => Sandstorm Wekan Import
  • But: Start date is not imported. Only Due Date.

Does not work:

  1. Standstorm Wekan Export => Standalone Wekan Import
  • Something wrong in Sandstorm Wekan JSON file
  1. Standalone Wekan Export => Standstorm Wekan Import => Standstorm Wekan Export
  • JSON file size is zero.

Exported JSON files in .zip below.

wekan-export.zip

@xet7
Copy link
Member Author
xet7 commented Aug 16, 2017

@xet7
Copy link
Member Author
xet7 commented Aug 23, 2017

TODO: Test does unreleased version of newest Wekan for Sandstorm has fix for #541 and #1192 already.

@xet7
Copy link
Member Author
xet7 commented Aug 27, 2017

I tested importing Trello JSON on Wekan Sandstorm version. It seems to work, but attachment image is not imported, most likely because Wekan grain does not have Sandstorm-compatible outside network access implemented.

@GhassenRjab today tested those JSON files in above wekan-export.zip file. In the first file, one of the activities (addMember) has a userId: null. This will cause the interruption of the import.
He will see if this happens with standalone Wekan.

@xet7
Copy link
Member Author
xet7 commented Aug 27, 2017

I tested .spk file in Sandstorm. Upgrade of existing Wekan did work. When I then imported board from Trello JSON file, images did not import. From Archives menu I was able to restore previous board that was in Sandstorm before importing board from Trello.

@xet7
Copy link
Member Author
xet7 commented Aug 27, 2017

About that Copy URL of a card #1188 feature, button in Wekan Sandstorm version copies this kind of URL:

/b/sandstorm/libreboard/RANDOMTEXT1

While full URL to Sandstorm is:

https://something.sandcats.io/grain/RANDOMTEXT2/b/sandstorm/libreboard/RANDOMTEXT1

@ocdtrekkie
Copy link
Contributor

FWIW, it may be worth summarizing the standing issues for Wekan on Sandstorm and then determining whether or not those are blocking issues. I know in my case, images being imported isn't a big deal, very few of the Trello/Wekan boards I've ever used had any.

Regarding the Copy URL of a card feature, the issue there is that Sandstorm doesn't give the grain's URL to the app.

xet7 added a commit that referenced this issue Aug 28, 2017
xet7 added a commit that referenced this issue Aug 28, 2017
Fix Wekan Import Export on Standalone and Sandstorm.
Thanks to GhassenRjab and xet7 ! Related #799
@xet7
Copy link
Member Author
xet7 commented Aug 28, 2017

@GhassenRjab and I just got import export working on Wekan standalone and Sandstorm, I just need to make proper release of Wekan and figure out changing .spk key.

@ocdtrekkie
Copy link
Contributor

Any issues following the instructions in the publishing guide, just let me know.

@AlexanderZobkov
Copy link

Regarding #1188, probably it make sence to create a new issue (telling that #1188 does not work in Sandstorm) or re-open the old one, for the following reason:
URLs like https://something.sandcats.io/grain/RANDOMTEXT2/b/sandstorm/libreboard/RANDOMTEXT1 (in my case http://RANDOMTEXT2hostname.domain/b/sandstorm/libreboard/RANDOMTEXT1) that could be taken by using your brower capabilies does not work for others. they get something like

    at Proxy.makeContext (server/proxy.js:1660:15)
    at server/proxy.js:1899:19
    at /programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:32:39```

@ocdtrekkie
Copy link
Contributor

As a note, there's an experimental Sandstorm release of Wekan here: https://apps.sandstorm.io/app/m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h?experimental=true

Please run some tests (be safe, don't kill your production server), and let us know if things look good. We know there are some issues still, but it should be by and large a major step up from the last Wekan release on Sandstorm.

@xet7
Copy link
Member Author
xet7 commented Aug 30, 2017

Wekan v0.34 is now available at official Sandstorm app market. It's not in experimental anymore.

@xet7 xet7 closed this as completed Sep 1, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants
0