Skip to content

Commit d1ea9e9

Browse files
committed
ai-supported review
1 parent f145c1f commit d1ea9e9

File tree

4 files changed

+18
-19
lines changed

4 files changed

+18
-19
lines changed

get-started/bookshop.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ As soon as we saved the domain model, `cds watch` reacted with additional output
175175
> [!tip] Inner-Loop Development
176176
> SQLite isn't meant for productive use, but rather for development only.
177177
> It drastically speeds up turn-around times in local inner-loop development.
178-
> Essentially it acts as a mock stand-in for the target databases we'll use in production, i.e., SAP HANA.
178+
> Essentially it acts as a mock stand-in for the target databases we'll use in production, that is, SAP HANA.
179179
180180
181181
### Compile to SQL {.optional}
@@ -634,7 +634,7 @@ With that in place, we can connect to the remote services, and send queries to t
634634
###### CAP-level Service Integration
635635
###### Calesi
636636
> [!tip] CAP-level Service Integration (<i>'Calesi'</i>)
637-
> CAP services can be consumed from other CAP applications, using the same uniform, and protocol-agnostic APIs as for local services – i.e., **_as if they were local_**. This is accomplished by the service instances returned by `cds.connect` being remote proxies, which automatically translate all requests into protocol-specific ones, sent to remote services. Thereby taking care of all connectivity, remote communication, marshalling of data, as well as generic resilience.
637+
> CAP services can be consumed from other CAP applications, using the same uniform, and protocol-agnostic APIs as for local services – that is, **_as if they were local_**. This is accomplished by the service instances returned by `cds.connect` being remote proxies, which automatically translate all requests into protocol-specific ones, sent to remote services. Thereby taking care of all connectivity, remote communication, marshalling of data, as well as generic resilience.
638638
639639
640640
## Serving UIs

get-started/concepts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,7 @@ So, in total, and in effect, we learn:
608608

609609

610610

