This guide is for anyone wanting to learn about registries and how they can be implemented using the Verne platform and associated tools.
Its purpose is to take you through the content of the Partner Portal in a sequence that will help you understand some of the high-level concepts first before drilling into the details of Verne and registry design and implementation.

How to use this Learning Path?

If you’re new to Verne and registries in general you will get the most benefit of the Learning Path if you simply start at the beginning and work your way through the material. It is important to first understand the concepts behind Verne and the terminology used as later sections assume you have this knowledge and build on top of it.

If you are familiar with the Verne basics you can select your learning topic and jump into any section in the path using the navigation tree on the right.

As you work through the Learning Paths in the table below, the questions asked give you an opportunity to review the concepts, reflect on your learning and verify your understanding.

If you have been assigned a buddy, they may check your answers. They can also answer additional questions that come up as a result of your learning.

Part 1 is an introduction for anyone interested in understanding more about registers and wanting to get an overview of Verne and how it operates. It also introduces you to the language Foster Moore uses when describing Verne functionality and is fundamental knowledge for anyone who plans to work with Verne.

Part 2 gives a technical overview of the architecture of Verne and some of the technologies used during configuration and deployment.

Part 3 focuses on function-specific overviews and covers the areas of Business Consulting, Configuration, Testing and Data Migration.

Part 1: Verne Introduction

This section introduces you to the main business concepts behind registries and how Verne enables their implementation. You will get an understanding of the different products that make up the Verne suite and how they are put together to meet the complex requirements of a registry.

The introduction finishes off with an exercise to help map your understanding of Verne to a real-world registry example.

Target Audience: The introduction is suited to anyone regardless of their role.

Prerequisites: None

Estimated duration: ~ 2 days

Content / Activity

(indicative duration)

Instructions


Learning Centre

Duration: 1/2 hour

The Learning Centre is the landing page for anyone starting off learning about Verne and how Verne implementations work. Explore it and the links it contains.

  • Get to know where it sits in the Partner Portal
  • Understand the different roles that work together on a register implementation – describe what you think each of their main responsibilities are.

Verne Introduction

Duration: 1/2 day

Have a look at the Learning Centre and go through the Verne Introduction
Read the overviews of the three main areas and then answer the questions about them:

Registry Types

  • Can you think of registries that you may have come across in the past and interacted with as a user – which one of the four registry types were they and what was the entity type they were managing?
  • Which registry type do you think is the most common one for Foster Moore?
  • Do you know what type you will be working on?

Verne Products

  • Drill into the Verne Product Line Model page – review the Verne Product Line Model which lists the main products that make up the Verne platform. Does the diagram makes sense to you?
  • What are the six main registry products in the Verne Product Line?
  • What is Magellan?

Verne Configuration

  • What are the main elements of configuration related to a Business Service? Can you sketch out a diagram containing these?
  • What is Magellan?

At this stage, you do not need to go into the function-specific (Business Consulting or Verne Configuration sub-sections)


Overview of Registry Implementation Concepts

Duration: 1/2 day

Go through the Overview of Verne to understand the high-level concepts behind how Verne as a platform is used to implement registry concepts. This will include the following:

Questions to consider:

  • What is the relationship between entity types and templates?
  • Describe the differences between adapting, adopting and customising a standard business process pattern
  • Think about the lifecycle of an entity type (birth-life-cease-restore). Which of the service patterns fall into which phases of the lifecycle? Which patterns are missing?

Take note of any questions that come to mind and discuss these with your buddy at your next catch-up


Products making up the Verne Suite

Duration: 1/2 day

From the main page – Verne – Catalyst Cloud Documentation – navigate to the Products section.

Understanding the different Products in the Verne Suite will help you to understand how we use Verne to meet a registry’s business requirements.

Familiarise yourself with the different Products. Don’t worry if not everything is clear to begin with – Verne has a lot of capabilities!

Questions to consider:

  • Which Products do you think you will be mostly working with?
  • Which areas/functions under Products do you think require the most configuration?
  • Which Products do you think might be the most complex? Why?

(You don’t need to get into the details of the Registry Tools – Magellan Builder product as that is Configuration-specific)


(Optional, Duration: 2 hours)

The aim of this exercise is to help you map the concepts discussed in the Products section to a real-life register example:
Imagine a register for a school that stores details of its students and teachers. 
Considering the Products in Verne, come up with a high-level design/plan for this register, answering the following questions:

  • What Registries template would be used for such a register?
  • Which Products would be included in the implementation of this register?
  • Which User Management functions will the register need?
  • How would Work Spaces be utilised?
  • What Registry Operations would the register require to be configured?

