SlideShare a Scribd company logo
INTO THE BOX 2024
THE NEW ERA OF
MODERN DEVELOPMENT
BLUE ROOM
PRESENTED BY
ANNETTE LISKEY
BUILD A COMPLEX WEB FORM
WITH RULEBOX AND TESTBOX
ANNETTE LISKEY
SPEAKER EN ITB 2024
Web Developer at University of Virginia
A.S., Computer Science
B.A., English
M.Ed., Educational Technology
Current
• Full stack
• Business analysis
• Project management
• ColdFusion + ColdBox
Previous
• ColdFusion MX
• IT/Tech Support
• PHP, WordPress
• Educator
INTO THE BOX 2024
AGENDA
• Introduction
• Concept: Rules Engine
• Proof of Concept
• Real (Fake) Example
• Tips for Success
• References & Questions

Recommended for you

TLC2018 Thomas Haver: The Science of Testing
TLC2018 Thomas Haver: The Science of TestingTLC2018 Thomas Haver: The Science of Testing
TLC2018 Thomas Haver: The Science of Testing

Thomas Haver discusses lessons learned from a career in research science that can be applied to QA, with parallels to industry product quality models. Testing techniques and product delivery processes from research science will aid not just testers but the entire team in delivering quality software. Presentation at Test Leadership Congress 2018. http://testleadershipcongress-ny.com

sciencescientific approachtesting
A missing link in the ML infrastructure stack?
A missing link in the ML infrastructure stack?A missing link in the ML infrastructure stack?
A missing link in the ML infrastructure stack?

Talk at SF Big Analytics Machine learning is quickly becoming a product engineering discipline. Although several new categories of infrastructure and tools have emerged to help teams turn their models into production systems, doing so is still extremely challenging for most companies. In this talk, we survey the tooling landscape and point out several parts of the machine learning lifecycle that are still underserved. We propose a new category of tool that could help alleviate these challenges and connect the fragmented production ML tooling ecosystem. We conclude by discussing similarities and differences between our proposed system and those of a few top companies. Bio: Josh Tobin is the founder and CEO of a stealth machine learning startup. Previously, Josh worked as a deep learning & robotics researcher at OpenAI and as a management consultant at McKinsey. He is also the creator of Full Stack Deep Learning (fullstackdeeplearning.com), the first course focused on the emerging engineering discipline of production machine learning. Josh did his PhD in Computer Science at UC Berkeley advised by Pieter Abbeel.

machine learning infrastructurejosh tobinchester chen
Scope Management
Scope ManagementScope Management
Scope Management

This document provides an overview of scope management for a project. It discusses planning and defining the project scope, creating a work breakdown structure (WBS) and WBS dictionary, and controlling and verifying the project scope. Key aspects of scope management covered include scope planning, developing a project scope statement, stakeholder analysis, and addressing scope creep. The presentation includes examples and a case study to illustrate scope management concepts and best practices.

INTO THE BOX 2024
LEARNING OBJECTIVES
• Define a rules engine
• Write rules for RuleBox
• Write tests to verify the rules (TestBox)
• Use RuleBox to handle conditional logic in a web form
• Accommodate multiple versions of a form with minimal code changes
INTO THE BOX 2024
PROJECT ORIGIN STORY
• A massive PDF
• Up to ~80 possible questions
• Sometimes just 1 question
• Annual requirement for all human subject research
• Like doing taxes, but not as much fun
INTO THE BOX 2024
“Can we make this
into a web form?”
— Everyone Who Used The PDF Form
Conditional Logic
• Always required questions
• Sometimes required questions
• Follow-up items, sometimes optional
Plus
• External data sources
• Changing questions & conditions
• Multiple versions, simultaneously
INTO THE BOX 2024
FORM REQUIREMENTS

Recommended for you

Asking Clarifying Questions in Open-Domain Information-Seeking Conversations
Asking Clarifying Questions in Open-Domain Information-Seeking ConversationsAsking Clarifying Questions in Open-Domain Information-Seeking Conversations
Asking Clarifying Questions in Open-Domain Information-Seeking Conversations

Users often fail to formulate their complex information needs in a single query. As a consequence, they may need to scan multiple result pages or reformulate their queries, which may be a frustrating experience. Alternatively, systems can improve user satisfaction by proactively asking questions of the users to clarify their information needs. Asking clarifying questions is especially important in conversational systems since they can only return a limited number of (often only one) result(s). In this paper, we formulate the task of asking clarifying questions in open-domain information-seeking conversational systems. To this end, we propose an offline evaluation methodology for the task and collect a dataset, called Qulac, through crowdsourcing. Our dataset is built on top of the TREC Web Track 2009-2012 data and consists of over 10K question-answer pairs for 198 TREC topics with 762 facets. Our experiments on an oracle model demonstrate that asking only one good question leads to over 170% retrieval performance improvement in terms of P@1, which clearly demonstrates the potential impact of the task. We further propose a retrieval framework consisting of three components: question retrieval, question selection, and document retrieval. In particular, our question selection model takes into account the original query and previous question-answer interactions while selecting the next question. Our model significantly outperforms competitive baselines. To foster research in this area, we have made Qulac publicly available.

computerinformation technology
How to take the stress out of writing case studies
How to take the stress out of writing case studiesHow to take the stress out of writing case studies
How to take the stress out of writing case studies

Case studies are great sales tools. But how many times have you gotten ready to submit a pitch, and realized you were missing case studies for the projects you want to highlight? You assumed somebody on the team would write one after the projected deployed, but everyone got reassigned to other projects, and it slipped through the cracks, again. And now you are sad. But it doesn’t have to be this way. Learn why we draft our project case studies before writing the first line of code, and how the team uses the case study draft as a quality assurance step to help ensure a successful project outcome.

case studymarketingweb design
06 distance learning standards-qti
06 distance learning standards-qti06 distance learning standards-qti
06 distance learning standards-qti

The document provides an overview of the IMS Question & Test Interoperability (QTI) specification, which describes a data model for representing assessment content and results. QTI allows for the exchange of assessment items between authoring tools, item banks, test builders, and learning systems. It has undergone several versions since 1999 to support additional features like adaptive testing and metadata.

INTO THE BOX 2024
“Maybe I can use RuleBox.”
— Me
INTO THE BOX 2024
RuleBox &
TestBox
Thanks, Ortus!
Concept: Rules Engine
INTO THE BOX 2024
What is a rules engine?
I
m
p
e
r
a
t
i
v
e
P
r
o
g
r
a
m
m
i
n
g
R
u
l
e
s
E
n
g
i
n
e
M
a
c
h
i
n
e
L
e
a
r
n
i
n
g
See: https://www.capitalone.com/tech/machine-learning/rules-vs-machine-learning/
INTO THE BOX 2024

Recommended for you

How to take the stress out of writing case studies
How to take the stress out of writing case studiesHow to take the stress out of writing case studies
How to take the stress out of writing case studies

Case studies are great sales tools. But how many times have you gotten ready to submit a pitch, and realized you were missing case studies for the projects you want to highlight? You assumed somebody on the team would write one after the projected deployed, but everyone got reassigned to other projects, and it slipped through the cracks, again. And now you are sad. But it doesn’t have to be this way. Learn why we draft our project case studies before writing the first line of code, and how the team uses the case study draft as a quality assurance step to help ensure a successful project outcome.

Project Scope Management - PMBOK6
Project Scope Management - PMBOK6Project Scope Management - PMBOK6
Project Scope Management - PMBOK6

The concepts and processes on how to perform project scope management according to PMBOK Guide 6th edition. You'll find key concepts and terms, plan scope management, collect requirements, define scope, create WBS, validate scope, and control scope.

