• Live Jmix Workshop
AI Coding with Engineering Guardrails
A free live workshop for Jmix developers who want AI to accelerate delivery without giving up architecture, security, or engineering control.
Live on YouTube
60 minutes
One real application. One continuous live build. Bring your questions - we take them throughout.

Why this workshop
Give your coding agent Jmix-specific context
Generic agents guess when the framework is unfamiliar. We connect the Jmix skill pack and show how project structure, security rules, data-access patterns, and UI conventions give the agent a much narrower - and more useful - path to the answer.
Catch and correct AI-generated code inside the Dev workflow
The agent implements a real business feature; Jmix Studio inspections expose a concrete issue; the agent reviews its own work and applies the fix. You see the full feedback loop, with the developer still accountable for the result.
Use AI inside the application - not only while writing code
We add AI Tools chat so users can ask questions about real asset data in natural language. Then we extend the same application with Dynamic Data Model and Kanban, showing how AI-assisted insight becomes a working enterprise flow.
Who it's for
- You use AI coding agents and want more reliable, reviewable output in Jmix projects
- You build with Jmix 1.x or 2.x and want a practical path to AI-assisted development with Jmix 3.x
- You're evaluating Jmix and want to see free AI capabilities and Enterprise add-ons working in one coherent application
Level: intermediate. We skip the basics; you should know what an entity and a view are.
What we'll build — live
We will extend one industrial asset-management application from agent-assisted coding to AI inside the running product, then connect the result to Enterprise runtime capabilities:
📍Give the agent Jmix context
Connect the Jmix skill pack so the agent understands project structure, security, data access, and UI conventions before it writes code
📍Build a real business feature
Have the agent implement component-transfer logic and row-level access inside an industrial asset-management application
📍Catch and correct the code
Use Jmix Studio inspections and framework feedback to surface a concrete issue, let the agent review its own work, and apply the fix
📍Put AI inside the application
Add AI Tools chat so users can ask questions about asset data with a cost-efficient cloud model or a suitable local model
📍Adapt the model at runtime (Enterprise)
When the business needs a new asset type, add its attributes, views, and menu with Dynamic Data Model — no restart
📍Turn insight into work (Enterprise)
Surface resulting work orders on a drag-and-drop Kanban board, turning AI-assisted insight into an operational workflow
Speakers
Dmitry Vaschenko
Jmix trainer and consultant
Dmitriy leads the live build and technical walkthrough.
Alex Burov
Workshop host and moderator
Alexey brings practical and audience questions into each section.
Learn Your Best Development Productivity with Jmix
● Entity types in Jmix
● Jmix framework annotations for entities
● Data store. Supported databases
● Multiple data stores. Referencing entities from different data stores
● Traits: Versioned, Audit, HasUUID, SoftDelete
● Key-value entities
● Entity states
● Database versioning. Liquibase Tool
● Non-standard data types (JPA converters)
● Entity Manager service. Usage and transaction management
● Entity graph for data fetch
● DataManager and EntityManager services. Similarities and differences
● Data Security and DataManager
● Data and Query Cache. Cache customization
● JPA callbacks
● Entity lifecycle events
● Optimistic and pessimistic locks
• Views in Jmix
• Opening Views – ViewsNavigation and DialogWindows APIs
• Routing and Navigation
• Notifications and Dialogs
• Background tasks
• Facets – non-visual view components
• Views extensions and working with view template
• Event Bus – global events in Jmix
• Lazy loading in views
• Styling • Layout rules
• Creating Custom Action class
• Creating UI components
● Preparing the application for deployment
○ Deployment checklist
● Execution profiles
● Types of artifacts for deployment
○ Fat Jar
○ War
○ Docker image
● Application runtime overview
○ Dedicated server
○ Container
● Application deployment options
● Ensuring fault tolerance
○ Application clustering
○ Database replication
● Application monitoring and diagnostics tools
● Roles - advanced topics
○ Scopes
○ Specific policies
● Data access restrictions
○ Application of restrictions
○ Overriding data access checks in business logic
● Anonymous access to the application UI
● Programmatic user management
○ Data model of users and roles
○ User creation
○ Role assignment
○ Implementing a scenario of user registration and activation
● Additional security features
○ System authentication
○ Authentication events
○ User substitution
● Accessing users in Jmix add-ons. UserDetails, UserRepository, UserManager
● External authentication services
○ Integration with LDAP and Active Directory
○ Integration with KeyCloak SSO
○ Login and registration via social networks (Google and GitHub)
• General information about add-on
• Component elements
• Raster layers and their sources
• Working with data
• Feature styling
• Cluster
• Heatmap
• Map interactivity
• Map projection
• Real-time data update
● Jmix report generator overview
○ YARG
○ Templates
○ Fetch data
● Report Wizard
● Creating a simple report
○ XLS format
○ DOC format
● Using Groovy to fetch data
● Displaying graphic files in a report
● Generating a Master-detail report
● Creating a matrix report
● APIs for working with reports
○ Standard Actions ○ Services
● Overview of the BPM component of the Jmix framework
● BPMN Specification for developers
● Create and execute a simple business process ● Process Variables
● Assigning users to tasks
● User task management
● Accessing Jmix data from the process
● Decision-making using DMN notation
● Various types of service tasks
● Development of process forms
● Use of different types of subprocesses
● Transactions in BPMN and asynchronous tasks execution
● Loops in BPMN and working with collections (multi-instance activities)
● Using BPMN messages and signals in processes ● Inter-process collaboration
● Process administration capabilities
● Using Jmix software components as part of business processes
● Handling business process execution errors ● Execution listeners in Jmix
● APIs for working with business processes
● Full-text search system architecture
○ Elastic search
○ The concept of a "document"
○ Indexes
● Integration with Jmix
○ Configuring an application
○ Starting indexing processes
○ Indexing data in a database
○ Indexing uploaded files
● Scaling the full-text search engine
● Types of charts used in the module
● Data binding
○ Data containers
○ Programming interfaces
● Event Handling
● Incremental refresh for datasets
● Features of the module for sending emails
● Customization
● Creating messages
○ Creating simple messages
○ Using templates
○ Creating attachments
● Administrative interface
● Program interface of the module
● Definition of multitenancy. Approaches to building multitenant applications
● Implementation in Jmix
● Data model design features
○ Shared data
○ Client data
● Administration of multitenant applications
○ User creation
○ Local administration
○ Authorization from URL
● Multi-tenancy module API
● Server-side testing
○ Rules for tests writing
○ JUnit
○ SpringBootTest
● Administrative interface testing
○ Selenide Library
● API testing
● BDD: using the Gauge Library
● Code refactoring capabilities
● Code generation (Intentions)
● Inspections
● Jmix Studio configuration