You can do this in any format you like. Your buddy may go through this with you to verify your understanding and answer any additional questions.


Part 2: Verne Technology Overview

This section focuses on the technology behind Verne.

Here, you will get an idea of the technical architecture of Verne and some of the design principles it adheres to. We will give an overview of the different software components that it depends on and how they are deployed and what the infrastructure looks like. Finally, it will cover the principles behind User Interface configuration and how the Verne Design System helps deliver the best user experience possible.

Target Audience: Suited to anyone regardless of their role.

Prerequisites: None

Estimated duration: ~ 1.5 days

Content / Activity

Instructions


Read about the architecture of Verne Core.

The diagram and description on the Application Architecture explains how Verne is built-up from components of increasing abstraction.

The terminology and relationships around Cheetah, Core, Platform, Quick start templates and the Catalyst UI components are important and a good understanding of these is strongly recommended as a prerequisite for working on a Verne implementation.

Continue through the Verne Architecture section to also cover:

Questions to consider:

  • What does it mean that core is ‘not opinionated’?
  • Which component in the Verne architecture would introduce business-level domain concepts such as a shareholder or a business address?
  • What UI framework is Catalyst UI built upon? What is the advantage of using this framework – feel free to look up more information about this framework on the web.
  • Ultimately Catalyst Verne is a web application. What is the server that runs this web application? How does this compare to more traditional web applications?
  • What is VFS?
  • In the data lifecycle of Verne, where are business validation rules applied?
  • What are the two methods that we can use to expose a business service?
  • What does it mean when a ‘business service is saved as draft’?
  • What conditions need to be met for data submitted via a business service before it can be applied to the register.
  • What is versioning? Why is it important in a register?


Get an overview of Verne’s infrastructure, how we deploy it to different environments and how we support it in production.

This section goes into quite a few technologies but it will give you an appreciation of the various services that make up a Verne register deployment.

Questions to consider:

  • What is a Reference Architecture and why is it important that one is provided for Verne?
  • What are the three core services that the Catalyst Spring Boot application consumes – what is each used for?
  • Can you list some of the Supporting Services and describe what they are for?
  • What is GitOps – what are the advantages of using GitOps in an environment where Catalyst is being developed and deployed?
  • What is Kubernetes and what do we use it for?
  • When working with Catalyst locally, what do Configurators use to edit the configuration artifacts?
  • What cloud provider can the Verne stack be deployed on?


Our registers are public-facing. This means they are designed with the latest UX principles in mind and adhere to stringent Accessibility Guidelines.

Read User Interface and Experience  and then go through User Experience and the key UX principles that Verne follows.

Check out the Verne Design System website – specifically the following sections from the left-hand menu:

  • Overview – General Behaviour Guidelines – be aware this is here, you will refer back to this in the future.
  • Overview – Terms – the terminology here is what you will find in a business catalog (or Verne requirements document).
  • Understand the Styles used in Verne
  • Go through the UI Components we use in business forms
  • Look through the UI Patterns that we apply throughout our Verne registries


Part 3: Introduction to Verne Implementation

This section covers topics relevant to Verne implementations and are a prerequisite to starting the hands-on training lessons as they cover documentation, tools and dive into configuration and testing topics.

Even if you do not intend to do the hands-on configuration lessons, the contents of these is important for a full picture of a Verne implementation.

Target Audience: although it focuses on specific functions, the information here still remains high-level enough to be valuable to anyone who is interested in a more detail about those functions.

Prerequisites: Having gone through Part 1 and Part 2 is recommended but not mandatory.

Content / Activity

Instructions


Duration: 1 hour

Target audience: Configuration

The CatDocs site is separate from the Verne – Partner Portal and its target audience are the technical implementation roles on a Verne project.

You don’t need to go through it in detail now, but as you become more familiar with Verne, you may come across concepts or terminology that you will want to find out more about. This is the place to look.

If you’re planning to configure Verne, this will become your first port of call for technical Configuration documentation but it’s important to note that most of this information is also accessible from within the Magellan IDE (see further below)

The sidebar on the left contains the following:

  • Technical Details – the most useful because it delves into the important technical concepts of a Verne register e.g. if you want to know about the details of service Validation or how Versioning in Verne works.
  • Configuration – this section is targeted at our Configurators. Remember the Verne Configuration overview from Part 1? Here you will find detailed configuration documentation including code examples on all of those concepts, e.g. Business Service, Data Set, etc.
  • UI – how does configuration of layouts work? What are widgets and how do you configure a widget component? How to extend the UI with custom Glue components. All this and more is covered here.
  • API Docs – you will find the latest generated Java API (in Java Doc format) to both the core engine, or blade, and the registry platform. Configurators and developers may need this only in exceptional circumstances when required to extend or customise Verne.

