Skip to content
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

Add Importer and Exporter for the online library #5

Merged
merged 5 commits into from
Aug 31, 2019

Conversation

sudo-panda
Copy link
Collaborator

@sudo-panda sudo-panda commented Jun 29, 2019

I have added the online exporter which does the following:

  1. When user clicks on File > Library Export it asks user for the username and password
  2. Once the username and password have been verified it asks the user to input the name of the behaviour and a description of it.
  3. It then connects to the library repository and creates a fork on the users accounts or uses the already existing one.
  4. It syncs the master branch of the fork to the library via a pull request which is automatically merged.
  5. Then it checks for an existing branch of the same name as to be created, if a branch exists it writes the files and updates the catalogue on it or else it creates a branch of that name and writes to the one that has been created.
  6. Lastly it checks if a pull request is present from the branch to the library and if there isn't one it creates one itself.
    This pull aims to solve Design discussion for Online Importer and Exporter #3

@pushkalkatara
Copy link
Member

pushkalkatara commented Jul 1, 2019

Hi @sudo-panda,

I have the following reviews for the PR -

  • The catalog listing all the behaviors is a nice strategy.
  • Would we create folders for each behavior?
  • Do we require syncing the master branch while creating a PR?
  • While the exporting process takes place, VisualStates UI turns black, what might be the issue?

The overall implementation looks good to me.

@sudo-panda
Copy link
Collaborator Author

  • I think we agreed on creating a folder to add the snapshot of the behaviour or the tree of states. Of course we can discuss more on this.
  • I don't have any preference on syncing the master branch during PR, but we should discuss the advantages and disadvantages of doing so before proceeding further.
  • About the VisualStates UI turning black. It happens because threading hasn't been implemented and the long process of connecting to Github and uploading file freezes the UI.

This is a WIP commit as many parts of the importer hasn't been decided.
@sudo-panda
Copy link
Collaborator Author

Added importer for the online library which does the following:

  1. It gets the Catalogue.xml file and displays the list of available behaviours
  2. When the user selects one it shows the description along with the snapshot at its side (which is blank right now as it hasn't been decided what is going to be done about that)
  3. If the user clicks on import it imports the downloaded file into the tool.(I have made it in such a way that when the user selects the behaviour in the previous step it starts downloading the file. This may cause problems but right now it saves time between clicking the import button and the file getting imported into the tool.)

@sudo-panda
Copy link
Collaborator Author

Also threading hasn't been implemented yet so it takes time to show the import dialog.

@pushkalkatara
Copy link
Member

pushkalkatara commented Aug 10, 2019

Hi, I reviewed the PR. Nice work @sudo-panda . One suggestion I would like to add

  • We can display the Import-Parameter dialog developed in the parameterization PR after the Library import feature. It would enable the user to do selective import through the online library.

What do you think @okanasik and @sudo-panda ?

@sudo-panda
Copy link
Collaborator Author

@puskalkatara that is the plan but for that the parameter branch needs to be merged.

@sudo-panda sudo-panda merged commit 96728d0 into master Aug 31, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants