-
Notifications
You must be signed in to change notification settings - Fork 278
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
Import from Trello #3182
Import from Trello #3182
Conversation
91e0fbe
to
65cd36c
Compare
38fb15c
to
9f612f4
Compare
da76936
to
414ba24
Compare
Finally done! Code coverage with tests is not ideal but I think it is acceptable. The breaking tests are related to the setup of the server, it seems to me it has no relationship with this PR. NOTE: It seems a good thing to remove support for PHP 7.2 and 7.3, I had to remove the beautiful arrow functions and heredoc. |
d9edb4b
to
02e86d1
Compare
Hi @juliushaertl, I organized the code and I think it is now more beautiful and ready to accept other import sources. I didn't implement the frontend in VueJS for importing but it already has the API endpoints ready to be consumed and working. I thought about implementing Asana import but I've committed too much in this PR :-D |
First of all thanks a lot for your contribution, this is really awesome and looks very promising from a first quick look. It might take a bit until I get to fully review it, but I'll dig into it in detail as soon as possible.
We basically stick with what is compatible in the Nextcloud release, which is currently requiring 7.3 as a minimum PHP version. We can indeed drop 7.2 for any newer branch than stable1.2 which still needs it for Nextcloud 20. |
@juliushaertl to make code review easier, I updated the documentation with the class diagram. I used the extension yUML for the VSCode|Codium. |
1a409a8
to
a27fc62
Compare
Hi @juliushaertl, I returned to draft to implement import using Trello API. |
1b0e754
to
8756203
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work!
Could you provide a test JSON file to import?
If I understand correctly, when importing from Trello API, all data is first loaded and stored in BoardImportTrelloApiService
attributes. Once everything is loaded, Deck entities are added into the DB. I think there is a chance to reach the max RAM usage when importing big Trello projects.
I don't know how hard it would be to make those changes but: Would it be possible to import progressively while the data is loaded?
It would be very effective in saving RAM usage, even more thanks to the request pagination. Data could be added after each doRequest
call.
Check available helpers Default permission: view only Moved validate setting from helper to command Turn more easy create a importer Docblock and improvements on interface lcfirst on system property Helper moved to ImporHelper folder Moved fixtures to ImportHelper Rename settings to config Big refactor to move import methods to service Signed-off-by: Vitor Mattos <vitor@php.rio>
Big refactor to create route Import participants Signed-off-by: Vitor Mattos <vitor@php.rio>
Clean code Clean attachment table Signed-off-by: Vitor Mattos <vitor@php.rio>
Update documentation Start implementing getSystems route Code to route getSystems Controller to board import Change return Increase coverage Signed-off-by: Vitor Mattos <vitor@php.rio>
Fix visibility Make compatible with php 7.2 Remove returing instance Increase coverage Reduce psalm info Throw exception if system not defined Increment coverage Signed-off-by: Vitor Mattos <vitor@php.rio>
Signed-off-by: Vitor Mattos <vitor@php.rio>
Fixes on getBoard tests Refactor Reduce psalm info Refactor to implement pattern Change order of methods to put all abstract first and all public first Signed-off-by: Vitor Mattos <vitor@php.rio>
Signed-off-by: Vitor Mattos <vitor@php.rio>
Implement name of system to import Implement need validate data Fix allowed system list Start implementing Trello API service Signed-off-by: Vitor Mattos <vitor@php.rio>
Validate get boad change pattern of api params Import only one board by api Populate data from api Update class diagram Update documentation Add return when success Sort comments Fix order of cards Instructions of attachments Signed-off-by: Vitor Mattos <vitor@php.rio>
Signed-off-by: Vitor Mattos <vitor@php.rio>
Signed-off-by: Vitor Mattos <vitor@php.rio>
Signed-off-by: Vitor Mattos <vitor@php.rio>
Co-authored-by: Julien Veyssier <eneiluj@posteo.net> Signed-off-by: Vitor Mattos <vitor@php.rio>
Signed-off-by: Vitor Mattos <vitor@php.rio>
Signed-off-by: Vitor Mattos <vitor@php.rio>
Signed-off-by: Vitor Mattos <vitor@php.rio>
f800cf1
to
ccd5bce
Compare
Rebased and resovled the composer.lock conflict |
Great work, thanks a lot @vitormattos 👏 |
Summary
Command to import json from Trello boards to Deck.
Command help:
API documentation
See
docs/API.md
TODO
Checklist