project managementscope
Episode 3 – Classes, Inheritance, Abstract Class, and Interfaces
Episode 3 – Classes, Inheritance, Abstract Class, and InterfacesEpisode 3 – Classes, Inheritance, Abstract Class, and Interfaces
Episode 3 – Classes, Inheritance, Abstract Class, and Interfaces

This document provides an overview of key object-oriented programming concepts in Salesforce including classes, objects, inheritance, abstract classes, and interfaces. It discusses how classes define objects, how to instantiate objects, access specifiers, static methods, inheritance which allows extending existing classes, abstract classes which define common methods, and interfaces which enforce method signatures. Code examples are provided to demonstrate these concepts. The document also recommends books for learning Apex at different skill levels and includes an agenda and rules for the session.

salesforcecloud
INTO THE BOX 2024
• Not a Business Rules Management System with a UI to create rules (Drools)
• Not a UI for web forms with conditional logic (Qualtrics)
• Not a decision table, control table, truth table, etc.
• Decision table could be useful documentation
• Not low code or no code
What is not a rules engine?
• Extract the business logic
• More readable
• Long-term sustainability
• Best if logic is known
INTO THE BOX 2024
Why use a rules engine?
• Many facts in, one result out
• Simple object result
• Based on RuleBook
• Written as “Given-When-Then”
• Plays nice with TestBox
INTO THE BOX 2024
Features of RuleBox
Proof of Concept
INTO THE BOX 2024

Recommended for you

CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010

Slides from my presentation at CodeIgniter Conference 2010 in Bristol in August 2010. What I talked about: - Startups: methodologies & techniques - CodeIgniter: applying what we’ve learned - The future: how could things be better

startupcicon2010codeigniter
Unit Testing Best Practices
Unit Testing Best PracticesUnit Testing Best Practices
Unit Testing Best Practices

This document discusses best practices for unit testing. It addresses common issues like tests that run slowly, are hard to understand, or test the same thing repeatedly. It provides solutions such as grouping test files by criteria and naming conventions to make tests self-documenting. It advises against over-complex mocks and duplicated logic in tests. Tests should be written clearly so others can easily understand what is being tested when debugging or refactoring code. The key messages are to keep tests focused on specific units, refactor tests that become confusing, and make tests self-explanatory through naming and comments.

Exploratory Testing Basics, Experiences, and Future in SSTC2016
Exploratory Testing Basics, Experiences, and Future in SSTC2016Exploratory Testing Basics, Experiences, and Future in SSTC2016
Exploratory Testing Basics, Experiences, and Future in SSTC2016

Some basics of exploratory testing coupled with experiences, hints and tools for exploratory testing, and wrapped up by a view to the future of exploratory testing. Presentation given 19.10.2016 in Soeul, South Korea in SSTC and TMMi international conference 2016.

software testingagile software developmentquality assurance
Simple example
Primary Color Wheel
Source: https://www.britannica.com/science/primary-color#/media/1/476096/269450
INTO THE BOX 2024
PROOF OF CONCEPT
• GIVEN
Two colors
• WHEN
One color is red
Other color is blue
• THEN
Result is violet
INTO THE BOX 2024
PROOF OF CONCEPT
• GIVEN
Two colors (facts)
• WHEN
One color is red
Other color is blue
• THEN
The result is violet
INTO THE BOX 2024
PROOF OF CONCEPT
• GIVEN
Struct of ”facts”
• WHEN
Closure that
evaluates to true
• THEN
Return
a simple value
INTO THE BOX 2024
PROOF OF CONCEPT

Recommended for you

ACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docx
ACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docxACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docx
ACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docx

ACCOUNTING INFORMATION SYSTEMS Access and Data Analytics Test General Instructions. This exam has four parts. Part 1 is in class. Parts 2, 3, and 4 are take-home. Submit all parts to the designated dropbox folder. I expect your individual effort on all parts. Parts 2 to 4 are described in a separate document. Part 1 – Access (50 points). To get full credit, you must set up appropriate relationships among the tables and enforce referential integrity for each link. Your queries must produce the correct values, the fields must by labeled and formatted appropriately, and query designs must not include extraneous tables. In other words, you should follow the list of fundamental rules for Access posted on BeachBoard and included at the end of this document for reference. 1. Download the Fall_2019 database posted in the Access and Data Analytics Test Module under CONTENT on BeachBoard. 2. Ensure that primary keys are set and establish appropriate relationships among the tables: Stores, Vendors, Purchases, and Purchase_Items. Stores and Vendors should be linked to Purchases. Purchases should be linked to Purchase_Items. 3. Prepare the following queries, naming the queries qa, qb, qc, qd, corresponding to the identifying letters below: a. Use the purchase_items table to calculate the dollar amount of each item purchased in an extension query; name your new calculated field purchase_item_amount and format it appropriately. b. Use qa and the purchases table to sum the purchase item amounts for each purchase in an accumulation query; include all fields from the purchases table and the purchase_item_amount field from qa; name your summed field purchase amount and format it appropriately. c. Use qb and the vendors table to sum the purchase amounts from each vendor in another accumulation query; include vendor number, name, city, and state; name your summed field vendor purchases and format it appropriately. d. Use the qb query. Keeping all fields from qb, calculate the month of the purchase; name that field purchase month. BEFORE SUBMITTING, ask me to review your work. After I say that you are done, then submit your file to the BeachBoard DROPBOX. Be sure to close Access before you upload your results. 1 Some Fundamental Rules for Access 1. Look at your tables and think about what information those tables provide before you start linking tables and creating queries. 2. Make sure each table has a primary key designated. 3. Always establish relationships between tables first, before starting queries. 4. Always enforce referential integrity (or understand why you can’t). 5. No “expr1” field names. 6. Do not click on the big sigma to produce totals if the query doesn’t require totals (i.e., an extension query). 7. Avoid “SumOf…” field names in accumulation queries. 8. Include identifying information in addition to the primary key in accumulation queries that provide subtotals. 9. Always format new fields prope.

Building an Applied Science Portfolio
Building an Applied Science PortfolioBuilding an Applied Science Portfolio
Building an Applied Science Portfolio

This document outlines advice for building an applied data science portfolio. It recommends including projects that demonstrate hands-on experience with cloud computing ecosystems, tackle large datasets using distributed computing techniques, integrate different systems to build end-to-end pipelines, and go beyond presentations to write about projects through white papers, blog posts, or books. Specific project ideas are provided in areas like deploying models as APIs, using serverless functions, and building recommendation engines or simulations with big data tools. The goal is to showcase experience and learn new skills through portfolio projects.

Data modeling trends for Analytics
Data modeling trends for AnalyticsData modeling trends for Analytics
Data modeling trends for Analytics

Do we still need a star schema? Should we have a huge data warehouse? This session answers those questions.

sql serverbusiness intelligencedata modeling
• GIVEN
Struct of ”facts”
• WHEN
Closure that
evaluates to true
• EXCEPT
Unless
something else is true
• THEN
Return a simple value
INTO THE BOX 2024
PROOF OF CONCEPT
• Add multiple rules in one function
function defineRules(){
….
}
• Rules are skipped if the when() evaluates to false
• If when() is true, actions in then() occur and affect the result
• If when() is true and stop() is present, no more rules are checked
INTO THE BOX 2024
RuleBox execution
Build a Complex Web Form with RuleBox and TestBox
Beyond two colors
Rules for Secondary and Intermediate Colors
Option 1: More Specific Rules
• Add rules with facts.color3
• Order matters!
More specific = higher placement
• Strategic use of .stop()
INTO THE BOX 2024

