diff --git a/api/build/BuildRunner.cfc b/api/build/BuildRunner.cfc index 52fbcc3d0..3ed00b8fb 100644 --- a/api/build/BuildRunner.cfc +++ b/api/build/BuildRunner.cfc @@ -48,8 +48,8 @@ component accessors=true { var builders = []; for( var dir in dirs ){ - if ( dir.type == "dir" - && FileExists( dir.directory & "/#dir.name#/Builder.cfc" ) + if ( dir.type == "dir" + && FileExists( dir.directory & "/#dir.name#/Builder.cfc" ) && dir.name neq "dash" ) { builders.append( dir.name ); } diff --git a/api/reference/TagReferenceReader.cfc b/api/reference/TagReferenceReader.cfc index d4118d1d9..d8274d48f 100644 --- a/api/reference/TagReferenceReader.cfc +++ b/api/reference/TagReferenceReader.cfc @@ -105,8 +105,8 @@ component accessors=true { version: e.version } } - } catch (e) { - //ignore + } catch (e) { + //ignore } } diff --git a/builders/html/templates/function.cfm b/builders/html/templates/function.cfm index 236bd92ff..79c62f824 100644 --- a/builders/html/templates/function.cfm +++ b/builders/html/templates/function.cfm @@ -15,7 +15,7 @@ } else { local.status = local.fn.getStatus(); } - +

Status: #local.status#

@@ -33,7 +33,7 @@

Returns: #local.fn.getReturnTypeLink()#

- +
Return Type Description (title only shown in edit mode, normally just a paragraph) @@ -90,7 +90,7 @@ #getEditLink(path=local.fn.getSourceDir() & '_arguments/#local.arg.name#.md', edit=args.edit)# #_markdownToHtml( Trim( local.arg.description ) )# -

Alias: +

Alias: #ListChangeDelims(local.arg.alias,", ",",")#

@@ -106,7 +106,7 @@ #_markdownToHtml( local.arg.default ?: "" )# - + diff --git a/builders/html/templates/tag.cfm b/builders/html/templates/tag.cfm index 14485c93a..81068f6c9 100644 --- a/builders/html/templates/tag.cfm +++ b/builders/html/templates/tag.cfm @@ -19,13 +19,13 @@ } else { local.status = local.tag.getStatus(); } - +

Status: #local.status#

Requires Extension: #local.tag.getSrcExtension().name#

- + #local.tag.getUsageSignature()# @@ -96,7 +96,7 @@
#local.attrib.name#
- #local.attrib.type#, + #local.attrib.type#, #( local.attrib.required ? 'required' : 'optional' )# @@ -131,7 +131,7 @@ #_markdownToHtml( local.tag.getUsageNotes() )#
-
+

Examples

diff --git a/docs/00.home/homepage.md b/docs/00.home/homepage.md index 3850cab53..23bf968f5 100644 --- a/docs/00.home/homepage.md +++ b/docs/00.home/homepage.md @@ -23,9 +23,9 @@ To find out more about getting involved as a developer with Lucee, checkout our ## Lucee 6.0 -[Lucee 6](https://dev.lucee.org/tag/lucee-6) is the next major release of Lucee, currently in [development](https://luceeserver.atlassian.net/jira/software/c/projects/LDEV/boards/10?sprint=58). +[Lucee 6](https://dev.lucee.org/tag/lucee-6) is the next major release of Lucee, currently in [development](https://luceeserver.atlassian.net/jira/software/c/projects/LDEV/boards/10?sprint=58). -Highlights include, reduced size, faster startup, single context mode, json based configuration and much more. +Highlights include, reduced size, faster startup, single context mode, json based configuration and much more. ## Lucee 5.3 diff --git a/docs/03.reference/02.tags/case/_examples.md b/docs/03.reference/02.tags/case/_examples.md index 3af5e524b..a86faa25d 100644 --- a/docs/03.reference/02.tags/case/_examples.md +++ b/docs/03.reference/02.tags/case/_examples.md @@ -1,4 +1,4 @@ -### Tag syntax +### Tag syntax ```lucee+trycf @@ -26,7 +26,7 @@ case 1: result = 1; break; - case 2: + case 2: case 3: result = "2 or 3"; break; diff --git a/docs/03.reference/02.tags/catch/_examples.md b/docs/03.reference/02.tags/catch/_examples.md index ed0dc952d..5a09b5c43 100644 --- a/docs/03.reference/02.tags/catch/_examples.md +++ b/docs/03.reference/02.tags/catch/_examples.md @@ -17,6 +17,6 @@ try { throw "demo echo trick"; } catch ( e ){ echo( e ); // outputs the error nicely using the error template - echo( cfcatch ); // lucee always populates cfcatch + echo( cfcatch ); // lucee always populates cfcatch } ``` diff --git a/docs/03.reference/02.tags/if/_examples.md b/docs/03.reference/02.tags/if/_examples.md index 7ddc4e6b5..895d58200 100644 --- a/docs/03.reference/02.tags/if/_examples.md +++ b/docs/03.reference/02.tags/if/_examples.md @@ -3,7 +3,7 @@ ### Tag example ```lucee+trycf - + It is greater than 1 diff --git a/docs/04.guides/02.installing-lucee/02.windows/14.installing-lucee-with-xampp-apache2-and-mariadb-on-windows/page.md b/docs/04.guides/02.installing-lucee/02.windows/14.installing-lucee-with-xampp-apache2-and-mariadb-on-windows/page.md index 0d00cf050..84f4af5fe 100644 --- a/docs/04.guides/02.installing-lucee/02.windows/14.installing-lucee-with-xampp-apache2-and-mariadb-on-windows/page.md +++ b/docs/04.guides/02.installing-lucee/02.windows/14.installing-lucee-with-xampp-apache2-and-mariadb-on-windows/page.md @@ -91,10 +91,10 @@ ProxyPassReverse / ajp://127.0.0.1:8009/ secret=MySecretPassword - Step 26: Open to edit `C:\xampp\apache\conf\httpd.conf` and search for the string `DocumentRoot`. - Step 27: Change the document root directive from `C:/xampp/htdocs` and your directory directive to Lucees default localhost directory like so: -``` +``` DocumentRoot "C:\lucee\tomcat\webapps\ROOT" -``` +``` - Step 28: Restart Apache2 from within your XAMP control panel - Step 29: Open `http://localhost/index.cfm` and you should see the Lucee welcome page reendered with all static files. diff --git a/docs/04.guides/02.installing-lucee/11.securing-webinf/page.md b/docs/04.guides/02.installing-lucee/11.securing-webinf/page.md index 8fbd8e2c9..d98157fd6 100644 --- a/docs/04.guides/02.installing-lucee/11.securing-webinf/page.md +++ b/docs/04.guides/02.installing-lucee/11.securing-webinf/page.md @@ -13,7 +13,7 @@ By default, Lucee places its web-context configuration and data files in a folde The WEB-INF folder structure gets created automatically when Lucee gets called to serve up a .cfm/.cfml file. If you wish to redirect the web-context data elsewhere, follow the instructions below. -If you followed the instructions on previous pages, you already have a folder called D:\Lucee\. +If you followed the instructions on previous pages, you already have a folder called D:\Lucee\. Create a subfolder called "web-contexts" within D:\Lucee\ diff --git a/docs/04.guides/02.installing-lucee/20.installer-developers/page.md b/docs/04.guides/02.installing-lucee/20.installer-developers/page.md index 80f77172f..ffb488378 100644 --- a/docs/04.guides/02.installing-lucee/20.installer-developers/page.md +++ b/docs/04.guides/02.installing-lucee/20.installer-developers/page.md @@ -32,4 +32,4 @@ Twitter: [https://twitter.com/bmanclt](https://twitter.com/bmanclt) Some other open source projects: [BonCode Connector](http://www.boncode.net/boncode-connector) -[PGP for ColdFusion](https://github.com/Bilal-S/cfpgp) +[PGP for ColdFusion](https://github.com/Bilal-S/cfpgp) diff --git a/docs/04.guides/04.cookbooks/01.application-context-basic/page.md b/docs/04.guides/04.cookbooks/01.application-context-basic/page.md index aa6e4fb47..ad1e4b6fa 100644 --- a/docs/04.guides/04.cookbooks/01.application-context-basic/page.md +++ b/docs/04.guides/04.cookbooks/01.application-context-basic/page.md @@ -77,7 +77,7 @@ This is normally used to initialize the environment for a specific session, so f ### OnSessionEnd ### -The opposite from "onSessionStart", this function is triggered when a specific session context ends, when the timeout of a session context is reached (this.sessionTimeout). +The opposite from "onSessionStart", this function is triggered when a specific session context ends, when the timeout of a session context is reached (this.sessionTimeout). Irrespective of the exact `sessionTimeout` value, `onSessionEnd` is called when the background controller thread cleans up expired scopes (i.e. `session`, `application`), by default, this process runs every minute. @@ -200,14 +200,14 @@ component { ## Application.cfc Default Template ## -Below you can find an Application.cfc template that may serve as a starting point for your own applications settings with Lucee CFML engine. +Below you can find an Application.cfc template that may serve as a starting point for your own applications settings with Lucee CFML engine. When creating an Application.cfc for the first time, you can configure all the settings within the Lucee Server or Web Administrator and use its "Export" tool ( Lucee Adminisitrator => Settings => Export ) to move (by copy and paste) the settings to your Application.cfc. ```cfs component displayname="Application" output="false" hint="Handle the application" { - + /*************************************************************************** * INTRODUCTION **************************************************************************** diff --git a/docs/04.guides/05.working-with-source/01.build-from-source/page.md b/docs/04.guides/05.working-with-source/01.build-from-source/page.md index 198fa3f16..b46f67486 100644 --- a/docs/04.guides/05.working-with-source/01.build-from-source/page.md +++ b/docs/04.guides/05.working-with-source/01.build-from-source/page.md @@ -14,10 +14,10 @@ See [[building-testing-extensions]] for instructions regarding Extensions Before you can start building Lucee from source, you will need a few things installed on your machine: -1. **Java JDK** - since you're going to compile Java code you need the JDK and not just the JRE. +1. **Java JDK** - since you're going to compile Java code you need the JDK and not just the JRE. - Lucee requires JDK 8 or later in order to compile. [Oracle](https://www.oracle.com/technetwork/java/javase/downloads/) or [AdoptOpenJDK](https://adoptopenjdk.net/) -- Java 11 is *recommended*, Java 15 is *not yet supported* due the removal of the Nashorn JavaScript engine which is used in the build process +- Java 11 is *recommended*, Java 15 is *not yet supported* due the removal of the Nashorn JavaScript engine which is used in the build process - Java 17 *isn't yet fully supported* due to some Apache Felix issues (fixed in 5.3.9, but some extensions need updating) 1. **Apache Maven** - the source code contains several build scripts that will automate the build process for you. You will need Maven installed in order to run these build scripts. @@ -113,12 +113,12 @@ If you are using VS Code and the cflint plugin, make sure you exclude the `temp/ ant -DtestFilter="zip" -DtestAdditional="C:\work\lucee-extensions\extension-compress\tests" -**testDebug** outputs debug information about tests which don't compile and why they are filtered out, plus full stacktraces. +**testDebug** outputs debug information about tests which don't compile and why they are filtered out, plus full stacktraces. Any invalid tests (syntax errors etc) are skipped by default ant -DtestDebug="true" - + **testDebugAbort** used with `testDebug` to check test cases Build will abort after scanning tests cases for errors, good for finding invalid test cases diff --git a/docs/04.guides/12.deploying-lucee-server-apps/page.md b/docs/04.guides/12.deploying-lucee-server-apps/page.md index 4e481508e..8893b7a03 100644 --- a/docs/04.guides/12.deploying-lucee-server-apps/page.md +++ b/docs/04.guides/12.deploying-lucee-server-apps/page.md @@ -26,6 +26,6 @@ However, if there is already a newer Lucee core version in the `/patches/` folde The `/deploy` folder is just a shortcut way to install the `.lco` version into the patches folder of a running Lucee server without needing to restart it. -The `/patches` folder is where Lucee's core `.lco` jars are kept. When Lucee starts, it determines which `*.lco` in that folder is the latest version and it loads that version. +The `/patches` folder is where Lucee's core `.lco` jars are kept. When Lucee starts, it determines which `*.lco` in that folder is the latest version and it loads that version. Extensions (`.lex`) can also be dropped in the `/lucee-server/context/extensions/available` folder and they can be installed using environment or JVM arguments without Lucee reaching out to the update provider. diff --git a/docs/04.guides/13.Various/24.rest-services/page.md b/docs/04.guides/13.Various/24.rest-services/page.md index a97cd8839..613ba79b2 100644 --- a/docs/04.guides/13.Various/24.rest-services/page.md +++ b/docs/04.guides/13.Various/24.rest-services/page.md @@ -20,7 +20,7 @@ This documentation shows how to setup and configure Lucee Server to serve REST ( REST is an application architecture which defines stateless data transfer over networked services. In the context of the web REST is commonly implemented over HTTP as it is a RESTful protocol. -Lucee Server gives you the ability to define REST Services using collection of CFC components by using a set of REST specific attributes; and then configuring Lucee about which REST path should be used to access the service. +Lucee Server gives you the ability to define REST Services using collection of CFC components by using a set of REST specific attributes; and then configuring Lucee about which REST path should be used to access the service. Following you will learn how to setup REST in Lucee by adding a small example REST application with a REST service mapped to the name **metrics** ( which will be served by accessing the URL `http://localhost:8888/rest/metrics/` ).
@@ -28,11 +28,11 @@ Following you will learn how to setup REST in Lucee by adding a small example RE ### 2. Setting up REST services with Lucee ### -REST requests are executed by an additional servlet (RestServlet) that is shipped with Lucee and already pre-configured and enabled in Tomcat by default. +REST requests are executed by an additional servlet (RestServlet) that is shipped with Lucee and already pre-configured and enabled in Tomcat by default. Thus, you won't need to do any additional configurations in Tomcat. All you need is to configure a REST service with your Application. -In Lucee you have two main options to add a REST service to your Application: +In Lucee you have two main options to add a REST service to your Application:

@@ -40,11 +40,11 @@ In Lucee you have two main options to add a REST service to your Application: * **Step 1:** Log into your Lucee Server Administrator or Web Administrator and navigate to **Archives & Resources** » **Rest**. -* **Step 2:** Add a new mapping in the *Create new mapping* section with following values: +* **Step 2:** Add a new mapping in the *Create new mapping* section with following values: * **Virtual:** *metrics* * **Physical:** *C:\path-to-location-with-your-rest-components\\* and click on **save** -* **Step 3:** OPTIONAL: To make sure the REST services are correctly set up, activate the check box for **List services**. When enabled, you'll see a list of all the REST service mappings by navigating to `http://localhost:8888/rest/` (this will list all REST mappings created for the localhost web-context). +* **Step 3:** OPTIONAL: To make sure the REST services are correctly set up, activate the check box for **List services**. When enabled, you'll see a list of all the REST service mappings by navigating to `http://localhost:8888/rest/` (this will list all REST mappings created for the localhost web-context).

@@ -142,7 +142,7 @@ http://localhost:8888/rest/metrics/system/timezone/utcHourOffset ### 5. Configuring your fronted web server to serve Lucee's REST services (Internet Information Services (IIS) and Apache2 ) ### In the preceding steps we have added a REST service mapping named "metrics" serving REST resources with a CFC component -named `System.cfc` to Lucee. While the resources are accessible on Lucee's default port 8888 you might not be able to access the services with a frontend webserver through port 80 or 443. This is because IIS, Apache2 or whatever server you are using in front of Lucee may need additional configuration to pass the REST requests `rest/*` to Tomcat/Lucee. +named `System.cfc` to Lucee. While the resources are accessible on Lucee's default port 8888 you might not be able to access the services with a frontend webserver through port 80 or 443. This is because IIS, Apache2 or whatever server you are using in front of Lucee may need additional configuration to pass the REST requests `rest/*` to Tomcat/Lucee. To intercept requests for `rest/*` paths and direct them to Tomcat/Lucee, follow the instructions below:
@@ -152,7 +152,7 @@ To intercept requests for `rest/*` paths and direct them to Tomcat/Lucee, follow * *Step 1:* Open the "Internet Internet Information Services (IIS) Manager" -* *Step 2:* Select the main server node for global settings, or the specific site you'd like to add the REST service +* *Step 2:* Select the main server node for global settings, or the specific site you'd like to add the REST service * *Step 3:* Open "Handler Mappings" with a double click @@ -173,7 +173,7 @@ To intercept requests for `rest/*` paths and direct them to Tomcat/Lucee, follow #### For Apache2 on Ubuntu/Linux #### -* *Step 1:* Find the settings for the "ProxyPassMatch" directive configuration for `*.cfc` and `*.cfm` files of your Apache2: In a Lucee default installation you'll usually find the directives at */etc/apache2/apache2.conf* or */etc/httpd/conf/httpd.conf*. +* *Step 1:* Find the settings for the "ProxyPassMatch" directive configuration for `*.cfc` and `*.cfm` files of your Apache2: In a Lucee default installation you'll usually find the directives at */etc/apache2/apache2.conf* or */etc/httpd/conf/httpd.conf*. * *Step 2:* Find the following commented line: @@ -187,7 +187,7 @@ and uncomment it by removing the preceding hash sign `#` like so: ProxyPassMatch ^/rest/(.*)$ http://127.0.0.1:8888/rest/$1 ``` -If you are using AJP instead of reverse http proxy, the line should be adapted accordingly +If you are using AJP instead of reverse http proxy, the line should be adapted accordingly by changing the string *http://* to *ajp://*, that would be: `ProxyPassMatch ^/rest/(.*)$ ajp://127.0.0.1:8009/rest/$1`. * *Step 3:* Restart/reload apache2 configuration with the command @@ -201,17 +201,17 @@ $ sudo systemctl restart apache2 ### 6. Important information when running REST applications behind IIS or Apache2 with mod_cfml enabled ### -**Issue with mod_cfml:** By time of this writing **mod_cfml** is not supporting automatic configuration for pure REST web applications. +**Issue with mod_cfml:** By time of this writing **mod_cfml** is not supporting automatic configuration for pure REST web applications. The reason is that even if you have IIS or Apache2 configured properly, mod_cfml will fail to identify the requests (with path `rest/*`) as being cfml requests, unless they contain `.cfc` or `.cfml` in the url. -As a result, mod_cfml will fail to recognise these requests and won't create the Tomcat web contexts for new added site/hostname in IIS/Apache (mod_cfml task is to create the context settings for sites/virtual hosts added to IIS/Apache in Tomcats configuration automatically for you). +As a result, mod_cfml will fail to recognise these requests and won't create the Tomcat web contexts for new added site/hostname in IIS/Apache (mod_cfml task is to create the context settings for sites/virtual hosts added to IIS/Apache in Tomcats configuration automatically for you). Because Tomcat has no configuration set up for those new added sites, Tomcat will deliver it's default webroot, causing the impression that Lucee serves only REST applications from the Tomcat's default webserver root at `Tomcat/webapps/ROOT`. -**The quick fix**: The quickest solution is to add an empty `index.cfm` template at the physical location of the webroot of IIS site or apache virtual host and call the `index.cfm` file through port 80 (or 443 for https) of your IIS or Apache2. +**The quick fix**: The quickest solution is to add an empty `index.cfm` template at the physical location of the webroot of IIS site or apache virtual host and call the `index.cfm` file through port 80 (or 443 for https) of your IIS or Apache2. -Then wait for *mod_cfml* to create the context in Tomcat. After that the REST service should be accessible through port 80 of IIS or Apache without issues. +Then wait for *mod_cfml* to create the context in Tomcat. After that the REST service should be accessible through port 80 of IIS or Apache without issues. Once the *mod_cfml* has successfully created the host configuration in Tomcat, you can safely remove the empty `index.cfm` file.
@@ -223,15 +223,15 @@ Find below a quick reference overview of specific component attributes and funct

-#### 7.1 CFcomponent attributes for REST #### - +#### 7.1 CFcomponent attributes for REST #### + * **rest (boolean):** enables/disables the component as an accessible rest component. Default value is `true`. Set it to false if you wish to disable a component from serving REST services. * **restpath (string):** defines the path that invokes the component. Use this to define your own REST path in case you don't want to use the components name. * **httpMethod (string):** defines the http method to access the component. All values that are supported and allowed by the server can be used. Common values are `GET | POST | PUT | UPDATE | DELETE | HEAD | OPTIONS`

-#### 7.2 CFfunction attributes for REST #### +#### 7.2 CFfunction attributes for REST #### * **access='remote':** makes the function remotely accessible * **restpath (string):** defines the path that invokes the function diff --git a/docs/05.categories/260.regex/category.md b/docs/05.categories/260.regex/category.md index 322a621af..f7d633351 100644 --- a/docs/05.categories/260.regex/category.md +++ b/docs/05.categories/260.regex/category.md @@ -12,7 +12,7 @@ You can switch engines using the following options in your [[tag-application]] ``` this.regex.engine = "java"; // default is "perl" -// or +// or this.useJavaAsRegexEngine = true; ```