Training Agenda

Our Caliper SDK training is an event that lasts three days and give developers the ability to learn the environment and have guided practice with the technology.


Caliper SDK Certification Outline

The Q2 Caliper SDK Team is excited to see you during one of our upcoming certification classes! An outline of a typical class follows this introduction. The schedule is always subject to change based on students’ roles, experience, and interests, but we will cover all relevant information by the end. We take a 10-15 minute break once every 90 minutes or so, along with a longer break for lunch each day. We ask that you come on time and prepared to focus.

During the course, we recommend against taking notes and trying to duplicate the lessons in your own code. Instead, listen, internalize the concepts and design, and ask questions. We cover a lot of material quickly, but provide a recording of the training via email after the course. Throughout the class, there will be ample opportunity to get hands-on-keyboard time with the product, guided by members of the Q2 team. We have found most attendees get the best experience out of engaging in the conversation while it is happening, rather than attempting to document it for later.

Set up your IDE ahead of time using the recommended guides. Our current recommendation is VSCode. Setup docs are here. We have Office Hours the day before the first day of training if you need assistance getting setup. Having your tools ready to go saves time at the beginning of the course and allows us to get started learning. Doing the tutorials ahead of time is fine if you are interested in jumping in-- we will go through them fully during the training.

This is coding class, so those with experience in Python or JavaScript will find themselves very well prepared. If these tools are unfamiliar, fear not! We train all skill levels, but mastery takes time, and we do not cover programming fundamentals or Python or JavaScript basics during the Caliper SDK training. Our documentation has some recommendations on getting started with Python and Javascript.


Signed up at the Q2 Developer Portal

IDE set up and ready to go

GitLab SSH keys setup and clone_from_gitlab completed

Ready with a business problem your institution needs to solve. We will work on this solution during the final day of training!


Day One

Time Title Contents
30 Mins Introduction of Team and Trainees
Introduce SDK Team
Have trainees provide name, company, what problem you’re trying to solve
Expectations and Guidelines
30 Mins Introduction to the Caliper SDK

What we are solving

Time/expense of current custom dev model
Greater involvement/investment with the q2 platform for our customers
Leverage the significant technical talent available to our customers in pursuit of our corporate mission
Leverage our customers’ detailed, specific knowledge of their end users’ needs
Provide a common tool for external and internal projects
These problems are hard: we need a tool that is powerful, versatile, and usable

How we are solving it

Caliper is…
A Python web server with tools and features to expedite access to Q2 resources and promote development best practices
A true Software Development Kit
A set of tools that seamlessly integrates with the q2 stack and can bridge the gap between its components
A tool for professional developers: we expect and respect advanced development skills
A well-documented and usable tool backed and contributed to by a growing community of internal and external users
What the Caliper SDK is not
Not an API, although access to Q2 and external APIs is a key feature and APIs can be created with it
Not limited to built-in functionality: anything Python is capable of, so is the Caliper SDK
Not limited to serving forms in Online, but that is the use case we will be diving into

Why Python?

Clear syntax and flexible patterns allow for quick learning
Incredible community and library of open source tools
Built-in, user-friendly support for asynchronous web development
A proven tool in use at Q2 for a decade
Choice of IDE
2 hours Caliper Tutorial part 1
Working with virtual environments
Caliper command line
-h flag
Tab Completion
Guided Tutorial work session
1 hour Lunch
30 Mins Q2 Marketplace Intro
Q2 Marketplace Overview
Quick Demo
Partner Catalog
2 hours Mad Lib exercise
30 Mins Q2 Building Tour (for in person attendees)
N/A Day One Survey

Day Two

Time Title Contents
1.5 hours Q2 Architecture

Stack overview

Database architecture


How data is accessed

Other APIs

How the SDK accesses data

Stored procs
Third party calls
Calling back to your core
15 Mins Q2 Developer Portal Overview
Why we built the Developer Portal?
Ticket system
Community page
Environments and Services
Developer Dashboard and settings
45 Mins Caliper Api
Why Caliper API?
Difference between 3 APIs
Environments (dev, stage, prod)
Endpoint offerings
Creating an application
Authentication flow
Making V2 requests
1.5 hours Caliper Tutorial part 2
Guided Tutorial work session
1 hour Lunch
2 hours SendSecureMessage Exercise Push answer to git branch (Gitlab)
1 hour Frontend frameworks
What is Tecton?
More advanced things you can do with tecton.
Client side rendered React Extension tutorial
N/A In depth discussion on requested topics
N/A Brainstorm for project/start project
N/A Day Two Survey

Day Three

Time Title Contents
30 Mins GitLab and Deployment Process part 1

Preparing for deployment

Q2 check
Q2 lint
Q2 test
Our expectations for submitted code:
Executes without errors
Tested in your Online Sandbox Environment
Q2 check passes
Unit tests pass
Works on all device types
Adheres to security requirements
How we review code
Communication during review
30 Mins Deployment Exercise
30 Mins GitLab and Deployment Process part 2
Gitlab CI/Caliper Deployment Manager
4 hours Work day: solve a business problem with the SDK

Ideas if you don’t have a business problem to solve yet:

SSO Tutorial
Q2 Cores Tutorial
Central Extension Tutorial
Periodic Job Tutorial
Client Side Rendered Dashboard
Server Side Extension with Ajax calls
30 minutes Feedback, final Q & A
N/A Day 3 Survey