Recommended for you

Running with Elephants: Predictive Analytics with HDInsight
Running with Elephants: Predictive Analytics with HDInsightRunning with Elephants: Predictive Analytics with HDInsight
Running with Elephants: Predictive Analytics with HDInsight

Amazon and Twitter do it, Wal-Mart & Facebook too….What about you? Big Data Predictive Analytics is pervasive and with HDInsight it's never been more approachable. In this session you become part of the demo as your clickstream data at our fictional e-commerce website drives user and product recommendations using the built-in Mahout (Taste) algorithms. In this action pack session, real-world and practical solutions for moving data into and out of HDFS (with Sqoop), using Mongo or HBase as a source/destination and of course handling Mahout processing in distributive mode will all be covered.

recommendation enginemahoutpredictive analytics
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...

Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adobe ColdFusion Summit 2018 by Uma Ghotikar

Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI

Sami provided a beginner-friendly introduction to Amazon Web Services (AWS), covering essential terms, products, and services for cloud deployment. Participants explored AWS' latest Gen AI offerings, making it accessible for those starting their cloud journey or integrating AI into coding practices.

cfmlcoldfusionboxlang
Call the Rules
INTO THE BOX 2024
Rules File in
Models
INTO THE BOX 2024
WireBox injection
Inside the component, outside the functions
INTO THE BOX 2024
Build the facts, call the rules
Give a struct, get a component
INTO THE BOX 2024

Recommended for you

How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours

Explore the rapid development journey of TryBoxLang, completed in just 48 hours. This session delves into the innovative process behind creating TryBoxLang, a platform designed to showcase the capabilities of BoxLang by Ortus Solutions. Discover the challenges, strategies, and outcomes of this accelerated development effort, highlighting how TryBoxLang provides a practical introduction to BoxLang's features and benefits.

coldfusioncfmladobe
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud

Are you wondering how to migrate to the Cloud? At the ITB session, we addressed the challenge of managing multiple ColdFusion licenses and AWS EC2 instances. Discover how you can consolidate with just one EC2 instance capable of running over 50 apps using CommandBox ColdFusion. This solution supports both ColdFusion flavors and includes cb-websites, a GoLang binary for managing CommandBox websites.

coldfusioncfmlwebsite
BoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and DebuggerBoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and Debugger

Discover BoxLang, the innovative JVM programming language developed by Ortus Solutions. Designed to harness the power of the Java Virtual Machine, BoxLang offers a modern approach to application development with robust performance and scalability. Join us as we explore the capabilities of BoxLang, its syntax, and how it enhances productivity in software development.

vscodecodingcfml
Results, the value
writedump( theResults.getResult() )
INTO THE BOX 2024
Results, the component
writedump( theResults )
INTO THE BOX 2024
Troubleshoot the rules
writedump( theResults.getRuleStatusMap() )
• NONE: Rule not checked
• SKIPPED: when() was false
• EXECUTED: when() was true,
then() actions executed
• STOPPED: when() was true,
then() actions executed,
no more rules checked
INTO THE BOX 2024
Test the Rules
INTO THE BOX 2024

Recommended for you

How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...

Unlock the secrets of seamless ColdFusion error troubleshooting! Join us to explore the potent capabilities of Visual Studio Code (VS Code) and ColdFusion Builder (CF Builder) in debugging. This hands-on session guides you through practical techniques tailored for local setups, ensuring a smooth and efficient development experience.

builderdebugcoldfusion
Web Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox ProWeb Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox Pro

CommandBox was highlighted as a powerful web hosting solution, perfect for developers and businesses alike. Featuring a built-in server and command-line interface, CommandBox simplified web application management. Developers could deploy multiple application instances simultaneously, optimizing development workflows. CommandBox's efficient deployment processes ensured reliable web hosting, seamlessly integrating into existing workflows for scalability and feature enhancements.

commandboxcommandbox procfml
Revolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBoxRevolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBox

Join me for an insightful journey into task scheduling within the ColdBox framework. In this session, we explored how to effortlessly create and manage scheduled tasks directly in your code, enhancing control and efficiency in applications and modules. Attendees experienced a user-friendly dashboard for seamless task management and monitoring. Whether you're experienced with ColdBox or new to it, this session provided practical knowledge and tips to streamline your development workflow.

cfmlcoldfusioncoldbox
Define your test cases
• Does the result exist?
• Is it the expected format?
• Is it the expected value?
• Test at least one wrong answer
red + blue not equal orange
INTO THE BOX 2024
Test case matrix
INTO THE BOX 2024
Test Code in
Tests Folder
INTO THE BOX 2024
Code: 1 unit test, 1 expectation
INTO THE BOX 2024

Recommended for you

Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS

In this session, we explored how the cbfs module empowers developers to abstract and manage file systems seamlessly across their lifecycle. From local development to S3 deployment and customized media providers requiring authentication, cbfs offers flexible solutions. We discussed how cbfs simplifies file handling with enhanced workflow efficiency compared to native methods, along with practical tips to accelerate complex file operations in your projects.

softwaretechnologycoldfusion
How to Break Your App with Playwright Tests
How to Break Your App with Playwright TestsHow to Break Your App with Playwright Tests
How to Break Your App with Playwright Tests

In this session, we explored setting up Playwright, an end-to-end testing tool for simulating browser interactions and running TestBox tests. Participants learned to configure Playwright for applications, simulate user interactions to stress-test forms, and handle scenarios like taking screenshots, recording sessions, capturing Chrome dev tools traces, testing login failures, and managing broken JavaScript. The session also covered using Playwright with non-ColdBox sites, providing practical insights into enhancing testing capabilities.

testingboxlangcfml
Securing Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecuritySecuring Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecurity

Discover Passkeys, the next evolution in secure login methods that eliminate traditional password vulnerabilities. Learn about the CBSecurity Passkeys module's installation, configuration, and integration into your application to enhance security.

cfmlcoldfusionwebsite
Results: 1 unit test, 1 expectation
INTO THE BOX 2024
Code: More unit tests
Results: More unit tests
INTO THE BOX 2024
Code: Multiple expectations
INTO THE BOX 2024

Recommended for you

Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?

In this session, we discussed the critical need for comprehensive backups across all aspects of our industry—from code and databases to webservers, file servers, and network configurations. Emphasizing the importance of proactive measures, attendees were urged to ensure their backup systems were tested through restoration processes. The session underscored the risk of discovering backup issues only during crises, highlighting the necessity of verifying backup integrity through restoration tests.

cfmlcoldfusionjava
Design system: The basis for a consistent design
Design system: The basis for a consistent designDesign system: The basis for a consistent design
Design system: The basis for a consistent design

Participants explored how visual and functional coherence strengthened brand identity and streamlined development in this session. They learned to maintain consistency across platforms and enhance user experiences using Design Systems. Ideal for brand designers, UI/UX designers, developers, and product managers who sought to optimize efficiency and ensure consistency across projects.

coldfusioncfmladobe
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...

Explore the latest in ColdBox Debugger v4.2.0, featuring the Hyper Collector for HTTP/S request tracking, Lucee SQL Collector for query profiling, and Heap Dump Support for memory leak debugging. Enhancements like the revamped Request Dock and improved SQL/JSON formatting streamline debugging for optimal ColdBox application performance and stability. Ideal for developers familiar with ColdBox, this session focuses on leveraging advanced debugging tools to enhance development efficiency.

