Skip to content

Commit

Permalink
fix markdown linting errors
Browse files Browse the repository at this point in the history
  • Loading branch information
zspitzer committed Nov 10, 2024
1 parent e4c5954 commit 4358a91
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 6 deletions.
1 change: 1 addition & 0 deletions docs/recipes/ai-for-documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ To enable AI in the Documentation tab of the Monitor, set up a compatible AI con
Below are example configurations to enable AI functionality in the Documentation tab, important here is the `default` setting.

**OpenAI (ChatGPT) Configuration Example:**

```json
"ai": {
"docChatGPT": {
Expand Down
7 changes: 6 additions & 1 deletion docs/recipes/ai.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Lucee 6.2 includes experimental support for AI integration, which will be finali
In Lucee 6.2, AI connections can be configured similarly to datasources or caches, either in the Lucee Administrator or directly in `.CFConfig.json`. Here are sample configurations:

**OpenAI (ChatGPT) Example:**

```json
"ai": {
"mychatgpt": {
Expand All @@ -36,6 +37,7 @@ In Lucee 6.2, AI connections can be configured similarly to datasources or cache
```

**Google Gemini Example:**

```json
"ai": {
"mygemini": {
Expand All @@ -51,6 +53,7 @@ In Lucee 6.2, AI connections can be configured similarly to datasources or cache
```

**Ollama (Local) Example:**

```json
"ai": {
"gemma2": {
Expand All @@ -68,6 +71,7 @@ In Lucee 6.2, AI connections can be configured similarly to datasources or cache
In these examples, ChatGPT from OpenAI, Gemini from Google, and Ollama for local use are set up. The `OpenAIEngine` allows configuration for `openai` or `ollama` types and can also connect to any service using the OpenAI REST interface by specifying a URL:

**OpenAI REST Interface Example:**

```json
"ai": {
"lucy": {
Expand Down Expand Up @@ -110,6 +114,7 @@ You can interact with AI directly via Lucee functions and tags.
At the moment, these functions use the prefix `Lucee` to avoid conflicts with existing functions in your code. With Lucee 7, we plan to remove the prefix (but still support it as an alias).

**Direct Interaction Example:**

```javascript
// start a session with a specic AI endpoint
slim = LuceeCreateAISession(name:'gemma2', systemMessage:"Answer as Slim Shady.");
Expand All @@ -136,7 +141,7 @@ This feature is still a work in progress, and we are working to improve the qual
### Monitor Documentation Tab

In the Monitor's Documentation tab, AI can answer questions about Lucee based on retrieval-augmented generation (RAG) with available documentation and links to related documents.
This feature is also in development for enhanced input quality (read more about Monitor Documentation here https://github.com/lucee/lucee-docs/blob/master/docs/recipes/monitoring-debugging.md).
This feature is also in development for enhanced input quality (read more about [https://github.com/lucee/lucee-docs/blob/master/docs/recipes/monitoring-debugging.md](Monitor Documentation) ).

## Future Development

Expand Down
15 changes: 11 additions & 4 deletions docs/recipes/breaking-changes-6-1.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@


<!--
{
"title": "Breaking Changes Between Lucee 6.0 and 6.1",
Expand All @@ -23,24 +22,29 @@ As of Lucee 6.1, the **Lucee Language dialect** has been fully removed. This mea
In Lucee 6.0, using the `<cfcontent>` tag with a file URL that returns a **403 Forbidden** response did not throw an exception. In Lucee 6.1, this behavior has changed, and now an exception **will be thrown** in this scenario. Make sure to adjust your error handling if this is relevant to your application.

### Previous Behavior (Lucee 6.0):

```cfml
<cfcontent file="https://example.com/protected-file" />
```

- No exception was thrown, even if a 403 was returned.

### New Behavior (Lucee 6.1):

- An exception is now thrown if the server returns a 403 status code.

## `fileExists()` Function Behavior with HTTP Paths

In Lucee 6.0, the `fileExists()` function returned `true` when checking an HTTP path that returned a **403 Forbidden** status. In Lucee 6.1, the function now correctly returns `false` if the server responds with a 403.

### Previous Behavior (Lucee 6.0):

```cfml
fileExists("https://example.com/protected-file") // Returns true, even with a 403 response
```

### New Behavior (Lucee 6.1):

```cfml
fileExists("https://example.com/protected-file") // Now returns false for a 403 response
```
Expand All @@ -50,16 +54,19 @@ fileExists("https://example.com/protected-file") // Now returns false for a 403
The behavior of the `dollarFormat()` function when formatting negative numbers has been standardized to match **Adobe ColdFusion (ACF)**. In previous versions of Lucee, this function had inconsistent behavior depending on the Java version.

### Previous Behavior (Lucee 5 on Java 8):

```cfml
dollarFormat(-11.34) // Returns ($11.34)
```

### Previous Behavior (Lucee 5 on Java 11):

```cfml
dollarFormat(-11.34) // Returns -$11.34
```

### New Behavior (Lucee 6.1):

The function now returns `($11.34)` for negative values, which aligns with ACF's behavior.

```cfml
Expand All @@ -70,8 +77,6 @@ dollarFormat(-11.34) // Returns ($11.34) on Lucee 6.1

These breaking changes in Lucee 6.1 may impact existing applications that rely on the old behaviors. Review your code to ensure it is compatible with these updates, particularly if you are using the Lucee Language dialect, the `cfcontent` tag with protected files, the `fileExists()` function with HTTP paths, or the `dollarFormat()` function.



## Query of Queries (QoQ) Behavior in Lucee 6.1

Query of Queries (QoQ) in CFML allows you to run SQL queries on existing result sets (known as `Query` objects in CFML). There have been notable changes to QoQ functionality in Lucee 6.1 that could impact backward compatibility.
Expand All @@ -92,7 +97,9 @@ actual = QueryExecute(
);
writedump( actual );
```

However, **MySQL**, **Oracle**, and **PostgreSQL** do not support square bracket character sets in their `LIKE` operator, which caused inconsistencies in behavior across different databases.

### New Behavior (Lucee 6.1)
Expand All @@ -117,6 +124,7 @@ Would need to be updated to:
```sql
WHERE col1 LIKE 'foo\[bar]baz%'
```

If a custom escape character is preferred, you can use the standard SQL `ESCAPE` syntax:

```sql
Expand All @@ -140,4 +148,3 @@ WHERE col1 LIKE 'foo@[bar]baz%' ESCAPE '@'
```

This update ensures more consistent behavior and improved support for matching patterns with special characters, making QoQ more reliable across different databases.

1 change: 1 addition & 0 deletions docs/recipes/configuration-lucee5.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ Example:
```

Two types of placeholders are supported:

- **`{env:MYDS_USERNAME}`**: Refers to an environment variable.
- **`{system:myds.password}`**: Refers to a system property.

Expand Down
2 changes: 2 additions & 0 deletions docs/recipes/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ within a single engine. For example, you can host `lucee.org` and `whatever.org`
in its own web context.

Lucee 6 provides two configuration modes:

- **Single Mode**: A single configuration for the entire Servlet Engine.
- **Multi Mode**: A global configuration for the engine, with separate configurations for each web context.

Expand Down Expand Up @@ -87,6 +88,7 @@ Example:
```

Three types of placeholders are supported:

- **`${MYDS_PASSWORD}`**: Can be an environment variable or system property.
- **`{env:MYDS_USERNAME}`**: Refers to an environment variable.
- **`{system:myds.url}`**: Refers to a system property.
Expand Down
1 change: 0 additions & 1 deletion docs/recipes/overwrite-build-in-functions-tags.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,3 @@ This approach not only allows you to overwrite existing functions but also to ad
The process for tags is similar. To create or overwrite a tag, use the `…/lucee-server/context/library/tags` directory. Custom tags need to follow the same interface as regular custom tags. You can refer to existing built-in tags in this directory as templates for your implementations.

By following these steps, you can extend or modify Lucee's capabilities to suit your specific needs.

0 comments on commit 4358a91

Please sign in to comment.