You can also find a link to it from the Verne – Catalyst Cloud Documentation main page!


Verne Configuration Components

Duration: 1/2 day

You’ve already covered the basic Configuration components in Getting Started – Configuration Concepts. In this section we will go into a more detail about these so that when you get to the hands-on configuration in Part 4 the terminology will already be familiar and you won’t need to interrupt the lesson flow to understand the theory.

Parts of this section do get quite technical. Don’t worry if you don’t quite get it all in one go 🙂 We will be coming back to these in the practical part.

Go through the page listing the Core engine components that power Verne.

Question to consider:

  • A common business process pattern used in a Business Register is the Pattern 01: Register a new company – which we’ve covered previously. Looking at the state diagram for this pattern, go through the engines and components listed on the Core page and see whether you can match them to where they would be used in this pattern. Are there any that you don’t think are used in this pattern at all? Make a note of these and discuss with your buddy.

Next, let’s look at the items listed under the Core tree-view menu on the left-hand side – Business Service, Service Transaction, Form, etc. If your training plan includes the hands-on configuration of the Superhero register, then you will cover all of these in detail during those practical lessons. If it doesn’t include hands-on configuration, you should familiarise yourself with some of the concepts now. Go through the following:

Question to consider:

  • Explain the difference between a business service, a service instance and a service transaction
  • Registry data is a term defining two sets of data – what are these and how are these sets different?

The Service Transaction is a central concept within Verne. Get an overview of the key technical concepts it includes: Service Tree, Domain Tree, View Tree as well as what View Nodes are how the service transaction is validated.

Question to consider:

  • What type of data does the Domain Tree contain? Why is it referred to as a ‘tree’? What is meant by the data being ‘long-lived and surviving across service instances’?
  • What type of data lives in the Service Tree (can you think of examples); is this data long lived too?
  • What is the View Tree? What does the ‘View’ part of the View Tree refer to? Does a View Tree always contain domain data?
  • Can you explain what the root domain is?
  • What are service form item XML elements? Can you name a few different types? Which types would contain some form of data (either domain or service-related)?
  • what is the instantiate rule scope?
  • What are the 3 types of errors

Business Services are configured via Forms (or Service Forms) and a number of Configuration Components. Have a read about these to get an overview but they will be covered in detail during the hands-on exercise.

Read through the overview of the Life-cycle of Registry Things and Versioning (If you’re brave you can read Versioning step-by-step but that is optional at this stage)


Verne Testing Overview and Hercules

Duration: 1/2 day

Target audience: Configuration and Testing

Understand the Software Testing Life Cycle that is used during a Verne register implementation. If you’ve built software before you should be quite familiar with most concepts.

Get an overview of what we mean by Functional Testing in Verne vs Automated Testing. Automated testing is covered by the Hercules test framework developed for Verne and is used by both the configurators and testers:

  • Take a look at sample tests written in Hercules in Quick Start
  • If you’ve never written BDD style tests, check out BDD 101 and have a read about the Gherkin syntax we use in Hercules

Understanding Verne’s User Interface Architecture

Duration: 1/2 day

A large proportion of Verne configuration is about handling input forms to capture and maintain registry data. Under Verne Configuration Components you have covered the key elements of configuration to setup the configuration of the forms and handle this data within them on the server side in the View Tree. In this section you will learn how this View Tree gets transferred to the UI layer, how it is rendered (including the data) and how the UI layer manages the communication from the UI back to the server.

Work your way through the User Interface Architecture sections :

  • Overview including the diagram
  • Render State and Glue component layer
  • Verne API

Questions to consider:

  • The data in the View Tree and the Render State both represent data from the Service Transaction – what are the difference between the two?
  • What are the primary responsibilities of the components in the Glue layer?
  • What is the javascript framework that is used by the default Verne skin?
  • Glue components are Vue components but are made up of 4 files – two of them being the .vue and .js files. How is this different from normal Vue components? What is the reason for this? What are the other two files for (.md and .json)?
  • The JavaScript used in the js files is ES5 meaning it needs ‘no transpilation’ – what does this mean?
  • What does the Design Library contain that is of interest to the Glue Layer?. Name three different components from the Design Library used by the layer.
  • What is the reason for there being a Verne API available to the Glue layer?

Next, go through the more detailed sections covering the following. You don’t need to fully remember the details at this stage, but try and understand their high-level purpose and how they relate to each other, so you can refer back to them at a later date:

Questions to consider:

  • In Vue.JS – what are templates, what are props, what are slots? (You may need to do a few Google searches to find this information)