cfmlcoldfusionboxlang
Results: Multiple expectations
INTO THE BOX 2024
Real (Fake) Example
INTO THE BOX 2024
Build a Complex Web Form with RuleBox and TestBox
• Not my project, just a good example of PDF to web
• Some questions are always shown
• Some questions skipped based on prior answers
• PDF and Web Form Prototypes from USDA:
https://www.fns.usda.gov/cn/revised-prototype-application-free-reduced-pric
e-school-meals
INTO THE BOX 2024
Application for free lunch (USDA)

Recommended for you

How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?

Thinking about freelancing? It's not just about coding solo and avoiding coworkers. Join me as I share insights from my 15-year freelance journey, covering everything from managing invoices to client communication styles. This session blends ColdFusion-specific tips with general freelance and consulting advice, with time for audience Q&A.

cfmlcoldfusionsoftware
What’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdfWhat’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdf

Content templates, CBFS, Redirects, and Coldbox 7, oh my! ContentBox 6 is the game-changing new release for the ContentBox CMS platform. In this session, we'll discuss all of the new goodness added in the release, as well as show the many ways in which your single or multi-site ContentBox instance just became more powerful and flexible.

cfmlcoldfusionwebsite
cbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortuscbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortus

Almost every application has tasks or jobs that are better suited to the background, and cbqmakes it easier and traceable to manage those jobs. cbq can scale from simple background tasks to a database to any message queue provider. Come learn how to get started with background tasks in your application.

cfmlsoftwarecoldfusion
• Create a form_template
• Create all possible questions
• A form entity for each lunch application
• Each form has answers
• Each form has question_shown
INTO THE BOX 2024
General object map
Build a Complex Web Form with RuleBox and TestBox
• Create new form entity for each submission
• Each form related to a form_template
• A question_shown record for every potential question
• Set showQuestion property for each question_shown (some always shown)
• As answers are saved, re-evaluate the showQuestion properties
• Use RuleBox to do the evaluation
INTO THE BOX 2024
General workflow
• The results will be whether a dependent question is required
• The facts are the answers needed to make that determination
• Example:
Case number is required if any assistance program is true
The question to check is caseNumber
The fact needed is the answer to isAssistance
The result is true (caseNumber is required) if isAssistance is true
INTO THE BOX 2024
RuleBox evaluates conditional questions

Recommended for you

Demonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and LuceeDemonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and Lucee

Building on his 2021 ITB presentation, "Monitoring Solutions for CF and Lucee," Charlie now focuses on practical demonstrations of these tools. Discover key observations and metrics for troubleshooting, tuning, and receiving alerts. Gain insights into the evolution of these tools since the last talk, drawn from Charlie's extensive experience assisting users with server, container, and CommandBox environments.

boxlangcfmlcoldfusion
Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!

we delve into the power of headless CMS—a versatile solution separating content creation from presentation. Explore its benefits: multi-channel delivery, accelerated time-to-market, content reusability, scalability, technology flexibility, and enhanced security. Discover how headless CMS transforms digital content management, empowering efficient and flexible content delivery across diverse platforms.

softwarecoldfusioncfml
Reactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus SolutionsReactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus Solutions

In this session, developers explored CBWIRE, a ColdBox module that simplifies modern, reactive CFML app development without JavaScript frameworks like Vue or React. Attendees learned its usage, benefits, and the new features introduced in CBWIRE version 4, designed based on community feedback. The session catered to developers familiar with ColdBox and CFML, offering practical insights and guidance for leveraging CBWIRE effectively in their projects.

cfmlcoldfusionboxlang
Rules: Case number question
INTO THE BOX 2024
Code: Call the rules
INTO THE BOX 2024
• Abstract code so one function works for all questions
• Only evaluate showQuestion for the conditional questions
Skip questions that are always shown
Skip questions that are constant (external data)
• Only evaluate when the saved answer matters
Skip answers that are not conditional factors
• Put all and only the relevant data in the facts struct
INTO THE BOX 2024
Refined workflow
Analyze the
Conditional Questions
INTO THE BOX 2024

Recommended for you

Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...

Explore how to build scalable, serverless event-driven applications using AWS Lambda powered by BoxLang. This session dives into leveraging Lambda's capabilities to handle event-driven computing efficiently. Whether new to serverless architecture or looking to enhance your skills, join us to learn practical insights and techniques for optimizing application performance and scalability.

computinglambdaaws
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation

ENISA Threat Landscape 2023

Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx

Taskroup is the leading project management tool designed to streamline your workflow and boost productivity. Try it now! https://taskroup.com/about/

leading project management
• Identify the questions that are conditional
“Show this question? It depends”
• Include all the necessary conditions in the facts struct
“Show this question? It depends on x, y, and z.”
INTO THE BOX 2024
Goal
• Look for conditional questions
A question that is only shown depending on answers to other questions
• Look for conditional factors
The answers/other data that influences the conditional question
• Create a related questions object
INTO THE BOX 2024
Option 1: Identify dependent relationships
Conditional Question Conditional Factors
Case Number Assistance Program
Income Frequency Any Income of That Type
• Create question groups object
All functionally related questions – independent and dependent
Include any data from external sources (they’re just questions)
INTO THE BOX 2024
Option 2: Identify question groups
Question Group 1 Question Group 2
is_SNAP has_work_income
is_TANF frequency_work_income
is_FDPIR
case_number
• Combination of related questions and question groups
• Potential conditional question groups
• Analyze the form content to determine the right option
INTO THE BOX 2024
Other Options

Recommended for you

Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits

Efficient hot work permit software for safe, streamlined work permit management and compliance. Enhance safety today. Contact us on +353 214536034. https://sheqnetwork.com/work-permit/

hot work permit softwarework permit softwaresafe work permit software
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理

原版一模一样【微信:741003700 】【英国牛津大学毕业证(oxon毕业证书)成绩单】【微信:741003700 】学位证,留信学历认证(���实可查,永久存档)原件一模一样纸张工艺/offer、在读证明、外壳等材料/诚信可靠,可直接看成品样本,帮您解决无法毕业带来的各种难题!外壳,原版制作,诚信可靠,可直接看成品样本。行业标杆!精益求精,诚心合作,真诚制作!多年品质 ,按需精细制作,24小时接单,全套进口原装设备。十五年致力于帮助留学生解决难题,包您满意。 本公司拥有海外各大学样板无数,能完美还原。 1:1完美还原海外各大学毕业材料上的工艺:水印,阴影底纹,钢印LOGO烫金烫银,LOGO烫金烫银复合重叠。文字图案浮雕、激光镭射、紫外荧光、温感、复印防伪等防伪工艺。材料咨询办理、认证咨询办理请加学历顾问Q/微741003700 【主营项目】 一.毕业证【q微741003700】成绩单、使馆认证、教育部认证、雅思托福成绩单、学生卡等! 二.真实使馆公证(即留学回国人员证明,不成功不收费) 三.真实教育部学历学位认证(教育部存档!教育部留服网站永久可查) 四.办理各国各大学文凭(一对一专业服务,可全程监控跟踪进度) 如果您处于以下几种情况: ◇在校期间,因各种原因未能顺利毕业……拿不到官方毕业证【q/微741003700】 ◇面对父母的压力,希望尽快拿到; ◇不清楚认证流程以及材料该如何准备; ◇回国时间很长,忘记办理; ◇回国马上就要找工作,办给用人单位看; ◇企事业单位必须要求办理的 ◇需要报考公务员、购买免税车、落转户口 ◇申请留学生创业基金 留信网认证的作用: 1:该专业认证可证明留学生真实身份 2:同时对留学生所学专业登记给予评定 3:国家专业人才认证中心颁发入库证书 4:这个认证书并且可以归档倒地方 5:凡事获得留信网入网的信息将会逐步更新到个人身份内,将在公安局网内查询个人身份证信息后,同步读取人才网入库信息 6:个人职称评审加20分 7:个人信誉贷款加10分 8:在国家人才网主办的国家网络招聘大会中纳入资料,供国家高端企业选择人才 办理英国牛津大学毕业证(oxon毕业证书)【微信:741003700 】外观非常简单,由纸质材料制成,上面印有校徽、校名、毕业生姓名、专业等信息。 办理英国牛津大学毕业证(oxon毕业证书)【微信:741003700 】格式相对统一,各专业都有相应的模板。通常包括以下部分: 校徽:象征着学校的荣誉和传承。 校名:学校英文全称 授予学位:本部分将注明获得���具体学位名称。 毕业生姓名:这是最重要的信息之一,标志着该证书是由特定人员获得的。 颁发日期:这是毕业正式生效的时间,也代表着毕业生学业的结束。 其他信息:根据不同的专业和学位,可能会有一些特定的信息或章节。 办理英国牛津大学毕业证(oxon毕业证书)【微信:741003700 】价值很高,需要妥善保管。一般来说,应放置在安全、干燥、防潮的地方,避免长时间暴露在阳光下。如需使用,最好使用复印件而不是原件,以免丢失。 综上所述,办理英国牛津大学毕业证(oxon毕业证书)【微信:741003700 】是证明身份和学历的高价值文件。外观简单庄重,格式统一,包括重要的个人信息和发布日期。对持有人来说,妥善保管是非常重要的。

