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

Rewrite Agent developer guide #279

Merged
merged 6 commits into from
Aug 15, 2022
Merged

Conversation

BrianJKoopman
Copy link
Member

Description, Motivation, and Context

This is a major rewrite of the Agent developer guide section. We've received feedback from users saying that the Fake Data Agent was a complicated example to use for this guide. To resolve this we introduce the "Barebones Agent", which is now the focus of the guide.

The new "Writing an Agent" guide starts from a completely empty Agent class that does nothing (i.e. only connects to the crossbar server, doesn't have any Tasks or Processes) and builds up from there. Each new page introduces a feature, and by the end we have a full example of an Agent that as one Task and one Process.

I think this should help users, especially given one of the most common pieces of feedback was that it was hard to tell what was safe to strip out of the Fake Data Agent example.

I also took the opportunity to split the rest of the Agents page into several separate pages, what's left are pages for:

  • Operation Parameters (the @params decorator)
  • TimeoutLock
  • Logging
  • Documentation

These pages are meant to be more just a general reference, especially for those who are familiar already with writing Agents and just need to look something up. TimeoutLock is heavily covered now in the new guide, so maybe that could be removed/largely integrated into the guide, but I've left it for now.

How Has This Been Tested?

I've run through the guide in a clean VM, after following the updated quick start guide in #276. My hope is to get someone to read through it and find any inconsistencies/places for improvement. Suggestions welcome!

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • Unless I am preparing a release, I have opened this PR onto the develop branch.

@BrianJKoopman BrianJKoopman added the documentation Requires documentation label Jul 27, 2022
@BrianJKoopman
Copy link
Member Author

I'll likely try to merge this after our Wednesday call, any feedback before then is appreciated.

Copy link
Member

@mhasself mhasself left a comment

Choose a reason for hiding this comment

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

I didn't read this fully ... but I scanned a lot of it and it looks awesome. Minor comments.

@BrianJKoopman BrianJKoopman force-pushed the koopman/barebones-agent branch from f695d23 to b0390d5 Compare August 15, 2022 15:09
@BrianJKoopman BrianJKoopman merged commit d22e6ae into develop Aug 15, 2022
@BrianJKoopman BrianJKoopman deleted the koopman/barebones-agent branch August 15, 2022 15:20
@BrianJKoopman BrianJKoopman mentioned this pull request Oct 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Requires documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants