From 0caf4c5d2fb1f23b56cfcbcb572c115035a1f82c Mon Sep 17 00:00:00 2001 From: Natalia Ivakina Date: Thu, 13 Mar 2025 13:42:23 +0100 Subject: [PATCH 1/4] Replace `page-version` with `current` in links --- modules/ROOT/pages/extending-neo4j/best-practices.adoc | 2 +- modules/ROOT/pages/extending-neo4j/customized-code.adoc | 6 +++--- modules/ROOT/pages/extending-neo4j/procedures.adoc | 6 +++--- modules/ROOT/pages/extending-neo4j/security-plugins.adoc | 2 +- .../ROOT/pages/extending-neo4j/unmanaged-extensions.adoc | 2 +- modules/ROOT/pages/extending-neo4j/values-and-types.adoc | 2 +- modules/ROOT/pages/java-embedded/cypher-java.adoc | 4 ++-- modules/ROOT/pages/java-embedded/indexes.adoc | 4 ++-- modules/ROOT/pages/java-embedded/property-values.adoc | 2 +- modules/ROOT/pages/java-embedded/query-parameters.adoc | 2 +- modules/ROOT/pages/java-embedded/setup.adoc | 4 ++-- modules/ROOT/pages/java-embedded/unique-nodes.adoc | 2 +- modules/ROOT/pages/jmx-metrics.adoc | 6 +++--- modules/ROOT/pages/transaction-management.adoc | 4 ++-- 14 files changed, 24 insertions(+), 24 deletions(-) diff --git a/modules/ROOT/pages/extending-neo4j/best-practices.adoc b/modules/ROOT/pages/extending-neo4j/best-practices.adoc index d6daf57..3b04c27 100644 --- a/modules/ROOT/pages/extending-neo4j/best-practices.adoc +++ b/modules/ROOT/pages/extending-neo4j/best-practices.adoc @@ -5,7 +5,7 @@ = Best practices It is important to consider any security implications of deploying customized code. -Refer to the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/security/securing-extensions[Operations Manual -> Securing Extensions] for details on best practices for securing user-defined procedures and functions. +Refer to the link:{neo4j-docs-base-uri}/operations-manual/current/security/securing-extensions[Operations Manual -> Securing Extensions] for details on best practices for securing user-defined procedures and functions. Since you will be running custom-built code and Neo4j in the same JVM, there are a few things you should keep in mind: diff --git a/modules/ROOT/pages/extending-neo4j/customized-code.adoc b/modules/ROOT/pages/extending-neo4j/customized-code.adoc index 184dccf..c6dd081 100644 --- a/modules/ROOT/pages/extending-neo4j/customized-code.adoc +++ b/modules/ROOT/pages/extending-neo4j/customized-code.adoc @@ -16,7 +16,7 @@ Examples of use cases for procedures and functions are: Procedures and functions are written in Java and compiled into JAR files. They are deployed to the database by dropping that JAR file into the _plugins_ directory on each standalone or clustered server. -For the location of the _plugins_ directory, refer to link:{neo4j-docs-base-uri}/operations-manual/{page-version}/configuration/file-locations[Operations Manual -> Default file locations]. +For the location of the _plugins_ directory, refer to link:{neo4j-docs-base-uri}/operations-manual/current/configuration/file-locations[Operations Manual -> Default file locations]. The database must be restarted on each server to pick up new procedures and functions. Procedures and functions can take arguments and return results. @@ -53,9 +53,9 @@ In addition, procedures can perform write operations on the database. Neo4j also comes bundled with a number of _built-in_ procedures and functions. -The available built-in procedures vary depending on edition and mode, as described in link:{neo4j-docs-base-uri}/operations-manual/{page-version}/reference/procedures[Operations Manual -> Procedures]. +The available built-in procedures vary depending on edition and mode, as described in link:{neo4j-docs-base-uri}/operations-manual/current/reference/procedures[Operations Manual -> Procedures]. Running `SHOW PROCEDURES` displays the full list of procedures available in your Neo4j DBMS, including user-defined procedures. -The built-in functions are described in link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/functions[Cypher Manual -> Functions]. +The built-in functions are described in link:{neo4j-docs-base-uri}/cypher-manual/current/functions[Cypher Manual -> Functions]. Running `SHOW FUNCTIONS` displays the full list of all the functions available in your Neo4j DBMS, including user-defined functions. diff --git a/modules/ROOT/pages/extending-neo4j/procedures.adoc b/modules/ROOT/pages/extending-neo4j/procedures.adoc index 22b8a62..02b87f8 100644 --- a/modules/ROOT/pages/extending-neo4j/procedures.adoc +++ b/modules/ROOT/pages/extending-neo4j/procedures.adoc @@ -28,7 +28,7 @@ CALL org.neo4j.examples.findDenseNodes(1000) `CALL` may be the only clause within a Cypher statement or may be combined with other clauses. Arguments can be supplied directly within the query or taken from the associated parameter set. -For full details, see the documentation in link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/clauses/call[Cypher Manual -> `CALL` procedure]. +For full details, see the documentation in link:{neo4j-docs-base-uri}/cypher-manual/current/clauses/call[Cypher Manual -> `CALL` procedure]. [[user-defined-procedures]] @@ -195,7 +195,7 @@ The classes that can be injected are: All of the above classes are considered safe and future-proof and do not compromise the security of the database. Several unsupported (restricted) classes can also be injected and can be changed with little or no notice. Procedures written to use these restricted APIs are not loaded by default, and you need to use the `dbms.security.procedures.unrestricted` to load unsafe procedures. -Read more about this config setting in link:{neo4j-docs-base-uri}/operations-manual/{page-version}/security/securing-extensions[Operations Manual -> Securing extensions]. +Read more about this config setting in link:{neo4j-docs-base-uri}/operations-manual/current/security/securing-extensions[Operations Manual -> Securing extensions]. [[memory-resource-tracking]] == Memory Resource Tracking @@ -206,7 +206,7 @@ The memory resource tracking API for the procedure framework is available for pr Future versions of Neo4j might contain breaking changes to this API. ==== -If your procedure or function allocates significant amounts of heap memory, you can register allocations to count towards the configured transaction limits, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/performance/memory-configuration/#memory-configuration-limit-transaction-memory[Operations Manual -> Limit transaction memory usage] for more information. +If your procedure or function allocates significant amounts of heap memory, you can register allocations to count towards the configured transaction limits, see link:{neo4j-docs-base-uri}/operations-manual/current/performance/memory-configuration/#memory-configuration-limit-transaction-memory[Operations Manual -> Limit transaction memory usage] for more information. This allows you to avoid `OutOfMemory` errors that cause database restarts. Memory allocations also show up in query profiles. diff --git a/modules/ROOT/pages/extending-neo4j/security-plugins.adoc b/modules/ROOT/pages/extending-neo4j/security-plugins.adoc index c22fe7c..50ca5fe 100644 --- a/modules/ROOT/pages/extending-neo4j/security-plugins.adoc +++ b/modules/ROOT/pages/extending-neo4j/security-plugins.adoc @@ -9,7 +9,7 @@ Neo4j provides authentication and authorization plugin interfaces to support rea The SPI (Service Provider Interface) lives in the `com.neo4j.server.security.enterprise.auth.plugin.spi` package. -Customized-built plugins have access to the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/configuration/file-locations[__] directory in case you want to load any customized settings from a file located there. +Customized-built plugins have access to the link:{neo4j-docs-base-uri}/operations-manual/current/configuration/file-locations[__] directory in case you want to load any customized settings from a file located there. Plugins can also write to the security event log. diff --git a/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc b/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc index fda9117..043c641 100644 --- a/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc +++ b/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc @@ -102,7 +102,7 @@ When writing unmanaged extensions, you have greater control over the amount of m If you keep too much state around, it can lead to more frequent full Garbage Collection and subsequent unresponsiveness by the Neo4j server. A common way that state can increase, is the creation of JSON objects to represent the result of a query, which is then sent back to your application. -Neo4j's Transactional Cypher HTTP endpoint (see link:{neo4j-docs-base-uri}/http-api/{page-version}/actions[HTTP API Docs -> transactional Cypher endpoint]) streams responses back to the client. +Neo4j's Transactional Cypher HTTP endpoint (see link:{neo4j-docs-base-uri}/http-api/current/actions[HTTP API Docs -> transactional Cypher endpoint]) streams responses back to the client. For example, the following unmanaged extension streams an array of a person's colleagues: //https://github.com/neo4j/neo4j-documentation/blob/dev/server-examples/src/main/java/org/neo4j/examples/server/unmanaged/ColleaguesResource.java diff --git a/modules/ROOT/pages/extending-neo4j/values-and-types.adoc b/modules/ROOT/pages/extending-neo4j/values-and-types.adoc index 2a2abea..7a2bf04 100644 --- a/modules/ROOT/pages/extending-neo4j/values-and-types.adoc +++ b/modules/ROOT/pages/extending-neo4j/values-and-types.adoc @@ -6,7 +6,7 @@ [[extending-neo4j-procedures-and-functions-values-and-types]] = Values and types -The _input_ and _output_ to and from a procedure or a function must be one of the supported types, as described in link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/values-and-types/[Cypher Manual -> Values and types]. +The _input_ and _output_ to and from a procedure or a function must be one of the supported types, as described in link:{neo4j-docs-base-uri}/cypher-manual/current/values-and-types/[Cypher Manual -> Values and types]. Composite types are supported via: diff --git a/modules/ROOT/pages/java-embedded/cypher-java.adoc b/modules/ROOT/pages/java-embedded/cypher-java.adoc index 2433c8d..e832ad8 100644 --- a/modules/ROOT/pages/java-embedded/cypher-java.adoc +++ b/modules/ROOT/pages/java-embedded/cypher-java.adoc @@ -4,7 +4,7 @@ [[cypher-java]] = Cypher queries -In Java, you can use the link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/[Cypher query language] as per the example below. +In Java, you can use the link:{neo4j-docs-base-uri}/cypher-manual/current/[Cypher query language] as per the example below. [TIP] ==== @@ -118,5 +118,5 @@ You should instead use only one and if you need the facilities of the other meth For more information on the Java interface to Cypher, see the link:{neo4j-javadocs-base-uri}/index.html[Neo4j Javadocs^]. -For more information and examples for Cypher, see link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/[Neo4j Cypher Manual]. +For more information and examples for Cypher, see link:{neo4j-docs-base-uri}/cypher-manual/current/[Neo4j Cypher Manual]. diff --git a/modules/ROOT/pages/java-embedded/indexes.adoc b/modules/ROOT/pages/java-embedded/indexes.adoc index 8a94fb3..94e204e 100644 --- a/modules/ROOT/pages/java-embedded/indexes.adoc +++ b/modules/ROOT/pages/java-embedded/indexes.adoc @@ -4,10 +4,10 @@ [[java-embedded-new-index]] = Using indexes -It is possible to create and use all the index types described in link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/indexes-for-search-performance[Cypher Manual -> Indexes]. +It is possible to create and use all the index types described in link:{neo4j-docs-base-uri}/cypher-manual/current/indexes-for-search-performance[Cypher Manual -> Indexes]. This section demonstrates how to work with indexes with an example of a user database. -For information about how to create an index on all `User` nodes that have a `username` property, see link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/indexes-for-search-performance#administration-indexes-create-a-single-property-index-for-nodes[Cypher Manual -> Create a single-property index for nodes]. +For information about how to create an index on all `User` nodes that have a `username` property, see link:{neo4j-docs-base-uri}/cypher-manual/current/indexes-for-search-performance#administration-indexes-create-a-single-property-index-for-nodes[Cypher Manual -> Create a single-property index for nodes]. [TIP] ==== diff --git a/modules/ROOT/pages/java-embedded/property-values.adoc b/modules/ROOT/pages/java-embedded/property-values.adoc index 10a27bc..6e58784 100644 --- a/modules/ROOT/pages/java-embedded/property-values.adoc +++ b/modules/ROOT/pages/java-embedded/property-values.adoc @@ -54,6 +54,6 @@ If these objects are returned from procedures, the original types cannot be recr [NOTE] ==== Strings that contain special characters can have inconsistent or non-deterministic ordering in Neo4j. -For details, see link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/syntax/values#property-types-sip-note[Cypher Manual -> Sorting of special characters]. +For details, see link:{neo4j-docs-base-uri}/cypher-manual/current/syntax/values#property-types-sip-note[Cypher Manual -> Sorting of special characters]. ==== diff --git a/modules/ROOT/pages/java-embedded/query-parameters.adoc b/modules/ROOT/pages/java-embedded/query-parameters.adoc index 179495a..4283283 100644 --- a/modules/ROOT/pages/java-embedded/query-parameters.adoc +++ b/modules/ROOT/pages/java-embedded/query-parameters.adoc @@ -6,7 +6,7 @@ The following examples illustrate how to use parameters when executing Cypher queries from Java. -For more information on parameters, see the link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/[Neo4j Cypher Manual]. +For more information on parameters, see the link:{neo4j-docs-base-uri}/cypher-manual/current/[Neo4j Cypher Manual]. //https://github.com/neo4j/neo4j-documentation/blob/dev/cypher/cypher-docs/src/test/java/org/neo4j/cypher/example/JavaExecutionEngineDocTest.java diff --git a/modules/ROOT/pages/java-embedded/setup.adoc b/modules/ROOT/pages/java-embedded/setup.adoc index 6c586fa..ee3d784 100644 --- a/modules/ROOT/pages/java-embedded/setup.adoc +++ b/modules/ROOT/pages/java-embedded/setup.adoc @@ -21,7 +21,7 @@ The following examples use the top-level artifact approach. ==== The examples are only valid for Neo4j Community Edition. To add Neo4j Enterprise Edition as a dependency, please get in contact with link:https://neo4j.com/contact-us/[Neo4j Professional Services^]. -See link:{neo4j-docs-base-uri}/operations-manual/{page-version}/introduction[Operations Manual -> Introduction] for details about the Community and Enterprise Editions. +See link:{neo4j-docs-base-uri}/operations-manual/current/introduction[Operations Manual -> Introduction] for details about the Community and Enterprise Editions. ==== @@ -127,7 +127,7 @@ registerShutdownHook( managementService ); If you are using the Enterprise Edition of Neo4j in embedded mode, you have to create your database with the link:{com-neo4j-dbms-api-EnterpriseDatabaseManagementServiceBuilder}[`com.neo4j.dbms.api.EnterpriseDatabaseManagementServiceBuilder`^] to enable the Enterprise Edition features. If you intend to operate embedded clusters, you need to provide the appropriate configuration to the instances you create (for example ports and discovery endpoints). -For maintainability purposes, you can define your embedded DBMS configuration in the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/configuration/neo4j-conf[_neo4j.conf_] file as follows: +For maintainability purposes, you can define your embedded DBMS configuration in the link:{neo4j-docs-base-uri}/operations-manual/current/configuration/neo4j-conf[_neo4j.conf_] file as follows: //https://github.com/neo4j/neo4j-documentation/blob/dev/embedded-examples/src/main/java/org/neo4j/examples/EmbeddedNeo4jClusterUsingBuilder.java //EmbeddedNeo4jClusterUsingBuilder.java[tag=neo4jConf] diff --git a/modules/ROOT/pages/java-embedded/unique-nodes.adoc b/modules/ROOT/pages/java-embedded/unique-nodes.adoc index 4ee6c13..867de1d 100644 --- a/modules/ROOT/pages/java-embedded/unique-nodes.adoc +++ b/modules/ROOT/pages/java-embedded/unique-nodes.adoc @@ -82,5 +82,5 @@ You might also be tempted to use Java synchronization for pessimistic locking, b By mixing locks in Neo4j and the Java runtime, it is possible to produce deadlocks that are not detectable by Neo4j. As long as all locking is done by Neo4j, all deadlocks will be detected and avoided. -For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-internals/locks-deadlocks.adoc#_locks[Operations Manual -> Locks and deadlocks^]. +For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/current/database-internals/locks-deadlocks.adoc#_locks[Operations Manual -> Locks and deadlocks^]. diff --git a/modules/ROOT/pages/jmx-metrics.adoc b/modules/ROOT/pages/jmx-metrics.adoc index fd877d8..4eb46de 100644 --- a/modules/ROOT/pages/jmx-metrics.adoc +++ b/modules/ROOT/pages/jmx-metrics.adoc @@ -7,20 +7,20 @@ This topic describes how to access JMX for Neo4j DBMS to monitor metrics. Neo4j provides different levels of monitoring facilities to supply a continuous overview of the system's health. -For a description of the monitoring options, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/monitoring[Neo4j Operations Manual -> Monitoring]. +For a description of the monitoring options, see link:{neo4j-docs-base-uri}/operations-manual/current/monitoring[Neo4j Operations Manual -> Monitoring]. Many of the metrics are exposed through link:https://www.oracle.com/java/technologies/javase/javamanagement.html[JMX^]. [NOTE] ==== The available JMX MBeans and their names have been updated in Neo4j 4.0. -Beans that duplicate metrics or monitoring options, described in link:{neo4j-docs-base-uri}/operations-manual/{page-version}/monitoring/metrics/reference/#jvm-metrics[Neo4j Operations Manual -> Monitoring], have been removed. +Beans that duplicate metrics or monitoring options, described in link:{neo4j-docs-base-uri}/operations-manual/current/monitoring/metrics/reference/#jvm-metrics[Neo4j Operations Manual -> Monitoring], have been removed. ==== [[jmx-remote]] == Adjusting remote JMX access to Neo4j By default, the Neo4j Enterprise edition does not allow remote JMX connections. -To enable this feature, you need to enable JMX Remote Management and also configure JMX for secure remote access, in the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/configuration/neo4j-conf[_conf/neo4j.conf_ file]. +To enable this feature, you need to enable JMX Remote Management and also configure JMX for secure remote access, in the link:{neo4j-docs-base-uri}/operations-manual/current/configuration/neo4j-conf[_conf/neo4j.conf_ file]. [[enable-jmx-remote]] diff --git a/modules/ROOT/pages/transaction-management.adoc b/modules/ROOT/pages/transaction-management.adoc index b414bc5..c06edf3 100644 --- a/modules/ROOT/pages/transaction-management.adoc +++ b/modules/ROOT/pages/transaction-management.adoc @@ -12,7 +12,7 @@ ==== This page describes only some specific aspects of transaction management when used with the Neo4j Java API and provides some examples of how to avoid deadlocks, and how to register a transaction event listener for a specific database and perform basic operations on top of the transaction change set. -Therefore, it is highly recommended that you read link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-internals/[Operations Manual -> Database internals and transactional behavior] before you continue reading this page. +Therefore, it is highly recommended that you read link:{neo4j-docs-base-uri}/operations-manual/current/database-internals/[Operations Manual -> Database internals and transactional behavior] before you continue reading this page. ==== [[transactions-overview]] @@ -31,7 +31,7 @@ The interaction cycle of working with transactions follows the steps: [NOTE] ==== It is crucial to finish each transaction because the locks or memory acquired by a transaction are only released upon completion. -For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-internals/locks-deadlocks[Operations Manual -> Locks and deadlocks^]. +For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/current/database-internals/locks-deadlocks[Operations Manual -> Locks and deadlocks^]. ==== The idiomatic use of transactions in Neo4j is to use a `try-with-resources` statement and declare `transaction` as one of the resources. From b3f6e242a07371a31f493cd8691ac6b47b177b94 Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Wed, 19 Mar 2025 09:55:42 +0100 Subject: [PATCH 2/4] Put back `page-version` for the Ops manual and fix links on locks/deadlocks --- modules/ROOT/pages/extending-neo4j/best-practices.adoc | 2 +- modules/ROOT/pages/extending-neo4j/customized-code.adoc | 4 ++-- modules/ROOT/pages/extending-neo4j/procedures.adoc | 4 ++-- modules/ROOT/pages/extending-neo4j/security-plugins.adoc | 2 +- modules/ROOT/pages/java-embedded/setup.adoc | 4 ++-- modules/ROOT/pages/java-embedded/unique-nodes.adoc | 2 +- modules/ROOT/pages/jmx-metrics.adoc | 6 +++--- modules/ROOT/pages/transaction-management.adoc | 4 ++-- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/modules/ROOT/pages/extending-neo4j/best-practices.adoc b/modules/ROOT/pages/extending-neo4j/best-practices.adoc index 3b04c27..d6daf57 100644 --- a/modules/ROOT/pages/extending-neo4j/best-practices.adoc +++ b/modules/ROOT/pages/extending-neo4j/best-practices.adoc @@ -5,7 +5,7 @@ = Best practices It is important to consider any security implications of deploying customized code. -Refer to the link:{neo4j-docs-base-uri}/operations-manual/current/security/securing-extensions[Operations Manual -> Securing Extensions] for details on best practices for securing user-defined procedures and functions. +Refer to the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/security/securing-extensions[Operations Manual -> Securing Extensions] for details on best practices for securing user-defined procedures and functions. Since you will be running custom-built code and Neo4j in the same JVM, there are a few things you should keep in mind: diff --git a/modules/ROOT/pages/extending-neo4j/customized-code.adoc b/modules/ROOT/pages/extending-neo4j/customized-code.adoc index c6dd081..c4b44c5 100644 --- a/modules/ROOT/pages/extending-neo4j/customized-code.adoc +++ b/modules/ROOT/pages/extending-neo4j/customized-code.adoc @@ -16,7 +16,7 @@ Examples of use cases for procedures and functions are: Procedures and functions are written in Java and compiled into JAR files. They are deployed to the database by dropping that JAR file into the _plugins_ directory on each standalone or clustered server. -For the location of the _plugins_ directory, refer to link:{neo4j-docs-base-uri}/operations-manual/current/configuration/file-locations[Operations Manual -> Default file locations]. +For the location of the _plugins_ directory, refer to link:{neo4j-docs-base-uri}/operations-manual/{page-version}/configuration/file-locations[Operations Manual -> Default file locations]. The database must be restarted on each server to pick up new procedures and functions. Procedures and functions can take arguments and return results. @@ -53,7 +53,7 @@ In addition, procedures can perform write operations on the database. Neo4j also comes bundled with a number of _built-in_ procedures and functions. -The available built-in procedures vary depending on edition and mode, as described in link:{neo4j-docs-base-uri}/operations-manual/current/reference/procedures[Operations Manual -> Procedures]. +The available built-in procedures vary depending on edition and mode, as described in link:{neo4j-docs-base-uri}/operations-manual/{page-version}/procedures[Operations Manual -> Procedures]. Running `SHOW PROCEDURES` displays the full list of procedures available in your Neo4j DBMS, including user-defined procedures. The built-in functions are described in link:{neo4j-docs-base-uri}/cypher-manual/current/functions[Cypher Manual -> Functions]. diff --git a/modules/ROOT/pages/extending-neo4j/procedures.adoc b/modules/ROOT/pages/extending-neo4j/procedures.adoc index 02b87f8..2d61214 100644 --- a/modules/ROOT/pages/extending-neo4j/procedures.adoc +++ b/modules/ROOT/pages/extending-neo4j/procedures.adoc @@ -195,7 +195,7 @@ The classes that can be injected are: All of the above classes are considered safe and future-proof and do not compromise the security of the database. Several unsupported (restricted) classes can also be injected and can be changed with little or no notice. Procedures written to use these restricted APIs are not loaded by default, and you need to use the `dbms.security.procedures.unrestricted` to load unsafe procedures. -Read more about this config setting in link:{neo4j-docs-base-uri}/operations-manual/current/security/securing-extensions[Operations Manual -> Securing extensions]. +Read more about this config setting in link:{neo4j-docs-base-uri}/operations-manual/{page-version}/security/securing-extensions[Operations Manual -> Securing extensions]. [[memory-resource-tracking]] == Memory Resource Tracking @@ -206,7 +206,7 @@ The memory resource tracking API for the procedure framework is available for pr Future versions of Neo4j might contain breaking changes to this API. ==== -If your procedure or function allocates significant amounts of heap memory, you can register allocations to count towards the configured transaction limits, see link:{neo4j-docs-base-uri}/operations-manual/current/performance/memory-configuration/#memory-configuration-limit-transaction-memory[Operations Manual -> Limit transaction memory usage] for more information. +If your procedure or function allocates significant amounts of heap memory, you can register allocations to count towards the configured transaction limits, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/performance/memory-configuration/#memory-configuration-limit-transaction-memory[Operations Manual -> Limit transaction memory usage] for more information. This allows you to avoid `OutOfMemory` errors that cause database restarts. Memory allocations also show up in query profiles. diff --git a/modules/ROOT/pages/extending-neo4j/security-plugins.adoc b/modules/ROOT/pages/extending-neo4j/security-plugins.adoc index 50ca5fe..c22fe7c 100644 --- a/modules/ROOT/pages/extending-neo4j/security-plugins.adoc +++ b/modules/ROOT/pages/extending-neo4j/security-plugins.adoc @@ -9,7 +9,7 @@ Neo4j provides authentication and authorization plugin interfaces to support rea The SPI (Service Provider Interface) lives in the `com.neo4j.server.security.enterprise.auth.plugin.spi` package. -Customized-built plugins have access to the link:{neo4j-docs-base-uri}/operations-manual/current/configuration/file-locations[__] directory in case you want to load any customized settings from a file located there. +Customized-built plugins have access to the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/configuration/file-locations[__] directory in case you want to load any customized settings from a file located there. Plugins can also write to the security event log. diff --git a/modules/ROOT/pages/java-embedded/setup.adoc b/modules/ROOT/pages/java-embedded/setup.adoc index ee3d784..6c586fa 100644 --- a/modules/ROOT/pages/java-embedded/setup.adoc +++ b/modules/ROOT/pages/java-embedded/setup.adoc @@ -21,7 +21,7 @@ The following examples use the top-level artifact approach. ==== The examples are only valid for Neo4j Community Edition. To add Neo4j Enterprise Edition as a dependency, please get in contact with link:https://neo4j.com/contact-us/[Neo4j Professional Services^]. -See link:{neo4j-docs-base-uri}/operations-manual/current/introduction[Operations Manual -> Introduction] for details about the Community and Enterprise Editions. +See link:{neo4j-docs-base-uri}/operations-manual/{page-version}/introduction[Operations Manual -> Introduction] for details about the Community and Enterprise Editions. ==== @@ -127,7 +127,7 @@ registerShutdownHook( managementService ); If you are using the Enterprise Edition of Neo4j in embedded mode, you have to create your database with the link:{com-neo4j-dbms-api-EnterpriseDatabaseManagementServiceBuilder}[`com.neo4j.dbms.api.EnterpriseDatabaseManagementServiceBuilder`^] to enable the Enterprise Edition features. If you intend to operate embedded clusters, you need to provide the appropriate configuration to the instances you create (for example ports and discovery endpoints). -For maintainability purposes, you can define your embedded DBMS configuration in the link:{neo4j-docs-base-uri}/operations-manual/current/configuration/neo4j-conf[_neo4j.conf_] file as follows: +For maintainability purposes, you can define your embedded DBMS configuration in the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/configuration/neo4j-conf[_neo4j.conf_] file as follows: //https://github.com/neo4j/neo4j-documentation/blob/dev/embedded-examples/src/main/java/org/neo4j/examples/EmbeddedNeo4jClusterUsingBuilder.java //EmbeddedNeo4jClusterUsingBuilder.java[tag=neo4jConf] diff --git a/modules/ROOT/pages/java-embedded/unique-nodes.adoc b/modules/ROOT/pages/java-embedded/unique-nodes.adoc index 867de1d..66754ef 100644 --- a/modules/ROOT/pages/java-embedded/unique-nodes.adoc +++ b/modules/ROOT/pages/java-embedded/unique-nodes.adoc @@ -82,5 +82,5 @@ You might also be tempted to use Java synchronization for pessimistic locking, b By mixing locks in Neo4j and the Java runtime, it is possible to produce deadlocks that are not detectable by Neo4j. As long as all locking is done by Neo4j, all deadlocks will be detected and avoided. -For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/current/database-internals/locks-deadlocks.adoc#_locks[Operations Manual -> Locks and deadlocks^]. +For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-internals/concurrent-data-access#_locks[Operations Manual -> Locks and deadlocks^]. diff --git a/modules/ROOT/pages/jmx-metrics.adoc b/modules/ROOT/pages/jmx-metrics.adoc index 4eb46de..fd877d8 100644 --- a/modules/ROOT/pages/jmx-metrics.adoc +++ b/modules/ROOT/pages/jmx-metrics.adoc @@ -7,20 +7,20 @@ This topic describes how to access JMX for Neo4j DBMS to monitor metrics. Neo4j provides different levels of monitoring facilities to supply a continuous overview of the system's health. -For a description of the monitoring options, see link:{neo4j-docs-base-uri}/operations-manual/current/monitoring[Neo4j Operations Manual -> Monitoring]. +For a description of the monitoring options, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/monitoring[Neo4j Operations Manual -> Monitoring]. Many of the metrics are exposed through link:https://www.oracle.com/java/technologies/javase/javamanagement.html[JMX^]. [NOTE] ==== The available JMX MBeans and their names have been updated in Neo4j 4.0. -Beans that duplicate metrics or monitoring options, described in link:{neo4j-docs-base-uri}/operations-manual/current/monitoring/metrics/reference/#jvm-metrics[Neo4j Operations Manual -> Monitoring], have been removed. +Beans that duplicate metrics or monitoring options, described in link:{neo4j-docs-base-uri}/operations-manual/{page-version}/monitoring/metrics/reference/#jvm-metrics[Neo4j Operations Manual -> Monitoring], have been removed. ==== [[jmx-remote]] == Adjusting remote JMX access to Neo4j By default, the Neo4j Enterprise edition does not allow remote JMX connections. -To enable this feature, you need to enable JMX Remote Management and also configure JMX for secure remote access, in the link:{neo4j-docs-base-uri}/operations-manual/current/configuration/neo4j-conf[_conf/neo4j.conf_ file]. +To enable this feature, you need to enable JMX Remote Management and also configure JMX for secure remote access, in the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/configuration/neo4j-conf[_conf/neo4j.conf_ file]. [[enable-jmx-remote]] diff --git a/modules/ROOT/pages/transaction-management.adoc b/modules/ROOT/pages/transaction-management.adoc index c06edf3..3acfb24 100644 --- a/modules/ROOT/pages/transaction-management.adoc +++ b/modules/ROOT/pages/transaction-management.adoc @@ -12,7 +12,7 @@ ==== This page describes only some specific aspects of transaction management when used with the Neo4j Java API and provides some examples of how to avoid deadlocks, and how to register a transaction event listener for a specific database and perform basic operations on top of the transaction change set. -Therefore, it is highly recommended that you read link:{neo4j-docs-base-uri}/operations-manual/current/database-internals/[Operations Manual -> Database internals and transactional behavior] before you continue reading this page. +Therefore, it is highly recommended that you read link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-internals/[Operations Manual -> Database internals and transactional behavior] before you continue reading this page. ==== [[transactions-overview]] @@ -31,7 +31,7 @@ The interaction cycle of working with transactions follows the steps: [NOTE] ==== It is crucial to finish each transaction because the locks or memory acquired by a transaction are only released upon completion. -For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/current/database-internals/locks-deadlocks[Operations Manual -> Locks and deadlocks^]. +For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-internals/concurrent-data-access/#_locks[Operations Manual -> Locks and deadlocks^]. ==== The idiomatic use of transactions in Neo4j is to use a `try-with-resources` statement and declare `transaction` as one of the resources. From bbf7e41fdefc7b23c1b3dadb97a9e9fcca5cf7be Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Wed, 19 Mar 2025 10:01:49 +0100 Subject: [PATCH 3/4] Update modules/ROOT/pages/java-embedded/unique-nodes.adoc --- modules/ROOT/pages/java-embedded/unique-nodes.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/java-embedded/unique-nodes.adoc b/modules/ROOT/pages/java-embedded/unique-nodes.adoc index 66754ef..a4a0cff 100644 --- a/modules/ROOT/pages/java-embedded/unique-nodes.adoc +++ b/modules/ROOT/pages/java-embedded/unique-nodes.adoc @@ -82,5 +82,5 @@ You might also be tempted to use Java synchronization for pessimistic locking, b By mixing locks in Neo4j and the Java runtime, it is possible to produce deadlocks that are not detectable by Neo4j. As long as all locking is done by Neo4j, all deadlocks will be detected and avoided. -For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-internals/concurrent-data-access#_locks[Operations Manual -> Locks and deadlocks^]. +For more information on locks and deadlocks, see link:{neo4j-docs-base-uri}/operations-manual/{page-version}/database-internals/concurrent-data-access/#_locks[Operations Manual -> Locks and deadlocks^]. From a1a1db7ddc19ba8bad4e10dfbc3184b09edd24e8 Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Thu, 20 Mar 2025 15:24:06 +0100 Subject: [PATCH 4/4] Update modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc --- modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc b/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc index 043c641..61a2920 100644 --- a/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc +++ b/modules/ROOT/pages/extending-neo4j/unmanaged-extensions.adoc @@ -102,7 +102,7 @@ When writing unmanaged extensions, you have greater control over the amount of m If you keep too much state around, it can lead to more frequent full Garbage Collection and subsequent unresponsiveness by the Neo4j server. A common way that state can increase, is the creation of JSON objects to represent the result of a query, which is then sent back to your application. -Neo4j's Transactional Cypher HTTP endpoint (see link:{neo4j-docs-base-uri}/http-api/current/actions[HTTP API Docs -> transactional Cypher endpoint]) streams responses back to the client. +Neo4j's HTTP endpoint (see link:{neo4j-docs-base-uri}/http-api/current/transactions[HTTP API Docs -> Run transactions]) streams responses back to the client. For example, the following unmanaged extension streams an array of a person's colleagues: //https://github.com/neo4j/neo4j-documentation/blob/dev/server-examples/src/main/java/org/neo4j/examples/server/unmanaged/ColleaguesResource.java