英国牛津大学毕业证(oxon毕业证书)
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf

Explore the craft of program and project management, hearing from Atlassian Program Managers, local thought leaders, and more.

project managementpmoatlassian community
Algorithm, part 1
Save answer, build facts
• Only after saving an answer that affects a condition question
• Gather all the questions in that answer’s question group in an array
• For each question in question group array
Get the current answer to that question
Append it to facts struct as a struct (struct of structs)
INTO THE BOX 2024
Key Value
Question Slug Answer Value
isAssistance true
Build a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBox
Algorithm, part 2
Save answer, build facts
• For each question in the questionGroup array (again)
• If it’s a conditional question
• Append to the facts struct
question_to_check : [this_question_slug]
• Call the rules with the current facts struct
• Results tell you if the current question (“question_to_check”) is required
• Update showQuestion property in current question’s question_shown entity
INTO THE BOX 2024

Recommended for you

ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf

Ansys Mechanical enables you to solve complex structural engineering problems and make better, faster design decisions. With the finite element analysis (FEA) solvers available in the suite, you can customize and automate solutions for your structural mechanics problems and parameterize them to analyze multiple design scenarios. Ansys Mechanical is a dynamic tool that has a complete range of analysis tools.

mechanical engineeringsoftware3d software
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System

Your project needs and long-term objectives will ultimately choose which of React Native and Flutter to use. For applications using JavaScript and current web technologies in particular, React Native is a mature and trustworthy choice. For projects that value performance and customizability across many platforms, Flutter, on the other hand, provides outstanding performance and a unified UI development experience.

mobile app developmentreact native vs fluttermobile app design
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf

dachnug51 | Whats new in domino 14+ | Daniel Nashed

dnugdachnugdachnug51
Build a Complex Web Form with RuleBox and TestBox
Rules are Specific,
Calling Rules is Abstract
INTO THE BOX 2024
Extra credit: determine eligibility
RuleBox can do math!
INTO THE BOX 2024
Tips for Success
INTO THE BOX 2024

Recommended for you

Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf

What do fleet managers do? What are their duties, responsibilities, and challenges? And what makes a fleet manager effective and successful? This blog answers all these questions.

fleet managersresponsibilities of fleet mana
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf

dachnug51 | HCL Sametime 12 as a Software Appliance | Erik Schwalb

dnugdachnugdachnug51
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...

Ansys Mechanical enables you to solve complex structural engineering problems and make better, faster design decisions. With the finite element analysis (FEA) solvers available in the suite, you can customize and automate solutions for your structural mechanics problems and parameterize them to analyze multiple design scenarios. Ansys Mechanical is a dynamic tool that has a complete range of analysis tools.

mechanical engineeringmodelling software3d modelling software
• Essential if moving from PDF
• Communicate mental models
• Solidify question format
• Identify opportunities for improvement
INTO THE BOX 2024
Prototype!
Option 1: Same as the PDF
Prototype of assistance question
INTO THE BOX 2024
Option 2: Better than the PDF
Prototype of assistance question
INTO THE BOX 2024
Prototype to M.V.P.
Minimum Viable Product
• Goal is to build a shared mental model
• As low-fidelity as possible
• UX tools support branching, but do you need it?
• Even a PowerPoint will do
• Make the conditionals obvious
INTO THE BOX 2024

Recommended for you

active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx

Active Directory Audit

Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...

Unlock the full potential of mobile monitoring with ONEMONITAR. Our advanced and discreet app offers a comprehensive suite of features, including hidden call recording, real-time GPS tracking, message monitoring, and much more. Perfect for parents, employers, and anyone needing a reliable solution, ONEMONITAR ensures you stay informed and in control. Explore the key features of ONEMONITAR and see why it’s the trusted choice for Android device monitoring. Share this infographic to spread the word about the ultimate mobile spy app!

hidden mobile spy appmobile spy app for parentsmobile spy app for android
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx

Enhance the top 9 user pain points with effective visual design elements to improve user experience & satisfaction. Learn the best design strategies

#ui visual designrecruitmentux
Make the conditions obvious
K.I.S.S.
INTO THE BOX 2024
Use Question Slugs
INTO THE BOX 2024
Question slugs (for brain slugs)
Human-friendly alternate ids
• Short phrase to identify a question
• Property on question object but not the primary key
• Makes the rules and tests more readable
• Reduces cognitive load for developers
• Useful for versioning
INTO THE BOX 2024
Use Form Templates
INTO THE BOX 2024

Recommended for you

Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx

Splunk Presentation

Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …

Prada Group Reports Strong Growth in First Quarter …

Overview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptxOverview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptx

This PowerPoint presentation provides a comprehensive overview of Enterprise Resource Planning (ERP) systems. It covers the fundamental concepts, benefits, and key functionalities of ERP software, illustrating how it integrates various business processes into a unified system. From finance and HR to supply chain and customer relationship management, ERP facilitates efficient data management and decision-making across organizations. Whether you're new to ERP or looking to deepen your understanding, this presentation offers valuable insights into leveraging ERP for business success.

erp development serviceserp software developmenterp software services
Form templates for versioning
• New form version = new form template
• New template = new question entities
• Minor question change? Same question slug
• Same slugs = same rules, same tests
• Examples:
One form is a subset of another form’s questions
Minor change to wording of a question (“minors” vs “minors and neonates”)
INTO THE BOX 2024
Helpful links
• RuleBox: https://github.com/coldbox-modules/rulebox
• TestBox: https://github.com/Ortus-Solutions/TestBox
• Rules Engine vs. Machine Learning:
https://www.capitalone.com/tech/machine-learning/rules-vs-machine-learnin
g/
• USDA Lunch Application Prototype:
https://www.fns.usda.gov/cn/revised-prototype-application-free-reduced-pric
e-school-meals
• Demo Code: https://github.com/brufftech/rulebox-demo
INTO THE BOX 2024
This is the end
Annette Liskey
INTO THE BOX 2024
INTO THE
BOX 2024
THANK YOU TO
OUR
SPONSORS
INTO THE BOX 2024

