Interactive CEL course · English
Learn CEL.
Run every idea.
Start with the language itself. Read one concept, change a real expression, and see its result immediately in your browser.
'Hello, ' + name + '!'{ "name": "Maya" }"Hello, Maya!"Seven chapters. Twenty-eight interactive lessons.
Build a general CEL foundation before moving to any host-specific integration. Every lesson follows the same read, run, change, and explain format.
CEL fundamentals
Understand what a CEL expression is, where its values come from, and how it produces one result.
Values and types
Work with numbers, text, and explicit conversions so that every expression has an unambiguous meaning.
Lists and maps
Read structured data, access items safely, and test whether values are present.
Working with strings
Check text length and content with readable, predictable expressions.
Collection macros
Evaluate list items without manually repeating the same condition.
Time and evaluation
Work with time values and understand the boundary between CEL and the application that uses it.
Composing expressions
Connect transformations, filters, intermediate results, and conditions into a readable data flow.
A simple learning loop.
Every lesson tells you what to do, where to do it, and what result to expect.
Read
Understand one small part of the expression.
Change and run
Edit the expression or its JSON input and run it immediately.
Keep your place
Progress stays in this browser and can be reset at any time.
When syntax is no longer enough
From requirement to rule. From rule to proof.
Build expressions for 24 word problems, then prove them against positive, negative, and boundary cases.
order.active && order.items.all(item, item.price > 0)Bentley ProjectWise environment
PW CEL. Contexts, lookups, extensions, and migration.
Learn what ProjectWise exposes to CEL, inspect all built-in lookup datasets, understand Bentley-specific functions, and compare legacy configurations with PW CEL.
DMS.UsersCELgetLookup('DMS.Users').select()