Show pagesourceOld revisionsBacklinksExport to PDFExport Page to HTML/PDFBack to top Send via e-MailPrintPermalink × This is an old revision of the document! Rule Language About this document Rule Definition Rule Condition Notes on rule execution Actions Special usage of rules Conventions Programmer's Reference Writing client-side plugins Using Javascript to integrate custom Cordova plugins for native mobile applications Send email to the selected contact Creating a contact on the phone Modifying default presentation of individual fields on forms Architecture of the client-side code Modifying default behavior and presentation of queries Modifying default behavior and presentation of content panels in visual perspectives AwareApp object Modifying default behavior and presentation of forms Modifying default behavior of menu in visual perspectives Modifying default behavior and presentation of form sections Adding custom document types IDocumentDataSource interface Document Engine Example Implementing Server Side Component Implementing Client Side Component DataPresentationTemplate class Adding function libraries Function library example Implementing function library ISQLBuilderHelper interface Adding custom processes IExecutionContext interface IExecutionEngine interface INotification interface Writing code for a custom process component IEntityTemplate interface IEntity interface Examples of custom process components Adding custom channels Implementing Channel’s Source and Sink Writing a Sink Writing a Source MessageBuilder class Handling replies to service requests MessageInterpreter class Implementing Channel Type component Implementing Channel Settings Editor Adding report scriptlets IReportEnvironment interface Implementing code for the scriptlet Report Scriptlet Example Methods Adding programming extensions to AwareIM Appendix A: correspondence of attribute types and Java types General Guidelines Actions And Functions Actions Functions Changelog How To... Users And Login How to log into the system How to store “session” values – values that exist only during user session How to set/change password for the Configuration Tool How to implement “forgotten password” functionality How to set up Login via Facebook, Twitter and Google How to allow non-registered users to self-register How to set up system users How to allow non-registered users access to the system How to set/change user password How to use Active Directory / LDAP for login How to set up users of the Configuration Tool How to refer to the current user in rules Mobile Applications How to display a PDF document How to display “gallery view” How to send push notifications to a mobile phone How to display grids – lists with column names How to upload an image from camera or photo library of the phone How to display thumbnails – images with descriptions that the user can tap on How to define mobile application menus How to display a picture full screen How to integrate custom Cordova components in native mobile applications How to determine and watch location of the current user How to display forms How to build native mobile applications How to remember user credentials to prevent multiple logins How to create a mobile version of a desktop application Reports And Documents How to design a report How to enumerate elements in a report How to group records in a report How to store documents and files How to do "document merge" How to work with embedded spreadsheets How to re-use a report How to perform calculations in a report How to produce and print out a report How to implement multiple file upload for documents How to let users edit documents How to print an element in different colors depending on some conditions How to include related records in a report How to refer to database fields in a report How to include an element in a report conditionally How to let end users define their own reports, document templates and queries Security And Protection How to define access based on some conditions How to limit access to records How to give different authority to different users How to implement multi-tenancy How to set up SSL How to limit access to operations How to get end users to define their own access restrictions How to limit access to database tables Forms And User Interfaces How to customize colors and fonts How to start processes from forms How to control the order of attributes on automatically generated forms How to show thumbnails How to create dashboards and allow end users to customize them How to attach actions to buttons How to recalculate values in controls dynamically after a user changes some values How to make an attribute visible, read-only, mandatory or display a different set of choices on a particular form only How to show records in different colors How to initialize form controls How to set up forms with tabs How to show/hide/disable/enable controls dynamically after a user changes some values How to implement drag-and-drop between grids How to add support for electronic signature to your application How to display a form of a child object inside the form of the parent object How to display colour editor How to make your application “responsive” to different screen sizes How to use the "Screen Tour" feature How to display attributes in different colors How to set up custom form layout How to show related records How to implement “wizard” forms How to design a form How to choose values from a list How to display a hierarchy of related records How to set up system menu How to let users edit images stored in attributes of the Picture type How to show Google Maps How to display Microsoft Outlook-like calendar How to display different icons for different types of records How to use CSS How to add right-to-left support How to use icon fonts to display an icon for a button How to synchronize with Google, Outlook, Exchange and other third party calendars How to use different forms for different users How to display attributes as read-only How to implement item reordering within a grid or custom query How to set up custom menu How to embed video in a form How to validate user input Emails How to do "mail-merge" How to configure the system to receive e-mails How to send e-mails in HTML format How to configure the system to send e-mails How to process e-mail based on its contents How to send e-mail with attachments How to register (save) incoming e-mails in the system Charts How to add Gantt chart to your application How to use charts in reports How to show charts AwareIM Basics How to look for records How to create records How to define links between database tables How to define database tables and database columns How to set up calculated fields How to deploy the configured system How to test the configured system How to change default database used How to delete records How to edit records How to go about system configuration How to set up business rules How to start configuring the system Integration With Other Systems How to use existing database tables How to communicate with another software system How to expose a web-service How to integrate credit card payment system How to expose a REST-ful service How to register AwareIM application in Twitter How to consume a REST-ful service How to register AwareIM application in Facebook How to use data from several existing database tables How to register AwareIM application in Google How to communicate with a hardware device How to use a web-service Miscellaneous How to automatically deploy an application when a new tenant signs up How to extend AwareIM How to optimise application for best performance How to define import/export templates to map data How to set up periodic processes How to create applications in different languages How to count web site visitors How to support offline mode How to get users to define their own workflows How to track activity of the registered users How to import/export data How to re-use configurations Tips and Tricks What to do if an object can be related to multiple objects How to compare strings ignoring case How to search for multiple objects How to generate unique ID for the attribute How to display currency symbol Business Rules What is the difference between processes and business rules? How to find a rule How to perform an action on multiple business objects How to deal with rules that need to be evaluated in a strict order How to check whether rules are executing correctly How to define a rule How to make sure that action is executed only once AwareIM Concepts Data Entry and Editing Form Operations Form Sections Business Object Forms Navigation Style Data Retrieval Configuring Queries Building Queries in the Operation Mode Searching for Data using Forms Running Queries in the Operation Mode Queries that Require User Input Data Processing Rule Evaluation Evaluation of Unordered Rule Collections Example of Rule Engine Execution "While" Semantics Overview of the Rule Engine Framework Did it Change? Rule Priorities Context of Rule Execution How Context is Formed Instance Prefixes Other Usages of Context Cross-reference Rules Evaluation of Rule Collections Other Points Related to Action Execution Aggregate Operations Context Evaluation of Rules Containing WAS CHANGED expressions Summary of Rule Evaluation Action Execution Initialization Rules Rules and Transactions Batch Operations Process Failure Rules Long Operations Configuration of Rules Rule Debugger Execution Log Data Presentation Custom Form of Query Results Standard Form of Query Results Calendar Form of Query Results Productivity Features Communication with Other Systems Requesting Services and Sending Notifications Intelligent Business Objects Integration With Stripe Payments Export and Import Exporting and Importing Relationships Export and Import from Business Rules Export and Import in the Operation Mode Access Control Login Access Level Working with Documents and Reports Reports Document Generation Document Management Scheduling E-mail Handling Performance Profiler Extending AwareIM Setting Initial Values of the Application Configuration Process Configuration Guidelines Configuration steps Business objects Business object rules User interface Processes Configuration principles Object rules are self-contained Business object groups unite dissimilar objects Object rules perform all information processing Business objects represent elements of business environment Object rules are attached to the right objects Working with AwareIM in Hosting Environment Business Space Versions and Version Control Testing Mode Productivity Features User Interface Operations Visual Perspective Basic Concepts Business Rules as Carriers of Business Logic Business Space Business Objects as Carriers of Data Business Object Groups Processes as Links between User Interface and Business Logic Reference Attributes Aspects of Information Management System Data Storage Appendices Appendix A. AwareIM Property Files Setting Properties of the AwareIM server Setting Properties of the Configuration Tool Setting Properties of the AwareIM Web Application Appendix E. Regular Expressions. Appendix C. Number Format in Java Programming Language Appendix B. Known Bugs and Limitations Appendix D. Links to AwareIM operations Mobile Applications General Approach Login Using Queries Using Processes Getting Location of the Current User Introduction Displaying Google Maps Displaying and Uploading Pictures from Camera and/or Photo Library Building native mobile applications Embedding Video Using Visual Perspectives Sending Push Notifications to Mobile Phones Using Forms of Business Objects Getting Started Introduction Testing Application Configuring Applications Deploying the Application Making Changes to the Application Videos 5. Relationship Diagrams 67.Building an Application (part 2 of 6) 17. Queries 4. Relationships in AwareIM 23. Access Control 15. Rule Debugger 69. Building an Application (part 4 of 6) 55. Cascading Drop Downs 9. Advanced Forms 48. Concurrent Development 73. Version 9.0 49. Responsiveness 31. Charts 51. Auto Refresh 32. Gantt Charts 44. User Defined Workflows 10. Custom HTML forms 54. User Tours 75. Tiles In Visual Perspectives 66. Building an Application (part 1 of 6) 1. Getting Started with AwareIM 13. Processes 40. Accessing Existing Databases, Active Directory and LDAP 36. Building Native Mobile Applications Using Monaca 34. Mobile Applications 37. Sending Push Notifications 70. Building an Application (part 5 of 6) 19. Displaying Attributes of Related Objects Using Shortcuts 38. Accessing Camera, Photo Library, Retrieving Geo Location 29. Calendar and Scheduler 11. Business Rules 62. Optimization of AwareIM Applications 21. Kanban Boards 12. Rule Execution 16. Using CREATE Action in Business Rules 77. Google Maps Markers 46. Using Performance Profiler 6. Forms 24. Document Templates 57. Auto-Incremented Attributes 52. Business Object Groups 26. User Defined Documents 60. Long-running Processes 39. Deploying Applications for Multiple Tenants 59. Multi-step Processes 58. User Defined Dashboards 18. Presentation of Queries 41. Web Services 7. Presentation Styles and Presentation Rules in Forms 25. Document Files 80. Using Ai 22. Visual Perspectives 56. Form and Grid Styles 45. Import and Export Templates 28. Emails 78. Improvements In Charts 42. Consuming REST-ful Services 65. Developing Java Plugings - Part 3 27. Images 2. AwareIM Deployment and Configuration 79. Version 10 72. Integration with Stripe Multiparty Payments 8. Adding Buttons and HTML to Forms 68. Building an Application (part 3 of 6) 64. Developing Java Plugings - Part 2 53. Standalone Input Controls 63. Developing Java Plugings - Part 1 76. Inline Editing Widgets 43. Developing Applications for Different Languages 47. Interacting with Preview 71. Building an Application (part 6 of 6) 33. Google Maps 50. Offline Mode 61. Using CSS and Javascript 3. Creating your First AwareIM Application 74. Query Fiilters 35. Building Native Mobile Applications 30. Trees 20. Custom Queries 81. Data & Import Export 14. Rule Context and Instance Prefixes AI Integration Data Maestro In CRM Sample App Data Maestro Configuring Applications Adding/Editing Queries Displaying Query Results Standard Grid Calendar/Scheduler Presentation Custom Presentation Tree Presentation Query Filters Timeline of Events Presentation Chart Presentation Specifying Query Using Textual View Query Properties Specifying Query Using Standard View Adding/Editing Visual Perspectives Working with Visual Perspective Editor Defining Layout of Content Panels Horizontal Layout Setting Menu Item Properties Vertical Anchor Layout Table Layout Accordion Layout Vertical Box Layout Setting Menu Properties Responsive Grid (Simple) Layout Responsive Grid (Nested) Layout Border Layout Column Layout Defining Content Panel Properties Defining Tab Properties Defining Frame Properties Defining Content Panel with HTML Content Using Tiles in Dashboards Working with Data Stored in Existing Database Tables or LDAP Defining Business Objects that Use Existing Database Tables Using LDAP/Active Directory for Login Defining Business Objects that Use Data from LDAP Server /Active Directory Adding/Editing Business Objects Defining Intelligent Business Objects Setting Properties of the E-mail Channel Setting Properties of the URL Channel Setting Properties of the SOAP Channel Setting Properties of the REST Channel Defining Forms Adding/Editing Form Sections Forms that use Google Maps Cell Properties Specifying which attributes will be shown on the form Putting cells inside group boxes Forms that use QR codes Show preview of the form on phones and tablets Merging and splitting cells Defining Form Section Layout Adding buttons/links to forms Displaying reference tables Adding HTML Forms that use Barcodes Forms that use Gauge Chart Multiple columns Form Section Properties Form Properties Button Aligment Tab reordering Form Auto Refresh Settings Stretch to bottom of screen Description Autosave Responsiveness Navigation Type Panel Operations Tour CSS Style and CSS class Mobile tabs Centre Align Form Form panel resizing Height Display Mask Name Use automatic Panel Header and Caption Scripts Tabbar position Width Adding/Editing Panel Operations Edit Toolbar Operation Types Adding/Editing an operation Adding/Editing Forms Adding Custom HTML forms Specifying General Properties Description Category Attributes tab Presentations tab Update and Deletion Rules tabs Name Communication Forms tab Persistence Adding Business Objects from JSON Schema Defining Presentations Working with Report/Presentation Designer Editing Report/Presentation Elements Editing Conditional Element Editing Sub-report/Sub-presentation Element Editing General Properties Editing Graphical Elements Editing Tag Element Setting Hyperlink Properties Editing Table Element Editing Text Element Working with Charts Miscellaneous Commands Adding Report/Presentation Elements Previewing the Report Setting System Calculation Properties Add/Delete Group Bands Report/Presentation Bands Alignment and Positioning Finding Design Element Adding/Deleting Custom Font Setting Report/Presentation Properties Using Toolbar to change Report/Presentation Elements Working with Configuration Elements Pasting Elements Adding Elements Editing/Viewing Elements Deleting Elements Copying Elements Adding/Editing Attributes Setting Properties of Reference Attributes Displaying references as a tree Diagram of Object Relationships Displaying references as a table Setting Properties of Date, Timestamp and Duration Attributes Setting Properties of Document Attributes Setting Properties of Number Attributes Setting Properties of Plain Text Attributes Setting Properties of Yes/No Attributes Setting Properties of Picture Attributes Common Properties Setting Properties of Shortcut Attributes Working with Business Space Versions Major and Minor Versions Creating Major Version Creating Minor Version Deleting Business Space Version Loading Business Space Version Lifecycle of a Business Space Version Exporting Business Space Version Publishing Business Space Version Viewing Properties and History of the Business Space Version Updating Business Space Version Checking Version Integrity Testing Business Space Version Importing Business Space Version Refreshing Business Space Version Working with a Business Space Version in a Multi-Developer Mode Email Handling Sending Outgoing E-mail Handling Unsent E-mail Setting Options for Incoming E-mail Handling Adding/Editing Rules Working with Rule Collection Adding/Editing Rule using Textual View Adding/Editing Rule using Standard View Rule Properties Context Assistant Multi-step Processes Adding Appointment Objects Scheduling Login via social media sites and other applications Overview of the Configuration Tool Comparing Business Space Versions Form and Grid Styles Creating Applications in Different Languages Right-to-left Support Adding/Editing Processes Undoing and Redoing Changes Re-connecting to the AwareIM Server Adding/Editing Worksheets Determining Current Location of the User Handling Login Events Protecting Business Space Version Building Runtime Executable Managing Configuration Users Implementing Single Sign-on using SAML protocol Adding/Editing Access Levels Adding/Editing Services Show System Objects Adding/Editing Notifications Generating Documentation Handling Logout Events Configuring Applications for Mobile Devices Data Migration Creating Native Mobile Applications View Configuration Tool Settings Adding/Editing Business Spaces Working on the Same Business Space Version Concurrently (Multi-Developer Mode) Searching for Elements in a Business Space Version Finding where Element is Used Adding/Editing Document Templates Adding/Editing Business Object Groups Backing up and Restoring Operational Data Logging into the Operation Mode Quick Tour Testing Application Deployment Configuration Introduction Glossary Case Study Configuration of the Library Application Operations Expiring Reservations and Processing Overdue Loans Processing Overdue Loans Expiring Reservations "Borrow item" operation Invoking the "Borrow Item" operation from the Item form Invoking the "Borrow Item" operation from query results Invoking the "Borrow Item" operation from the Member form "Renew Loan" operation "Reserve Item" operation "Change item type details" operation "Find member" operation "Register new item" operation "Cancel Reservation" operation "Register Fee" operation "Register Payment" operation "Change member details" operation "Register new member" operation "Register new item type" operation "Return Item" operation "Find item" operation "Change item details" operation Business Objects and Relationships Configuration of Business Objects Defining Other Objects Defining a Reference Attribute Defining ItemType Object Defining Member Object Defining Loan Object Defining Item Object Attributes of Business Objects Fine-tuning the Application Improving forms Creating multi-tabbed form. Presentation of simple attributes Presentation of reference attributes Improving form layout Creating different forms for entry and editing. Access Control Documents Improving operations Additional operations Implementing Other Requirements Managing Communication with Members Communication User interface Communication Operations Communication Business rules Communication Business Object Groups Communication Business Objects Payment by credit card System initialization Business Rules Item Object Payment Object Member Object Loan Object Reservation Object Testing the Application Operating the final system Versions of the Library Application Introduction Library Application Installation Guide Database integration Oracle MySQL MS SQL Server MS Azure, Maria DB & PostgreSQL Java installation Deployment Options Windows Installation Linux Installation Troubleshooting MacOS Installation Introduction Last modified: 2025/06/12 00:32 Log In