Recommended for you

A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf

A robust software testing strategy encompassing functional and non-functional testing is fundamental for development teams. These twin pillars are essential for ensuring the success of your applications. But why are they so critical? Functional testing rigorously examines the application's processes against predefined requirements, ensuring they align seamlessly. Conversely, non-functional testing evaluates performance and reliability under load, enhancing the end-user experience.

non functional testingfunctional testing
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company

NBFC Software: Optimize Your Non-Banking Financial Company Enhance Your Financial Services with Comprehensive NBFC Software NBFC software provides a complete solution for non-banking financial companies, streamlining banking and accounting functions to reduce operational costs. Our software is designed to meet the diverse needs of NBFCs, including investment banks, insurance companies, and hedge funds. Key Features of NBFC Software: Centralized Database: Facilitates inter-branch collaboration and smooth operations with a unified platform. Automation: Simplifies loan lifecycle management and account maintenance, ensuring efficient delivery of financial services. Customization: Highly customizable to fit specific business needs, offering flexibility in managing various loan types such as home loans, mortgage loans, personal loans, and more. Security: Ensures safe and secure handling of financial transactions and sensitive data. User-Friendly Interface: Designed to be intuitive and easy to use, reducing the learning curve for employees. Cost-Effective: Reduces the need for additional manpower by automating tasks, making it a budget-friendly solution. Benefits of NBFC Software: Go Paperless: Transition to a fully digital operation, eliminating offline work. Transparency: Enables managers and executives to monitor various points of the banking process easily. Defaulter Tracking: Helps track loan defaulters, maintaining a healthy loan management system. Increased Accessibility: Cutting-edge technology increases the accessibility and usability of NBFC operations. Request a Demo Now!

nbfc softwarenbfc software solutionsnbfc software company
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.

Shivam Pandit Php Web Dveloper

phpmysqlsql

More Related Content

Similar to Build a Complex Web Form with RuleBox and TestBox

Meth0D0L0G1_P3n3L!t!@n sOsiAl eKonoMi_ pErTaNiAn
Meth0D0L0G1_P3n3L!t!@n sOsiAl eKonoMi_ pErTaNiAnMeth0D0L0G1_P3n3L!t!@n sOsiAl eKonoMi_ pErTaNiAn
Meth0D0L0G1_P3n3L!t!@n sOsiAl eKonoMi_ pErTaNiAn
RosmalahUMK
 
Software design with Domain-driven design
Software design with Domain-driven design Software design with Domain-driven design
Software design with Domain-driven design
Allan Mangune
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
Amazon Web Services
 
TLC2018 Thomas Haver: The Science of Testing
TLC2018 Thomas Haver: The Science of TestingTLC2018 Thomas Haver: The Science of Testing
TLC2018 Thomas Haver: The Science of Testing
Anna Royzman
 
A missing link in the ML infrastructure stack?
A missing link in the ML infrastructure stack?A missing link in the ML infrastructure stack?
A missing link in the ML infrastructure stack?
Chester Chen
 
Scope Management
Scope ManagementScope Management
Scope Management
Sean Rezvani
 
Asking Clarifying Questions in Open-Domain Information-Seeking Conversations
Asking Clarifying Questions in Open-Domain Information-Seeking ConversationsAsking Clarifying Questions in Open-Domain Information-Seeking Conversations
Asking Clarifying Questions in Open-Domain Information-Seeking Conversations
Mohammad Aliannejadi
 
How to take the stress out of writing case studies
How to take the stress out of writing case studiesHow to take the stress out of writing case studies
How to take the stress out of writing case studies
DesignHammer
 
06 distance learning standards-qti
06 distance learning standards-qti06 distance learning standards-qti
06 distance learning standards-qti
宥均 林
 
How to take the stress out of writing case studies
How to take the stress out of writing case studiesHow to take the stress out of writing case studies
How to take the stress out of writing case studies
DesignHammer
 
Project Scope Management - PMBOK6
Project Scope Management - PMBOK6Project Scope Management - PMBOK6
Project Scope Management - PMBOK6
Agus Suhanto
 
Episode 3 – Classes, Inheritance, Abstract Class, and Interfaces
Episode 3 – Classes, Inheritance, Abstract Class, and InterfacesEpisode 3 – Classes, Inheritance, Abstract Class, and Interfaces
Episode 3 – Classes, Inheritance, Abstract Class, and Interfaces
Jitendra Zaa
 
CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010
Joel Gascoigne
 
Unit Testing Best Practices
Unit Testing Best PracticesUnit Testing Best Practices
Unit Testing Best Practices
Tomaš Maconko
 
Exploratory Testing Basics, Experiences, and Future in SSTC2016
Exploratory Testing Basics, Experiences, and Future in SSTC2016Exploratory Testing Basics, Experiences, and Future in SSTC2016
Exploratory Testing Basics, Experiences, and Future in SSTC2016
Kari Kakkonen
 
ACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docx
ACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docxACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docx
ACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docx
SALU18
 
Building an Applied Science Portfolio
Building an Applied Science PortfolioBuilding an Applied Science Portfolio
Building an Applied Science Portfolio
Ben Weber
 
Data modeling trends for Analytics
Data modeling trends for AnalyticsData modeling trends for Analytics
Data modeling trends for Analytics
Ike Ellis
 
Running with Elephants: Predictive Analytics with HDInsight
Running with Elephants: Predictive Analytics with HDInsightRunning with Elephants: Predictive Analytics with HDInsight
Running with Elephants: Predictive Analytics with HDInsight
Chris Price
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Uma Ghotikar
 

Similar to Build a Complex Web Form with RuleBox and TestBox (20)

Meth0D0L0G1_P3n3L!t!@n sOsiAl eKonoMi_ pErTaNiAn
Meth0D0L0G1_P3n3L!t!@n sOsiAl eKonoMi_ pErTaNiAnMeth0D0L0G1_P3n3L!t!@n sOsiAl eKonoMi_ pErTaNiAn
Meth0D0L0G1_P3n3L!t!@n sOsiAl eKonoMi_ pErTaNiAn
 
Software design with Domain-driven design
Software design with Domain-driven design Software design with Domain-driven design
Software design with Domain-driven design
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
 
TLC2018 Thomas Haver: The Science of Testing
TLC2018 Thomas Haver: The Science of TestingTLC2018 Thomas Haver: The Science of Testing
TLC2018 Thomas Haver: The Science of Testing
 
A missing link in the ML infrastructure stack?
A missing link in the ML infrastructure stack?A missing link in the ML infrastructure stack?
A missing link in the ML infrastructure stack?
 
Scope Management
Scope ManagementScope Management
Scope Management
 
Asking Clarifying Questions in Open-Domain Information-Seeking Conversations
Asking Clarifying Questions in Open-Domain Information-Seeking ConversationsAsking Clarifying Questions in Open-Domain Information-Seeking Conversations
Asking Clarifying Questions in Open-Domain Information-Seeking Conversations
 
How to take the stress out of writing case studies
How to take the stress out of writing case studiesHow to take the stress out of writing case studies
How to take the stress out of writing case studies
 
06 distance learning standards-qti
06 distance learning standards-qti06 distance learning standards-qti
06 distance learning standards-qti
 
How to take the stress out of writing case studies
How to take the stress out of writing case studiesHow to take the stress out of writing case studies
How to take the stress out of writing case studies
 
Project Scope Management - PMBOK6
Project Scope Management - PMBOK6Project Scope Management - PMBOK6
Project Scope Management - PMBOK6
 
