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

Hydra Agent GUI Console Implementation #1

Merged
merged 50 commits into from Aug 21, 2019
Merged

Hydra Agent GUI Console Implementation #1

merged 50 commits into from Aug 21, 2019

Conversation

Guttz
Copy link
Contributor

@Guttz Guttz commented Aug 12, 2019

Related to: #124

Porting commits/progress from HTTP-APIs/hydra-python-agent#125

This PR will implement a user interface for the Python Agent.

Also owning the state which controls collection buttons
@Guttz
Copy link
Contributor Author

Guttz commented Aug 14, 2019

Today I changed my approach on how the ApiDoc was being used according to a suggestion made by Vishal. Now I'm using the built-in generate() function from doc_maker instead of serializing the whole object. This took some time but now all endpoints are fetched from EntryPoint, and all are shown to the user: both collection and non-collection.

Also, I and Vishal discussed in more detail the two missing endpoints send_command/hydra_doc and settled some pending points. The first, Vishal already implemented the first version and I'll test soon. The second is being developed.

Now the Operations component was developed and automatically shows the supported operations. The Properties component is being a bit more challenging and I still have some work left on it. Small gif:

console2

@Guttz
Copy link
Contributor Author

Guttz commented Aug 15, 2019

Now finally the properties component is being dynamically built according to the selected endpoint. I've been having some problems with processing the Hydra Doc in the most adequate way(Vishal is helping me) and maintaining the state.

The whole component is partially complete, I'll finish it up passing the parameters to the command/other small details tomorrow and complement some decisions I had to make when processing the Hydra Doc.

Small progress gif:
console3

@Guttz
Copy link
Contributor Author

Guttz commented Aug 16, 2019

I've set the parameters and started to integrate with the send-command backend done by Vishal. Which means making the HTTP request to the backend and showing the result properly to the user. Now I'm fixing some decoding problems but will have a full first working version until Sunday.

console4

@Guttz
Copy link
Contributor Author

Guttz commented Aug 19, 2019

The first working version is done. The user can query through the endpoints and make the enabled requests by the Python Agent while seeing the command produced. By running a command the output is shown below. The user can also switch the hydrus server by inserting a URL for another server.

Youtube video showcasing the features ->
https://www.youtube.com/watch?v=IAgThJGfQ08&feature=youtu.be

@Guttz
Copy link
Contributor Author

Guttz commented Aug 19, 2019

There were some decision making I had to make regarding how to process Hydra Doc. The main one was on how to enable the user to make requests for the Resources and The Collections without simply creating 15+ "endpoints". I've added the Resource ID field and the Agent itself depending on how the user is interacting with the properties decides if it will go for the collection or resource. There are still other minor bugs that I'd like to fix to make the UX better and also UI/responsiveness enhancements.

I'll open the issues and list the things I find important about these. As we've settled in our call I'll start listing the documentation to be updated in the whole org(including to run this GUI) and finish off details according to the time available.

@xadahiya xadahiya marked this pull request as ready for review August 19, 2019 12:00
Flask-Cors
-e git+https://github.com/RedisGraph/redisgraph-py#egg=redisgraph
-e git+https://github.com/HTTP-APIs/hydra-python-core#egg=hydra_python_core
-e git+https://github.com/HTTP-APIs/hydra-python-agent@develop#egg=hydra_agent
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've created a PR on the agent to sync develop with the master. @Guttz please review that, then change the branch here to master and then we can merge.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay! I'll work on the documentation and double-check everything the next days so we merge both of them with proper docs.

Copy link
Member

@xadahiya xadahiya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Great work @Guttz @vddesai1871 👏

@Mec-iS
Copy link
Contributor

Mec-iS commented Aug 19, 2019

Great people!

@chrizandr chrizandr merged commit 16e472e into master Aug 21, 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.

None yet

5 participants