You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ex...@apache.org on 2024/11/05 03:54:38 UTC

(nifi-site) branch main-staging updated (5ad4a035 -> dec6c040)

This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a change to branch main-staging
in repository https://gitbox.apache.org/repos/asf/nifi-site.git


    from 5ad4a035 NIFI-13931 Added RewriteRule for nifi-latest documentation guides
     new 8ce4484c NIFI-13897 Updated previous version to 1.28.0
     new 748a00c2 NIFI-13897 Updated build runs-on to ubuntu-24.04
     new a8580042 NIFI-13897 Updated documentation RewriteRule for 1.28.0
     new bb2d1ca4 NIFI-13897 Published CVE-2024-45477
     new 232a541a NIFI-13897 Corrected title for CVE-2024-45477
     new 4aa002f2 NIF-13915 Updated current version to 2.0.0
     new 77f3922b NIFI-13915 Updated documentation for NiFi 2.0.0
     new 56ac748d NIFI-13915 Disabled taxonomy and terms
     new 2dfeab4d NIF-13915 Corrected handling of static nifi-docs
     new 1e31b83d NIFI-13915 Corrected component selected scroll handling
     new dec6c040 NIFI-13915 Updated README.md with project links

The 11 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/build.yml                 |   9 +-
 .gitignore                                  |   3 +
 README.md                                   |  69 +++--
 config.toml                                 |  35 ++-
 content/documentation/_index.md             |   2 +-
 content/documentation/security.md           |  19 ++
 content/documentation/v2/_index.md          |  12 -
 layouts/shortcodes/cpp-download-links.html  |   2 -
 layouts/shortcodes/download-links.html      |   2 -
 layouts/shortcodes/fds-download-links.html  |   2 -
 prebuild.sh                                 |  33 +++
 prebuild/config.toml                        |   6 +
 prebuild/layouts/index.html                 |  51 ++++
 static/.htaccess                            |   7 +-
 themes/nifi/layouts/partials/component.html | 422 ++++++++++++++++++++++++++++
 themes/nifi/layouts/section/components.html | 143 ++++++++++
 themes/nifi/static/css/main.css             |  58 +++-
 17 files changed, 815 insertions(+), 60 deletions(-)
 delete mode 100644 content/documentation/v2/_index.md
 create mode 100644 prebuild.sh
 create mode 100644 prebuild/config.toml
 create mode 100644 prebuild/layouts/index.html
 create mode 100644 themes/nifi/layouts/partials/component.html
 create mode 100644 themes/nifi/layouts/section/components.html


(nifi-site) 05/11: NIFI-13897 Corrected title for CVE-2024-45477

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main-staging
in repository https://gitbox.apache.org/repos/asf/nifi-site.git

commit 232a541ae5d5442837cb8fe30d93c850e69a53e4
Author: exceptionfactory <ex...@apache.org>
AuthorDate: Mon Oct 28 14:42:42 2024 -0500

    NIFI-13897 Corrected title for CVE-2024-45477
    
    (cherry picked from commit a56627a09138cd5e5f00c6f19408e903e2eea670)
---
 content/documentation/security.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/documentation/security.md b/content/documentation/security.md