Episode 3 – Classes, Inheritance, Abstract Class, and Interfaces
Episode 3 – Classes, Inheritance, Abstract Class, and InterfacesEpisode 3 – Classes, Inheritance, Abstract Class, and Interfaces
Episode 3 – Classes, Inheritance, Abstract Class, and Interfaces
 
CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010
 
Unit Testing Best Practices
Unit Testing Best PracticesUnit Testing Best Practices
Unit Testing Best Practices
 
Exploratory Testing Basics, Experiences, and Future in SSTC2016
Exploratory Testing Basics, Experiences, and Future in SSTC2016Exploratory Testing Basics, Experiences, and Future in SSTC2016
Exploratory Testing Basics, Experiences, and Future in SSTC2016
 
ACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docx
ACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docxACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docx
ACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docx
 
Building an Applied Science Portfolio
Building an Applied Science PortfolioBuilding an Applied Science Portfolio
Building an Applied Science Portfolio
 
Data modeling trends for Analytics
Data modeling trends for AnalyticsData modeling trends for Analytics
Data modeling trends for Analytics
 
Running with Elephants: Predictive Analytics with HDInsight
Running with Elephants: Predictive Analytics with HDInsightRunning with Elephants: Predictive Analytics with HDInsight
Running with Elephants: Predictive Analytics with HDInsight
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
 

More from Ortus Solutions, Corp

Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
Ortus Solutions, Corp
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
Ortus Solutions, Corp
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
Ortus Solutions, Corp
 
BoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and DebuggerBoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and Debugger
Ortus Solutions, Corp
 
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
Ortus Solutions, Corp
 
Web Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox ProWeb Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox Pro
Ortus Solutions, Corp
 
Revolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBoxRevolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBox
Ortus Solutions, Corp
 
Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS
Ortus Solutions, Corp
 
How to Break Your App with Playwright Tests
How to Break Your App with Playwright TestsHow to Break Your App with Playwright Tests
How to Break Your App with Playwright Tests
Ortus Solutions, Corp
 
Securing Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecuritySecuring Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecurity
Ortus Solutions, Corp
 
Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?
Ortus Solutions, Corp
 
Design system: The basis for a consistent design
Design system: The basis for a consistent designDesign system: The basis for a consistent design
Design system: The basis for a consistent design
Ortus Solutions, Corp
 
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
Ortus Solutions, Corp
 
How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?
Ortus Solutions, Corp
 
What’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdfWhat’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdf
Ortus Solutions, Corp
 
cbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortuscbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortus
Ortus Solutions, Corp
 
Demonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and LuceeDemonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and Lucee
Ortus Solutions, Corp
 
Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!
Ortus Solutions, Corp
 
Reactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus SolutionsReactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus Solutions
Ortus Solutions, Corp
 
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Ortus Solutions, Corp
 

More from Ortus Solutions, Corp (20)

Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
 
BoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and DebuggerBoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and Debugger
 
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
 
Web Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox ProWeb Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox Pro
 
Revolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBoxRevolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBox
 
Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS
 
How to Break Your App with Playwright Tests
How to Break Your App with Playwright TestsHow to Break Your App with Playwright Tests
How to Break Your App with Playwright Tests
 
Securing Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecuritySecuring Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecurity
 
Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?
 
Design system: The basis for a consistent design
Design system: The basis for a consistent designDesign system: The basis for a consistent design
Design system: The basis for a consistent design
 
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
 
How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?
 
What’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdfWhat’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdf
 
cbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortuscbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortus
 
Demonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and LuceeDemonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and Lucee
 
Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!
 
Reactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus SolutionsReactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus Solutions
 
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
 

Recently uploaded

ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
sofiafernandezon
 
Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx
taskroupseo
 
Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
sheqnetworkmarketing
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
avufu
 
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf
AUGNYC
 
ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf
sachin chaurasia
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
SSTech System
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
DNUG e.V.
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Trackobit
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
DNUG e.V.
 
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...
sachin chaurasia
 
active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
sudsdeep
 
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
onemonitarsoftware
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Sparity1
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
sudsdeep
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
908dutch
 
Overview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptxOverview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptx
Mitchell Marsh
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
kalichargn70th171
 
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Softwares
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
shivamt017
 

Recently uploaded (20)

ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
 
Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx
 
Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
 
一比���原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
 
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf
 
ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
 
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...
 
active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
 
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
 
Overview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptxOverview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptx
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
 
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
 

