Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ For all queries and procedures, there will be a Rest API generated with the Serv

Both _Request_ and _Response_ POJO classes are generated as: `<procedureName>Request/Response`

1. These classes are generated in a package: `<service_packagegt;.models.procedure`
1. These classes are generated in a package: `<service_package>.models.procedure`
2. Response classes generated for all procedures having at least one return property i.e OUT parameter or cursor.

**Example**: a procedure with name `getEmployees` will generate `GetEmployeesResponse` class with the returned columns.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ For all queries and procedures, there will be a Rest API generated with the Serv
### Models
Both _Request_ and _Response_ POJO classes are generated as: `<queryName>Request/Response`

- These classes are generated in a package: <service_package>.models.query
- These classes are generated in a package: `<service_package>.models.query`
- Response class is generated only for SELECT queries. The return type for Non-Select queries will be integer hence POJO class is not generated.
**Example**:
query with name **getAllEmployees** will generate **GetAllEmployeesResponse** class with all returned columns.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ For all queries and procedures, there will be a Rest API generated with the Serv

**Understanding generated Code** _File structure_ [![](/learn/assets/queryproc_files.png)](/learn/assets/queryproc_files.png)_Models_: Both _Request_ and _Response_ POJO classes are generated as: &lt;queryName&gt; Request/Response

- These classes are generated in a package: <service_package>.models.query
- These classes are generated in a package: `<service_package>.models.query`
- Response class is generated only for SELECT queries. The return type for Non-Select queries will be integer hence POJO class is not generated. Eg: query with name **getAllEmployees** will generate **GetAllEmployeesResponse** class with all returned columns.
- For HQL queries existing Model classes will be used if possible, else a Response model similar to Native queries will be generated.
- Eg: query `from Employee;`
Expand All @@ -170,7 +170,7 @@ For all queries and procedures, there will be a Rest API generated with the Serv

_Services_: This layer exposes the methods related to the configured query and procedures. Controller layer uses these methods to complete the user requests. We recommend using methods from this layer in custom Java services.

- Class with name QueryExecutorService is generated in the package <service_package>.service For eg: for Service **hrdb**, class name will be **HrdbQueryExecutorService**
- Class with name QueryExecutorService is generated in the package `<service_package>.service` For eg: for Service **hrdb**, class name will be **HrdbQueryExecutorService**
- Method with name **execute&lt;queryName&gt;** will be generated for all configured queries
- For SELECT and DELETE queries, all parameters are configured as arguments for that method. In the case of Paginated request Pageable argument is added to the method signature.
- For INSERT and UPDATE queries, **&lt;queryName&gt;Request** is the argument.
Expand All @@ -181,7 +181,7 @@ _Services_: This layer exposes the methods related to the configured query and p

[![](/learn/assets/query_files_service.png)](/learn/assets/query_files_service.png)_Controllers_:

- Separate controller classes are generated for query and procedures with names as **QueryExecutorController** and **ProcedureExecutorController** respectively in package **<service_package>.controller**.
- Separate controller classes are generated for query and procedures with names as **QueryExecutorController** and **ProcedureExecutorController** respectively in package **`<service_package>.controller`**.
- Rest API is generated for each configured query and procedure. Generated method signature will be same as service layer method signature.
- For methods returning INT type, controller layer returns **IntegerWrapper**.

Expand Down
2 changes: 1 addition & 1 deletion website/blog/2021-12-13-zero-day-vulnerability.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ WaveMaker Enterprise users should continue to follow the risk mitigation provide

A zero-day vulnerability is an unintentional software security flaw identified in the application, poses a zero-day threat.

