### Blueriq Material Theme Setup Commands Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492735/Getting+started+with+the+Blueriq+Material+Theme This snippet provides the essential shell commands required to set up the Blueriq Material Theme project. It includes commands for authenticating with a package registry, installing dependencies, and starting the development server. ```Shell npm login --always-auth --scope=@blueriq --registry=http://my-example-artifactory.com/artifactory/api/npm/yarn/ ``` ```Shell yarn install ``` ```Shell yarn start ``` -------------------------------- ### Start Blueriq Session via Project Parameters (GET) Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492713/UI+REST+API+V2 Starts a Blueriq session using a GET request with project parameters, similar to the GET shortcut initiation. This functionality is supported from Blueriq 17.9+ and allows for server-side session initialization. Refer to the 'Start Blueriq Session via Shortcut (GET)' documentation for detailed usage and query parameters like `redirectUrl`. ```APIDOC { "method": "GET", "path": "/api/v2/session/init/", "parameters": [ { "name": "project", "type": "string", "location": "Query Parameter", "description": "The project to start", "required": "Yes" }, { "name": "flow", "type": "string", "location": "Query Parameter", "description": "The flow to start", "required": "Only required if more than one exposed flow is present in the project" }, { "name": "version", "type": "string", "location": "Query Parameter", "description": "The branch version", "required": "No" }, { "name": "languageCode", "type": "string", "location": "Query Parameter", "description": "The project language", "required": "No" }, { "name": "ui", "type": "string", "location": "Query Parameter", "description": "The UI variant to use, by default only `mvc` is supported", "required": "No" }, { "name": "theme", "type": "string", "location": "Query Parameter", "description": "The project theme", "required": "No" }, { "name": "channel", "type": "string", "location": "Query Parameter", "description": "The project channel", "required": "No" }, { "name": "redirectUrl", "type": "string", "location": "Query Parameter", "description": "The URL to redirect to after session initialization, with {sessionId} as a placeholder for the Blueriq session ID.", "required": "Yes" }, { "name": "unauthorizedUrl", "type": "string", "location": "Query Parameter", "description": "Optional URL to redirect to if the user is not authorized to start the project.", "required": "No" }, { "name": "errorUrl", "type": "string", "location": "Query Parameter", "description": "Optional URL to redirect to in case of other errors during session initialization.", "required": "No" } ], "example_response": { "sessionId": "2f177274-514d-4be9-aa3d-4a550ab9e724", "sessionTimeout": 1800 } } ``` -------------------------------- ### Access Blueriq DCM Dashboard for Exported Projects (HTTP) Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492859/Getting+started This section details the URL format for accessing the Blueriq DCM Dashboard when projects are manually exported. It provides the generic pattern for constructing the URL and a concrete example using the 'Foundation' project, 'Trunk' branch, 'Foundation' dashboard, and 'MainDashboard' page. ```HTTP http://localhost:30000/dashboard/export-/// ``` ```HTTP http://localhost:30000/dashboard/export-Foundation/Trunk/Foundation/MainDashboard ``` -------------------------------- ### Access Blueriq DCM Dashboard for Studio-Connected Projects (HTTP) Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492859/Getting+started This section outlines the URL format for accessing the Blueriq DCM Dashboard when connected to Encore, specifically when the 'development-tools' profile is active. It includes the generic pattern for constructing the URL and a specific example for the 'DCMFoundation' repository, 'Foundation' project, 'Trunk' branch, 'Foundation' dashboard, and 'MainDashboard' page. ```HTTP http://localhost:30000/dashboard/studio--/// ``` ```HTTP http://localhost:30000/dashboard/studio-DCMFoundation-Foundation/Trunk/Foundation/MainDashboard ``` -------------------------------- ### Blueriq Gateway Service Route Configuration Example (YAML) Source: https://my.blueriq.com/spaces/DOC/overview/pages/20054097/Blueriq+Gateway+Service This YAML example demonstrates how to configure multiple routes within the Blueriq Gateway Service. Each route specifies an ID, a target URI, and predicates to match incoming requests, directing them to the appropriate backend service. ```YAML spring: cloud: gateway: routes: - id: runtime uri: http://localhost:20000 predicates: - Path=/runtime/** - id: dashboard uri: http://localhost:20001 predicates: - Path=/dashboards/** ``` -------------------------------- ### Blueriq Studio: Create a Package Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492567/Package This guide provides step-by-step instructions on how to create a new package in Blueriq Studio. It covers the process from selecting a branch to naming the package and including desired example projects and libraries. ```Blueriq Studio Steps 1. Open the branch in which you want to create package 2. Select the opened branch 3. Select "Packages" 4. Select "+ New package" 5. Enter a name 6. Select which example projects and libraries you want to include in the package ``` -------------------------------- ### Example Blueriq Datasource Configuration for PostgreSQL Database Source: https://my.blueriq.com/spaces/DOC/overview/pages/5493106/Trace+SQL+Store+component This example provides a comprehensive Blueriq datasource configuration for a PostgreSQL database. It includes JDBC connection details (URL, username, password, driver) and the correct Hibernate dialect for PostgreSQL, ensuring proper schema validation. ```properties blueriq.datasource..url=jdbc:postgresql://:/ blueriq.datasource..username= blueriq.datasource..password= blueriq.datasource..driverClassName=org.postgresql.Driver blueriq.hibernate..dialect=org.hibernate.dialect.PostgreSQLDialect blueriq.hibernate..hibernate.use_nationalized_character_data=true blueriq.hibernate..hbm2ddl.auto=validate ``` -------------------------------- ### JavaScript Example for Blueriq DevTools Integration in MVC v2 Source: https://my.blueriq.com/spaces/DOC/overview/pages/5493093/Integrating+the+Angular+based+development+toolbar+in+your+theme This JavaScript example demonstrates loading the Blueriq dev tools for an MVC v2 themed application. It relies on the 'rxjs' and 'blueriq-devtools' libraries. The script provides functions to locate Blueriq elements in the DOM and initializes the dev tools after the application starts, serving as an inspiration rather than a complete solution. ```javascript /* * This example script loads the Blueriq dev tools for a Blueriq application using the MVC v2 theme. It needs the 'rxjs' and 'blueriq-devtools' libraries to have been loaded. * Please note that this is NOT a full implementation and should only be used as an inspiration. */ (function (blueriq, ko) { /** * Get the starting point in the DOM for a Blueriq application * * @returns Element | null */ function getBqContentDomElement() { // '#content' is for forms themes, 'form.form-horizontal' is for dashboard themes var bqContentSelector = '#content, body > form.form-horizontal'; return document.querySelector(bqContentSelector); } /** * Get the DOM element that matches with the supplied Blueriq element. Multiple DOM elements might match, the first one is returned * * @returns Element | null */ function getDomElementForBqElement(bqElement) { // Note: it might be possible to implement this in a more efficient way by wrapping the Knockout nativeTemplateEngine (see https://github.com/knockout/knockout/blob/2bec689a9a7fcaaed37e6abb9fdec648f86c4f81/src/templating/native/nativeTemplateEngine.js) var bqContent = getBqContentDomElement(); if (bqContent) { var domElems = bqContent.getElementsByTagName('*'); // Search through the DOM to find the correct DOM element matching the Blueriq element for (i=0; i < domElems.length; i++) { var viewModel = ko.dataFor(domElems[i]); if (viewModel && viewModel.model) { if (bqElement.elementKey === viewModel.model.key && bqElement.sessionId === viewModel.context.session.id) { return domElems[i]; } } } } return null; } /** * Load the Blueriq dev tools * * @returns Promise */ function loadBqDevTools() { // This environment implementation assumes The Blueriq Runtime and the dev tools are deployed on the same server or reverse proxied to appear that way var environment = { devtoolsUrl: '/server/devtools/index.html', runtimeUrl: '/server', targetOrigin: '*', get: function (path) { return fetch(path); }, getElementInfo: function (domElement) { var viewModel = ko.dataFor(domElement) if (viewModel === undefined || viewModel.model === undefined) { return null; } return { elementKey: viewModel.model.key, sessionId: viewModel.context.session.id, elementName: viewModel.model.name }; }, locateElement: function (element) { return getDomElementForBqElement(element); } }; return blueriq.devtools.initializeDevtools(environment); } /** * After the Blueriq application is started, the Blueriq dev tools should be loaded. the 'onAfterApplicationStart' hook was added in Blueriq 12.13.26 */ blueriq.onAfterApplicationStart = function() { // The Blueriq dev tools are always loaded in this example, regardless of whether the 'devtools' query parameter is passed var devToolsHost = loadBqDevTools(); devToolsHost.then(function (devToolsHost) { devToolsHost.activate(); }); devToolsHost.then(function (devToolsHost) { devToolsHost.addSession({sessionId: bqSessionId}); }); } })(window.blueriq, window.ko); ``` -------------------------------- ### Example Blueriq Datasource Configuration for SQL Server Database Source: https://my.blueriq.com/spaces/DOC/overview/pages/5493106/Trace+SQL+Store+component This example illustrates a full Blueriq datasource configuration for a SQL Server database. It covers JDBC connection parameters (URL, username, password, driver) and the appropriate Hibernate dialect for SQL Server, along with schema validation settings. ```properties blueriq.datasource..url=jdbc:sqlserver://:;databaseName=;trustServerCertificate=true blueriq.datasource..username= blueriq.datasource..password= blueriq.datasource..driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver blueriq.hibernate..dialect=org.hibernate.dialect.SQLServer2012Dialect blueriq.hibernate..hibernate.use_nationalized_character_data=true blueriq.hibernate..hbm2ddl.auto=validate ``` -------------------------------- ### Example HTTP GET Request to Blueriq Multi-Tenant API Source: https://my.blueriq.com/spaces/DOC/overview/pages/5493161/Multi-tenancy This HTTP request example demonstrates how to access a multi-tenant Blueriq API endpoint. It specifies the GET method, the API URL, content type, basic authentication credentials, and crucially, the 'X-TENANT-ID' header to target a specific tenant ('google' in this case). This allows the service to route the request to the correct tenant's data. ```HTTP GET http://localhost:8080/api/v1/Aggregates HTTP/1.1 Content-Type: application/json Authorization: Basic Ymx1ZXJpcTp3ZWxjb21l X-TENANT-ID: google ``` -------------------------------- ### Blueriq Runtime API: Get Runtime Resource Details Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492755/Backend+REST+API+V1 This JSON example shows the structure of the Blueriq Runtime resource, accessible via the main API entry point. It provides core information about the runtime instance, including its name, production mode status, version, and links to other available API endpoints for discovery. ```JSON { "name": "Runtime", "productionMode": true, "version": "9.6.0.0", "links": [ { "rel": "self", "href": "http://localhost/runtime/api/v1/" }, { "rel": "caseEvents", "href": "http://localhost/runtime/api/v1/caseEvents" }, { "rel": "cases", "href": "http://localhost/runtime/api/v1/cases" }, { "rel": "endpoints", "href": "http://localhost/runtime/api/v1/endpoints" }, { "rel": "projects", "href": "http://localhost/runtime/api/v1/projects" }, { "rel": "shortcuts", "href": "http://localhost/runtime/api/v1/shortcuts" }, { "rel": "tasks", "href": "http://localhost/runtime/api/v1/tasks" } ] } ``` -------------------------------- ### Example Blueriq Datasource Configuration for Oracle Database Source: https://my.blueriq.com/spaces/DOC/overview/pages/5493106/Trace+SQL+Store+component This example provides a complete Blueriq datasource configuration for an Oracle database. It includes both JDBC connection details (URL, username, password, driver) and the necessary Hibernate dialect settings specific to Oracle, ensuring proper schema validation. ```properties blueriq.datasource..url=jdbc:oracle:thin:@:/ blueriq.datasource..username= blueriq.datasource..password= blueriq.datasource..driverClassName=oracle.jdbc.driver.OracleDriver blueriq.hibernate..dialect=org.hibernate.dialect.OracleDialect blueriq.hibernate..hibernate.use_nationalized_character_data=true blueriq.hibernate..hbm2ddl.auto=validate ``` -------------------------------- ### XML: Example Request for Get Used By Elements for Global Element Source: https://my.blueriq.com/spaces/DOC/overview/pages/50135098/Management+Service Illustrates a sample SOAP request for the `GetUsedByElementsForGlobalElement` method. This example shows how to specify the repository, branch, project, and the target global element (e.g., 'color1' of type 'PresentationStyle'). ```XML TestRepository Trunk TestProject ``` -------------------------------- ### Start Blueriq DCM Stack (Batch) Source: https://my.blueriq.com/spaces/DOC/overview/pages/42828705/Blueriq+DCM+Development+Installation Initiates all components of the Blueriq DCM stack. This process starts each component in a minimized CMD window and launches the landing page in your browser upon completion. Allow time for all components to start properly. ```Batch start-DCM-dashboards-stack.bat ``` ```Batch start-DCM-stack.bat ``` -------------------------------- ### Blueriq AQ_StartProject Service: Input Parameters Reference Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492984/Service+call+type+AQ_StartProject This section details the input parameters for the AQ_StartProject service, including ShortcutName, ShortcutAttribute, Action, and Data. It explains their types, occurrences, and whether they are required, along with specific usage notes and limitations. ```APIDOC Service: AQ_StartProject Description: The AQ_StartProject service starts an exposed flow in another project. This project can be in a different branch or repository than the current project, as long as it resides in the same runtime. You can choose how you want to start the application (e.g., as a new tab), and what data is passed to the other application. The data can be retrieved in the other application by using the Service call type: AQ_GetRequestParameters. Parameters: - Name: ShortcutName Direction: Input Description: An expression to determine the shortcut to start. This shortcut must be added to the application.properties file. Type: Expression - String Occurrences: Single valued Required: Either the ShortcutName or ShortcutAttribute are required. You can not use both in the same service call. An error occurs at runtime when unknown is submitted in these parameters. - Name: ShortcutAttribute Direction: Input Description: Select a string attribute that holds the name of the shortcut to be taken. This shortcut must be added to the application.properties file. Type: Module Element - Attribute Occurrences: Single valued Required: Either the ShortcutName or ShortcutAttribute are required. You can not use both in the same service call. An error occurs at runtime when unknown is submitted in these parameters. - Name: Action Direction: Input Description: Indicate the action taken when the other application is triggered. Type: Domain - Start as new tab - Start in same tab - Start without user interface Occurrences: Single valued Required: Yes - Name: Data Direction: Input Description: Data of the current application that you want to transfer to the triggered application. This is done using key value pairs. Type: Expression - Any; Key-value pair; Multivalued result Occurrences: Multi valued Required: No Notes: - When using this Service, the shortcut property dynamicVersion is considered. - If you choose an attribute that has a value list for the ShortcutAttribute parameter, then the runtime validates each value of this list with the shortcuts defined in the application.properties file. - When opening the started application in a new tab, your browser might block the new pop-up. - You should never send empty data fields. This results in an error. - The language defined in the shortcut is ignored and replaced with the current language of the calling application to preserve language settings, implying defined languages of projects must match. ``` -------------------------------- ### XML: Example Response for Get Used By Elements for Global Element Source: https://my.blueriq.com/spaces/DOC/overview/pages/50135098/Management+Service Provides a sample SOAP response for the `GetUsedByElementsForGlobalElement` method. The response contains `Dependency` elements, each detailing a `ReferenceType`, the `From` element (user), and the `To` element (the global element being used). ```XML Usage Usage ``` -------------------------------- ### Blueriq Runtime API: Get Configured Endpoints Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492755/Backend+REST+API+V1 Retrieves a list of configured SOAP and HTTP endpoints. Note that starting with Blueriq 18, these endpoints return an empty list or a 404 for multi-tenant setups, and configuration should be referred from application properties. ```APIDOC GET /api/v1/endpoints Description: Returns a list of configured endpoints. Returns: Array of endpoint objects, each with 'name' (string) and 'URL' (string). Note: May return empty list or 404 in Blueriq 18+ for multi-tenant setups. GET /api/v1/endpoints/{id} Description: Returns details of a specific configured endpoint by ID. Parameters: - id (string): The unique identifier of the endpoint. Returns: Endpoint object with 'name' (string) and 'URL' (string). Note: May return 404 in Blueriq 18+ for multi-tenant setups. ``` -------------------------------- ### Configure Blueriq Application Properties for Runtime Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492712/1 This `application.properties` example demonstrates how to set up critical runtime parameters for Blueriq applications. It includes configurations for filesystem and keystore paths, defines SOAP timeouts, specifies dynamic URLs for different tenants, and sets up various security interceptors like basic authentication, signature, timestamp, and encryption. Remember to update all paths and encrypt sensitive passwords in a production environment. ```Properties blueriq.connection.filesystemconnection.filesystem.path=D:/path/to/uploads # timeout blueriq.connection.GetPerson11.soap.timeout=2000 blueriq.connection.GetPerson12.soap.timeout=2000 # dynamic urls blueriq.connection.TenantA11.soap.url=http://localhost:8080/soap11/a blueriq.connection.TenantB11.soap.url=http://localhost:8080/soap11/b blueriq.connection.TenantA12.soap.url=http://localhost:8080/soap12/a blueriq.connection.TenantB12.soap.url=http://localhost:8080/soap12/b # security: basic authentication blueriq.connection.basic11.soap.url=http://localhost:8080/soap11/basicAuthentication blueriq.connection.basic11.soap.username=user blueriq.connection.basic11.soap.password=password blueriq.connection.basic12.soap.url=http://localhost:8080/soap12/basicAuthentication blueriq.connection.basic12.soap.username=user blueriq.connection.basic12.soap.password=password # (NOTE: username token is no longer implemented in Blueriq 15) # security: signature blueriq.connection.signing11.soap.url=http://localhost:8080/soap11/signature blueriq.connection.signing11.soap.interceptors=SignatureInterceptor blueriq.connection.signing12.soap.url=http://localhost:8080/soap12/signature blueriq.connection.signing12.soap.interceptors=SignatureInterceptor # security: timestamp blueriq.connection.timestamp11.soap.url=http://localhost:8080/soap11/timestamp blueriq.connection.timestamp11.soap.interceptors=TimestampInterceptor blueriq.connection.timestamp12.soap.url=http://localhost:8080/soap12/timestamp blueriq.connection.timestamp12.soap.interceptors=TimestampInterceptor # security: encryption blueriq.connection.encryption11.soap.url=http://localhost:8080/soap11/encryption blueriq.connection.encryption11.soap.interceptors=EncryptionInterceptor blueriq.connection.encryption12.soap.url=http://localhost:8080/soap12/encryption blueriq.connection.encryption12.soap.interceptors=EncryptionInterceptor # security: signature + timestamp + encryption blueriq.connection.signingTimestampEncryption11.soap.url=http://localhost:8080/soap11/x509 blueriq.connection.signingTimestampEncryption11.soap.interceptors=SignatureInterceptor,TimestampInterceptor,EncryptionInterceptor blueriq.connection.signingTimestampEncryption12.soap.url=http://localhost:8080/soap12/x509 blueriq.connection.signingTimestampEncryption12.soap.interceptors=SignatureInterceptor,TimestampInterceptor,EncryptionInterceptor # security interceptors (NOTE: username token is no longer implemented in Blueriq 15) blueriq.soap.interceptors.security.SignatureInterceptor.request.signature.enabled=true blueriq.soap.interceptors.security.SignatureInterceptor.request.signature.key-alias=web-service blueriq.soap.interceptors.security.TimestampInterceptor.request.timestamp.enabled=true blueriq.soap.interceptors.security.EncryptionInterceptor.request.encryption.enabled=true blueriq.soap.interceptors.security.EncryptionInterceptor.request.encryption.key-alias=web-service # NOTE: update the path to the keystore blueriq.security.keystore.location=D:/path/to/keystore.jks blueriq.security.keystore.password=welcome ``` -------------------------------- ### Blueriq Service Type: DCM_SearchTaskByTaskName Source: https://my.blueriq.com/spaces/DOC/overview/pages/47088274/BlueriqCaseModelling+Library+1.4 The DCM_SearchTaskByTaskName can be used in a Case-Modelling situation to get the availability for a specific TaskId without the use of a worklist. Based on the availability of a certain task, you could change the interaction, for example by showing a button to start the task, or showing some notification to the user. ```APIDOC Service Type: DCM_SearchTaskByTaskName Description: The DCM_SearchTaskByTaskName can be used in a Case-Modelling situation, to get the availability for a specific TaskId without the use of a worklist. Based on the availability of a certain task, you could change the interaction, for example by showing a button to start the task, or showing some notification to the user. ``` -------------------------------- ### Blueriq Runtime: Start Project via URL Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492493/Execute+a+project This section details how to initiate a Blueriq project in production mode using a direct URL. It outlines the required and optional parameters for configuring the project, flow, version, language, UI, and theme, enabling direct access and execution of specific project functionalities. ```URL http://YOURHOSTNAME:PORTNUMBER/server/start?project=YOURPROJECT&flow=FLOWNAME ``` ```APIDOC { "endpoint": "/server/start", "method": "GET", "description": "Starts a Blueriq project via URL.", "parameters": [ { "name": "project", "type": "string", "required": true, "description": "The name of the project, e.g., SOURCE-PROJECTNAME (export-dcm or studio-dcm)." }, { "name": "flow", "type": "string", "required": true, "description": "The name of the exposed flow that is started." }, { "name": "version", "type": "string", "required": false, "description": "Combination of version and branch, e.g., 0.0-Trunk. The version number is deprecated and defaults to 0.0. If not entered, runtime selects a release using numerical sorting." }, { "name": "languageCode", "type": "string", "required": false, "description": "If no language code is selected, the default language will be started." }, { "name": "ui", "type": "string", "required": false, "description": "The UI that should be used to render the page model. By default the Angular styling is selected." }, { "name": "theme", "type": "string", "required": false, "description": "The Theme that should be used to render the page model. By default the material theme is selected." } ] } ``` -------------------------------- ### Get Revisions SOAP API Method Source: https://my.blueriq.com/spaces/DOC/overview/pages/50135098/Management+Service Details the GetRevisions SOAP API method, which retrieves a list of revisions from a specified repository and branch. It requires parameters such as repository name, branch name, start index, and amount of revisions. The method returns a list of Revision objects containing commit details. ```APIDOC Method: GetRevisions Description: Returns a list of revisions in a specified repository and branch. Parameters: - Name: repository Type: string Required: true Description: the repository to search in - Name: branch Type: string Required: true Description: the branch to search in - Name: startIndex Type: integer Required: true Description: the index of the first included revision - Name: amount Type: integer Required: true Description: the number of revisions to include; a negative amount includes all revisions - Name: taggedOnly Type: boolean Required: true Description: boolean flag indicating whether to include only tagged revisions - Name: includeMergeRevisions Type: boolean Required: true Description: this option does not have any effect and only exists for backwards compatibility reasons Returns: Type: Array Description: A list of Revision objects. Revision Object Schema: - CommitTime: datetime - RevisionId: string (GUID) - Message: string - Committer: string - Branch: string - Parent: string (GUID, optional) - Tags: string (optional) ``` ```XML TestRepository Trunk 0 -1 false true ``` ```XML 2015-02-21T22:07:36.857 147513d0-558e-4562-8281-595a6471d1aa created new entity admin Trunk b1372603-4705-4728-8ef4-198477f97e6e tag1 2015-02-17T15:05:14.213 b1372603-4705-4728-8ef4-198477f97e6e initial commit in Trunk admin Trunk 7371efb5-be0d-43fb-ba54-287836daedd6 2015-02-13T13:14:39.353 7371efb5-be0d-43fb-ba54-287836daedd6 Branch created admin Trunk ``` -------------------------------- ### Example HTTP GET Request for Blueriq Aggregates API Source: https://my.blueriq.com/spaces/DOC/overview/pages/20055317/Multi-tenancy+Configuration This example demonstrates an HTTP GET request to retrieve aggregates from the Blueriq API. It includes standard headers like Content-Type and Authorization (Basic Auth), and importantly, the X-TENANT-ID header to specify the 'google' tenant, which is crucial for multi-tenancy environments. ```HTTP GET http://localhost:8080/api/v1/Aggregates HTTP/1.1 Content-Type: application/json Authorization: Basic Ymx1ZXJpcTp3ZWxjb21l X-TENANT-ID: google ``` -------------------------------- ### Enable RabbitMQ Management Plugin using Shell Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492887/Installation+of+RabbitMQ This command activates the RabbitMQ management plugin, which provides a web-based interface for monitoring and administering your RabbitMQ instance. It should be executed from the RabbitMQ installation's '/sbin' directory after RabbitMQ has been successfully installed. Upon successful execution, the dashboard will be accessible via http://localhost:15672. ```Shell rabbitmq-plugins enable rabbitmq_management ``` -------------------------------- ### Blueriq Runtime API: Get Configured Shortcuts Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492755/Backend+REST+API+V1 Retrieves a list of configured shortcuts, which are URLs allowing direct project startup without the runtime dashboard. These shortcuts are defined in the properties file. ```APIDOC GET /api/v1/shortcuts Description: Returns a list of configured shortcuts. Returns: Array of shortcut objects. GET /api/v1/shortcuts/{id} Description: Retrieves details of a specific configured shortcut by ID. Parameters: - id (string): The unique identifier of the shortcut. Returns: Shortcut object. ``` -------------------------------- ### Maven POM for Blueriq Metamodel Generation Setup Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492983/Maven+Metamodel+Generator This Maven POM configures a project to generate Blueriq metamodel classes. It includes the Blueriq SDK as a dependency and integrates the `blueriq-metamodelgenerator-maven-plugin`. The plugin is set up to execute during the `generate-sources` phase, allowing configuration for connections to a Blueriq Studio server or an offline application file to generate POJOs and required methods. ```XML 4.0.0 org.mycustomer myproject-metamodel 1.0-SNAPSHOT myproject-metamodel 10.0-SNAPSHOT com.blueriq blueriq-sdk ${com.blueriq.version} org.apache.maven.plugins maven-compiler-plugin 3.6.1 1.7 1.7 com.blueriq blueriq-metamodelgenerator-maven-plugin ${com.blueriq.version} generate-sources generate-metamodel MyRepository Trunk MyProject src/main/java org.mycustomer.myproject.metamodel http://SERVER:PORT/Studio/Server/Services/ManagementService OIDC_CLIENT_CREDENTIALS http://SERVER:PORT/Keycloak/realms/BlueriqStudio17/protocol/openid-connect/token CLIENT_ID CLIENT_SECRET true true true true true       ${project.basedir}/MyProject.project.zip src/main/java org.mycustomer.myproject.metamodel true true true true       ``` -------------------------------- ### Blueriq AQ_StartProject Service: Security Best Practices Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492984/Service+call+type+AQ_StartProject This section outlines security considerations for the AQ_StartProject service, focusing on secure internal server communication and recommended production settings to prevent unauthorized access to shortcuts. ```APIDOC Service: AQ_StartProject Security Considerations: - Communication between the starting and started application is done server internally in code, ensuring it is perfectly secure as no data can be intercepted or changed. Production Server Settings: - Set blueriq.production.shortcuts-only=true so that end users can not start any flow themselves. - For shortcuts used only by the AQ_StartProject service and not by end users, set blueriq.shortcut.[name].privateAccess=true to prevent end users from guessing the shortcut name and starting the flow themselves. ``` -------------------------------- ### Example XML Request for GetUseElementsForGlobalElement Source: https://my.blueriq.com/spaces/DOC/overview/pages/50135098/Management+Service This XML snippet provides an example of a SOAP request to invoke the `GetUseElementsForGlobalElement` API. It illustrates how to specify the repository, branch, project, and the global element (by name and type) in the request body. This example is essential for constructing valid API calls. ```XML DCM Trunk Main_Dashboard ``` -------------------------------- ### Start Blueriq Session via Shortcut (GET) Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492713/UI+REST+API+V2 Starts a new Blueriq session using a GET request, supported from Blueriq 17.9+. This endpoint is useful for scenarios involving authorization redirects from identity providers, allowing server-side access to request headers. It requires a `redirectUrl` query parameter where `{sessionId}` is replaced by the Blueriq session ID. ```APIDOC { "method": "GET", "path": "/api/v2/session/init/{shortcutName?}", "parameters": [ { "name": "shortcutName", "type": "string", "location": "URL Segment", "description": "The shortcut name, leave empty to start the default shortcut", "required": "No" }, { "name": "redirectUrl", "type": "string", "location": "Query Parameter", "description": "The URL to redirect to after session initialization, with {sessionId} as a placeholder for the Blueriq session ID. (e.g., http://example.com/session/{sessionId})", "required": "Yes" }, { "name": "unauthorizedUrl", "type": "string", "location": "Query Parameter", "description": "Optional URL to redirect to if the user is not authorized to start the shortcut.", "required": "No" }, { "name": "errorUrl", "type": "string", "location": "Query Parameter", "description": "Optional URL to redirect to in case of other errors during session initialization.", "required": "No" } ], "example_request": "GET /api/v2/session/init/?redirectUrl=http%3A%2F%2Fexample.com%2Fsession%2F%7BsessionId%7D", "example_response": { "sessionId": "2f177274-514d-4be9-aa3d-4a550ab9e724", "sessionTimeout": 1800 } } ``` -------------------------------- ### Blueriq Service: AQ_Instance_Create Source: https://my.blueriq.com/spaces/DOC/overview/pages/28345671/BlueriqBasicModelling+Library+1.4 Create an instance and set attributes and relations for it. ```APIDOC Service: AQ_Instance_Create Description: Create an instance and set attributes and relations for it. ``` -------------------------------- ### SOAP Request Example for GetRevisionChanges Source: https://my.blueriq.com/spaces/DOC/overview/pages/50135098/Management+Service This example demonstrates a SOAP request to invoke the `GetRevisionChanges` method. It specifies the `repository`, `branch`, and `revision` within the SOAP body. This request is used to query the Blueriq Management Service for changes in a particular revision. ```XML TestRepository Trunk eadcb8e1-c306-4ea0-a983-162afa863473 ``` -------------------------------- ### Example Blueriq Multi-Tenancy Configuration for Google/Apple Source: https://my.blueriq.com/spaces/DOC/overview/pages/5493161/Multi-tenancy This example provides a concrete implementation of the multi-tenancy configuration, demonstrating how to set up 'google' and 'apple' tenants. It includes specific Oracle JDBC driver details, database connection strings, and RabbitMQ connection parameters for each tenant. It also adds Hibernate dialect and HBM2DDL settings for database interaction. ```YAML blueriq: multi-tenancy: enabled: true allowed-tenants: google,apple customerdata: datasource: customer-data-sql-store: driver-class-name: oracle.jdbc.driver.OracleDriver tenants: google: url: jdbc:oracle:thin:@localhost:1521:orcl username: google password: welcome apple: url: jdbc:oracle:thin:@localhost:1521:orcl username: apple password: welcome # publisher aggregate-event: channel: amqp: rabbitmq: tenants: google: host: localhost port: 5672 virtualHost: Blueriq username: guest password: guest ssl: enabled: false exchangeName: customerDataService apple: host: localhost port: 5672 virtualHost: Everest username: guest password: guest ssl: enabled: false exchangeName: customerDataService hibernate: dialect: org.hibernate.dialect.Oracle12cDialect hbm2ddl: auto: validate id: new_generator_mappings: true show_sql: true use_nationalized_character_data: true ``` -------------------------------- ### Configure Blueriq JDBC Datasource Connection Pool Example Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492889/Configuring+database+connections This example demonstrates how to set an optional connection pool parameter for a Blueriq JDBC datasource. It shows the syntax for configuring properties like 'poolInitialSize', which influences the initial number of connections created when the pool starts. ```Properties blueriq.connection.datasource_name.sql.poolInitialSize=5 ``` -------------------------------- ### Blueriq AQ_StartProject Service: Flow Modeling Best Practices Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492984/Service+call+type+AQ_StartProject This section provides guidance on modeling flows that incorporate the AQ_StartProject service, emphasizing the need for pages before and after the service due to browser behavior and security. ```APIDOC Service: AQ_StartProject Flow Modeling: - When modeling a flow, you should always include a page before and after this service. This is due to browser behavior and security reasons in handling opening popups and/or new tabs. ``` -------------------------------- ### Configure Blueriq Cancel Started Tasks Property Source: https://my.blueriq.com/spaces/DOC/overview/pages/5493272/Process+Module+Properties Determines whether all started tasks are canceled when the Blueriq runtime starts. The default value is `false`. This property is not recommended for multi-node production environments as it might cancel tasks currently in use; instead, consider using the Scheduler Maintenance REST API or Backend REST API for reopening tasks. This property is configured in `application.properties`. ```Properties blueriq.processengine.cancel-started-tasks ``` -------------------------------- ### SOAP Response Example for GetRevisionChanges Source: https://my.blueriq.com/spaces/DOC/overview/pages/50135098/Management+Service This example illustrates a typical SOAP response from the `GetRevisionChanges` method. The response body contains `GetRevisionChangesResult` with multiple `ElementChange` entries, each detailing the type of change (e.g., Create) and the `CurrentKey` of the affected module element. It also includes authors for each change. ```XML Create admin ci Create Address admin Create Person admin ``` -------------------------------- ### Example Blueriq Datasource Configuration for PostgreSQL Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492986/Process+SQL+store+component This example illustrates a complete JDBC datasource and Hibernate configuration for a PostgreSQL database. It includes the PostgreSQL JDBC URL format, driver class, and the appropriate Hibernate dialect. Ensure to substitute placeholders with your actual database credentials and details. ```Properties blueriq.datasource..url=jdbc:postgresql://:/ blueriq.datasource..username= blueriq.datasource..password= blueriq.datasource..driverClassName=org.postgresql.Driver blueriq.hibernate..dialect=org.hibernate.dialect.PostgreSQLDialect blueriq.hibernate..hibernate.use_nationalized_character_data=true blueriq.hibernate..hbm2ddl.auto=validate ``` -------------------------------- ### Access Blueriq Material Theme API Docs Source: https://my.blueriq.com/spaces/DOC/overview/pages/5492633/Migration+to+Angular The Material Theme provides specific URLs for starting flows and shortcuts. Detailed API documentation for these functionalities can be found at the provided external link. ```APIDOC API Documentation Link: https://my.blueriq.com/ApiDocs/material/latest/components/ProjectComponent-1.html#readme ```