611-
The *[Hexagonal Architecture](https://alistair.cockburn.us/hexagonal-architecture/)* (aka *Ports and Adapters Architecture/Pattern*) as first proposed by Alistair Cockburn in 2005, is quite famous and fancied these days (rightly so). As he introduces it, its intent is to:
611+
The *[Hexagonal Architecture](https://alistair.cockburn.us/hexagonal-architecture/)* (also known as *Ports and Adapters Architecture/Pattern*) as first proposed by Alistair Cockburn in 2005, is quite famous and fancied these days (rightly so). As he introduces it, its intent is to:
612612

613613
*"Allow an application to equally be driven by users, programs, automated test or batch scripts, and to be developed and tested in isolation from its eventual run-time devices and databases"* {.indent style="font-family:serif"}
614614

get-started/get-help.md

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Support Channels & Troubleshooting FAQs {.subtitle}
99

1010
<div id="support-channels">
1111

12-
| In order to... | External |
12+
| To... | External |
1313
|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|
1414
| Ask Questions / Get Answers | [SAP Community](https://community.sap.com/t5/c-khhcw49343/SAP+Cloud+Application+Programming+Model/pd-p/9f13aee1-834c-4105-8e43-ee442775e5ce) |
1515
| Create issues / bug reports | [SAP Support Portal](https://support.sap.com) |
@@ -18,8 +18,7 @@ Support Channels & Troubleshooting FAQs {.subtitle}
1818
</div>
1919

2020
> [!tip]
21-
> If you encounter issues, check the Troubleshooting FAQs below.
22-
> Do that first before posting questions to or creating issues in the other channels.
21+
> If you encounter issues, check the Troubleshooting FAQs below before posting questions or creating issues in the support channels.
2322
2423
[[toc]]
2524

@@ -29,13 +28,13 @@ Support Channels & Troubleshooting FAQs {.subtitle}
2928

3029
### Can't start VS Code from Command Line on macOS {#vscode-macos}
3130

32-
In order to start VS Code via the `code` CLI, users on macOS must first run a command (*Shell Command: Install 'code' command in PATH*) to add the VS Code executable to the `PATH` environment variable. Read VS Code's [macOS setup guide](https://code.visualstudio.com/docs/setup/mac) for help.
31+
To start VS Code via the `code` CLI, users on macOS must first run a command (*Shell Command: Install 'code' command in PATH*) to add the VS Code executable to the `PATH` environment variable. Read VS Code's [macOS setup guide](https://code.visualstudio.com/docs/setup/mac) for help.
3332

3433

3534

3635
### Check the Node.js version { #node-version}
3736

38-
Make sure you run the latest long-term support (LTS) version of Node.js with an even number like `20`, `22`, `24`, and so on. Refrain from using odd versions, for which some modules with native parts will have no support and thus might even fail to install. Check version with:
37+
Verify that you run the latest long-term support (LTS) version of Node.js with an even number like `20`, `22`, `24`, and so on. Refrain from using odd versions, for which some modules with native parts will have no support and thus might even fail to install. Check version with:
3938

4039
```sh
4140
node -v
@@ -68,7 +67,7 @@ Global npm installations are stored in a user-specific directory on your machine
6867
C:\Users\<your-username>\AppData\Roaming\npm
6968
```
7069

71-
Make sure that your `PATH`-environment variable contains this path.
70+
Verify that your `PATH`-environment variable contains this path.
7271

7372
In addition, set the variable `NODE_PATH` to: <br /> ``C:\Users\<your-username>\AppData\Roaming\npm\node_modules``.
7473

@@ -148,8 +147,8 @@ Make sure that:
148147
- _Acquiring client from pool timed out_
149148
- _ResourceRequest timed out_
150149

151-
**First of all**, make sure the SAP HANA database is accessible in your application's environment.
152-
This includes making sure the SAP HANA is either part of or mapped to your Cloud Foundry space or Kyma cluster and the IP addresses are [in an allowed range](https://help.sap.com/docs/HANA_SERVICE_CF/cc53ad464a57404b8d453bbadbc81ceb/71eb651f84274a0cb2f2b4380df91724.html). Connectivity issues are likely the root cause if you experience this error during application startup.
150+
Verify that the SAP HANA database is accessible in your application's environment.
151+
This includes verifying the SAP HANA is either part of or mapped to your Cloud Foundry space or Kyma cluster and the IP addresses are [in an allowed range](https://help.sap.com/docs/HANA_SERVICE_CF/cc53ad464a57404b8d453bbadbc81ceb/71eb651f84274a0cb2f2b4380df91724.html). Connectivity issues are likely the root cause if you experience this error during application startup.
153152

154153
[Learn how to set up SAP HANA instance mappings](https://help.sap.com/docs/hana-cloud/sap-hana-cloud-administration-guide/map-sap-hana-database-to-another-environment-context){.learn-more style="margin-top:10px"}
155154

@@ -161,11 +160,11 @@ If you frequently get this error during normal runtime operation your database c
161160
| _Root Cause 2_ | The creation of a new connection to the database takes too long. |
162161
| _Solution_ | Adapt `max` or `acquireTimeoutMillis` with more appropriate values, according to the [documentation](../node.js/databases#databaseservice-configuration). |
163162

164-
Always make sure that database transactions are either committed or rolled back. This can work in two ways:
163+
Ensure that database transactions are either committed or rolled back. This can work in two ways:
165164
1. Couple it to your request (this happens automatically): Once the request is succeeded, the database service commits the transaction. If there was an error in one of the handlers, the database service performs a rollback.
166165
2. For manual transactions (for example, by writing `const tx = cds.tx()`), you need to perform the commit/rollback yourself: `await tx.commit()`/`await tx.rollback()`.
167166

168-
If you're using [@sap/hana-client](https://www.npmjs.com/package/@sap/hana-client), make sure to adjust the environment variable [`HDB_NODEJS_THREADPOOL_SIZE`](https://help.sap.com/docs/SAP_HANA_CLIENT/f1b440ded6144a54ada97ff95dac7adf/31a8c93a574b4f8fb6a8366d2c758f21.html?version=2.11) which specifies the amount of workers that concurrently execute asynchronous method calls for different connections.
167+
If you're using [@sap/hana-client](https://www.npmjs.com/package/@sap/hana-client), verify that the environment variable [`HDB_NODEJS_THREADPOOL_SIZE`](https://help.sap.com/docs/SAP_HANA_CLIENT/f1b440ded6144a54ada97ff95dac7adf/31a8c93a574b4f8fb6a8366d2c758f21.html?version=2.11) is adjusted appropriately. This variable specifies the amount of workers that concurrently execute asynchronous method calls for different connections.
169168

170169

171170
### Why are requests rejected with `502`?
@@ -221,7 +220,7 @@ module.exports = cds.server
221220

222221
| | Explanation |
223222
|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
224-
| _Root Cause_ | In case the application has a service binding with the same name as the requested destination, the SAP Cloud SDK prioritized the service binding. This service of course does have different endpoints than the originally targeted remote service. For more information, please refer to the [SAP Cloud SDK documentation](https://sap.github.io/cloud-sdk/docs/js/features/connectivity/destinations#referencing-destinations-by-name). |
223+
| _Root Cause_ | If the application has a service binding with the same name as the requested destination, the SAP Cloud SDK prioritizes the service binding. This service has different endpoints than the originally targeted remote service. For more information, refer to the [SAP Cloud SDK documentation](https://sap.github.io/cloud-sdk/docs/js/features/connectivity/destinations#referencing-destinations-by-name). |
225224
| _Solution_ | Use different names for the service binding and the destination. |
226225

227226

@@ -320,8 +319,8 @@ To fix this, either switch the Node.js version using a Node version manager, or
320319

321320
### How can I expose custom REST APIs with CAP?
322321

323-
From time to time you might want to expose additional REST APIs in your CAP application, that aren't covered through CAPs existing protocol adapters (for example, OData V4). A common example for this might be a CSV file upload or another type of custom REST endpoint.
324-
In that case, you can leverage the powerful capabilities of Spring Web MVC, by implementing your own RestController. From within your RestController implementation, you can fully leverage all CAP Java APIs. Most commonly you'll be interacting with your services and the database through the [local service consumption API](../java/services). To learn more about Spring Web MVC, see the [Spring docs](https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc), [Spring Boot docs](https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc), and this [tutorial](https://spring.io/guides/gs/serving-web-content/).
322+
You might want to expose additional REST APIs in your CAP application that aren't covered through CAP's existing protocol adapters (for example, OData V4). A common example is a CSV file upload or another type of custom REST endpoint.
323+
In that case, you can leverage the powerful capabilities of Spring Web MVC by implementing your own RestController. From within your RestController implementation, you can fully leverage all CAP Java APIs. Most commonly you'll be interacting with your services and the database through the [local service consumption API](../java/services). To learn more about Spring Web MVC, see the [Spring docs](https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc), [Spring Boot docs](https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc), and this [tutorial](https://spring.io/guides/gs/serving-web-content/).
325324

326325
### How can I build a CAP Java application without SQL database?
327326

get-started/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ code --install-extension vscjava.vscode-maven # for Maven
9696
## Command Line Interface
9797

9898
### The `cds` command
99-
Run the `cds` command in your terminal to check whether installation was successful, and to see an overview of available commands, as shown below:
99+
Run the `cds` command in your terminal to verify your installation and see an overview of available commands, as shown below:
100100
```shell
101101
cds
102102
```
@@ -177,7 +177,7 @@ cds watch
177177
Waiting for some to arrive...
178178
```
179179

180-
Let's feed it with a simple service definition by running that in a secondary terminal, which adds a simple service definition as shown below:
180+
Let's feed it with a simple service definition by running that in a _secondary terminal_, which adds a simple service definition as shown below:
181181
```shell
182182
cds add tiny-sample
183183
```
@@ -278,4 +278,4 @@ npm upgrade
278278
279279
## Next: Bookshop
280280
281-
Continue with [_The Bookshop Sample_](./bookshop) for an step-by-step walkthrough of the most common development tasks in CAP projects. Then explore the [_Core Concepts_](./concepts) and [_Key Features_](./features) of CAP, before going on to the other [_Learning Sources_](./learn-more) within this documentation, or outside.
281+
Continue with [_The Bookshop Sample_](./bookshop) for a step-by-step walkthrough of the most common development tasks in CAP projects. Then explore the [_Core Concepts_](./concepts) and [_Key Features_](./features) of CAP, before going on to the other [_Learning Sources_](./learn-more) within this documentation, or outside.

0 commit comments

Comments
 (0)