A new [zero-day vulnerability](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228) was reported in the Log4j2 library on 9th Dec 2021, **affecting the library versions >=2.0-beta9 and <=2.14**. It has the potential to allow an attacker to execute the code remotely. Log4j has provided the fix by releasing the 2.15.0 version on the same day. Plus, Log4j has released a newer 2.17.0 version, which is available for production now. For more information, see [LOG4J changes report](https://logging.apache.org/log4j/2.x/changes-report.html#a2.17.0).
A new [zero-day vulnerability](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228) was reported in the Log4j2 library on 9th Dec 2021, **affecting the library versions `>=2.0-beta9` and `<=2.14`**. It has the potential to allow an attacker to execute the code remotely. Log4j has provided the fix by releasing the 2.15.0 version on the same day. Plus, Log4j has released a newer 2.17.0 version, which is available for production now. For more information, see [LOG4J changes report](https://logging.apache.org/log4j/2.x/changes-report.html#a2.17.0).

<!--truncate-->

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ By default, this methodology gets implemented in all projects. If the hostname p

## Changes to note

In Android Apps, location.href now has the server domain as the host. All local app files are served at path **https://${server_domain}/_www**.
In Android Apps, location.href now has the server domain as the host. All local app files are served at path `https://${server_domain}/_www`.

## Additional Info

Expand Down
8 changes: 4 additions & 4 deletions website/blog/2022-03-24-saml-library-upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ The new SAML library provided by spring suggests the metadata, audience url, SSO

| URL Type | spring-security-saml2-core (Existing) | saml2-service-provider (New) |
|---|---|---|
| Metadata | {app-url}/saml/metadata | {app-url}/saml2/service-provider-metadata/saml |
| Audience | {app-url}/saml/metadata | {app-url}/saml2/service-provider-metadata/saml |
| SSO | {app-url}/saml/SSO | {app-url}/login/saml2/sso/saml |
| SLO | {app-url}/saml/SingleLogout | {app-url}/logout/saml2/slo |
| Metadata | \{app-url}/saml/metadata | \{app-url}/saml2/service-provider-metadata/saml |
| Audience | \{app-url}/saml/metadata | \{app-url}/saml2/service-provider-metadata/saml |
| SSO | \{app-url}/saml/SSO | \{app-url}/login/saml2/sso/saml |
| SLO | \{app-url}/saml/SingleLogout | \{app-url}/logout/saml2/slo |

Here app-url can be preview or deployed URL.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,15 @@ Here Zipkin server should be accessible to the tomcat server.
Navigate to the maven `pom.xml` file to add following dependencies code snippet

`$WMAPP_HOME---->pom.xml`

<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-sdk</artifactId>
<version>1.11.0</version>
</dependency>
<dependencies>
```xml
<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-sdk</artifactId>
<version>1.11.0</version>
</dependency>
<dependencies>
```

Navigate to the `project-user-spring.xml` in the below path and add the given snippet

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ As a part of release 11.4, the following profile property names have been auto-m
|Old Property Name| New Property Name|
|----|----|
| security.providers | security.activeProviders |
| security.general.cors.{pathEntryName}.allowedOrigins | security.general.cors.pathEntries.{pathEntryName}.allowedOrigins |
| security.general.cors.\{pathEntryName}.allowedOrigins | security.general.cors.pathEntries.\{pathEntryName}.allowedOrigins |
| security.providers.ad.groupSearchDisabled | security.providers.ad.roleMappingEnabled |
| security.providers.ldap.groupSearchDisabled | security.providers.ldap.roleMappingEnabled |
8 changes: 6 additions & 2 deletions website/blog/2024-09-25-addressing-accessibility-issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ In this new version, the component tree is significantly flattened, enabling aut

For example, consider two scenarios: in one, we set the maximum depth level to 33 using Expo 50 and React Native 0.73, and in the second, we set it to 150 using Expo 51 and React Native 0.74.

<details><summary>Expo 50 and React Native 0.73</summary>
<details>

<summary>Expo 50 and React Native 0.73</summary>

![Expo 50 and React Native 0.73](/learn/assets/expo50-reactnative-73.png)

Expand All @@ -41,7 +43,9 @@ Beyond this level, Appium encounters a limitation, unable to expand or interact

</details>

<details><summary>Expo 51 and React Native 0.74</summary>
<details>

<summary>Expo 51 and React Native 0.74</summary>

![Expo 51 and React Native 0.74](/learn/assets/expo51-reactnative-74.png)

Expand Down
2 changes: 1 addition & 1 deletion website/blog/2024-10-11-11-9-migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ In one of our previous release, we introduced a **parent POM** structure to mana

* **Default App Runtime Dependencies:** Many default dependencies your application relies on are already included in the parent POM. During the 11.9 migration, any duplicate dependencies in your application POM that are also present in the parent POM will be removed to avoid redundancy. For instance, if Apache Commons Lang3 is declared in the application POM, it will be removed since it's already included in the parent POM.

* **Dependency Version Management:** If a dependency version is declared in the parent POM, both the version and any overrides using placeholders or properties will be removed from the application POM. This ensures that the application inherits the correct version from the parent POM. For example, if spring-security-oauth2-client has its version set through a property like ${spring.security.version}, both the version tag and the property will be removed, allowing the dependency to inherit the latest version from the parent POM.
* **Dependency Version Management:** If a dependency version is declared in the parent POM, both the version and any overrides using placeholders or properties will be removed from the application POM. This ensures that the application inherits the correct version from the parent POM. For example, if spring-security-oauth2-client has its version set through a property like `${spring.security.version}`, both the version tag and the property will be removed, allowing the dependency to inherit the latest version from the parent POM.

**Before Migration**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ WaveMaker allows you to authenticate your apps with OpenID. Setting the Security
### Service Provider Information
- **Redirect URL** is pre-populated by WaveMaker and is not editable. You need to copy this link and use it to as the callback URL in Provider app settings page when you register the app.
- If the application is deployed outside of WaveMaker then the redirect URL for the deployed applications will be in the below format.
**"https://<domain_name>/<app_name>/oauth2/code/{providerid}"**.
`https://<domain_name>/<app_name>/oauth2/code/{providerid}`.

### Integration Information
- Client Credentials issued once your app is registered with the Provider. It will be in the form of **Client ID** and **Client Secret**.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,31 +129,31 @@ During the app development in WaveMaker, application URLs like Metadata, Audienc

- the **Metadata URL** during development would look like this:

https://wavemakeronline.com/studio/services/saml/metadata
`https://wavemakeronline.com/studio/services/saml/metadata`

whereas, for deployment app, the URL should typically look like:

(http/https)://{hostname}/{appname}/saml/metadata
`(http/https)://{hostname}/{appname}/saml/metadata`

- the **Audience URL** during development would look like this:

https://wavemakeronline.com/{tenantid}/{appname}/saml/SSO
`https://wavemakeronline.com/{tenantid}/{appname}/saml/SSO`

whereas, for deployment app, the URL should typically look like:

(http/https)://{hostname}/{appname}/saml/SSO
`(http/https)://{hostname}/{appname}/saml/SSO`

- the Single Signout URL during development would look like this:

https://wavemakeronline.com/studio/services/saml/SingleLogout
`https://wavemakeronline.com/studio/services/saml/SingleLogout`

whereas, for deployment app, the URL should typically look like:

(http/https)://{hostname}/{appname}/saml/SingleLogout
`(http/https)://{hostname}/{appname}/saml/SingleLogout`


:::note
You can get the {hostname} by looking at the URL of any deployed app from your account. It will typically be of the format: `tenant_id.cloud.wavemakeronline.com` for apps deployed to WaveMaker Cloud (ref [Managed Deployed App](/learn/app-development/deployment/manage-deployed-apps/) for details).
You can get the `{hostname}` by looking at the URL of any deployed app from your account. It will typically be of the format: `tenant_id.cloud.wavemakeronline.com` for apps deployed to WaveMaker Cloud (ref [Managed Deployed App](/learn/app-development/deployment/manage-deployed-apps/) for details).
:::

## Collaboration in Application that is configured with SAML
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ One need not be on the same email domain to collaborate on the project.
## Change Roles

- Once the user is added as Project Admin/Contributor, the role can be changed. To change the role of the existing member, click on More options and select Add as Project Admin/Add as Contributor option.
- It opens a  confirmation dialog saying `<user_name>` role will be changed from `<existing_role>` to <new_role> in `<project_name>`. Click OK button to confirm.
- It opens a  confirmation dialog saying `<user_name>` role will be changed from `<existing_role>` to `<new_role>` in `<project_name>`. Click OK button to confirm.

[Refer here](/learn/app-development/wavemaker-overview/project-user-management/#roles) to know more about the Roles.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -268,9 +268,9 @@ Supported value expression types are listed in below table
| equals | = | Number or String | Values that equals to given value | - `empId=1` - `firstname=’Eric’` |
| not equals | `!=` (or) `< >` | Number or String | Values that are not equal to given value | - `zip!=02127` - `jobTitle< >‘Engineer’` |
| between | between | Date or Number | Values between given range | - birthdate between '1973-10-21' and '1986-06-18' (using date format - YYYY-MM-DD) - zip between 14231 and 15922 |
| less than | < | Number | Values less than given value | - empId<6 |
| less than | &lt; | Number | Values less than given value | - empId&lt;6 |
| greater than | > | Number | Values greater than given value | - deptId>10 |
| less than or equal to | <= | Number | Values less or equal to given value | - empId<=4 |
| less than or equal to | &lt;= | Number | Values less or equal to given value | - empId&lt;=4 |
| greater than or equal to | >= | Number | Values greater than or equal to given value | - zip>=11 |
| pattern matching | like | String | Values matching the given pattern |- street like ‘4%Houston%’ |
| starts with | like | String | Values starting with the given string | - firstname like ‘E%’ |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ _periods_ This API returns the history data for the temporal table by applying g
5. q [optional]: query to filter the history data.
6. Pageable [optional]: pagination information. 

- _/periods/{id} (or) /periods/composite-id_ This Api returns the history data for given id and by applying given filters.
- _/periods/\{id} (or) /periods/composite-id_ This Api returns the history data for given id and by applying given filters.

### Method: GET Parameters
1. Id columns information as specified for normal findById API.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ For all queries and procedures, there will be a Rest API generated with the Serv

Both _Request_ and _Response_ POJO classes are generated as: `<procedureName>Request/Response`

1. These classes are generated in a package: `<service_packagegt;.models.procedure`
1. These classes are generated in a package: `<service_package>.models.procedure`
2. Response classes generated for all procedures having at least one return property i.e OUT parameter or cursor.

**Example**:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ For all queries and procedures, there will be a Rest API generated with the Serv
### Models
Both _Request_ and _Response_ POJO classes are generated as: `<queryName>Request/Response`

- These classes are generated in a package: <service_package>.models.query
- These classes are generated in a package: `<service_package>.models.query`
- Response class is generated only for SELECT queries. The return type for Non-Select queries will be integer hence POJO class is not generated.
**Example**:
query with name **getAllEmployees** will generate **GetAllEmployeesResponse** class with all returned columns.
Expand Down
Loading