Welcome to part 5 of the journey to Vanilla ISE, a simplified ISE GUI for endpoint technicians. In part 1 we covered the background and requirements for the UI. In part 2 we explored the relevant documentation to find the relevant API calls we will use. Part 3 is about interacting with network devices and CLI parsing using pyATS. And in part 4 we covered voucher execution.
Collaboration between developers is key
In this part 5, we will start the discussion around the creation of the front-end, and the collaboration between developers.
I’ll start with a confession: I have a lot to learn about programming. A LOT. While I am proficient with API calls and data manipulation, during the time we created Vanilla ISE my front-end abilities were close to none. I needed help.
My savior was talented Ramona from our GVE DevNet team at Cisco. This team enables and supports account teams with programmability expertise. Ramona joined Cisco in 2019 through the Cisco Sales Associate Program, with a background of an interaction designer & front-end developer at the IT Center of RWTH Aachen University.
Working with another developer on the same program can go smoothly, as long as the expectations are aligned. In order to do so, we started with a Webex call explaining what the purpose of the program was, timelines, who’s going to do what, etc’.
We then worked on a very crude mock-up using PowerPoint, making sure we were still seeing eye to eye.
This is what it looked like:
Creating a common language between us
Adding the backend function names to the front-end mock-up made it easier to locate the relevant pieces of code and created a common language between us.
We both worked on the same GIT repository as out collaboration and version control tool, making changes and adjustments until reaching the working prototype.
Writing highly readable code and self-explanatory method names allowed us to collaborate in an asynchrony manner, which was very efficient as we did not need to get a hold of each other for many questions.
Writing readable code is incredibly important not only when you collaborate with other developers, but even for yourself. When you revisit a piece of code a few months later, you can immediately understand what action will the function “revoke_voucher” perform, or what values you can expect the variable “NAD_list_details” to store.
In the next and final part of this blog series, Ramona will explain the front-end creation of Vanilla ISE. Stay tuned.
- Learn more about Cisco Identity Services Engine (ISE)
- Visit the DevNet Security Dev Center – to learn how Cisco Security supports third-party integration across its portfolio with 18+ open APIs and integration points.
We’d love to hear what you think. Ask a question or leave a comment below.
And stay connected with Cisco DevNet on social!
Visit the new Developer Video Channel