index 9e9c1165..56e88644 100644
--- a/content/documentation/security.md
+++ b/content/documentation/security.md
@@ -66,7 +66,7 @@ The following announcements include published vulnerabilities that apply directl
 
 {{< vulnerability
 id="CVE-2024-45477"
-title="Improper Neutralization of Input in Parameter Context Description"
+title="Improper Neutralization of Input in Parameter Description"
 published="2024-10-28"
 severity="Medium"
 products="Apache NiFi"


(nifi-site) 06/11: NIF-13915 Updated current version to 2.0.0

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main-staging
in repository https://gitbox.apache.org/repos/asf/nifi-site.git

commit 4aa002f20d7002e728d39ad6fd167102b62b42ba
Author: exceptionfactory <ex...@apache.org>
AuthorDate: Mon Nov 4 10:19:52 2024 -0600

    NIF-13915 Updated current version to 2.0.0
    
    - Removed SHA-256 hash download links
    
    (cherry picked from commit f41b05dca7ea1b8e5793920a7f6af420c70875df)
---
 config.toml                                | 4 ++--
 content/documentation/v2/_index.md         | 2 +-
 layouts/shortcodes/cpp-download-links.html | 2 --
 layouts/shortcodes/download-links.html     | 2 --
 layouts/shortcodes/fds-download-links.html | 2 --
 5 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/config.toml b/config.toml
index b42e7f3c..aae04226 100644
--- a/config.toml
+++ b/config.toml
@@ -36,8 +36,8 @@ downloadPathUrl = "https://downloads.apache.org/nifi"
 archiveDownloadPathUrl = "https://archive.apache.org/dist/nifi"
 mavenCentralDownloadPathUrl = "https://repo1.maven.org/maven2/org/apache/nifi"
 
-currentProjectVersion = "2.0.0-M4"
-currentProjectVersionReleased = "2024-07-01"
+currentProjectVersion = "2.0.0"
+currentProjectVersionReleased = "2024-11-04"
 previousProjectVersion = "1.28.0"
 previousProjectVersionReleased = "2024-10-26"
 
diff --git a/content/documentation/v2/_index.md b/content/documentation/v2/_index.md
index a639dbc6..518e9288 100644
--- a/content/documentation/v2/_index.md
+++ b/content/documentation/v2/_index.md
@@ -9,4 +9,4 @@ menu:
     weight: 1
 ---
 
-<iframe class="documentation-container" src="https://nifi.apache.org/documentation/nifi-{{< param currentProjectVersion >}}/"></iframe>
+<iframe class="documentation-container" src="https://nifi.apache.org/documentation/nifi-{{< param currentProjectVersion >}}-M4/"></iframe>
diff --git a/layouts/shortcodes/cpp-download-links.html b/layouts/shortcodes/cpp-download-links.html
index 49ba2afe..dc040b2a 100644
--- a/layouts/shortcodes/cpp-download-links.html
+++ b/layouts/shortcodes/cpp-download-links.html
@@ -18,8 +18,6 @@
     href="{{ $primaryDownloadUrl }}/{{ $downloadFilePath }}">{{ .Get "label" }} {{ $downloadVersion }}</a>
   <a class="uk-button uk-button-default uk-button-small" 
     href="{{ $secondaryDownloadUrl }}/{{ $downloadFilePath }}.asc">OpenPGP</a>
-  <a class="uk-button uk-button-default uk-button-small" 
-    href="{{ $secondaryDownloadUrl }}/{{ $downloadFilePath }}.sha256">SHA-256</a>
   <a class="uk-button uk-button-default uk-button-small" 
     href="{{ $secondaryDownloadUrl }}/{{ $downloadFilePath }}.sha512">SHA-512</a>
 </div>
\ No newline at end of file
diff --git a/layouts/shortcodes/download-links.html b/layouts/shortcodes/download-links.html
index f99222e4..78fdb606 100644
--- a/layouts/shortcodes/download-links.html
+++ b/layouts/shortcodes/download-links.html
@@ -30,8 +30,6 @@
     href="{{ $primaryDownloadUrl }}/{{ $downloadFilePath }}">{{ .Get "label" }} {{ $downloadVersion }}</a>
   <a class="uk-button uk-button-default uk-button-small" 
     href="{{ $secondaryDownloadUrl }}/{{ $downloadFilePath }}.asc">OpenPGP</a>
-  <a class="uk-button uk-button-default uk-button-small" 
-    href="{{ $secondaryDownloadUrl }}/{{ $downloadFilePath }}.sha256">SHA-256</a>
   <a class="uk-button uk-button-default uk-button-small" 
     href="{{ $secondaryDownloadUrl }}/{{ $downloadFilePath }}.sha512">SHA-512</a>
 </div>
\ No newline at end of file
diff --git a/layouts/shortcodes/fds-download-links.html b/layouts/shortcodes/fds-download-links.html
index 01d746e6..dc123302 100644
--- a/layouts/shortcodes/fds-download-links.html
+++ b/layouts/shortcodes/fds-download-links.html
@@ -18,8 +18,6 @@
     href="{{ $primaryDownloadUrl }}/{{ $downloadFilePath }}">{{ .Get "label" }} {{ $downloadVersion }}</a>
   <a class="uk-button uk-button-default uk-button-small" 
     href="{{ $secondaryDownloadUrl }}/{{ $downloadFilePath }}.asc">OpenPGP</a>
-  <a class="uk-button uk-button-default uk-button-small" 
-    href="{{ $secondaryDownloadUrl }}/{{ $downloadFilePath }}.sha256">SHA-256</a>
   <a class="uk-button uk-button-default uk-button-small" 
     href="{{ $secondaryDownloadUrl }}/{{ $downloadFilePath }}.sha512">SHA-512</a>
 </div>


(nifi-site) 07/11: NIFI-13915 Updated documentation for NiFi 2.0.0

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main-staging
in repository https://gitbox.apache.org/repos/asf/nifi-site.git

commit 77f3922be2503d87b352dc858af1e274419b4e1e
Author: exceptionfactory <ex...@apache.org>
AuthorDate: Mon Nov 4 13:01:54 2024 -0600

    NIFI-13915 Updated documentation for NiFi 2.0.0
    
    (cherry picked from commit 50bc21bcdb070c4a08722735150e8c3e482db390)
---
 .github/workflows/build.yml                 |   1 +
 .gitignore                                  |   3 +
 README.md                                   |   3 +
 config.toml                                 |  25 ++
 content/documentation/_index.md             |   2 +-
 content/documentation/v2/_index.md          |  12 -
 prebuild.sh                                 |  33 +++
 prebuild/config.toml                        |   6 +
 prebuild/layouts/index.html                 |  51 ++++
 static/.htaccess                            |   3 +
 themes/nifi/layouts/partials/component.html | 422 ++++++++++++++++++++++++++++
 themes/nifi/layouts/section/components.html | 141 ++++++++++
 themes/nifi/static/css/main.css             |  58 +++-
 13 files changed, 733 insertions(+), 27 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6bdd3992..b5ddee30 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -40,6 +40,7 @@ jobs:
           rm -rf stylesheets
       - name: Build
         run: |
+          bash prebuild.sh
           hugo
       - name: Publish
         working-directory: ${{ env.PUBLISH_DIRECTORY }}
diff --git a/.gitignore b/.gitignore
index 494176ae..e12f7329 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,8 +24,11 @@ node_modules/
 .sass-cache
 .ruby-version
 package-lock.json
+nifi-runtime-manifest.json
 
 # hugo
 /public
 /resources
 /.hugo_build.lock
+/prebuild/public
+/prebuild/.hugo_build.lock
diff --git a/README.md b/README.md
index 39624a3c..055affb2 100644
--- a/README.md
+++ b/README.md
@@ -33,6 +33,9 @@ The Apache NiFi website uses [Hugo](https://gohugo.io) to build static HTML and
 
 ## Build
 
+- Run prebuild.sh for generated documentation
+  - `bash prebuild.sh`
+
 - Run Hugo Build
   - `hugo`
 
diff --git a/config.toml b/config.toml
index aae04226..17ffaeed 100644
--- a/config.toml
+++ b/config.toml
@@ -8,6 +8,7 @@ disableKinds = ["RSS"]
 enableGitInfo = true
 theme = "nifi"
 enableInlineShortcodes = true
+disablePathToLower = true
 
 [markup.goldmark.renderer]
 unsafe = true
@@ -28,6 +29,8 @@ assets = "assets"
 matomoSiteId = 28
 productionHost = "nifi.apache.org"
 
+staticDocsPath = "/nifi-docs"
+
 apacheFoundationGroupsUrl = "https://projects.apache.org/json/foundation/groups.json"
 apacheFoundationPeopleNameUrl = "https://projects.apache.org/json/foundation/people_name.json"
 
@@ -47,7 +50,29 @@ minifiCppCurrentProjectVersionReleased = "2024-05-17"
 minifiCppPreviousProjectVersion = "0.15.0"
 minifiCppPreviousProjectVersionReleased = "2023-09-01"
 
+[module]
+  [[module.mounts]]
+    source = "content"
+    target = "content"
+  [[module.mounts]]
+    source = "static"
+    target = "static"
+  [[module.mounts]]
+    source = "layouts"
+    target = "layouts"
+  [[module.mounts]]
+    source = "prebuild/public/components"
+    target = "content/components"
+  [[module.mounts]]
+    source = "prebuild/public/html"
+    target = "content/nifi-docs"
+
 [menu]
+  [[menu.main]]
+    name = 'NiFi Version 2 Documentation'
+    url = '/components/'
+    weight = 1
+    parent = 'Documentation'
   [[menu.main]]
     name = 'Wiki'
     url = 'https://cwiki.apache.org/confluence/display/NIFI'
diff --git a/content/documentation/_index.md b/content/documentation/_index.md
index 2156f91c..273a8691 100644
--- a/content/documentation/_index.md
+++ b/content/documentation/_index.md
@@ -11,7 +11,7 @@ menu:
 
 ## Configuration and Component Properties
 
-- [NiFi Documentation {{< param currentProjectVersion >}}]({{< relref "/documentation/v2" >}})
+- [NiFi Documentation {{< param currentProjectVersion >}}]({{< relref "/components/" >}})
 - [NiFi Documentation {{< param previousProjectVersion >}}]({{< relref "/documentation/v1" >}})
 
 ## Reference Information
diff --git a/content/documentation/v2/_index.md b/content/documentation/v2/_index.md
deleted file mode 100644
index 518e9288..00000000
--- a/content/documentation/v2/_index.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: "Documentation for Version 2"
-layout: "documentation"
-iframe: true
-menu:
-  main:
-    name: NiFi Version 2 Documentation
-    parent: "Documentation"
-    weight: 1
----
-
-<iframe class="documentation-container" src="https://nifi.apache.org/documentation/nifi-{{< param currentProjectVersion >}}-M4/"></iframe>
diff --git a/prebuild.sh b/prebuild.sh
new file mode 100644
index 00000000..6fcc2549
--- /dev/null
+++ b/prebuild.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+CURRENT_VERSION=2.0.0
+
+RESOURCES_DIR=resources
+PREBUILD_DIR=prebuild
+
+MAVEN_BASE_URL=https://repo1.maven.org/maven2
+
+MANIFEST_JAR_URL="$MAVEN_BASE_URL/org/apache/nifi/nifi-runtime-manifest/$CURRENT_VERSION/nifi-runtime-manifest-$CURRENT_VERSION.jar"
+MANIFEST_JAR_PATH=$RESOURCES_DIR/nifi-runtime-manifest.jar
+MANIFEST_JSON=nifi-runtime-manifest.json
+
+NIFI_DOCS_ZIP_URL="$MAVEN_BASE_URL/org/apache/nifi/nifi-docs/$CURRENT_VERSION/nifi-docs-$CURRENT_VERSION-resources.zip"
+NIFI_DOCS_ZIP_PATH=$RESOURCES_DIR/nifi-docs-resources.zip
+
+# Create Hugo directories
+if [ ! -d $RESOURCES_DIR ];then
+  mkdir $RESOURCES_DIR
+fi
+
+# Download Runtime Manifest JAR and extract JSON to prebuild
+echo "Downloading $MANIFEST_JAR_URL"
+curl -o $MANIFEST_JAR_PATH $MANIFEST_JAR_URL
+unzip -q -o -d $PREBUILD_DIR/assets $MANIFEST_JAR_PATH $MANIFEST_JSON
+
+# Download Documentation Resources and extract to prebuild
+echo "Downloading $NIFI_DOCS_ZIP_URL"
+curl -o $NIFI_DOCS_ZIP_PATH $NIFI_DOCS_ZIP_URL
+unzip -q -o -d $PREBUILD_DIR/public $NIFI_DOCS_ZIP_PATH
+
+# Build components using prebuild directory with Hugo
+hugo -s $PREBUILD_DIR
diff --git a/prebuild/config.toml b/prebuild/config.toml
new file mode 100644
index 00000000..04ee003d
--- /dev/null
+++ b/prebuild/config.toml
@@ -0,0 +1,6 @@
+title = "Apache NiFi"
+copyright = "The Apache Software Foundation"
+disableKinds = ["RSS", "sitemap", "taxonomy", "term"]
+
+[outputs]
+home = ["html"]
diff --git a/prebuild/layouts/index.html b/prebuild/layouts/index.html
new file mode 100644
index 00000000..0059840d
--- /dev/null
+++ b/prebuild/layouts/index.html
@@ -0,0 +1,51 @@
+{{ $manifest := dict }}
+{{ with resources.Get "nifi-runtime-manifest.json" }}
+  {{ with . | transform.Unmarshal }}
+    {{ $manifest = . }}
+  {{ end }}
+{{ else }}
+  not found
+{{ end }}
+
+{{ range $manifest.bundles }}
+  {{ range .componentManifest.controllerServices }}
+    {{ $simpleClassName := replaceRE `.+?\.?([^\.]+)$` "$1" .type }}
+    {{ $metadata := merge . (dict "title" $simpleClassName "componentType" "controller-services") }}
+    {{ $string := jsonify $metadata }}
+    {{ $filename := printf "components/%s/_index.md" .type }}
+    {{ $resource := resources.FromString $filename $string }}
+    {{ $file := $resource.RelPermalink }}
+  {{ end }}
+  {{ range .componentManifest.processors }}
+    {{ $simpleClassName := replaceRE `.+?\.?([^\.]+)$` "$1" .type }}
+    {{ $metadata := merge . (dict "title" $simpleClassName "componentType" "processors") }}
+    {{ $string := jsonify $metadata }}
+    {{ $filename := printf "components/%s/_index.md" .type }}
+    {{ $resource := resources.FromString $filename $string }}
+    {{ $file := $resource.RelPermalink }}
+  {{ end }}
+  {{ range .componentManifest.reportingTasks }}
+    {{ $simpleClassName := replaceRE `.+?\.?([^\.]+)$` "$1" .type }}
+    {{ $metadata := merge . (dict "title" $simpleClassName "componentType" "reporting-tasks") }}
+    {{ $string := jsonify $metadata }}
+    {{ $filename := printf "components/%s/_index.md" .type }}
+    {{ $resource := resources.FromString $filename $string }}
+    {{ $file := $resource.RelPermalink }}
+  {{ end }}
+  {{ range .componentManifest.parameterProviders }}
+    {{ $simpleClassName := replaceRE `.+?\.?([^\.]+)$` "$1" .type }}
+    {{ $metadata := merge . (dict "title" $simpleClassName "componentType" "parameter-providers") }}
+    {{ $string := jsonify $metadata }}
+    {{ $filename := printf "components/%s/_index.md" .type }}
+    {{ $resource := resources.FromString $filename $string }}
+    {{ $file := $resource.RelPermalink }}
+  {{ end }}
+  {{ range .componentManifest.flowAnalysisRules }}
+    {{ $simpleClassName := replaceRE `.+?\.?([^\.]+)$` "$1" .type }}
+    {{ $metadata := merge . (dict "title" $simpleClassName "componentType" "flow-analysis-rules") }}
+    {{ $string := jsonify $metadata }}
+    {{ $filename := printf "components/%s/_index.md" .type }}
+    {{ $resource := resources.FromString $filename $string }}
+    {{ $file := $resource.RelPermalink }}
+  {{ end }}
+{{ end }}
diff --git a/static/.htaccess b/static/.htaccess
index 1947d7dc..6087b77e 100644
--- a/static/.htaccess
+++ b/static/.htaccess
@@ -10,6 +10,9 @@ RewriteRule ^documentation/nifi-latest/html/(.+?)$ /documentation/nifi-2.0.0-M4/
 # Redirect component documentation to specified version
 RewriteRule ^docs/nifi-docs/components/org\.apache\.nifi/([^\/]+?)/[^\/]+?/(.*)$ docs/nifi-docs/components/org.apache.nifi/$1/1.28.0/$2 [L]
 
+# Rewrite documentation overview pages
+RewriteRule ^documentation/v2/$ /components/ [L,R]
+
 # Rewrite historical links
 RewriteRule ^minifi/.*$ /projects/minifi/ [L,R]
 RewriteRule ^quickstart\.html$ /documentation/v2/ [L,R]
diff --git a/themes/nifi/layouts/partials/component.html b/themes/nifi/layouts/partials/component.html
new file mode 100644
index 00000000..b057a43b
--- /dev/null
+++ b/themes/nifi/layouts/partials/component.html
@@ -0,0 +1,422 @@
+{{ $processors := where .Site.Pages "Params.componentType" "processors" }}
+{{ $controllerServices := where .Site.Pages "Params.componentType" "controller-services" }}
+
+<h3>{{ .Params.title }} {{ .Params.version }}</h3>
+
+<dl class="uk-description-list">
+    <dt>Bundle</dt>
+    <dd>{{ .Params.group }} | {{ .Params.artifact }}</dd>
+    <dt>Description</dt>
+    <dd>{{ .Params.typeDescription }}</dd>
+    <dt>Tags</dt>
+    <dd>
+        {{- range $index, $tag := .Params.tags -}}
+        {{- if $index }}, {{ end }}{{ $tag }}
+        {{- end -}}
+    </dd>
+    <dt>Input Requirement</dt>
+    <dd>
+        {{ replace .Params.inputRequirement "INPUT_" "" }}
+    </dd>
+    <dt>Supports Sensitive Dynamic Properties</dt>
+    <dd>{{ .Params.supportsSensitiveDynamicProperties }}</dd>
+</dl>
+
+<div class="uk-margin uk-flex">
+    <div class="component-section-header uk-width-3-4">Properties</div>
+    <div class="uk-width-1-4 uk-text-right">
+        <button uk-icon="icon: expand" uk-tooltip="Expand Properties" id="expand-property-descriptors" class="uk-button uk-button-link uk-button-small"></button>
+        <button uk-icon="icon: shrink" uk-tooltip="Collapse Properties" id="shrink-property-descriptors" class="uk-button uk-button-link uk-button-small"></button>
+    </div>
+    <script type="text/javascript">
+        document.addEventListener('uikit:init', () => {
+            var expand = document.getElementById('expand-property-descriptors');
+            expand.addEventListener('click', () => {
+                var descriptors = document.getElementsByClassName('property-descriptor-content');
+                for (var i = 0; i < descriptors.length; i++) {
+                    var descriptor = descriptors[i];
+                    descriptor.hidden = false;
+                }
+            });
+
+            var shrink = document.getElementById('shrink-property-descriptors');
+            shrink.addEventListener('click', () => {
+                var descriptors = document.getElementsByClassName('property-descriptor-content');
+                for (var i = 0; i < descriptors.length; i++) {
+                    var descriptor = descriptors[i];
+                    descriptor.hidden = true;
+                }
+            });
+        });
+    </script>
+</div>
+<div>
+    <ul uk-accordion="multiple: true" id="property-descriptors">
+        {{ range .Params.propertyDescriptors }}
+        <li class="property-descriptor">
+            <a class="uk-accordion-title" href>
+                <span class="{{ if .required }}property-required{{ end }}">{{ .displayName }}</span>
+                <div class="uk-width-2-3 uk-align-right uk-margin-remove uk-text-truncate uk-text-lighter">{{ .description }}</div>
+            </a>
+            <div class="uk-accordion-content uk-padding-small property-descriptor-content">
+                <dl class="uk-description-list">
+                    <dt>Display Name</dt>
+                    <dd>{{ .displayName }}</dd>
+                    <dt>Description</dt>
+                    <dd>{{ .description }}</dd>
+                    <dt>API Name</dt>
+                    <dd>{{ .name }}</dd>
+                    {{ if .defaultValue }}
+                    <dt>Default Value</dt>
+                    <dd>{{ .defaultValue }}</dd>
+                    {{ end }}
+                    {{ if .allowableValues }}
+                    <dt>Allowable Values</dt>
+                    <dd>
+                        <ul>
+                            {{ range .allowableValues }}
+                            <li>
+                                {{ .displayName }}
+                                {{ if .description -}}
+                                <span uk-icon="info" uk-tooltip="{{ .description }}"></span>
+                                {{- end -}}
+                            </li>
+                            {{ end }}
+                        </ul>
+                    </dd>
+                    {{ end }}
+                    {{ if .typeProvidedByValue }}
+                    <dt>Service Interface</dt>
+                    <dd>{{ .typeProvidedByValue.type }}</dd>
+
+                    {{ $serviceInterface := .typeProvidedByValue.type }}
+
+                    <dt>Service Implementations</dt>
+                    <dd>
+                        {{ range $controllerServices }}
+                        {{ $serviceImplementation := .Params.type }}
+                        {{ range .Params.providedApiImplementations }}
+                        {{ if eq .type $serviceInterface }}
+                        <div><a href="/components/{{ $serviceImplementation }}/">{{ $serviceImplementation }}</a></div>
+                        {{ end }}
+                        {{ end }}
+                        {{ end }}
+                    </dd>
+
+                    {{ end }}
+                    <dt>Expression Language Scope</dt>
+                    <dd>{{ .expressionLanguageScopeDescription }}</dd>
+                    <dt>Sensitive</dt>
+                    <dd>{{ .sensitive }}</dd>
+                    <dt>Required</dt>
+                    <dd>{{ .required }}</dd>
+                    {{ if .dependencies }}
+                    <dt>Dependencies</dt>
+                    <dd>
+                        <ul>
+                            {{ range .dependencies }}
+                            <li>
+                                <span>{{ .propertyDisplayName }}</span>
+                                <span class="uk-text-light">is set to any
+                                {{ if .dependentValues }}
+                                  of
+                                {{ else }}
+                                  value specified
+                                {{ end }}
+                                </span>
+                                {{ if .dependentValues }}
+                                [{{- range $index, $dependentValue := .dependentValues -}}
+                                {{- if $index }}, {{ end }}{{ $dependentValue -}}
+                                {{ end }}]
+                                {{ end }}
+                            </li>
+                            {{ end }}
+                        </ul>
+                    </dd>
+                    {{ end }}
+                </dl>
+            </div>
+        </li>
+        {{ end }}
+    </ul>
+</div>
+
+{{ if .Params.dynamicProperties }}
+<div class="uk-margin uk-flex">
+    <div class="component-section-header uk-width-3-4">Dynamic Properties</div>
+    <div class="uk-width-1-4 uk-text-right">
+        <button uk-icon="icon: expand" uk-tooltip="Expand Properties" id="expand-dynamic-properties" class="uk-button uk-button-link uk-button-small"></button>
+        <button uk-icon="icon: shrink" uk-tooltip="Collapse Properties" id="shrink-dynamic-properties" class="uk-button uk-button-link uk-button-small"></button>
+    </div>
+    <script type="text/javascript">
+        document.addEventListener('uikit:init', () => {
+            var expand = document.getElementById('expand-dynamic-properties');
+            expand.addEventListener('click', () => {
+                var descriptors = document.getElementsByClassName('dynamic-property-content');
+                for (var i = 0; i < descriptors.length; i++) {
+                    var descriptor = descriptors[i];
+                    descriptor.hidden = false;
+                }
+            });
+
+            var shrink = document.getElementById('shrink-dynamic-properties');
+            shrink.addEventListener('click', () => {
+                var descriptors = document.getElementsByClassName('dynamic-property-content');
+                for (var i = 0; i < descriptors.length; i++) {
+                    var descriptor = descriptors[i];
+                    descriptor.hidden = true;
+                }
+            });
+        });
+    </script>
+</div>
+<div>
+    <ul uk-accordion="multiple: true" id="dynamic-properties">
+        {{ range .Params.dynamicProperties }}
+        <li class="property-descriptor">
+            <a class="uk-accordion-title" href>
+                <span>{{ .name }}</span>
+                <div class="uk-width-2-3 uk-align-right uk-margin-remove uk-text-truncate uk-text-lighter">{{ .description }}</div>
+            </a>
+            <div class="uk-accordion-content uk-padding-small dynamic-property-content">
+                <dl class="uk-description-list">
+                    <dt>Name</dt>
+                    <dd>{{ .name }}</dd>
+                    <dt>Description</dt>
+                    <dd>{{ .description }}</dd>
+                    <dt>Value</dt>
+                    <dd>{{ .value }}</dd>
+                    <dt>Expression Language Scope</dt>
+                    <dd>{{ .expressionLanguageScope }}</dd>
+                </dl>
+            </div>
+        </li>
+        {{ end }}
+    </ul>
+</div>
+{{ end }}
+
+{{ if .Params.stateful }}
+<div class="component-section-header uk-margin">State Management</div>
+<div>
+    <table class="uk-table uk-table-small uk-table-divider uk-box-shadow-small">
+        <thead>
+        <tr>
+            <th class="uk-width-1-4">Scopes</th>
+            <th class="uk-width-3-4">Description</th>
+        </tr>
+        </thead>
+        <tbody>
+        <tr>
+            <td>
+                {{- range $index, $scope := .Params.stateful.scopes -}}
+                {{- if $index }}, {{ end }}{{ $scope }}
+                {{- end -}}
+            </td>
+            <td class="uk-text-lighter">{{ .Params.stateful.description }}</td>
+        </tr>
+        </tbody>
+    </table>
+</div>
+{{ end }}
+
+{{ if .Params.systemResourceConsiderations }}
+<div class="component-section-header uk-margin">System Resource Considerations</div>
+<div>
+    <table class="uk-table uk-table-small uk-table-divider uk-box-shadow-small">
+        <thead>
+        <tr>
+            <th class="uk-width-1-4">Resource</th>
+            <th class="uk-width-3-4">Description</th>
+        </tr>
+        </thead>
+        <tbody>
+        {{ range .Params.systemResourceConsiderations }}
+        <tr>
+            <td>{{ .resource }}</td>
+            <td class="uk-text-lighter">{{ .description }}</td>
+        </tr>
+        {{ end }}
+        </tbody>
+    </table>
+</div>
+{{ end }}
+
+{{ if .Params.explicitRestrictions }}
+<div class="component-section-header uk-margin">Restrictions</div>
+<div>
+    <table class="uk-table uk-table-small uk-table-divider uk-box-shadow-small">
+        <thead>
+        <tr>
+            <th class="uk-width-1-4">Required Permission</th>
+            <th class="uk-width-3-4">Explanation</th>
+        </tr>
+        </thead>
+        <tbody>
+        {{ range .Params.explicitRestrictions }}
+        <tr>
+            <td>{{ .requiredPermission }}</td>
+            <td class="uk-text-lighter">{{ .explanation }}</td>
+        </tr>
+        {{ end }}
+        </tbody>
+    </table>
+</div>
+{{ end }}
+
+{{ if .Params.supportedRelationships }}
+<div class="component-section-header uk-margin">Relationships</div>
+<div>
+    <table class="uk-table uk-table-small uk-table-divider uk-box-shadow-small">
+        <thead>
+        <tr>
+            <th class="uk-width-1-4">Name</th>
+            <th class="uk-width-3-4">Description</th>
+        </tr>
+        </thead>
+        <tbody>
+        {{ range .Params.supportedRelationships }}
+        <tr>
+            <td>{{ .name }}</td>
+            <td class="uk-text-lighter">{{ .description }}</td>
+        </tr>
+        {{ end }}
+        </tbody>
+    </table>
+</div>
+{{ end }}
+
+{{ if .Params.readsAttributes }}
+<div class="component-section-header uk-margin">Reads Attributes</div>
+<div>
+    <table class="uk-table uk-table-small uk-table-divider uk-box-shadow-small">
+        <thead>
+        <tr>
+            <th class="uk-width-1-4">Name</th>
+            <th class="uk-width-3-4">Description</th>
+        </tr>
+        </thead>
+        <tbody>
+        {{ range .Params.readsAttributes }}
+        <tr>
+            <td>{{ .name }}</td>
+            <td class="uk-text-lighter">{{ .description }}</td>
+        </tr>
+        {{ end }}
+        </tbody>
+    </table>
+</div>
+{{ end }}
+
+{{ if .Params.writesAttributes }}
+<div class="component-section-header uk-margin">Writes Attributes</div>
+<div>
+    <table class="uk-table uk-table-small uk-table-divider uk-box-shadow-small">
+        <thead>
+        <tr>
+            <th class="uk-width-1-4">Name</th>
+            <th class="uk-width-3-4">Description</th>
+        </tr>
+        </thead>
+        <tbody>
+        {{ range .Params.writesAttributes }}
+        <tr>
+            <td>{{ .name }}</td>
+            <td class="uk-text-lighter">{{ .description }}</td>
+        </tr>
+        {{ end }}
+        </tbody>
+    </table>
+</div>
+{{ end }}
+
+{{ if .Params.useCases }}
+<div class="uk-margin">
+    <div class="component-section-header">Use Cases</div>
+</div>
+<div>
+    <ul uk-accordion="multiple: true" id="use-cases">
+        {{ range .Params.useCases }}
+        <li class="description">
+            <a class="uk-accordion-title" href>
+                <div class="uk-margin-remove uk-text-truncate uk-text-light">{{ .description }}</div>
+            </a>
+            <div class="uk-accordion-content uk-padding-small">
+                <dl class="uk-description-list">
+                    <dt>Description</dt>
+                    <dd>{{ .description }}</dd>
+                    {{ if .notes }}
+                    <dt>Notes</dt>
+                    <dd>{{ .notes }}</dd>
+                    {{ end }}
+                    {{ if .keywords }}
+                    <dt>Keywords</dt>
+                    <dd>
+                        {{- range $index, $keyword := .keywords -}}
+                        {{- if $index }}, {{ end }}{{ $keyword }}
+                        {{- end -}}
+                    </dd>
+                    {{ end }}
+                    <dt>Configuration</dt>
+                    <dd><pre class="use-case-configuration">{{ .configuration }}</pre></dd>
+                </dl>
+            </div>
+        </li>
+        {{ end }}
+    </ul>
+</div>
+{{ end }}
+
+{{ if .Params.multiProcessorUseCases }}
+<div class="uk-margin">
+    <div class="component-section-header">Use Cases Involving Other Components</div>
+</div>
+<div>
+    <ul uk-accordion="multiple: true" id="multi-processor-use-cases">
+        {{ range .Params.multiProcessorUseCases }}
+        <li class="description">
+            <a class="uk-accordion-title" href>
+                <div class="uk-margin-remove uk-text-truncate uk-text-light">{{ .description }}</div>
+            </a>
+            <div class="uk-accordion-content uk-padding-small">
+                <dl class="uk-description-list">
+                    <dt>Description</dt>
+                    <dd>{{ .description }}</dd>
+                    {{ if .notes }}
+                    <dt>Notes</dt>
+                    <dd>{{ .notes }}</dd>
+                    {{ end }}
+                    {{ if .keywords }}
+                    <dt>Keywords</dt>
+                    <dd>
+                        {{- range $index, $keyword := .keywords -}}
+                        {{- if $index }}, {{ end }}{{ $keyword }}
+                        {{- end -}}
+                    </dd>
+                    {{ end }}
+                    <dt>Processor Configurations</dt>
+                    <dd>
+                        {{ range .configurations }}
+                        <div class="uk-margin-top">{{ .processorClassName }}</div>
+                        <pre class="use-case-configuration">{{ .configuration }}</pre>
+                        {{ end }}
+                    </dd>
+                </dl>
+            </div>
+        </li>
+        {{ end }}
+    </ul>
+</div>
+
+{{ end }}
+
+{{ if .Params.seeAlso }}
+<div class="component-section-header uk-margin">See Also</div>
+<ul>
+    {{ range .Params.seeAlso }}
+    <li>
+        <a href="/components/{{ . }}/">{{ . }}</a>
+    </li>
+    {{ end }}
+</ul>
+{{ end }}
\ No newline at end of file
diff --git a/themes/nifi/layouts/section/components.html b/themes/nifi/layouts/section/components.html
new file mode 100644
index 00000000..4e355ce4
--- /dev/null
+++ b/themes/nifi/layouts/section/components.html
@@ -0,0 +1,141 @@
+{{ define "main" }}
+  {{ $pageTitle := .Title }}
+  <div uk-grid>
+
+    <div class="uk-width-1-4@m">
+      <div class="uk-padding-small uk-panel-scrollable" uk-height-viewport="offset-bottom: 150px">
+        <ul uk-accordion="collapsible: false">
+          <li>
+            <a class="uk-accordion-title" href>General</a>
+            <div class="uk-accordion-content">
+              <ul class="uk-list uk-list-collapse uk-text-light uk-text-truncate component-items">
+                <li><a href="{{ .Site.Params.staticDocsPath }}/overview.html" target="_blank">Overview</a></li>
+                <li><a href="{{ .Site.Params.staticDocsPath }}/getting-started.html" target="_blank">Getting Started</a></li>
+                <li><a href="{{ .Site.Params.staticDocsPath }}/user-guide.html" target="_blank">User Guide</a></li>
+                <li><a href="{{ .Site.Params.staticDocsPath }}/expression-language-guide.html" target="_blank">Expression Language Guide</a></li>
+                <li><a href="{{ .Site.Params.staticDocsPath }}/record-path-guide.html" target="_blank">RecordPath Guide</a></li>
+                <li><a href="{{ .Site.Params.staticDocsPath }}/administration-guide.html" target="_blank">Admin Guide</a></li>
+                <li><a href="{{ .Site.Params.staticDocsPath }}/toolkit-guide.html" target="_blank">Toolkit Guide</a></li>
+                <li><a href="{{ .Site.Params.staticDocsPath }}/walkthroughs.html" target="_blank">Walkthroughs</a></li>
+              </ul>
+            </div>
+          </li>
+        </ul>
+
+        <ul uk-accordion="collapsible: false">
+          <li>
+            <a class="uk-accordion-title" href>Developer</a>
+            <div class="uk-accordion-content">
+              <ul class="uk-list uk-list-collapse uk-text-light uk-text-truncate component-items">
+                <li><a href="{{ .Site.Params.staticDocsPath }}/developer-guide.html">Developer Guide</a></li>
+                <li><a href="{{ .Site.Params.staticDocsPath }}/python-developer-guide.html">Python Developer Guide</a></li>
+                <li><a href="{{ .Site.Params.staticDocsPath }}/nifi-in-depth.html">Apache NiFi In Depth</a></li>
+              </ul>
+            </div>
+          </li>
+        </ul>
+
+        <ul uk-accordion="collapsible: false">
+          <li>
+            <a class="uk-accordion-title" href>Processors</a>
+            <div class="uk-accordion-content">
+              {{ $processors := where .Site.Pages "Params.componentType" "processors" }}
+              <ul class="uk-list uk-list-collapse uk-text-light uk-text-truncate component-items">
+                {{ range $processors }}
+                <li {{ if eq .Title $pageTitle }}class="uk-text-bold" id="component-selected"{{ end }}>
+                  <a href="{{ .RelPermalink }}">{{ .Title }}</a>
+                </li>
+                {{ end }}
+              </ul>
+            </div>
+          </li>
+        </ul>
+
+        <ul uk-accordion="collapsible: false">
+          <li>
+            <a class="uk-accordion-title" href>Controller Services</a>
+            <div class="uk-accordion-content">
+              {{ $controllerServices := where .Site.Pages "Params.componentType" "controller-services" }}
+              <ul class="uk-list uk-list-collapse uk-text-light uk-text-truncate component-items">
+                {{ range $controllerServices }}
+                <li {{ if eq .Title $pageTitle }}class="uk-text-bold" id="component-selected"{{ end }}>
+                  <a href="{{ .RelPermalink }}">{{ .Title }}</a>
+                </li>
+                {{ end }}
+              </ul>
+            </div>
+          </li>
+        </ul>
+
+        <ul uk-accordion="collapsible: false">
+          <li>
+            <a class="uk-accordion-title" href>Reporting Tasks</a>
+            <div class="uk-accordion-content">
+              {{ $reportingTasks := where .Site.Pages "Params.componentType" "reporting-tasks" }}
+              <ul class="uk-list uk-list-collapse uk-text-light uk-text-truncate component-items">
+                {{ range $reportingTasks }}
+                <li {{ if eq .Title $pageTitle }}class="uk-text-bold" id="component-selected"{{ end }}>
+                  <a href="{{ .RelPermalink }}">{{ .Title }}</a>
+                </li>
+                {{ end }}
+              </ul>
+            </div>
+          </li>
+        </ul>
+
+        <ul uk-accordion="collapsible: false">
+          <li>
+            <a class="uk-accordion-title" href>Parameter Providers</a>
+            <div class="uk-accordion-content">
+              {{ $parameterProviders := where .Site.Pages "Params.componentType" "parameter-providers" }}
+              <ul class="uk-list uk-list-collapse uk-text-light uk-text-truncate component-items">
+                {{ range $parameterProviders }}
+                <li {{ if eq .Title $pageTitle }}class="uk-text-bold" id="component-selected"{{ end }}>
+                  <a href="{{ .RelPermalink }}">{{ .Title }}</a>
+                </li>
+                {{ end }}
+              </ul>
+            </div>
+          </li>
+        </ul>
+
+        <ul uk-accordion="collapsible: false">
+          <li>
+            <a class="uk-accordion-title" href>Flow Analysis Rules</a>
+            <div class="uk-accordion-content">
+              {{ $flowAnalysisRules := where .Site.Pages "Params.componentType" "flow-analysis-rules" }}
+              <ul class="uk-list uk-list-collapse uk-text-light uk-text-truncate component-items">
+                {{ range $flowAnalysisRules }}
+                <li {{ if eq .Title $pageTitle }}class="uk-text-bold" id="component-selected"{{ end }}>
+                  <a href="{{ .RelPermalink }}">{{ .Title }}</a>
+                </li>
+                {{ end }}
+              </ul>
+            </div>
+          </li>
+        </ul>
+      </div>
+
+      <script type="text/javascript">
+        var componentSelected = document.getElementById('component-selected');
+        componentSelected.scrollIntoView();
+      </script>
+    </div>
+
+    <div id="component-panel" class="uk-width-3-4@m">
+      <div class="uk-padding-small uk-panel-scrollable" uk-height-viewport="offset-bottom: 150px">
+        {{ if .Params.artifact }}
+          {{ partial "component.html" . }}
+        {{ else }}
+        <h3>Overview</h3>
+        <p>
+          Apache NiFi is a dataflow system based on the concepts of flow-based programming. It supports powerful and scalable directed graphs of data routing, transformation, and system mediation
+          logic. NiFi has a web-based user interface for design, control, feedback, and monitoring of dataflows. It is highly configurable along several dimensions of quality of service, such as
+          loss-tolerant versus guaranteed delivery, low latency versus high throughput, and priority-based queuing. NiFi provides fine-grained data provenance for all data received, forked, joined
+          cloned, modified, sent, and ultimately dropped upon reaching its configured end-state.
+        </p>
+        {{ end }}
+      </div>
+    </div>
+  </div>
+{{ end }}
diff --git a/themes/nifi/static/css/main.css b/themes/nifi/static/css/main.css
index 386f5a11..e2262c19 100644
--- a/themes/nifi/static/css/main.css
+++ b/themes/nifi/static/css/main.css
@@ -10,19 +10,6 @@ footer {
   padding: 60px 0px 40px 0px;
 }
 
-table tr td,
-table tr th {
-  text-align: left;
-  padding: 12px 24px;
-}
-
-table tr td:first-child,
-table tr th:first-child {
-  padding-left: 0;
-}
-
-
-
 a {
   color: #004849;
 }
@@ -355,4 +342,47 @@ footer h3 {
 
 .uk-card img {
   width: 40%;
-}
\ No newline at end of file
+}
+
+.component-items li {
+  margin-left: 10px;
+}
+
+@media (width > 960px) {
+  #component-panel {
+    padding-left: 0px;
+  }
+}
+
+.component-section-header {
+  color: #333;
+  font-size: .875rem;
+  font-weight: 400;
+  text-transform: uppercase;
+}
+
+.uk-accordion-title {
+  font-size: 16px;
+}
+
+.uk-accordion > .property-descriptor {
+  margin: 0px;
+  padding: 10px;
+  border: 1px solid #eee;
+}
+
+.property-required {
+  font-weight: bold;
+}
+
+.uk-accordion > .description {
+  margin: 0px;
+  padding: 10px;
+  border: 1px solid #eee;
+}
+
+.use-case-configuration {
+  border: none;
+  white-space: pre-wrap;
+  margin: 0px;
+}


(nifi-site) 10/11: NIFI-13915 Corrected component selected scroll handling

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main-staging
in repository https://gitbox.apache.org/repos/asf/nifi-site.git

commit 1e31b83d63cfefaf3c22e9ae5d0e521e84808cd0
Author: exceptionfactory <ex...@apache.org>
AuthorDate: Mon Nov 4 14:16:30 2024 -0600

    NIFI-13915 Corrected component selected scroll handling
    
    (cherry picked from commit 9fc2704c38aabac8e8038019e99d1112b29dba5c)
---
 themes/nifi/layouts/section/components.html | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/themes/nifi/layouts/section/components.html b/themes/nifi/layouts/section/components.html
index 4e355ce4..e51b5b84 100644
--- a/themes/nifi/layouts/section/components.html
+++ b/themes/nifi/layouts/section/components.html
@@ -118,7 +118,9 @@
 
       <script type="text/javascript">
         var componentSelected = document.getElementById('component-selected');
-        componentSelected.scrollIntoView();
+        if (componentSelected) {
+            componentSelected.scrollIntoView();
+        }
       </script>
     </div>
 


(nifi-site) 01/11: NIFI-13897 Updated previous version to 1.28.0

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main-staging
in repository https://gitbox.apache.org/repos/asf/nifi-site.git

commit 8ce4484ca044c1c484a5dc3df2c651ec61ce2731
Author: exceptionfactory <ex...@apache.org>
AuthorDate: Sat Oct 26 23:00:48 2024 -0500

    NIFI-13897 Updated previous version to 1.28.0
    
    (cherry picked from commit 3cb3d09deade1af4848adcb03122dfb6a3dc7bcd)
---
 config.toml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/config.toml b/config.toml
index de1b78cf..b42e7f3c 100644
--- a/config.toml
+++ b/config.toml
@@ -38,8 +38,8 @@ mavenCentralDownloadPathUrl = "https://repo1.maven.org/maven2/org/apache/nifi"
 
 currentProjectVersion = "2.0.0-M4"
 currentProjectVersionReleased = "2024-07-01"
-previousProjectVersion = "1.27.0"
-previousProjectVersionReleased = "2024-07-08"
+previousProjectVersion = "1.28.0"
+previousProjectVersionReleased = "2024-10-26"
 
 minifiCppCurrentProjectVersion = "0.99.0"
 minifiCppCurrentProjectVersionReleased = "2024-05-17"


(nifi-site) 03/11: NIFI-13897 Updated documentation RewriteRule for 1.28.0

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main-staging
in repository https://gitbox.apache.org/repos/asf/nifi-site.git

commit a8580042aa25004cc79590f4b38da0d8dcce0a5f
Author: exceptionfactory <ex...@apache.org>
AuthorDate: Sat Oct 26 23:21:30 2024 -0500

    NIFI-13897 Updated documentation RewriteRule for 1.28.0
    
    (cherry picked from commit 11a0c6a44e05a96e255f3e13a167dc7ed79888fe)
---
 static/.htaccess | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/static/.htaccess b/static/.htaccess
index 1bde9d03..1947d7dc 100644
--- a/static/.htaccess
+++ b/static/.htaccess
@@ -8,7 +8,7 @@ RewriteRule     ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
 RewriteRule ^documentation/nifi-latest/html/(.+?)$ /documentation/nifi-2.0.0-M4/html/$1 [L,R]
 
 # Redirect component documentation to specified version
-RewriteRule ^docs/nifi-docs/components/org\.apache\.nifi/([^\/]+?)/[^\/]+?/(.*)$ docs/nifi-docs/components/org.apache.nifi/$1/1.27.0/$2 [L]
+RewriteRule ^docs/nifi-docs/components/org\.apache\.nifi/([^\/]+?)/[^\/]+?/(.*)$ docs/nifi-docs/components/org.apache.nifi/$1/1.28.0/$2 [L]
 
 # Rewrite historical links
 RewriteRule ^minifi/.*$ /projects/minifi/ [L,R]


(nifi-site) 02/11: NIFI-13897 Updated build runs-on to ubuntu-24.04

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main-staging
in repository https://gitbox.apache.org/repos/asf/nifi-site.git

commit 748a00c26828bd30ee1b80a7ae1de9901a1279f9
Author: exceptionfactory <ex...@apache.org>
AuthorDate: Sat Oct 26 23:03:55 2024 -0500

    NIFI-13897 Updated build runs-on to ubuntu-24.04
    
    (cherry picked from commit 1dcbba98ddf3dd252001467c661e52bc94df08f2)
---
 .github/workflows/build.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 44c683eb..6bdd3992 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -14,7 +14,7 @@ permissions:
 
 jobs:
   build:
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-24.04
     steps:
       - name: Checkout Sources
         uses: actions/checkout@v3


(nifi-site) 04/11: NIFI-13897 Published CVE-2024-45477

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main-staging
in repository https://gitbox.apache.org/repos/asf/nifi-site.git

commit bb2d1ca4c0fc3cec70be1a4bbfd0be37a6229104
Author: exceptionfactory <ex...@apache.org>
AuthorDate: Mon Oct 28 14:40:39 2024 -0500

    NIFI-13897 Published CVE-2024-45477
    
    (cherry picked from commit 6039c73263f4970e83d4d77477ac527984e5a1f1)
---
 content/documentation/security.md | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/content/documentation/security.md b/content/documentation/security.md
index b33a91fe..9e9c1165 100644
--- a/content/documentation/security.md
+++ b/content/documentation/security.md
@@ -64,6 +64,25 @@ Severity ratings represent the determination of project members based on an eval
 
 The following announcements include published vulnerabilities that apply directly to Apache NiFi components.
 
+{{< vulnerability
+id="CVE-2024-45477"
+title="Improper Neutralization of Input in Parameter Context Description"
+published="2024-10-28"
+severity="Medium"
+products="Apache NiFi"
+affectedVersions="1.10.0 to 1.27.0 and 2.0.0-M1 to 2.0.0-M3"
+fixedVersion="1.28.0 and 2.0.0-M4"
+jira="NIFI-13675"
+pullRequest="9195"
+reporter="Muhammad Hazim Bin Nor Aizi" >}}
+
+Apache NiFi 1.10.0 through 1.27.0 and 2.0.0-M1 through 2.0.0-M3 support a description field for Parameters in a Parameter Context
+configuration that is vulnerable to cross-site scripting. An authenticated user, authorized to configure a Parameter Context,
+can enter arbitrary JavaScript code, which the client browser will execute within the session context of the authenticated user.
+Upgrading to Apache NiFi 1.28.0 or 2.0.0-M4 is the recommended mitigation.
+
+{{</ vulnerability >}}
+
 {{< vulnerability
 id="CVE-2024-37389"
 title="Improper Neutralization of Input in Parameter Context Description"


(nifi-site) 09/11: NIF-13915 Corrected handling of static nifi-docs

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main-staging
in repository https://gitbox.apache.org/repos/asf/nifi-site.git

commit 2dfeab4dfa2213c96bc1737ca98065ace928a13b
Author: exceptionfactory <ex...@apache.org>
AuthorDate: Mon Nov 4 13:24:02 2024 -0600

    NIF-13915 Corrected handling of static nifi-docs
    
    (cherry picked from commit b70eb259ea2f051e55cd4fa3a9c5fe05ba38dab1)
---
 config.toml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/config.toml b/config.toml
index 3bd72cc8..529613be 100644
--- a/config.toml
+++ b/config.toml
@@ -65,7 +65,7 @@ minifiCppPreviousProjectVersionReleased = "2023-09-01"
     target = "content/components"
   [[module.mounts]]
     source = "prebuild/public/html"
-    target = "content/nifi-docs"
+    target = "static/nifi-docs"
 
 [menu]
   [[menu.main]]


(nifi-site) 11/11: NIFI-13915 Updated README.md with project links

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main-staging
in repository https://gitbox.apache.org/repos/asf/nifi-site.git

commit dec6c0406f3a2bc90764a77fc8aeeac0e53cfa11
Author: exceptionfactory <ex...@apache.org>
AuthorDate: Mon Nov 4 21:24:11 2024 -0600

    NIFI-13915 Updated README.md with project links
    
    - Updated documentation RewriteRule to latest nifi-docs directory
    
    (cherry picked from commit bb9905e781c354a16fe0ad1d35d2d89f760dd315)
---
 README.md        | 70 +++++++++++++++++++++++++++++++++++++++++---------------
 static/.htaccess |  2 +-
 2 files changed, 53 insertions(+), 19 deletions(-)

diff --git a/README.md b/README.md
index 055affb2..33920829 100644
--- a/README.md
+++ b/README.md
@@ -16,32 +16,66 @@
 -->
 # Apache NiFi Website
 
-The Apache NiFi website uses [Hugo](https://gohugo.io) to build static HTML and related resources.
+<img src="https://nifi.apache.org/assets/images/apache-nifi-logo.svg" width="300" alt="Apache NiFi"/>
 
-## Environment Configuration
+### Status
 
-- [Install Hugo](https://gohugo.io/getting-started/installing)
-- Clone repository
-  - `git clone https://github.com/apache/nifi-site.git`
+[![build](https://github.com/apache/nifi-site/workflows/build/badge.svg)](https://github.com/apache/nifi-site/actions/workflows/build.yml)
+[![License](https://img.shields.io/github/license/apache/nifi-site)](https://github.com/apache/nifi-site/blob/main/LICENSE)
 
-## Preview
+### Contacts
 
-- Start Hugo Server
-  - `hugo server`
-- Open Browser Preview
-  - http://localhost:1313/
+[![Track Issues](https://img.shields.io/badge/track-Issues-728e9b.svg?logo=jirasoftware)](https://issues.apache.org/jira/browse/NIFI)
+[![Chat on Slack](https://img.shields.io/badge/chat-Slack-728e9b.svg?logo=slack)](https://s.apache.org/nifi-community-slack)
+[![Contact Developers](https://img.shields.io/badge/contact-Developers-728e9b.svg?logo=apache)](https://lists.apache.org/list.html?dev@nifi.apache.org)
+[![Contact Users](https://img.shields.io/badge/contact-Users-728e9b.svg?logo=apache)](https://lists.apache.org/list.html?users@nifi.apache.org)
 
-## Build
+### Community
 
-- Run prebuild.sh for generated documentation
-  - `bash prebuild.sh`
+[![Join Slack Community](https://img.shields.io/badge/join-Slack-728e9b.svg?logo=slack)](https://join.slack.com/t/apachenifi/shared_invite/zt-11njbtkdx-ZRU8FKYSWoEHRJetidy0zA)
+[![Follow on LinkedIn](https://img.shields.io/badge/follow-Apache%20NiFi-728e9b.svg?logo=linkedin)](https://www.linkedin.com/company/apache-nifi/)
+[![Follow on X](https://img.shields.io/badge/follow-apachenifi-728e9b.svg?logo=x)](https://x.com/apachenifi)
 
-- Run Hugo Build
-  - `hugo`
+## Developing
 
-## Publish
+The project website uses [Hugo](https://gohugo.io) to build static HTML and related resources.
+
+### Prerequisites
+
+- [Hugo](https://gohugo.io/getting-started/installing)
+
+### Preparation
+
+Prepare build artifacts using published component manifests for generated documentation.
+
+```shell
+bash prebuild.sh
+```
+
+### Building
+
+Start Hugo Server to view rendered pages.
+
+```shell
+hugo server
+```
+
+Open a web browser to preview rendered pages.
+
+```
+http://localhost:1313
+```
+
+Run Hugo to generate pages in the `public` directory.
+
+```shell
+hugo
+```
+
+## Publishing
 
 The Apache NiFi website uses [GitHub Actions](https://docs.github.com/en/actions) and
 [Apache Software Foundation Infrastructure](https://infra.apache.org/project-site.html) configuration for automated
-publishing. See [Website Publishing](https://cwiki.apache.org/confluence/display/NIFI/Website+Publishing) for
-documentation.
\ No newline at end of file
+publishing.
+
+See [Website Publishing](https://cwiki.apache.org/confluence/display/NIFI/Website+Publishing) for documentation.
diff --git a/static/.htaccess b/static/.htaccess
index 6087b77e..73120ad9 100644
--- a/static/.htaccess
+++ b/static/.htaccess
@@ -5,7 +5,7 @@ RewriteCond     %{HTTPS} !=on
 RewriteRule     ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
 
 # Redirect latest documentation alias to specified version
-RewriteRule ^documentation/nifi-latest/html/(.+?)$ /documentation/nifi-2.0.0-M4/html/$1 [L,R]
+RewriteRule ^documentation/nifi-latest/html/(.+?)$ /nifi-docs/$1 [L,R]
 
 # Redirect component documentation to specified version
 RewriteRule ^docs/nifi-docs/components/org\.apache\.nifi/([^\/]+?)/[^\/]+?/(.*)$ docs/nifi-docs/components/org.apache.nifi/$1/1.28.0/$2 [L]


(nifi-site) 08/11: NIFI-13915 Disabled taxonomy and terms

Posted by ex...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main-staging
in repository https://gitbox.apache.org/repos/asf/nifi-site.git

commit 56ac748d3a4ed4fd0886fa384b4db72b9acf1e9a
Author: exceptionfactory <ex...@apache.org>
AuthorDate: Mon Nov 4 13:09:36 2024 -0600

    NIFI-13915 Disabled taxonomy and terms
    
    - Upgraded checkout action from v3 to v4
    
    (cherry picked from commit ce1ef739efe62142e9beb5368af3930725f550e7)
---
 .github/workflows/build.yml | 6 +++---
 config.toml                 | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index b5ddee30..7560a172 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -17,16 +17,16 @@ jobs:
     runs-on: ubuntu-24.04
     steps:
       - name: Checkout Sources
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Checkout Staging
         if: github.ref_name == 'main-staging'
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
         with:
           ref: asf-staging
           path: ${{ env.PUBLISH_DIRECTORY }}
       - name: Checkout Production
         if: github.ref_name == 'main'
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
         with:
           ref: asf-site
           path: ${{ env.PUBLISH_DIRECTORY }}
diff --git a/config.toml b/config.toml
index 17ffaeed..3bd72cc8 100644
--- a/config.toml
+++ b/config.toml
@@ -4,7 +4,7 @@ copyright = "The Apache Software Foundation"
 languageCode = "en"
 enableRobotsTXT = true
 disableBrowserError = true
-disableKinds = ["RSS"]
+disableKinds = ["RSS", "taxonomy", "term"]
 enableGitInfo = true
 theme = "nifi"
 enableInlineShortcodes = true