You’re unlikely to need to work with Vue components at the beginning of your configuration journey. But as you become more experienced with Verne and use it to implement custom UI requirements you may need to customise, extend, or even write your own Vue and Glue components. Vue.JS is a very popular framework so there is a ton of training material available online.

For a short, introductory, hands-on course to understand Vue.JS we recommend the free Intro to Vue.js course on the Vue Mastery website


Verne Documentation and Support

Duration: 2 hours

There are several important The support documentation for your journey to learn Verne ca

  • Partner Portal – the main documentation portal for Verne, should be the first port of call for queries about anything Verne related. It is also the home of the Learning Centre as well as this Self-Guided Learning Path
  • CatDocs site is separate from the Partner Portal. It is the technical configuration reference (syntax, code examples) for all aspects of Verne configuration. Much of the information in Catdocs is also available inside the Magellan Builder in the form of contextual configuration help
  • Design System also separate from the Partner Portal. Lists our UI components, user interface patterns as well as typography, icons, layouts and other Verne UI assets
  • Contextual configuration help inside Magellan Builder. When editing configuration, the user can press Ctrl+Space to bring up the relevant documentation about configuration components. This is sourced from CatDocs and kept up-to-date as new components get released and updated.

Stack Overflow for Verne

If you have been allocated a Magellan Builder License you will also be able to access Stack Overflow for Verne support. Stack Overflow is a question and answer site for developers and we have a dedicated, private Verne space (team) that is dedicated to questions about the Verne platform and configuration.

Questions can be tagged with one or more of the Verne – Catalyst Cloud Tags. The official Verne tags have Subject Matter Experts (SMEs) assigned to them and are monitored to ensure your tagged question is looked at promptly and answered by the correct product SME. Additionally, existing Verne users are also able to answer questions and many Verne configurators are quite active on the site helping less experienced users.

Before you post a question on SO, ensure you have searched for the answer on the existing documentation mentioned above and also ask the question in the right format, following the tips on asking a StackOverflow question.


Magellan – The Verne IDE

Duration: 1/2 day

Target audience: Configuration and Testing

By now you should be aware that Magellan Builder is the Integrated Development Environment (IDE) used by Configurators and Testers to write and maintain configuration as well as tests for a Verne register.

You can find information about the Magellan Builder here, under the Products section of the Partner Portal. In the next section – Part 4 – you will install and get hands-on experience using Magellan as you’ll get to configure a register from scratch.

You can now install Magellan and its dependencies locally and check out some of its functionality: Installation of Magellan Builder – follow the instructions carefully to setup the right Docker resources.

When you start Magellan, you won’t have a project yet so just create a dummy one for the purpose of familiarising yourself with the UI. Follow the sections in the left sidebar from the Magellan Builder starting page to understand the different parts of the IDE.

Questions to consider:

  • What’s the difference between Merged and Increments view?
  • How does the VFS relate to the folder structure on your file system?
  • What is a Service Form, what does it contain?
  • What is a ServiceTransaction, what can we see about it in Magellan?
  • What useful properties can one see about the ViewNode in the Properties Tab? Which ones do you think may be most important? Why?


Part 4: Hands-on with Verne

Finally you get to dive into some configuration and testing.

The configuration lessons will guide you through building a Superhero register.

The testing lessons will teach you about the Hercules framework used to write config and UI-level tests for the configured functionality.

Target Audience: Configurators or Testers

Prerequisites: Parts 1-3. The lessons in this section expect a good level of understanding of Verne and the technologies involved. It also expects you understand Verne terminology including common configuration concepts.


Verne Configuration Lessons – Building a Superhero Register

Duration: several days

You’ve got the theory out of the way, let’s get our hands dirty! Over the course of the next several days you will be introduced to Verne configuration via a training application – a superhero register – that you setup and configure yourself. As you slowly build up a fully functioning register you will use Verne technologies and be referencing the concepts you have learned so far.

A Note: this is not a race, avoid simply copy and pasting without building understanding. Try to relate to concepts previously learned, understand why you are doing things and refer back to information on the Partner Portal, the CatDocs and the Design System. If you get stuck and cannot find what you’re looking for – use our Verne StackOverflow.

Happy configuring with the Verne Lessons building the Superhero Register!


Verne Testing Lessons – write automated tests using the Hercules Test Framework

Duration: 2-3 days

You wouldn’t release an application without writing automated tests to ensure it behaves as per the requirements!

For Verne we use the Hercules Test Framework that lets configurators and testers write BDD-style automated tests.

Follow the Testing Lessons to learn about using Hercules in Magellan and work through a variety of testing scenarios covering some of the superhero register functionality.

If you get stuck and cannot find what you’re looking for – use our Verne StackOverflow.


0
0

Jump to Section