Build a Complex Web Form with RuleBox and TestBox

  • 1. INTO THE BOX 2024 THE NEW ERA OF MODERN DEVELOPMENT
  • 2. BLUE ROOM PRESENTED BY ANNETTE LISKEY BUILD A COMPLEX WEB FORM WITH RULEBOX AND TESTBOX
  • 3. ANNETTE LISKEY SPEAKER EN ITB 2024 Web Developer at University of Virginia A.S., Computer Science B.A., English M.Ed., Educational Technology Current • Full stack • Business analysis • Project management • ColdFusion + ColdBox Previous • ColdFusion MX • IT/Tech Support • PHP, WordPress • Educator
  • 4. INTO THE BOX 2024 AGENDA • Introduction • Concept: Rules Engine • Proof of Concept • Real (Fake) Example • Tips for Success • References & Questions
  • 5. INTO THE BOX 2024 LEARNING OBJECTIVES • Define a rules engine • Write rules for RuleBox • Write tests to verify the rules (TestBox) • Use RuleBox to handle conditional logic in a web form • Accommodate multiple versions of a form with minimal code changes
  • 6. INTO THE BOX 2024 PROJECT ORIGIN STORY • A massive PDF • Up to ~80 possible questions • Sometimes just 1 question • Annual requirement for all human subject research • Like doing taxes, but not as much fun
  • 7. INTO THE BOX 2024 “Can we make this into a web form?” — Everyone Who Used The PDF Form
  • 8. Conditional Logic • Always required questions • Sometimes required questions • Follow-up items, sometimes optional Plus • External data sources • Changing questions & conditions • Multiple versions, simultaneously INTO THE BOX 2024 FORM REQUIREMENTS
  • 9. INTO THE BOX 2024 “Maybe I can use RuleBox.” — Me
  • 10. INTO THE BOX 2024 RuleBox & TestBox Thanks, Ortus!
  • 12. What is a rules engine? I m p e r a t i v e P r o g r a m m i n g R u l e s E n g i n e M a c h i n e L e a r n i n g See: https://www.capitalone.com/tech/machine-learning/rules-vs-machine-learning/ INTO THE BOX 2024
  • 13. INTO THE BOX 2024 • Not a Business Rules Management System with a UI to create rules (Drools) • Not a UI for web forms with conditional logic (Qualtrics) • Not a decision table, control table, truth table, etc. • Decision table could be useful documentation • Not low code or no code What is not a rules engine?
  • 14. • Extract the business logic • More readable • Long-term sustainability • Best if logic is known INTO THE BOX 2024 Why use a rules engine?
  • 15. • Many facts in, one result out • Simple object result • Based on RuleBook • Written as “Given-When-Then” • Plays nice with TestBox INTO THE BOX 2024 Features of RuleBox
  • 16. Proof of Concept INTO THE BOX 2024
  • 17. Simple example Primary Color Wheel Source: https://www.britannica.com/science/primary-color#/media/1/476096/269450 INTO THE BOX 2024 PROOF OF CONCEPT
  • 18. • GIVEN Two colors • WHEN One color is red Other color is blue • THEN Result is violet INTO THE BOX 2024 PROOF OF CONCEPT
  • 19. • GIVEN Two colors (facts) • WHEN One color is red Other color is blue • THEN The result is violet INTO THE BOX 2024 PROOF OF CONCEPT
  • 20. • GIVEN Struct of ”facts” • WHEN Closure that evaluates to true • THEN Return a simple value INTO THE BOX 2024 PROOF OF CONCEPT
  • 21. • GIVEN Struct of ”facts” • WHEN Closure that evaluates to true • EXCEPT Unless something else is true • THEN Return a simple value INTO THE BOX 2024 PROOF OF CONCEPT
  • 22. • Add multiple rules in one function function defineRules(){ …. } • Rules are skipped if the when() evaluates to false • If when() is true, actions in then() occur and affect the result • If when() is true and stop() is present, no more rules are checked INTO THE BOX 2024 RuleBox execution
  • 24. Beyond two colors Rules for Secondary and Intermediate Colors Option 1: More Specific Rules • Add rules with facts.color3 • Order matters! More specific = higher placement • Strategic use of .stop() INTO THE BOX 2024
  • 25. Call the Rules INTO THE BOX 2024
  • 27. WireBox injection Inside the component, outside the functions INTO THE BOX 2024
  • 28. Build the facts, call the rules Give a struct, get a component INTO THE BOX 2024
  • 29. Results, the value writedump( theResults.getResult() ) INTO THE BOX 2024
  • 30. Results, the component writedump( theResults ) INTO THE BOX 2024
  • 31. Troubleshoot the rules writedump( theResults.getRuleStatusMap() ) • NONE: Rule not checked • SKIPPED: when() was false • EXECUTED: when() was true, then() actions executed • STOPPED: when() was true, then() actions executed, no more rules checked INTO THE BOX 2024
  • 32. Test the Rules INTO THE BOX 2024
  • 33. Define your test cases • Does the result exist? • Is it the expected format? • Is it the expected value? • Test at least one wrong answer red + blue not equal orange INTO THE BOX 2024
  • 34. Test case matrix INTO THE BOX 2024
  • 35. Test Code in Tests Folder INTO THE BOX 2024
  • 36. Code: 1 unit test, 1 expectation INTO THE BOX 2024
  • 37. Results: 1 unit test, 1 expectation INTO THE BOX 2024
  • 39. Results: More unit tests INTO THE BOX 2024
  • 42. Real (Fake) Example INTO THE BOX 2024
  • 44. • Not my project, just a good example of PDF to web • Some questions are always shown • Some questions skipped based on prior answers • PDF and Web Form Prototypes from USDA: https://www.fns.usda.gov/cn/revised-prototype-application-free-reduced-pric e-school-meals INTO THE BOX 2024 Application for free lunch (USDA)
  • 45. • Create a form_template • Create all possible questions • A form entity for each lunch application • Each form has answers • Each form has question_shown INTO THE BOX 2024 General object map
  • 47. • Create new form entity for each submission • Each form related to a form_template • A question_shown record for every potential question • Set showQuestion property for each question_shown (some always shown) • As answers are saved, re-evaluate the showQuestion properties • Use RuleBox to do the evaluation INTO THE BOX 2024 General workflow
  • 48. • The results will be whether a dependent question is required • The facts are the answers needed to make that determination • Example: Case number is required if any assistance program is true The question to check is caseNumber The fact needed is the answer to isAssistance The result is true (caseNumber is required) if isAssistance is true INTO THE BOX 2024 RuleBox evaluates conditional questions
  • 49. Rules: Case number question INTO THE BOX 2024
  • 50. Code: Call the rules INTO THE BOX 2024
  • 51. • Abstract code so one function works for all questions • Only evaluate showQuestion for the conditional questions Skip questions that are always shown Skip questions that are constant (external data) • Only evaluate when the saved answer matters Skip answers that are not conditional factors • Put all and only the relevant data in the facts struct INTO THE BOX 2024 Refined workflow
  • 53. • Identify the questions that are conditional “Show this question? It depends” • Include all the necessary conditions in the facts struct “Show this question? It depends on x, y, and z.” INTO THE BOX 2024 Goal
  • 54. • Look for conditional questions A question that is only shown depending on answers to other questions • Look for conditional factors The answers/other data that influences the conditional question • Create a related questions object INTO THE BOX 2024 Option 1: Identify dependent relationships Conditional Question Conditional Factors Case Number Assistance Program Income Frequency Any Income of That Type
  • 55. • Create question groups object All functionally related questions – independent and dependent Include any data from external sources (they’re just questions) INTO THE BOX 2024 Option 2: Identify question groups Question Group 1 Question Group 2 is_SNAP has_work_income is_TANF frequency_work_income is_FDPIR case_number
  • 56. • Combination of related questions and question groups • Potential conditional question groups • Analyze the form content to determine the right option INTO THE BOX 2024 Other Options
  • 57. Algorithm, part 1 Save answer, build facts • Only after saving an answer that affects a condition question • Gather all the questions in that answer’s question group in an array • For each question in question group array Get the current answer to that question Append it to facts struct as a struct (struct of structs) INTO THE BOX 2024 Key Value Question Slug Answer Value isAssistance true
  • 60. Algorithm, part 2 Save answer, build facts • For each question in the questionGroup array (again) • If it’s a conditional question • Append to the facts struct question_to_check : [this_question_slug] • Call the rules with the current facts struct • Results tell you if the current question (“question_to_check”) is required • Update showQuestion property in current question’s question_shown entity INTO THE BOX 2024
  • 62. Rules are Specific, Calling Rules is Abstract INTO THE BOX 2024
  • 63. Extra credit: determine eligibility RuleBox can do math! INTO THE BOX 2024
  • 64. Tips for Success INTO THE BOX 2024
  • 65. • Essential if moving from PDF • Communicate mental models • Solidify question format • Identify opportunities for improvement INTO THE BOX 2024 Prototype!
  • 66. Option 1: Same as the PDF Prototype of assistance question INTO THE BOX 2024
  • 67. Option 2: Better than the PDF Prototype of assistance question INTO THE BOX 2024
  • 68. Prototype to M.V.P. Minimum Viable Product • Goal is to build a shared mental model • As low-fidelity as possible • UX tools support branching, but do you need it? • Even a PowerPoint will do • Make the conditionals obvious INTO THE BOX 2024
  • 69. Make the conditions obvious K.I.S.S. INTO THE BOX 2024
  • 70. Use Question Slugs INTO THE BOX 2024
  • 71. Question slugs (for brain slugs) Human-friendly alternate ids • Short phrase to identify a question • Property on question object but not the primary key • Makes the rules and tests more readable • Reduces cognitive load for developers • Useful for versioning INTO THE BOX 2024
  • 72. Use Form Templates INTO THE BOX 2024
  • 73. Form templates for versioning • New form version = new form template • New template = new question entities • Minor question change? Same question slug • Same slugs = same rules, same tests • Examples: One form is a subset of another form’s questions Minor change to wording of a question (“minors” vs “minors and neonates”) INTO THE BOX 2024
  • 74. Helpful links • RuleBox: https://github.com/coldbox-modules/rulebox • TestBox: https://github.com/Ortus-Solutions/TestBox • Rules Engine vs. Machine Learning: https://www.capitalone.com/tech/machine-learning/rules-vs-machine-learnin g/ • USDA Lunch Application Prototype: https://www.fns.usda.gov/cn/revised-prototype-application-free-reduced-pric e-school-meals • Demo Code: https://github.com/brufftech/rulebox-demo INTO THE BOX 2024
  • 75. This is the end Annette Liskey INTO THE BOX 2024
  • 76. INTO THE BOX 2024 THANK YOU TO OUR SPONSORS INTO THE BOX 2024