From 9ff2b4e314fb4dbcfabd730ac041e6b583b70d1a Mon Sep 17 00:00:00 2001 From: Tglman Date: Mon, 13 Jan 2020 09:15:08 +0000 Subject: [PATCH 01/74] updated documentation on encryption support --- security/Database-Encryption.md | 44 ++++++++++++++++----------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/security/Database-Encryption.md b/security/Database-Encryption.md index 3dce7e8d..72a26c3c 100644 --- a/security/Database-Encryption.md +++ b/security/Database-Encryption.md @@ -7,27 +7,21 @@ search: Beginning with version 2.2, OrientDB can encrypt records on disk. This prevents unauthorized users from accessing database content or even from bypassing OrientDB security. OrientDB does not save the encryption key to the database. You must provide it at run-time. In the event that you lose the encryption key, the database, (or at least the parts of the database you have encrypted), you lose access to its content. -> **NOTE**: Encryption at rest is not supported on remote protocol yet. It can be used only with plocal. +> **NOTE**: Encryption parameters are not supported on remote protocol. It can be used only with in embedded or configuring the settings on the server. -Encryption works through the encryption interface. It acts at the cluster (collection) level. OrientDB supports two algorithms for encryption: +Encryption works through the encryption interface. It acts at the cluster (collection) level. OrientDB encrypt data using [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard): -- `aes` algorithm, which uses [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) -- `des` algorithm, which uses [DES](https://en.wikipedia.org/wiki/Data_Encryption_Standard) - -The AES algorithm is preferable to DES, given that it's stronger. Encryption in OrientDB operates at the database-level. You can have multiple databases, each with different encryption interfaces, running under the same server, (or, JVM, in the event that you run OrientDB embedded). That said, you can use global configurations to define the same encryption rules for all databases open in the same JVM. For instance, you can define rules through the Java API: ```java -OGlobalConfiguration.STORAGE_ENCRYPTION_METHOD.setValue("aes"); OGlobalConfiguration.STORAGE_ENCRYPTION_KEY.setValue("T1JJRU5UREJfSVNfQ09PTA=="); ``` You can enable this at startup by passing these settings as JVM arguments:
-$ java ... -Dstorage.encryptionMethod=aes \
-      -Dstorage.encryptionKey="T1JJRU5UREJfSVNfQ09PTA=="
+$ java ... -Dstorage.encryptionKey="T1JJRU5UREJfSVNfQ09PTA=="
 
@@ -37,24 +31,25 @@ For more information on security in OrientDB, see the following pages: - [Secure SSL connections](Using-SSL-with-OrientDB.md) - ## Creating Encrypted Databases -You can create an encrypted database using either the console or through the Java API. To create an encrypted database, use the `-encryption` option through the [`CREATE DATABASE`](../console/Console-Command-Create-Database.md) command. However, before you do so, you must set the encryption key by defining the `storage.encryptionKey` value through the [`CONFIG`](../console/Console-Command-Config.md) command. +You can create an encrypted database using either the console or through the Java API. To create an encrypted database, is enough to set the encryption key by defining the `storage.encryptionKey` value through the [`CONFIG`](../console/Console-Command-Config.md) command, before the [`CREATE DATABASE`](../console/Console-Command-Create-Database.md) command.
 orientdb> CONFIG SET storage.encryptionKey T1JJRU5UREJfSVNfQ09PTA==
-orientdb> CREATE DATABASE plocal:/tmp/db/encrypted-db admin my_admin_password 
-          plocal document -encryption=aes
+orientdb> CREATE DATABASE plocal:/tmp/db/encrypted-db user password  plocal 
 
-To create an encrypted database through the Java API, define the encryption algorithm and then set the encryption key as database properties: +To create an encrypted database through the Java API, define the encryption key as database configuration: ```java -ODatabaseDocumentTx db = new ODatabaseDocumentTx("plocal:/tmp/db/encrypted"); -db.setProperty(OGlobalConfiguration.STORAGE_ENCRYPTION_METHOD.getKey(), "aes"); -db.setProperty(OGlobalConfiguration.STORAGE_ENCRYPTION_KEY.getKey(), "T1JJRU5UREJfSVNfQ09PTA=="); -db.create(); + +try (final OrientDB orientDB = new OrientDB("embedded:" + dbDirectoryFile.getAbsolutePath(), OrientDBConfig.defaultConfig())) { + final OrientDBConfig orientDBConfig = OrientDBConfig.builder() + .addConfig(OGlobalConfiguration.STORAGE_ENCRYPTION_KEY, "T1JJRU5UREJfSVNfQ09PTA==").build(); + orientDB.create("encryption", ODatabaseType.PLOCAL, orientDBConfig); +} + ``` Whether you use the console or the Java API, these commands encrypt the entire database on disk. OrientDB does not store the encryption key within the database. You must provide it at run-time. @@ -65,17 +60,20 @@ You can access an encrypted database through either the console or the Java API.
 orientdb> CONFIG SET storage.encryptionKey T1JJRU5UREJfSVNfQ09PTA==
-orientdb> CONNECT plocal:/tmp/db/encrypted-db admin my_admin_password
+orientdb> CONNECT plocal:/tmp/db/encrypted-db user password
 
-When opening through the Java API, given that the encryption settings are stored with the database, you do not need to define the encryption algorithm when you open the database, just the encryption key. +When opening through the Java API, you need to just provide the encryption key. ```java -db.setProperty(OGlobalConfiguration.STORAGE_ENCRYPTION_KEY.getKey(), "T1JJRU5UREJfSVNfQ09PTA=="); -db.open("admin", "my_admin_password"); +try (final OrientDB orientDB = new OrientDB("embedded:" + dbDirectoryFile.getAbsolutePath(), OrientDBConfig.defaultConfig())) { + final OrientDBConfig orientDBConfig = OrientDBConfig.builder() + .addConfig(OGlobalConfiguration.STORAGE_ENCRYPTION_KEY, "T1JJRU5UREJfSVNfQ09PTA==").build(); + orientDB.open("encryption", "user", "password, orientDBConfig); +} ``` -In the event that you pass a null or invalid key when you open the database, OrientDB raises an `OSecurityException` exception. +In the event that you pass a null or invalid key when you open the database, OrientDB raises an `ODatabaseException` exception. > **Note**: from version 3.x cluster encryption is no longer supported. From 7ce4e5c806fe53e82c5f390725a4e6b7668f9036 Mon Sep 17 00:00:00 2001 From: Tglman Date: Wed, 22 Jan 2020 13:05:12 +0000 Subject: [PATCH 02/74] update examples of kerberos use --- security/Security-Kerberos-Client-Examples.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/security/Security-Kerberos-Client-Examples.md b/security/Security-Kerberos-Client-Examples.md index a8f81584..d65de38d 100644 --- a/security/Security-Kerberos-Client-Examples.md +++ b/security/Security-Kerberos-Client-Examples.md @@ -31,18 +31,21 @@ The following is an example of how to use the OServerAdmin interface to send com String url = "remote:server1.ad.somedomain.com:2424"; String pri = "OrientDBClient@AD.SOMEDOMAIN.COM"; String spn = "OrientDB/db1.somedomain.com"; - - OServerAdmin serverAdmin = new OServerAdmin(url).connect(pri, spn); - serverAdmin.createDatabase("TestDB", "graph", "plocal"); - serverAdmin.close(); + + OrientDB orientDB = new OrientDB(url, pri, spn, OrientDBConfig.defaultConfig()); + orientDB.create("TestDB", ODatabaseType.PLOCAL); + orientDB.close(); The next example shows how to open an existing OrientDB database from the Java client API: - String url = "remote:server1.ad.somedomain.com:2424/TestDB"; + String url = "remote:server1.ad.somedomain.com:2424"; String pri = "OrientDBClient@AD.SOMEDOMAIN.COM"; String spn = "OrientDB/db1.somedomain.com"; - ODatabaseDocumentTx db = new ODatabaseDocumentTx(url).open(pri, spn); + OrientDB orientDB = new OrientDB(url, OrientDBConfig.defaultConfig()); + ODatabaseSession db = orientDB.open("TestDB", pri, spn, ODatabaseType.PLOCAL); + db.close(); + orientDB.close(); ## JDBC Client From 1dba82c8fa19d5c5e0ef21005c01d19a017f0f6a Mon Sep 17 00:00:00 2001 From: Tglman Date: Wed, 22 Jan 2020 14:05:41 +0000 Subject: [PATCH 03/74] minor fix for remove examples with ODatabaseDocumentTx --- distributed/Distributed-Configuration.md | 7 +++---- java/Java-Multi-Threading-Usage.md | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/distributed/Distributed-Configuration.md b/distributed/Distributed-Configuration.md index bcacf19b..ac8fa500 100644 --- a/distributed/Distributed-Configuration.md +++ b/distributed/Distributed-Configuration.md @@ -298,10 +298,9 @@ Once a client is connected to any server node, it retrieves the list of availabl To setup the strategy using the Java Document API: ```java -final ODatabaseDocumentTx db = new ODatabaseDocumentTx("remote:localhost/demo"); -db.setProperty(OStorageRemote.PARAM_CONNECTION_STRATEGY, - OStorageRemote.CONNECTION_STRATEGY.ROUND_ROBIN_CONNECT.toString()); -db.open(user, password); +OrientDB orientDB = new OrientDB("remote:localhost", OrientDBConfig.defaultConfig()); +OrientDBConfig config = OrientDBConfig.builder().addConfig(CLIENT_CONNECTION_STRATEGY, "ROUND_ROBIN_CONNECT").build(); +final ODatabaseDocument db = orientDB.open("demo", user, password, config); ``` To setup the strategy using the Java Graph API: diff --git a/java/Java-Multi-Threading-Usage.md b/java/Java-Multi-Threading-Usage.md index 4384bb41..01abaad3 100644 --- a/java/Java-Multi-Threading-Usage.md +++ b/java/Java-Multi-Threading-Usage.md @@ -58,7 +58,7 @@ In the above example, bear in mind that the `activeOnCurrentThread()` method is ```java ODatabaseDocument db1 = orientDB.open("db1","admin","admin"); -ODatabaseDocumentTx db2 = orientDB.open("db2","admin","admin"); +ODatabaseDocument db2 = orientDB.open("db2","admin","admin"); ... From 962ec6b00f5888e99c030b46a4535a4966c9acba Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Fri, 7 Feb 2020 10:39:45 +0100 Subject: [PATCH 04/74] Update book.json --- book.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book.json b/book.json index e654478f..5e2e98d0 100644 --- a/book.json +++ b/book.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.27/orientdb-3.0.27.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-3.0.28.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.27/orientdb-community-tp2-3.0.27.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-community-tp2-3.0.28.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.27/orientdb-tp3-3.0.27.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-tp3-3.0.28.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.27/orientdb-tp3-3.0.27.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-tp3-3.0.28.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.27", - "currentVersion": "3.0.27", + "lastGA": "3.0.28", + "currentVersion": "3.0.28", "demoDBVersion_screenshots": "0.76", "javase": "https://docs.oracle.com/javase/8/docs", "javadoc": "https://orientdb.com/javadoc/develop" From db945a268ee7e37bf3244ad88a0d61e3ea8ce7ec Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Fri, 7 Feb 2020 10:40:37 +0100 Subject: [PATCH 05/74] Update book-pdf.json --- book-pdf.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book-pdf.json b/book-pdf.json index 6597cef9..8e34375b 100644 --- a/book-pdf.json +++ b/book-pdf.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.27/orientdb-3.0.27.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-3.0.28.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.27/orientdb-community-tp2-3.0.27.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-community-tp2-3.0.28.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.27/orientdb-tp3-3.0.27.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-tp3-3.0.28.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.27/orientdb-tp3-3.0.27.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-tp3-3.0.28.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.27", - "currentVersion": "3.0.27", + "lastGA": "3.0.28", + "currentVersion": "3.0.28", "demoDBVersion_screenshots": "0.76" }, "links": { From d7f3eef6c9795588f4eb364e70b847608fdacde8 Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Mon, 2 Mar 2020 15:27:09 +0100 Subject: [PATCH 06/74] Added docs for js sandboxing --- admin/Functions-DB-Access.md | 17 ++++++++++++++++- js/Javascript-Command.md | 18 ++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/admin/Functions-DB-Access.md b/admin/Functions-DB-Access.md index e312fa8b..d35901b1 100644 --- a/admin/Functions-DB-Access.md +++ b/admin/Functions-DB-Access.md @@ -1,6 +1,6 @@ --- search: - keywords: ['function', 'access', 'database access'] + keywords: ['function', 'access', 'database access', 'sandbox'] --- # Accessing the Database from a Function @@ -11,6 +11,21 @@ When you create a function for OrientDB, it always binds the special variable `o |---|---| | `orient.getDatabase()` | Returns the current [document database](http://www.orientechnologies.com/javadoc/latest/com/orientechnologies/orient/core/db/document/ODatabaseDocumentTx.html) instance. | + +For security reason starting from *OrientDB 3.0.29*, the usage of Java classes is forbidden by default, with a class filter implmented in the JS engine. +To enable the access to classes or packages in your JS code change the `allowedPackages` field with comma separated packages or classes. + +```xml + + + + + + + + +``` + ## Executing Queries Queries are idempotent commands. To execute a query from within a function, use the `query()` method. For nstance, diff --git a/js/Javascript-Command.md b/js/Javascript-Command.md index b09b74ff..8a73c770 100644 --- a/js/Javascript-Command.md +++ b/js/Javascript-Command.md @@ -136,6 +136,24 @@ For security reasons server-side scripting is disabled by default on the server. ``` + +For security reason starting from *OrientDB 3.0.29*, the usage of Java classes is forbidden by default, with a class filter implmented in the JS engine. +To enable the access to classes or packages in your JS code change the `allowedPackages` field with comma separated packages or classes. +This also applies to Javascript server side function. + +```xml + + + + + + + + + +``` + + For more information look at [Server Side Script Interpreter Plugin](Script-Interpreter-Plugin.md). *NOTE: this will allow clients to execute any code inside the server. Enable it only if clients are trusted.* From da8517229b338e982e8281c559a744890e82bf5a Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Tue, 3 Mar 2020 14:28:26 +0100 Subject: [PATCH 07/74] Update book.json --- book.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book.json b/book.json index 5e2e98d0..014e9d34 100644 --- a/book.json +++ b/book.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-3.0.28.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-3.0.29.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-community-tp2-3.0.28.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-community-tp2-3.0.29.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-tp3-3.0.28.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-tp3-3.0.29.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-tp3-3.0.28.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-tp3-3.0.29.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.28", - "currentVersion": "3.0.28", + "lastGA": "3.0.29", + "currentVersion": "3.0.29", "demoDBVersion_screenshots": "0.76", "javase": "https://docs.oracle.com/javase/8/docs", "javadoc": "https://orientdb.com/javadoc/develop" From 9bc2a28561efd0fe180f6b38933337c923bd94ae Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Tue, 3 Mar 2020 14:29:15 +0100 Subject: [PATCH 08/74] Update book-pdf.json --- book-pdf.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book-pdf.json b/book-pdf.json index 8e34375b..3e45ec60 100644 --- a/book-pdf.json +++ b/book-pdf.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-3.0.28.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-3.0.29.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-community-tp2-3.0.28.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-community-tp2-3.0.29.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-tp3-3.0.28.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-tp3-3.0.29.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.28/orientdb-tp3-3.0.28.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-tp3-3.0.29.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.28", - "currentVersion": "3.0.28", + "lastGA": "3.0.29", + "currentVersion": "3.0.29", "demoDBVersion_screenshots": "0.76" }, "links": { From e9a2bf2d3065beaa4dd09a07fc1bc710d8f19e91 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Tue, 10 Mar 2020 12:57:14 +0100 Subject: [PATCH 09/74] Remove Google Analytics --- book.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/book.json b/book.json index 014e9d34..b16af170 100644 --- a/book.json +++ b/book.json @@ -45,7 +45,6 @@ "footerTemplate": "Copyright (c) OrientDB LTD" }, "plugins": [ - "ga", "anchors", "collapsible-menu", "versions", @@ -55,9 +54,6 @@ "page-toc" ], "pluginsConfig": { - "ga": { - "token": "UA-28543690-2" - }, "addcssjs": { "js": [ "js/custom.js" From 8ac2c1e4e163ad4a5b4dbba2eb004867c4d55fa9 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Tue, 10 Mar 2020 13:03:17 +0100 Subject: [PATCH 10/74] Update book.json --- book.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/book.json b/book.json index b16af170..6e588246 100644 --- a/book.json +++ b/book.json @@ -67,18 +67,6 @@ "type": "branches", "includeFilepath": true, "options": [ - { - "value": "http://orientdb.com/docs/1.7.8/", - "text": "Version 1.7.x" - }, - { - "value": "http://orientdb.com/docs/2.0/", - "text": "Version 2.0.x" - }, - { - "value": "http://orientdb.com/docs/2.1.x", - "text": "Version 2.1.x" - }, { "value": "http://orientdb.com/docs/2.2.x", "text": "Version 2.2.x" From c71f3cbe178a04ac75560f29633c40064337ca2d Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Tue, 10 Mar 2020 17:25:30 +0100 Subject: [PATCH 11/74] Update README.md --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index d9c62938..0369969f 100644 --- a/README.md +++ b/README.md @@ -66,9 +66,6 @@ Check out our [Get in Touch](misc/Get-in-Touch.md) page for different ways of ge ## Past Releases - [v2.2.x](https://orientdb.com/docs/2.2/) -- [v2.1.x](https://orientdb.com/docs/2.1/) -- [v2.0.x](https://orientdb.com/docs/2.0/) -- [v1.7.8](https://orientdb.com/docs/1.7.8/) >Every effort has been made to ensure the accuracy of this manual. However, OrientDB, LTD. makes no warranties with respect to this documentation and disclaims any implied warranties of merchantability and fitness for a particular purpose. The information in this document is subject to change without notice. From 844491d0852f30d77ffde8dd444ca7cc7a4873ac Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Tue, 10 Mar 2020 17:26:37 +0100 Subject: [PATCH 12/74] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0369969f..fa564b8d 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ Check out our [Get in Touch](misc/Get-in-Touch.md) page for different ways of ge ## Past Releases -- [v2.2.x](https://orientdb.com/docs/2.2/) +- [v2.2.x](https://orientdb.com/docs/2.2.x/) >Every effort has been made to ensure the accuracy of this manual. However, OrientDB, LTD. makes no warranties with respect to this documentation and disclaims any implied warranties of merchantability and fitness for a particular purpose. The information in this document is subject to change without notice. From 3b184a40f6929e675c004f15879659b0f6b31d40 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Mon, 16 Mar 2020 17:15:31 +0100 Subject: [PATCH 13/74] Update Distributed-Architecture.md --- distributed/Distributed-Architecture.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/distributed/Distributed-Architecture.md b/distributed/Distributed-Architecture.md index 0cf20045..133de490 100644 --- a/distributed/Distributed-Architecture.md +++ b/distributed/Distributed-Architecture.md @@ -11,12 +11,6 @@ OrientDB uses the [Hazelcast Open Source project](http://www.hazelcast.com) for _NOTE: When you run in distributed mode, OrientDB needs more RAM. The minimum is 2GB of heap, but we suggest to use at least 4GB of heap memory. To change the heap modify the Java memory settings in the file `bin/server.sh` (or server.bat on Windows)._ -## Presentation - -Below you can find a presentation of the OrientDB replication. _NOTE: Starting from v2.2, OrientDB uses internal binary protocol for replication and not Hazelcast queues anymore_. -
- -
## Main topics - [Distributed Architecture Lifecycle](Distributed-Architecture-Lifecycle.md) From 81894efbf30a0ff5a11716d9a84901795716d0ba Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Fri, 20 Mar 2020 09:42:44 +0100 Subject: [PATCH 14/74] Update book.json --- book.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book.json b/book.json index 6e588246..6a662817 100644 --- a/book.json +++ b/book.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-3.0.29.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-3.0.30.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-community-tp2-3.0.29.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-community-tp2-3.0.30.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-tp3-3.0.29.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-tp3-3.0.30.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-tp3-3.0.29.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-tp3-3.0.30.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.29", - "currentVersion": "3.0.29", + "lastGA": "3.0.30", + "currentVersion": "3.0.30", "demoDBVersion_screenshots": "0.76", "javase": "https://docs.oracle.com/javase/8/docs", "javadoc": "https://orientdb.com/javadoc/develop" From 8b7e747cdd196e756748b31ce4300eefaa7e0a96 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Fri, 20 Mar 2020 09:43:24 +0100 Subject: [PATCH 15/74] Update book-pdf.json --- book-pdf.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book-pdf.json b/book-pdf.json index 3e45ec60..57798151 100644 --- a/book-pdf.json +++ b/book-pdf.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-3.0.29.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-3.0.30.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-community-tp2-3.0.29.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-community-tp2-3.0.30.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-tp3-3.0.29.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-tp3-3.0.30.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.29/orientdb-tp3-3.0.29.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-tp3-3.0.30.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.29", - "currentVersion": "3.0.29", + "lastGA": "3.0.30", + "currentVersion": "3.0.30", "demoDBVersion_screenshots": "0.76" }, "links": { From ee8edfbed7eb6009717c7037384b3955967c62fc Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Tue, 14 Apr 2020 10:29:52 +0200 Subject: [PATCH 16/74] Updated tp3 auth in embedded mode --- tinkerpop3/OrientDB-TinkerPop3.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tinkerpop3/OrientDB-TinkerPop3.md b/tinkerpop3/OrientDB-TinkerPop3.md index 14da42ad..1c95dfa7 100644 --- a/tinkerpop3/OrientDB-TinkerPop3.md +++ b/tinkerpop3/OrientDB-TinkerPop3.md @@ -394,6 +394,9 @@ Dowload the latest version of OrientDB-TP3 [here](https://orientdb.com/download- and start OrientDB to automatically start the embedded Gremlin Server. The configuration of the Gremlin Server is in `$ORIENTDB_HOME/config`. +When using the embedded version by default the Authentication manager authenticate the users against OrientDB server user +with permission `gremlin.server`. + ### Install OrientDB-Gremlin Download the latest Gremlin Server distribution [here](https://tinkerpop.apache.org/) From 2852f81c9cc9d982e6bc61f3e5d3531361982577 Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Sat, 2 May 2020 12:46:34 -0600 Subject: [PATCH 17/74] Updated for changes to the LDAP Importer. --- security/Security-Config.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/security/Security-Config.md b/security/Security-Config.md index 80c06a39..c732cea8 100644 --- a/security/Security-Config.md +++ b/security/Security-Config.md @@ -98,7 +98,7 @@ Each authenticator object supports at least three properties: "name", "class", a |Property|Description| |--------|-----------| -|"name"|The "name" property must be unique among the authenticators and can be used by other security components to reference which authenticator is used to authenticate a service. As an example, the OLDAPImporter component may specify an "authenticator" to use and it must correspond to the "name" property.| +|"name"|The "name" property must be unique among the authenticators and can be used by other security components to reference which authenticator is used to authenticate a service.| |"class"|The "class" property defines which authenticator component is instantiated for the security authenticator. The available authenticators are: ODefaultPasswordAuthenticator, OKerberosAuthenticator, OServerConfigAuthenticator, and OSystemUserAuthenticator. All are described below.| |"enabled"|When set to true, the authenticator is used as part of the chain of authenticators. If set to false, the authenticator is ignored.| @@ -307,12 +307,12 @@ OrientDB provides a default OLDAPImporter component, and its properties are defi Each database object contains three properties: "database", "ignoreLocal", and "domains". The "database" property is just the name of the OrientDB database. The "ignoreLocal" property is an optional boolean property that defaults to true. When true it indicates that existing users in the specified database will not be deleted if they are not present in the imported LDAP users list. The "domains" property is described below. ##### "domains" -The "domains" property contains an array of objects, each with "domain", "servers", and "users" properties, and an optional "authenticator" property. +The "domains" property contains an array of objects, each with "domain", "servers", and "users" properties, and an optional "authentication" property. |Property|Description| |--------|-----------| |"domain"|This property must be unique for each database object and is primarily used with the *_OLDAPUser* class within each OrientDB database.| -|"authenticator"|The "authenticator" property specifies which of the authenticators should be used to communicate with the LDAP server. If none is specified, then the primary authenticator is used.| +|"authentication"|The "authentication" property specifies which authentication mechanism should be used to communicate with the LDAP server. Two options are currently supported: "GSSAPI" and "Simple". If none is specified, then "GSSAPI" (Kerberos) is used.| |"servers"|This property is an array of server objects, each specifying the URL of the LDAP server. It is described below.| |"users"|This property is an array of user objects, each specifying the baseDN, filter, and roles to use for importing. It is described below.| @@ -321,6 +321,8 @@ The "domains" property contains an array of objects, each with "domain", "server |--------|-----------| |"url"|This property specifies the LDAP server's URL. (ldaps is supported.)| |"isAlias"|This is a boolean property. When true, the hostname specified in the URL is treated as an alias, and the real address is queried followed by a reverse DNS lookup. This is useful for a hostname that is an alias for multiple LDAP servers. The "isAlias" property defaults to false and is not a mandatory property.| +|"principal"|When "authentication" is set to "Simple", this specifies the principal (user) value to use.| +|"credentials"|When "authentication" is set to "Simple", this specifies the credentials (password) value to use.| ###### "users" LDAP users are imported based on a starting location within the directory and filtered using a standard LDAP filter rule. @@ -352,7 +354,7 @@ Here's an example of the "ldapImporter" property: [ { "domain" : "ad.domain.com", - "authenticator" : "Kerberos", + "authentication" : "GSSAPI", "servers" : [ From ce3ad9b5777115223df7f171fc43f53360a4ecf8 Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Sun, 3 May 2020 10:50:44 -0600 Subject: [PATCH 18/74] Added a new security guide and DPP document. --- security/OrientDB Security Guide.md | 113 ++++++++++++++++++++++++ security/SAP Enterprise OrientDB DPP.md | 106 ++++++++++++++++++++++ 2 files changed, 219 insertions(+) create mode 100644 security/OrientDB Security Guide.md create mode 100644 security/SAP Enterprise OrientDB DPP.md diff --git a/security/OrientDB Security Guide.md b/security/OrientDB Security Guide.md new file mode 100644 index 00000000..92ad03e3 --- /dev/null +++ b/security/OrientDB Security Guide.md @@ -0,0 +1,113 @@ +# OrientDB Security Guide # + +The *OrientDB Security Guide* has three sections on security-related topics when running an instance of OrientDB: + +- Security Recommendations Checklist +- Data Protection and Privacy +- OrientDB Security Documentation + +## Security Recommendations Checklist ## + +The following is a list of recommended suggestions for improving the security of a default OrientDB installation: + +- Disable Default Users +- Review Port Settings +- Enable TLS Encryption +- Enable Database Encryption +- Configure The JavaScript Sandbox +- Avoid Exposing The OrientDB Server To A Public Network +- Enable Auditing (Enterprise Only) + +### Default Users and Roles ### +By default, when a new database is created, three default roles and their respective users are created. + +The roles are *admin*, *reader*, and writer. Three users are also created corresponding to each role: *admin*, *reader*, and *writer*. + +A default password is also created for each user. The password is the same as the user's name (e.g., the *admin* user's password is set to *admin*). + +**SECURITY RECOMMENDATION**: Disable creation of default users. + +To disable the creation of defaults roles and users when a database is created edit the *security.json* file in the *config* directory. Set the *createDefaultUsers* property to false. + +``` + "server": { + "createDefaultUsers": false + }, +``` + +### Ports ### +The default configuration for an OrientDB server utilizes multiple communication ports: +- 2424 is the default binary protocol port used by binary protocol drivers. +- 2434 is the default Hazelcast discovery and multicast port (if distributed is enabled). +- 2480 is the default REST API endpoint port and also used by OrientDB Studio. +- 8182 is the default Gremlin Server port (if installed and enabled). + +By default, none of the communications on these ports uses encryption. + +**SECURITY RECOMMENDATION**: Enable TLS encryption for each protocol. + +### TLS Encryption ### +OrientDB supports TLS 1.2 in-transit encryption. However, this is not enabled in the default installation. + +See [TLS Encryption](Using-SSL-with-OrientDB.md). + + +**SECURITY RECOMMENDATION**: Enable TLS encryption for each protocol. + +### Database Encryption ### +OrientDB supports at-rest AES and DES database encryption. A global encryption key can be set for all databases or a separate encryption can be set on each database. + +See [Database Encryption](Database-Encryption.md). + +By default, OrientDB databases are not encrypted. + +**SECURITY RECOMMENDATION**: Enable at-rest encryption for each database. + +### JavaScript Sandbox ### +The OrientDB JavaScript engine runs in a sandbox. By default, no packages are allowed to be accessed. + +To allow specific Java packages edit the *OServerSideScriptInterpreter* handler in the *orientdb-server-config.xml* file under the *config* directory. + +The parameter to edit is "allowedPackages". Its value is a comma-separated list of packages. + +``` + + + + + + + + +``` + +**SECURITY RECOMMENDATION**: Be careful which packages are allowed, as granting access to certain packages could compromise the system security. + +### OrientDB Web Server ### + +It is not recommended to expose the OrientDB Web Server directly on the Internet or public networks. + +For more information on this and JSONP, cross-site requests, and clickjacking, see: [OrientDB Web Server Security](Web-Server.md). + +**SECURITY RECOMMENDATION**: Do not expose the OrientDB Web Server on the Internet or public networks. + +### Enable Auditing (Enterprise Only) ### +If you are using the Enterprise version of OrientDB, it is recommended to enable the auditing feature. + +For more information: [OrientDB Auditing](Auditing.md) + +**SECURITY RECOMMENDATION**: Enable the auditing capability. + +## Data Protection and Privacy ## +See [SAP Enterprise OrientDB Data Protection and Privacy Approach for Products](SAP-Enterprise-OrientDB-DPP.md). + + +## OrientDB Security Documentation ## +More comprehensive information about OrientDB security can be found here: + +- [New Security Features](Security-OrientDB-New-Security-Features.md) +- [Database security](Database-Security.md) +- [Server security](Server-Security.md) +- [Database Encryption](Database-Encryption.md) +- [Secure SSL connections](Using-SSL-with-OrientDB.md) +- [OrientDB Web Server](Web-Server.md) diff --git a/security/SAP Enterprise OrientDB DPP.md b/security/SAP Enterprise OrientDB DPP.md new file mode 100644 index 00000000..7f54b610 --- /dev/null +++ b/security/SAP Enterprise OrientDB DPP.md @@ -0,0 +1,106 @@ +# SAP Enterprise OrientDB Data Protection and Privacy Approach for Products # +The purpose of this document is to describe the approach and capabilities provided by SAP Enterprise OrientDB which can be used by applications and customers to comply with data protection regulations like the EU General Data Protection Regulation (GDPR). + +The document also does not provide how-tos, guidelines, or rules on how to be compliant to data protection and privacy regulations. This needs to be done by the customer based on their own data protection and privacy requirements and applicable regulations. + +Data protection and privacy regulations are applicable to the storage and processing and transfer of data regarded as personal data or even sensitive personal data. Data protection in general is applicable to all types of personal data. + +However, some of the details on how data protection requirements are applied in practice can differ, depending on the type of data. In the context of SAP Enterprise OrientDB we distinguish between two types of data: + +- **Application Data** i.e. data that comes from applications to be stored, processed, and managed by the data-structures (e.g., database classes) and features provided by SAP Enterprise OrientDB. The semantics, content (social security number, product ID, health data) and relation (e.g., which class makes up a business object like customer) of this data or what regulations need to apply (e.g., retention periods) are under the control of the application. SAP Enterprise OrientDB itself is agnostic to the semantics and only sees the technical representation of the data in SAP Enterprise OrientDB technical objects (e.g. classes). Therefore, the application is responsible to ensure that the data is processed in compliance with data protection regulations and the requirements defined by SAP product standards. SAP Enterprise OrientDB enables the applications to comply by providing appropriate capability and features. The details on what SAP Enterprise OrientDB offers for the specific requirements are described later in this document. +- **Operational Data** is the data which is collected with the purpose to ensure correct operation, maintenance, and functioning of the system. Depending on the type of data it may contain personal related data. Operational data in SAP Enterprise OrientDB is stored in different places: + - Audit Log + - Log Files + - System Classes + - Backup Files + + This data is collected for the direct purpose of running and maintaining the operation of the SAP Enterprise OrientDB system. + + +# GDPR principles, SAP requirements, SAP Enterprise OrientDB Implementation # +Based on the data protection regulations SAP created a set of requirements including five corporate requirements. Some of these requirements were primarily defined for business applications. For SAP Enterprise OrientDB as a database platform we had to find our own interpretation of these requirements. + +Processing of Personal Data – Legal Ground +One of the key principles of DPP is that there needs to be an explicit legal ground to process personal data. + +Providing the legal ground is not a technical topic but a process and legal topic that needs to be addressed independently from the technology. Therefore, those requirements do not translate into technical product requirements. + + +|---|---|---| +|Consent|Where processing is based on the data subject's consent, the controller should be able to demonstrate that the data subject has given consent to the processing operation. (GDPR rec. 42, sentence 1.)|Not Applicable| +|Contract|Processing should be lawful where it is necessary in the context of a contract or the intention to enter into a contract. (GDPR rec. 44)|Not Applicable| +|Legal Obligation|Business software based examples: tax reporting, income tax reporting, reporting for social insurance|Not Applicable| +|Protect Vital Interest|The processing of personal data should also be regarded to be lawful where it is necessary to protect an interest which is essential for the life of the data subject or that of another natural person. (GDPR rec. 46 sentence 1)|Not Applicable| +|Public Interest|Where processing is … necessary for the performance of a task carried out in the public interest or in the exercise of official authority, the processing should have a basis in Union or Member State law. (GDPR rec. 45 sentence 1)|Not Applicable| +|Legitimate Interest|Proofing a legitimate interest is subject to a careful legal consideration whether “fundamental rights and freedoms of the data subject” are not overriding such an interest. (GDPR rec. 47)|Not Applicable| + +## Complements of the General Right - Rights of the Data Subject ## +Data protection regulations define very specific rights to the data subject. Anyone wanting to process data on one of the legal grounds defined above needs to ensure those rights. That means SAP software has to enable customers to run their applications according to those regulations. + +Not all requirements can be translated into technical requirements or by technical means alone. However, some of those requirements need to be technically supported by SAP software and those are translated into explicit requirements in the SAP security product standard. The following table lists those requirements and the following sections define the way SAP Enterprise OrientDB deals with those requirements. + +|Requirement|Content| +|---|---| +|Notification|The ability to inform the data subject if the data is used for a different purpose.| +|Information|The data subject’s right to get information on the data undergoing processing concerning them.| +|Correction|Personal data has to be true and to be corrected (latest after request).| +|Erasure|The ability to delete personal data when all retention periods have passed.

The ability to block personal data as soon as the primary purpose has passed and the residence time has elapsed.| +|Data Portability|The right of the data subject to receive his personal data in a structured, commonly used, and machine-readable format.| +|Automated Decisions|The data subject has the right that any automated decision can become subject to manual interference.| + +### SEC-255: Provide a retrieval function which can be used to inform the data subjects about the personal data stored about them ### +The requirement specifically applies to applications. Personal application data stored inside SAP Enterprise OrientDB classes (user information) can be displayed by using OrientDB SQL queries. Since only applications have the knowledge as to which classes contain personal data, they are responsible for implementing report and display functions using such standard capabilities provided by SAP Enterprise OrientDB. + +The requirement does not apply to operational data. Backups, logs, and trace files at this time are not explicitly listed in the EU GDPR and have an agreed exception in the German Data Protection Regulation. + +### SEC-256: Erase personal data when all applicable retention periods have expired ### +SAP Enterprise OrientDB supports the deletion (erasure) of application data in classes using SQL deletion commands or API commands. After the data has been deleted, this operation cannot be undone. Applications must make use of these commands to implement deletion requirements. + +Retention periods, deletion of data without affecting application functionality (e.g. referential integrity) are dependent on the business context, application architecture, etc., and need to be managed by the application. The application needs to implement these rules using the SQL deletion commands or equivalent OrientDB APIs. + +Applications can implement blocking of data using SAP Enterprise OrientDB methods like record-based security and masking or separating the data using OrientDB SQL Predicate Security. + +Operational data: Deletion of specific records (e.g. all records of a specific person) does not apply to operational data. However, still this data is also subject to deletion/retention requirements. Those timelines usually apply to the complete data set (e.g. all logs older than x days need to be deleted). + +Backup: Following standard practice, deletion of individual personal data is not enforced in backups. Common practice is that deleted data will disappear from backups following typical backup-rotation mechanisms. Explicitly deleting personal data from backups is therefore outside the scope of SAP Enterprise OrientDB’s data protection approach and would need to be managed by the customer dependent on their backup and DPP requirements. + +Physical deletion: After data is deleted using, for example the SQL DELETE statement, the respective storage area is marked as free but is not immediately overwritten. The associated storage area will only be overwritten once new data is stored in the respective cluster. As SAP Enterprise OrientDB writes the page as a whole to the record cluster, the deleted, but not overwritten memory areas are also stored to disk in binary format. It is therefore feasible that fragments of the deleted data could under certain circumstances or for a certain period of time be reconstructed. Prerequisite is direct access to the database files in the file system as well as access to the encryption key in case the encryption-at-rest feature of SAP Enterprise OrientDB is used. + +An analysis has shown that other DB vendors face the same problem and that there are no solutions on the market to address the complete deletion of those remaining data-fragments (in literature referred to as “slack”). Completely deleting those remains is very difficult and dependent on other factors like the storage technology used. Initial recommendation is therefore to reduce such slack. SAP Enterprise OrientDB already has a method to reduce slack by making completely unused old pages unreadable when the encryption feature is used. + +Further extending physical deletion capabilities would depend on customer demand. + +### SEC-254 - SAP software shall log read access to sensitive personal data ### +Applications may store sensitive personal data in SAP Enterprise OrientDB. SAP Enterprise OrientDB provides an audit log that can track which user has accessed data records in SAP Enterprise OrientDB. + +With this mechanism, audit polices can be defined to log access to classes containing sensitive personal data. + +It is recommended for applications built on top of SAP Enterprise OrientDB to document clearly where sensitive information is stored so that customers, if required on SAP Enterprise OrientDB level, can define respective policies. + +This does not apply to operational data. + +### SEC-265 - SAP software shall log changes to personal data ### +Changes to the personal data stored in application data in SAP Enterprise OrientDB can be logged using SAP Enterprise OrientDB’s audit logging functionality. + +SAP Enterprise OrientDB provides the infrastructure to define customer-specific audit log policies which log change access to defined objects in the database (issued UPDATE, DELETE, … statements). + +Audit policies can be defined by the customer (administrator). Applications built on top of SAP Enterprise OrientDB should provide guidelines for customers on how to set-up appropriate log policies, for example by providing information on which classes contain relevant information. + +### General Log Requirements (valid for SEC-265, SEC-254) ### +SAP Enterprise OrientDB provides a common policy-based logging infrastructure that can be used by all applications running on SAP Enterprise OrientDB to log actions on data access as well as administrative or security related events in SAP Enterprise OrientDB. As a target for storing the log trail, SAP Enterprise OrientDB currently supports writing the information to the syslog infrastructure of the underlying operating system or a special log class within the System database (appropriately protected by authorization). + +Syslog integration allows customers to: + +- Implement physical segregation of duty by sending the log data to their existing log infrastructure, which means that the log data cannot be changed by database administrators +- Use their established log infrastructure and tools including the compliance rules already implemented in this infrastructure +- Use their own established tools for analyzing the log entries + +This approach is very well received by customers and meets their expectations on log handling. + +Logging into tables allows customers to: +- Store data within the database itself in specially protected classes +- Use standard SQL tooling for log analysis + +The log table is a specially protected system table. + +Log viewing, deletion, and retention have to be managed by the customer and cannot be provided by SAP Enterprise OrientDB. From 8c2b586e89154c3e1fb5def025a828dce6f50733 Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Sun, 3 May 2020 10:52:45 -0600 Subject: [PATCH 19/74] Renamed. --- security/SAP Enterprise OrientDB DPP.md | 106 ------------------------ 1 file changed, 106 deletions(-) delete mode 100644 security/SAP Enterprise OrientDB DPP.md diff --git a/security/SAP Enterprise OrientDB DPP.md b/security/SAP Enterprise OrientDB DPP.md deleted file mode 100644 index 7f54b610..00000000 --- a/security/SAP Enterprise OrientDB DPP.md +++ /dev/null @@ -1,106 +0,0 @@ -# SAP Enterprise OrientDB Data Protection and Privacy Approach for Products # -The purpose of this document is to describe the approach and capabilities provided by SAP Enterprise OrientDB which can be used by applications and customers to comply with data protection regulations like the EU General Data Protection Regulation (GDPR). - -The document also does not provide how-tos, guidelines, or rules on how to be compliant to data protection and privacy regulations. This needs to be done by the customer based on their own data protection and privacy requirements and applicable regulations. - -Data protection and privacy regulations are applicable to the storage and processing and transfer of data regarded as personal data or even sensitive personal data. Data protection in general is applicable to all types of personal data. - -However, some of the details on how data protection requirements are applied in practice can differ, depending on the type of data. In the context of SAP Enterprise OrientDB we distinguish between two types of data: - -- **Application Data** i.e. data that comes from applications to be stored, processed, and managed by the data-structures (e.g., database classes) and features provided by SAP Enterprise OrientDB. The semantics, content (social security number, product ID, health data) and relation (e.g., which class makes up a business object like customer) of this data or what regulations need to apply (e.g., retention periods) are under the control of the application. SAP Enterprise OrientDB itself is agnostic to the semantics and only sees the technical representation of the data in SAP Enterprise OrientDB technical objects (e.g. classes). Therefore, the application is responsible to ensure that the data is processed in compliance with data protection regulations and the requirements defined by SAP product standards. SAP Enterprise OrientDB enables the applications to comply by providing appropriate capability and features. The details on what SAP Enterprise OrientDB offers for the specific requirements are described later in this document. -- **Operational Data** is the data which is collected with the purpose to ensure correct operation, maintenance, and functioning of the system. Depending on the type of data it may contain personal related data. Operational data in SAP Enterprise OrientDB is stored in different places: - - Audit Log - - Log Files - - System Classes - - Backup Files - - This data is collected for the direct purpose of running and maintaining the operation of the SAP Enterprise OrientDB system. - - -# GDPR principles, SAP requirements, SAP Enterprise OrientDB Implementation # -Based on the data protection regulations SAP created a set of requirements including five corporate requirements. Some of these requirements were primarily defined for business applications. For SAP Enterprise OrientDB as a database platform we had to find our own interpretation of these requirements. - -Processing of Personal Data – Legal Ground -One of the key principles of DPP is that there needs to be an explicit legal ground to process personal data. - -Providing the legal ground is not a technical topic but a process and legal topic that needs to be addressed independently from the technology. Therefore, those requirements do not translate into technical product requirements. - - -|---|---|---| -|Consent|Where processing is based on the data subject's consent, the controller should be able to demonstrate that the data subject has given consent to the processing operation. (GDPR rec. 42, sentence 1.)|Not Applicable| -|Contract|Processing should be lawful where it is necessary in the context of a contract or the intention to enter into a contract. (GDPR rec. 44)|Not Applicable| -|Legal Obligation|Business software based examples: tax reporting, income tax reporting, reporting for social insurance|Not Applicable| -|Protect Vital Interest|The processing of personal data should also be regarded to be lawful where it is necessary to protect an interest which is essential for the life of the data subject or that of another natural person. (GDPR rec. 46 sentence 1)|Not Applicable| -|Public Interest|Where processing is … necessary for the performance of a task carried out in the public interest or in the exercise of official authority, the processing should have a basis in Union or Member State law. (GDPR rec. 45 sentence 1)|Not Applicable| -|Legitimate Interest|Proofing a legitimate interest is subject to a careful legal consideration whether “fundamental rights and freedoms of the data subject” are not overriding such an interest. (GDPR rec. 47)|Not Applicable| - -## Complements of the General Right - Rights of the Data Subject ## -Data protection regulations define very specific rights to the data subject. Anyone wanting to process data on one of the legal grounds defined above needs to ensure those rights. That means SAP software has to enable customers to run their applications according to those regulations. - -Not all requirements can be translated into technical requirements or by technical means alone. However, some of those requirements need to be technically supported by SAP software and those are translated into explicit requirements in the SAP security product standard. The following table lists those requirements and the following sections define the way SAP Enterprise OrientDB deals with those requirements. - -|Requirement|Content| -|---|---| -|Notification|The ability to inform the data subject if the data is used for a different purpose.| -|Information|The data subject’s right to get information on the data undergoing processing concerning them.| -|Correction|Personal data has to be true and to be corrected (latest after request).| -|Erasure|The ability to delete personal data when all retention periods have passed.

The ability to block personal data as soon as the primary purpose has passed and the residence time has elapsed.| -|Data Portability|The right of the data subject to receive his personal data in a structured, commonly used, and machine-readable format.| -|Automated Decisions|The data subject has the right that any automated decision can become subject to manual interference.| - -### SEC-255: Provide a retrieval function which can be used to inform the data subjects about the personal data stored about them ### -The requirement specifically applies to applications. Personal application data stored inside SAP Enterprise OrientDB classes (user information) can be displayed by using OrientDB SQL queries. Since only applications have the knowledge as to which classes contain personal data, they are responsible for implementing report and display functions using such standard capabilities provided by SAP Enterprise OrientDB. - -The requirement does not apply to operational data. Backups, logs, and trace files at this time are not explicitly listed in the EU GDPR and have an agreed exception in the German Data Protection Regulation. - -### SEC-256: Erase personal data when all applicable retention periods have expired ### -SAP Enterprise OrientDB supports the deletion (erasure) of application data in classes using SQL deletion commands or API commands. After the data has been deleted, this operation cannot be undone. Applications must make use of these commands to implement deletion requirements. - -Retention periods, deletion of data without affecting application functionality (e.g. referential integrity) are dependent on the business context, application architecture, etc., and need to be managed by the application. The application needs to implement these rules using the SQL deletion commands or equivalent OrientDB APIs. - -Applications can implement blocking of data using SAP Enterprise OrientDB methods like record-based security and masking or separating the data using OrientDB SQL Predicate Security. - -Operational data: Deletion of specific records (e.g. all records of a specific person) does not apply to operational data. However, still this data is also subject to deletion/retention requirements. Those timelines usually apply to the complete data set (e.g. all logs older than x days need to be deleted). - -Backup: Following standard practice, deletion of individual personal data is not enforced in backups. Common practice is that deleted data will disappear from backups following typical backup-rotation mechanisms. Explicitly deleting personal data from backups is therefore outside the scope of SAP Enterprise OrientDB’s data protection approach and would need to be managed by the customer dependent on their backup and DPP requirements. - -Physical deletion: After data is deleted using, for example the SQL DELETE statement, the respective storage area is marked as free but is not immediately overwritten. The associated storage area will only be overwritten once new data is stored in the respective cluster. As SAP Enterprise OrientDB writes the page as a whole to the record cluster, the deleted, but not overwritten memory areas are also stored to disk in binary format. It is therefore feasible that fragments of the deleted data could under certain circumstances or for a certain period of time be reconstructed. Prerequisite is direct access to the database files in the file system as well as access to the encryption key in case the encryption-at-rest feature of SAP Enterprise OrientDB is used. - -An analysis has shown that other DB vendors face the same problem and that there are no solutions on the market to address the complete deletion of those remaining data-fragments (in literature referred to as “slack”). Completely deleting those remains is very difficult and dependent on other factors like the storage technology used. Initial recommendation is therefore to reduce such slack. SAP Enterprise OrientDB already has a method to reduce slack by making completely unused old pages unreadable when the encryption feature is used. - -Further extending physical deletion capabilities would depend on customer demand. - -### SEC-254 - SAP software shall log read access to sensitive personal data ### -Applications may store sensitive personal data in SAP Enterprise OrientDB. SAP Enterprise OrientDB provides an audit log that can track which user has accessed data records in SAP Enterprise OrientDB. - -With this mechanism, audit polices can be defined to log access to classes containing sensitive personal data. - -It is recommended for applications built on top of SAP Enterprise OrientDB to document clearly where sensitive information is stored so that customers, if required on SAP Enterprise OrientDB level, can define respective policies. - -This does not apply to operational data. - -### SEC-265 - SAP software shall log changes to personal data ### -Changes to the personal data stored in application data in SAP Enterprise OrientDB can be logged using SAP Enterprise OrientDB’s audit logging functionality. - -SAP Enterprise OrientDB provides the infrastructure to define customer-specific audit log policies which log change access to defined objects in the database (issued UPDATE, DELETE, … statements). - -Audit policies can be defined by the customer (administrator). Applications built on top of SAP Enterprise OrientDB should provide guidelines for customers on how to set-up appropriate log policies, for example by providing information on which classes contain relevant information. - -### General Log Requirements (valid for SEC-265, SEC-254) ### -SAP Enterprise OrientDB provides a common policy-based logging infrastructure that can be used by all applications running on SAP Enterprise OrientDB to log actions on data access as well as administrative or security related events in SAP Enterprise OrientDB. As a target for storing the log trail, SAP Enterprise OrientDB currently supports writing the information to the syslog infrastructure of the underlying operating system or a special log class within the System database (appropriately protected by authorization). - -Syslog integration allows customers to: - -- Implement physical segregation of duty by sending the log data to their existing log infrastructure, which means that the log data cannot be changed by database administrators -- Use their established log infrastructure and tools including the compliance rules already implemented in this infrastructure -- Use their own established tools for analyzing the log entries - -This approach is very well received by customers and meets their expectations on log handling. - -Logging into tables allows customers to: -- Store data within the database itself in specially protected classes -- Use standard SQL tooling for log analysis - -The log table is a specially protected system table. - -Log viewing, deletion, and retention have to be managed by the customer and cannot be provided by SAP Enterprise OrientDB. From 953c123997100ac06ccf2ea5d8bd5a5773ee5c1c Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Sun, 3 May 2020 10:53:46 -0600 Subject: [PATCH 20/74] Renamed. --- security/OrientDB Security Guide.md | 113 ---------------------------- 1 file changed, 113 deletions(-) delete mode 100644 security/OrientDB Security Guide.md diff --git a/security/OrientDB Security Guide.md b/security/OrientDB Security Guide.md deleted file mode 100644 index 92ad03e3..00000000 --- a/security/OrientDB Security Guide.md +++ /dev/null @@ -1,113 +0,0 @@ -# OrientDB Security Guide # - -The *OrientDB Security Guide* has three sections on security-related topics when running an instance of OrientDB: - -- Security Recommendations Checklist -- Data Protection and Privacy -- OrientDB Security Documentation - -## Security Recommendations Checklist ## - -The following is a list of recommended suggestions for improving the security of a default OrientDB installation: - -- Disable Default Users -- Review Port Settings -- Enable TLS Encryption -- Enable Database Encryption -- Configure The JavaScript Sandbox -- Avoid Exposing The OrientDB Server To A Public Network -- Enable Auditing (Enterprise Only) - -### Default Users and Roles ### -By default, when a new database is created, three default roles and their respective users are created. - -The roles are *admin*, *reader*, and writer. Three users are also created corresponding to each role: *admin*, *reader*, and *writer*. - -A default password is also created for each user. The password is the same as the user's name (e.g., the *admin* user's password is set to *admin*). - -**SECURITY RECOMMENDATION**: Disable creation of default users. - -To disable the creation of defaults roles and users when a database is created edit the *security.json* file in the *config* directory. Set the *createDefaultUsers* property to false. - -``` - "server": { - "createDefaultUsers": false - }, -``` - -### Ports ### -The default configuration for an OrientDB server utilizes multiple communication ports: -- 2424 is the default binary protocol port used by binary protocol drivers. -- 2434 is the default Hazelcast discovery and multicast port (if distributed is enabled). -- 2480 is the default REST API endpoint port and also used by OrientDB Studio. -- 8182 is the default Gremlin Server port (if installed and enabled). - -By default, none of the communications on these ports uses encryption. - -**SECURITY RECOMMENDATION**: Enable TLS encryption for each protocol. - -### TLS Encryption ### -OrientDB supports TLS 1.2 in-transit encryption. However, this is not enabled in the default installation. - -See [TLS Encryption](Using-SSL-with-OrientDB.md). - - -**SECURITY RECOMMENDATION**: Enable TLS encryption for each protocol. - -### Database Encryption ### -OrientDB supports at-rest AES and DES database encryption. A global encryption key can be set for all databases or a separate encryption can be set on each database. - -See [Database Encryption](Database-Encryption.md). - -By default, OrientDB databases are not encrypted. - -**SECURITY RECOMMENDATION**: Enable at-rest encryption for each database. - -### JavaScript Sandbox ### -The OrientDB JavaScript engine runs in a sandbox. By default, no packages are allowed to be accessed. - -To allow specific Java packages edit the *OServerSideScriptInterpreter* handler in the *orientdb-server-config.xml* file under the *config* directory. - -The parameter to edit is "allowedPackages". Its value is a comma-separated list of packages. - -``` - - - - - - - - -``` - -**SECURITY RECOMMENDATION**: Be careful which packages are allowed, as granting access to certain packages could compromise the system security. - -### OrientDB Web Server ### - -It is not recommended to expose the OrientDB Web Server directly on the Internet or public networks. - -For more information on this and JSONP, cross-site requests, and clickjacking, see: [OrientDB Web Server Security](Web-Server.md). - -**SECURITY RECOMMENDATION**: Do not expose the OrientDB Web Server on the Internet or public networks. - -### Enable Auditing (Enterprise Only) ### -If you are using the Enterprise version of OrientDB, it is recommended to enable the auditing feature. - -For more information: [OrientDB Auditing](Auditing.md) - -**SECURITY RECOMMENDATION**: Enable the auditing capability. - -## Data Protection and Privacy ## -See [SAP Enterprise OrientDB Data Protection and Privacy Approach for Products](SAP-Enterprise-OrientDB-DPP.md). - - -## OrientDB Security Documentation ## -More comprehensive information about OrientDB security can be found here: - -- [New Security Features](Security-OrientDB-New-Security-Features.md) -- [Database security](Database-Security.md) -- [Server security](Server-Security.md) -- [Database Encryption](Database-Encryption.md) -- [Secure SSL connections](Using-SSL-with-OrientDB.md) -- [OrientDB Web Server](Web-Server.md) From 53ff600d05ce8ea3804fa90547a83a0baece4042 Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Sun, 3 May 2020 10:54:18 -0600 Subject: [PATCH 21/74] Added a new security guide and DPP document. --- security/OrientDB-Security-Guide.md | 113 ++++++++++++++++++++++++ security/SAP-Enterprise-OrientDB-DPP.md | 106 ++++++++++++++++++++++ 2 files changed, 219 insertions(+) create mode 100644 security/OrientDB-Security-Guide.md create mode 100644 security/SAP-Enterprise-OrientDB-DPP.md diff --git a/security/OrientDB-Security-Guide.md b/security/OrientDB-Security-Guide.md new file mode 100644 index 00000000..92ad03e3 --- /dev/null +++ b/security/OrientDB-Security-Guide.md @@ -0,0 +1,113 @@ +# OrientDB Security Guide # + +The *OrientDB Security Guide* has three sections on security-related topics when running an instance of OrientDB: + +- Security Recommendations Checklist +- Data Protection and Privacy +- OrientDB Security Documentation + +## Security Recommendations Checklist ## + +The following is a list of recommended suggestions for improving the security of a default OrientDB installation: + +- Disable Default Users +- Review Port Settings +- Enable TLS Encryption +- Enable Database Encryption +- Configure The JavaScript Sandbox +- Avoid Exposing The OrientDB Server To A Public Network +- Enable Auditing (Enterprise Only) + +### Default Users and Roles ### +By default, when a new database is created, three default roles and their respective users are created. + +The roles are *admin*, *reader*, and writer. Three users are also created corresponding to each role: *admin*, *reader*, and *writer*. + +A default password is also created for each user. The password is the same as the user's name (e.g., the *admin* user's password is set to *admin*). + +**SECURITY RECOMMENDATION**: Disable creation of default users. + +To disable the creation of defaults roles and users when a database is created edit the *security.json* file in the *config* directory. Set the *createDefaultUsers* property to false. + +``` + "server": { + "createDefaultUsers": false + }, +``` + +### Ports ### +The default configuration for an OrientDB server utilizes multiple communication ports: +- 2424 is the default binary protocol port used by binary protocol drivers. +- 2434 is the default Hazelcast discovery and multicast port (if distributed is enabled). +- 2480 is the default REST API endpoint port and also used by OrientDB Studio. +- 8182 is the default Gremlin Server port (if installed and enabled). + +By default, none of the communications on these ports uses encryption. + +**SECURITY RECOMMENDATION**: Enable TLS encryption for each protocol. + +### TLS Encryption ### +OrientDB supports TLS 1.2 in-transit encryption. However, this is not enabled in the default installation. + +See [TLS Encryption](Using-SSL-with-OrientDB.md). + + +**SECURITY RECOMMENDATION**: Enable TLS encryption for each protocol. + +### Database Encryption ### +OrientDB supports at-rest AES and DES database encryption. A global encryption key can be set for all databases or a separate encryption can be set on each database. + +See [Database Encryption](Database-Encryption.md). + +By default, OrientDB databases are not encrypted. + +**SECURITY RECOMMENDATION**: Enable at-rest encryption for each database. + +### JavaScript Sandbox ### +The OrientDB JavaScript engine runs in a sandbox. By default, no packages are allowed to be accessed. + +To allow specific Java packages edit the *OServerSideScriptInterpreter* handler in the *orientdb-server-config.xml* file under the *config* directory. + +The parameter to edit is "allowedPackages". Its value is a comma-separated list of packages. + +``` + + + + + + + + +``` + +**SECURITY RECOMMENDATION**: Be careful which packages are allowed, as granting access to certain packages could compromise the system security. + +### OrientDB Web Server ### + +It is not recommended to expose the OrientDB Web Server directly on the Internet or public networks. + +For more information on this and JSONP, cross-site requests, and clickjacking, see: [OrientDB Web Server Security](Web-Server.md). + +**SECURITY RECOMMENDATION**: Do not expose the OrientDB Web Server on the Internet or public networks. + +### Enable Auditing (Enterprise Only) ### +If you are using the Enterprise version of OrientDB, it is recommended to enable the auditing feature. + +For more information: [OrientDB Auditing](Auditing.md) + +**SECURITY RECOMMENDATION**: Enable the auditing capability. + +## Data Protection and Privacy ## +See [SAP Enterprise OrientDB Data Protection and Privacy Approach for Products](SAP-Enterprise-OrientDB-DPP.md). + + +## OrientDB Security Documentation ## +More comprehensive information about OrientDB security can be found here: + +- [New Security Features](Security-OrientDB-New-Security-Features.md) +- [Database security](Database-Security.md) +- [Server security](Server-Security.md) +- [Database Encryption](Database-Encryption.md) +- [Secure SSL connections](Using-SSL-with-OrientDB.md) +- [OrientDB Web Server](Web-Server.md) diff --git a/security/SAP-Enterprise-OrientDB-DPP.md b/security/SAP-Enterprise-OrientDB-DPP.md new file mode 100644 index 00000000..7f54b610 --- /dev/null +++ b/security/SAP-Enterprise-OrientDB-DPP.md @@ -0,0 +1,106 @@ +# SAP Enterprise OrientDB Data Protection and Privacy Approach for Products # +The purpose of this document is to describe the approach and capabilities provided by SAP Enterprise OrientDB which can be used by applications and customers to comply with data protection regulations like the EU General Data Protection Regulation (GDPR). + +The document also does not provide how-tos, guidelines, or rules on how to be compliant to data protection and privacy regulations. This needs to be done by the customer based on their own data protection and privacy requirements and applicable regulations. + +Data protection and privacy regulations are applicable to the storage and processing and transfer of data regarded as personal data or even sensitive personal data. Data protection in general is applicable to all types of personal data. + +However, some of the details on how data protection requirements are applied in practice can differ, depending on the type of data. In the context of SAP Enterprise OrientDB we distinguish between two types of data: + +- **Application Data** i.e. data that comes from applications to be stored, processed, and managed by the data-structures (e.g., database classes) and features provided by SAP Enterprise OrientDB. The semantics, content (social security number, product ID, health data) and relation (e.g., which class makes up a business object like customer) of this data or what regulations need to apply (e.g., retention periods) are under the control of the application. SAP Enterprise OrientDB itself is agnostic to the semantics and only sees the technical representation of the data in SAP Enterprise OrientDB technical objects (e.g. classes). Therefore, the application is responsible to ensure that the data is processed in compliance with data protection regulations and the requirements defined by SAP product standards. SAP Enterprise OrientDB enables the applications to comply by providing appropriate capability and features. The details on what SAP Enterprise OrientDB offers for the specific requirements are described later in this document. +- **Operational Data** is the data which is collected with the purpose to ensure correct operation, maintenance, and functioning of the system. Depending on the type of data it may contain personal related data. Operational data in SAP Enterprise OrientDB is stored in different places: + - Audit Log + - Log Files + - System Classes + - Backup Files + + This data is collected for the direct purpose of running and maintaining the operation of the SAP Enterprise OrientDB system. + + +# GDPR principles, SAP requirements, SAP Enterprise OrientDB Implementation # +Based on the data protection regulations SAP created a set of requirements including five corporate requirements. Some of these requirements were primarily defined for business applications. For SAP Enterprise OrientDB as a database platform we had to find our own interpretation of these requirements. + +Processing of Personal Data – Legal Ground +One of the key principles of DPP is that there needs to be an explicit legal ground to process personal data. + +Providing the legal ground is not a technical topic but a process and legal topic that needs to be addressed independently from the technology. Therefore, those requirements do not translate into technical product requirements. + + +|---|---|---| +|Consent|Where processing is based on the data subject's consent, the controller should be able to demonstrate that the data subject has given consent to the processing operation. (GDPR rec. 42, sentence 1.)|Not Applicable| +|Contract|Processing should be lawful where it is necessary in the context of a contract or the intention to enter into a contract. (GDPR rec. 44)|Not Applicable| +|Legal Obligation|Business software based examples: tax reporting, income tax reporting, reporting for social insurance|Not Applicable| +|Protect Vital Interest|The processing of personal data should also be regarded to be lawful where it is necessary to protect an interest which is essential for the life of the data subject or that of another natural person. (GDPR rec. 46 sentence 1)|Not Applicable| +|Public Interest|Where processing is … necessary for the performance of a task carried out in the public interest or in the exercise of official authority, the processing should have a basis in Union or Member State law. (GDPR rec. 45 sentence 1)|Not Applicable| +|Legitimate Interest|Proofing a legitimate interest is subject to a careful legal consideration whether “fundamental rights and freedoms of the data subject” are not overriding such an interest. (GDPR rec. 47)|Not Applicable| + +## Complements of the General Right - Rights of the Data Subject ## +Data protection regulations define very specific rights to the data subject. Anyone wanting to process data on one of the legal grounds defined above needs to ensure those rights. That means SAP software has to enable customers to run their applications according to those regulations. + +Not all requirements can be translated into technical requirements or by technical means alone. However, some of those requirements need to be technically supported by SAP software and those are translated into explicit requirements in the SAP security product standard. The following table lists those requirements and the following sections define the way SAP Enterprise OrientDB deals with those requirements. + +|Requirement|Content| +|---|---| +|Notification|The ability to inform the data subject if the data is used for a different purpose.| +|Information|The data subject’s right to get information on the data undergoing processing concerning them.| +|Correction|Personal data has to be true and to be corrected (latest after request).| +|Erasure|The ability to delete personal data when all retention periods have passed.

The ability to block personal data as soon as the primary purpose has passed and the residence time has elapsed.| +|Data Portability|The right of the data subject to receive his personal data in a structured, commonly used, and machine-readable format.| +|Automated Decisions|The data subject has the right that any automated decision can become subject to manual interference.| + +### SEC-255: Provide a retrieval function which can be used to inform the data subjects about the personal data stored about them ### +The requirement specifically applies to applications. Personal application data stored inside SAP Enterprise OrientDB classes (user information) can be displayed by using OrientDB SQL queries. Since only applications have the knowledge as to which classes contain personal data, they are responsible for implementing report and display functions using such standard capabilities provided by SAP Enterprise OrientDB. + +The requirement does not apply to operational data. Backups, logs, and trace files at this time are not explicitly listed in the EU GDPR and have an agreed exception in the German Data Protection Regulation. + +### SEC-256: Erase personal data when all applicable retention periods have expired ### +SAP Enterprise OrientDB supports the deletion (erasure) of application data in classes using SQL deletion commands or API commands. After the data has been deleted, this operation cannot be undone. Applications must make use of these commands to implement deletion requirements. + +Retention periods, deletion of data without affecting application functionality (e.g. referential integrity) are dependent on the business context, application architecture, etc., and need to be managed by the application. The application needs to implement these rules using the SQL deletion commands or equivalent OrientDB APIs. + +Applications can implement blocking of data using SAP Enterprise OrientDB methods like record-based security and masking or separating the data using OrientDB SQL Predicate Security. + +Operational data: Deletion of specific records (e.g. all records of a specific person) does not apply to operational data. However, still this data is also subject to deletion/retention requirements. Those timelines usually apply to the complete data set (e.g. all logs older than x days need to be deleted). + +Backup: Following standard practice, deletion of individual personal data is not enforced in backups. Common practice is that deleted data will disappear from backups following typical backup-rotation mechanisms. Explicitly deleting personal data from backups is therefore outside the scope of SAP Enterprise OrientDB’s data protection approach and would need to be managed by the customer dependent on their backup and DPP requirements. + +Physical deletion: After data is deleted using, for example the SQL DELETE statement, the respective storage area is marked as free but is not immediately overwritten. The associated storage area will only be overwritten once new data is stored in the respective cluster. As SAP Enterprise OrientDB writes the page as a whole to the record cluster, the deleted, but not overwritten memory areas are also stored to disk in binary format. It is therefore feasible that fragments of the deleted data could under certain circumstances or for a certain period of time be reconstructed. Prerequisite is direct access to the database files in the file system as well as access to the encryption key in case the encryption-at-rest feature of SAP Enterprise OrientDB is used. + +An analysis has shown that other DB vendors face the same problem and that there are no solutions on the market to address the complete deletion of those remaining data-fragments (in literature referred to as “slack”). Completely deleting those remains is very difficult and dependent on other factors like the storage technology used. Initial recommendation is therefore to reduce such slack. SAP Enterprise OrientDB already has a method to reduce slack by making completely unused old pages unreadable when the encryption feature is used. + +Further extending physical deletion capabilities would depend on customer demand. + +### SEC-254 - SAP software shall log read access to sensitive personal data ### +Applications may store sensitive personal data in SAP Enterprise OrientDB. SAP Enterprise OrientDB provides an audit log that can track which user has accessed data records in SAP Enterprise OrientDB. + +With this mechanism, audit polices can be defined to log access to classes containing sensitive personal data. + +It is recommended for applications built on top of SAP Enterprise OrientDB to document clearly where sensitive information is stored so that customers, if required on SAP Enterprise OrientDB level, can define respective policies. + +This does not apply to operational data. + +### SEC-265 - SAP software shall log changes to personal data ### +Changes to the personal data stored in application data in SAP Enterprise OrientDB can be logged using SAP Enterprise OrientDB’s audit logging functionality. + +SAP Enterprise OrientDB provides the infrastructure to define customer-specific audit log policies which log change access to defined objects in the database (issued UPDATE, DELETE, … statements). + +Audit policies can be defined by the customer (administrator). Applications built on top of SAP Enterprise OrientDB should provide guidelines for customers on how to set-up appropriate log policies, for example by providing information on which classes contain relevant information. + +### General Log Requirements (valid for SEC-265, SEC-254) ### +SAP Enterprise OrientDB provides a common policy-based logging infrastructure that can be used by all applications running on SAP Enterprise OrientDB to log actions on data access as well as administrative or security related events in SAP Enterprise OrientDB. As a target for storing the log trail, SAP Enterprise OrientDB currently supports writing the information to the syslog infrastructure of the underlying operating system or a special log class within the System database (appropriately protected by authorization). + +Syslog integration allows customers to: + +- Implement physical segregation of duty by sending the log data to their existing log infrastructure, which means that the log data cannot be changed by database administrators +- Use their established log infrastructure and tools including the compliance rules already implemented in this infrastructure +- Use their own established tools for analyzing the log entries + +This approach is very well received by customers and meets their expectations on log handling. + +Logging into tables allows customers to: +- Store data within the database itself in specially protected classes +- Use standard SQL tooling for log analysis + +The log table is a specially protected system table. + +Log viewing, deletion, and retention have to be managed by the customer and cannot be provided by SAP Enterprise OrientDB. From 186de27ac7c2e479128f9156d196f5a3aa01ee28 Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Sun, 3 May 2020 10:56:57 -0600 Subject: [PATCH 22/74] Added a header to the first table. --- security/SAP-Enterprise-OrientDB-DPP.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/security/SAP-Enterprise-OrientDB-DPP.md b/security/SAP-Enterprise-OrientDB-DPP.md index 7f54b610..0ad14f29 100644 --- a/security/SAP-Enterprise-OrientDB-DPP.md +++ b/security/SAP-Enterprise-OrientDB-DPP.md @@ -25,7 +25,7 @@ One of the key principles of DPP is that there needs to be an explicit legal gro Providing the legal ground is not a technical topic but a process and legal topic that needs to be addressed independently from the technology. Therefore, those requirements do not translate into technical product requirements. - +|Requirement|Content|Comment| |---|---|---| |Consent|Where processing is based on the data subject's consent, the controller should be able to demonstrate that the data subject has given consent to the processing operation. (GDPR rec. 42, sentence 1.)|Not Applicable| |Contract|Processing should be lawful where it is necessary in the context of a contract or the intention to enter into a contract. (GDPR rec. 44)|Not Applicable| From aa0cbeabdb7cdb80ab6e1f049ae4cb87b0cd8780 Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Sun, 3 May 2020 10:59:28 -0600 Subject: [PATCH 23/74] Added a comment about TLS 1.2. --- security/Using-SSL-with-OrientDB.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/security/Using-SSL-with-OrientDB.md b/security/Using-SSL-with-OrientDB.md index 373fe43f..c1fb8034 100644 --- a/security/Using-SSL-with-OrientDB.md +++ b/security/Using-SSL-with-OrientDB.md @@ -3,10 +3,12 @@ search: keywords: ['security', 'encryption', 'SSL'] --- -# SSL +# SSL/TLS Beginning with version 1.7, OrientDB provides support for securing its HTTP and BINARY protocols through SSL. For distributed SSL, see the HazelCast documentation. +Note that wherever SSL is referenced know that TLS 1.2 is enforced. + For more information on securing OrientDB, see the following pages: - [Database security](Database-Security.md) - [Server security](Server-Security.md) From faf4f9b4c8714da1801d2886d150e9820a7d0379 Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Sun, 3 May 2020 11:05:29 -0600 Subject: [PATCH 24/74] Fixed some minor typos. --- admin/Functions-DB-Access.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/admin/Functions-DB-Access.md b/admin/Functions-DB-Access.md index d35901b1..b523284e 100644 --- a/admin/Functions-DB-Access.md +++ b/admin/Functions-DB-Access.md @@ -12,7 +12,7 @@ When you create a function for OrientDB, it always binds the special variable `o | `orient.getDatabase()` | Returns the current [document database](http://www.orientechnologies.com/javadoc/latest/com/orientechnologies/orient/core/db/document/ODatabaseDocumentTx.html) instance. | -For security reason starting from *OrientDB 3.0.29*, the usage of Java classes is forbidden by default, with a class filter implmented in the JS engine. +For security reason starting from *OrientDB 3.0.29*, the usage of Java classes is forbidden by default, with a class filter implemented in the JS engine. To enable the access to classes or packages in your JS code change the `allowedPackages` field with comma separated packages or classes. ```xml @@ -28,7 +28,7 @@ To enable the access to classes or packages in your JS code change the `allowedP ## Executing Queries -Queries are idempotent commands. To execute a query from within a function, use the `query()` method. For nstance, +Queries are idempotent commands. To execute a query from within a function, use the `query()` method. For instance, ```javascript return orient.getDatabase().query("SELECT name FROM OUser"); @@ -58,7 +58,7 @@ The command returns an array of [`OElement`](../java/ref/OElement.md) objects ## Creating Repository Classes -Functions provide an ideal place for developing the logic your application uses to access the database. You can adopt a [Domain-driven design](http://en.wikipedia.org/wiki/Domain-driven_design) approach, allowing the function to work as a [repository](http://en.wikipedia.org/wiki/Domain-drven_design#Building_blocks_of_DDD), or as a [Data Access Object](http://en.wikipedia.org/wiki/Data_access_object). +Functions provide an ideal place for developing the logic your application uses to access the database. You can adopt a [Domain-driven design](http://en.wikipedia.org/wiki/Domain-driven_design) approach, allowing the function to work as a [repository](http://en.wikipedia.org/wiki/Domain-drven_design#Building_blocks_of_DDD) or as a [Data Access Object](http://en.wikipedia.org/wiki/Data_access_object). This provides a thin (or thick, if you prefer) layer of encapsulation which may protect you from database changes. From 5bc54cb1f45dc235d5cbc0c89df0aaa14dfcd6a5 Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Sun, 3 May 2020 11:12:11 -0600 Subject: [PATCH 25/74] Fixed some minor typos and English phrases. --- internals/Web-Server.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/internals/Web-Server.md b/internals/Web-Server.md index cf718650..16028f04 100644 --- a/internals/Web-Server.md +++ b/internals/Web-Server.md @@ -7,13 +7,13 @@ search: | | | |---|---| -|![](../images/warning.png)|Even thought OrientDB Server is a regular Web Server, it is not recommended to expose it directly on the Internet or public networks. We suggest to always hide OrientDB server in a private network.| +|![](../images/warning.png)|Even though OrientDB Server is a regular Web Server, it is not recommended to expose it directly on the Internet or public networks. We suggest to always hide OrientDB server in a private network.| Global settings can be set at JVM startup (`java ... -D=""`) or in `orientdb-server-config.xml` file under "properties" XML tag. ## Avoid exposing OrientDB Server to a public network -By default, OrientDB listens to all the network interfaces (`0.0.0.0`). It's strongly suggested to do not open OrientDB server on public networks. To force OrientDB to bind only one network, please edit the file `config/orientdb-server-config.xml` file and replace `"0.0.0.0` with `127.0.0.1` if you want only locally clients can access to the server, or any other valid IP you want to publish OrientDB. This is the default configuration: +By default, OrientDB listens to all the network interfaces (`0.0.0.0`). It's strongly suggested to not open OrientDB server on public networks. To force OrientDB to bind to only one network, please edit the file `config/orientdb-server-config.xml`. Replace `"0.0.0.0` with `127.0.0.1` if you want only local clients to have access to the server or any other valid IP you want to publish OrientDB. This is the default configuration: ```xml @@ -33,11 +33,11 @@ To bind OrientDB server only to the local server, change it into: ## Maximum content length -OrientDB by default allow request content of maximum 1MB. To change this limitation set the global configuration `network.http.maxLength` to the needed value. +OrientDB by default allows a request content of maximum 1 MB. To change this limitation set the global configuration `network.http.maxLength` to the needed value. ## Charset -OrientDB uses UTF-8 as default charset. To change it set the global configuration `network.http.charset`. +OrientDB uses UTF-8 as the default charset. To change it set the global configuration `network.http.charset`. ## JSONP @@ -45,7 +45,7 @@ JSONP is supported by OrientDB Web Server, but disabled by default. To enable it This is a global setting, so you can set it at JVM startup (`java ... -Dnetwork.http.jsonp=true`) or by setting it as property in `orientdb-server-config.xml` file under "properties" XML tag. -## Cross site +## Cross Site Cross site requests are disabled by default. To enable it, set a couple of additional headers in `orientdb-server-config.xml` under the HTTP listener XML tag: @@ -65,7 +65,7 @@ This setting is also global, so you can set it at JVM startup (`java ... -Dnetwo Look also: [Clickjacking on WikiPedia](https://en.wikipedia.org/wiki/Clickjacking) and [Clickjacking on OWASP](https://www.owasp.org/index.php/Clickjacking) -OrientDB allows to disable Clickjacking by setting the additional header `X-FRAME-OPTIONS` to `DENY` in all the HTTP response. +You can disable clickjacking in OrientDB by setting the additional header `X-FRAME-OPTIONS` to `DENY` in all the HTTP responses. To enable it, set a couple of additional headers in `orientdb-server-config.xml` under the HTTP listener XML tag: From b484ddc820a46d1047fca7f17ded6e2c9ca844d8 Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Sun, 3 May 2020 11:17:48 -0600 Subject: [PATCH 26/74] Fixed some relative links. --- security/OrientDB-Security-Guide.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/security/OrientDB-Security-Guide.md b/security/OrientDB-Security-Guide.md index 92ad03e3..c506f8ba 100644 --- a/security/OrientDB-Security-Guide.md +++ b/security/OrientDB-Security-Guide.md @@ -80,6 +80,8 @@ The parameter to edit is "allowedPackages". Its value is a comma-separated list ``` +For more information see [JavaScript Functions](../admin/Functions-DB-Access.md) + **SECURITY RECOMMENDATION**: Be careful which packages are allowed, as granting access to certain packages could compromise the system security. @@ -87,14 +89,14 @@ The parameter to edit is "allowedPackages". Its value is a comma-separated list It is not recommended to expose the OrientDB Web Server directly on the Internet or public networks. -For more information on this and JSONP, cross-site requests, and clickjacking, see: [OrientDB Web Server Security](Web-Server.md). +For more information on this and JSONP, cross-site requests, and clickjacking, see: [OrientDB Web Server Security](../internals/Web-Server.md). **SECURITY RECOMMENDATION**: Do not expose the OrientDB Web Server on the Internet or public networks. ### Enable Auditing (Enterprise Only) ### If you are using the Enterprise version of OrientDB, it is recommended to enable the auditing feature. -For more information: [OrientDB Auditing](Auditing.md) +For more information: [OrientDB Auditing](../ee/Auditing.md) **SECURITY RECOMMENDATION**: Enable the auditing capability. @@ -110,4 +112,4 @@ More comprehensive information about OrientDB security can be found here: - [Server security](Server-Security.md) - [Database Encryption](Database-Encryption.md) - [Secure SSL connections](Using-SSL-with-OrientDB.md) -- [OrientDB Web Server](Web-Server.md) +- [OrientDB Web Server](../internals/Web-Server.md) From b912159323392b457726d66e441776f62238f656 Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Sun, 3 May 2020 11:23:55 -0600 Subject: [PATCH 27/74] Added the Security Guide to Getting Started. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fa564b8d..d5a6c8be 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Welcome to **OrientDB** - the first Multi-Model Open Source NoSQL DBMS that brin |[First Steps](gettingstarted/Tutorial-Working-with-graphs.md) | [Inheritance](general/Inheritance.md) | [HTTP API](misc/OrientDB-REST.md) | |[Troubleshooting](misc/Troubleshooting.md) |[Security](security/Security.md)| [Java API](java/Java-API.md)| |[Enterprise Edition](ee/Enterprise-Edition.md)| [Indexes](indexing/Indexes.md) | [NodeJS](orientjs/OrientJS.md)| -| | [ACID Transactions](internals/Transactions.md) | [PHP](https://github.com/orientechnologies/PhpOrient) | +|[Security Guide](security/OrientDB-Security-Guide.md) | [ACID Transactions](internals/Transactions.md) | [PHP](https://github.com/orientechnologies/PhpOrient) | | | [Functions](admin/Functions.md) | [Python](https://github.com/orientechnologies/pyorient)| | | [Caching Levels](internals/Caching.md) | [.NET](https://github.com/orientechnologies/OrientDB-NET.binary) | | | [Common Use Cases](legacy/Use-Cases.md) | [Other Drivers](apis-and-drivers/README.md) | From 5c0308467125923a663c807a99ca28d8c7a093de Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Mon, 4 May 2020 17:27:19 +0200 Subject: [PATCH 28/74] add rsync to .org in jenkins pipeline --- Jenkinsfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 7a60eb7d..220ae107 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,6 +34,12 @@ node { rsync -ratlz --stats --rsh="/usr/bin/sshpass -p ${RSYNC_PASSWORD} ssh -o StrictHostKeyChecking=no -l ${RSYNC_USERNAME}" orientdb-docs/_book/ orientdb.com:/home/orientdb/public_html/docs/3.0.x ''' } + + withCredentials([usernamePassword(credentialsId: 'orientdb_org_website', passwordVariable: 'RSYNC_PASSWORD', usernameVariable: 'RSYNC_USERNAME')]) { + sh ''' + rsync -ratlz --stats --rsh="/usr/bin/sshpass -p ${RSYNC_PASSWORD} ssh -o StrictHostKeyChecking=no -l ${RSYNC_USERNAME}" orientdb-docs/_book/ orientdb.org:/home/orientdb/orientdb.org/docs/3.0.x + ''' + } } catch(e) { slackSend(color: '#FF0000', channel: '#jenkins-failures', message: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})\n${e}") From 0558c7b6f722bb2d289532302fb96ac090d9fc77 Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Mon, 4 May 2020 15:38:16 -0600 Subject: [PATCH 29/74] Added a "Validate Plug-Ins" section. --- security/OrientDB-Security-Guide.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/security/OrientDB-Security-Guide.md b/security/OrientDB-Security-Guide.md index c506f8ba..1d99aee9 100644 --- a/security/OrientDB-Security-Guide.md +++ b/security/OrientDB-Security-Guide.md @@ -17,6 +17,7 @@ The following is a list of recommended suggestions for improving the security of - Configure The JavaScript Sandbox - Avoid Exposing The OrientDB Server To A Public Network - Enable Auditing (Enterprise Only) +- Validate Plug-Ins ### Default Users and Roles ### By default, when a new database is created, three default roles and their respective users are created. @@ -100,6 +101,11 @@ For more information: [OrientDB Auditing](../ee/Auditing.md) **SECURITY RECOMMENDATION**: Enable the auditing capability. +### Validate Plug-Ins ### +Since OrientDB supports both static and dynamic plug-ins, which have total access to the entire system, it is recommended to validate the installed plug-ins for authenticity and to limit write access to the *plugins* directory. + +**SECURITY RECOMMENDATION**: Validate installed plug-ins. + ## Data Protection and Privacy ## See [SAP Enterprise OrientDB Data Protection and Privacy Approach for Products](SAP-Enterprise-OrientDB-DPP.md). From 630a612a0765c63448e365b6eb76c1085c0b91d6 Mon Sep 17 00:00:00 2001 From: Colin <64375306+ColinOrientDB@users.noreply.github.com> Date: Wed, 6 May 2020 08:35:11 -0600 Subject: [PATCH 30/74] Added the Security Guide + DPP document. --- SUMMARY.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SUMMARY.md b/SUMMARY.md index c0cc16dc..95d9dc29 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -804,6 +804,8 @@ ## ADVANCED TOPICS * [Security](security/Security.md) + * [OrientDB Security Guide](security/OrientDB-Security-Guide.md) + * [OrientDB Data Protection and Privacy](security/SAP-Enterprise-OrientDB-DPP.md) * [Database security](security/Database-Security.md) * [Server security](security/Server-Security.md) * [Database encryption](security/Database-Encryption.md) From 49a066a1d968f5178807608f243260570ff1d019 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Fri, 8 May 2020 11:24:59 +0200 Subject: [PATCH 31/74] Update book.json --- book.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book.json b/book.json index 6a662817..ce9a9940 100644 --- a/book.json +++ b/book.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-3.0.30.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-3.0.31.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-community-tp2-3.0.30.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-community-tp2-3.0.31.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-tp3-3.0.30.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-tp3-3.0.31.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-tp3-3.0.30.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-tp3-3.0.31.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.30", - "currentVersion": "3.0.30", + "lastGA": "3.0.31", + "currentVersion": "3.0.31", "demoDBVersion_screenshots": "0.76", "javase": "https://docs.oracle.com/javase/8/docs", "javadoc": "https://orientdb.com/javadoc/develop" From 52a805a131404b22d12d426c6d78e7618c346fa4 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Fri, 8 May 2020 11:29:18 +0200 Subject: [PATCH 32/74] Update book-pdf.json --- book-pdf.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book-pdf.json b/book-pdf.json index 57798151..1d854c74 100644 --- a/book-pdf.json +++ b/book-pdf.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-3.0.30.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-3.0.31.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-community-tp2-3.0.30.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-community-tp2-3.0.31.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-tp3-3.0.30.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-tp3-3.0.31.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.30/orientdb-tp3-3.0.30.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-tp3-3.0.31.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.30", - "currentVersion": "3.0.30", + "lastGA": "3.0.31", + "currentVersion": "3.0.31", "demoDBVersion_screenshots": "0.76" }, "links": { From 7064f38223772a2079b021fd29b1a8220ccf613d Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Mon, 1 Jun 2020 15:39:56 +0200 Subject: [PATCH 33/74] Update OrientJS.md --- orientjs/OrientJS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/orientjs/OrientJS.md b/orientjs/OrientJS.md index 97a3f0c9..0577f799 100644 --- a/orientjs/OrientJS.md +++ b/orientjs/OrientJS.md @@ -37,7 +37,7 @@ OrientJS v3.0 contains backwards compatible APIs for OrientDB 2.2.x and OrientDB ## Resources -- [API Docs](http://orientdb.com/docs/last/orientjs/OrientJS.html) +- [API Docs](http://orientdb.com/docs/3.0.x/orientjs/OrientJS.html) - [Example Projects](https://github.com/orientechnologies/orientjs-example) - [Changelog](https://github.com/orientechnologies/orientjs/blob/master/CHANGELOG.md) From a99fd20a1838fbf3d8a0f5275eb4b7a10732afd6 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Mon, 22 Jun 2020 13:14:46 +0200 Subject: [PATCH 34/74] Update Contribute-to-OrientDB.md --- misc/Contribute-to-OrientDB.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/misc/Contribute-to-OrientDB.md b/misc/Contribute-to-OrientDB.md index 66bc82fe..e89497f4 100644 --- a/misc/Contribute-to-OrientDB.md +++ b/misc/Contribute-to-OrientDB.md @@ -34,7 +34,18 @@ If you'd like to contribute to OrientDB with a patch follow the following steps: If you want to contribute to the OrientDB documentation, the right repository is: https://github.com/orientechnologies/orientdb-docs. Every 24-48 hours all the contributions are reviewed and published on the public [documentation](http://orientdb.com/docs/last/). ## Code formatting -You can find eclipse java formatter config file here: [_base/ide/eclipse-formatter.xml](https://github.com/orientechnologies/orientdb/blob/master/_base/ide/eclipse-formatter.xml). + +### v 3.1 and following + +Since v 3.1, OrientDB uses Google code formatter. + +In IntelliJ Idea, you can use this plugin https://plugins.jetbrains.com/plugin/8527-google-java-format + +From Maven, you can run `mvn com.coveo:fmt-maven-plugin:format` for automatic code format. + +### v 3.0 and previous releases + +For previus versions (until 3.0) you can use eclipse java formatter config file, that you can find here: [_base/ide/eclipse-formatter.xml](https://github.com/orientechnologies/orientdb/blob/master/_base/ide/eclipse-formatter.xml). If you use IntelliJ IDEA you can install [this](http://plugins.jetbrains.com/plugin/?id=6546) plugin and use formatter profile mentioned above. From d4161d34b6240c585c9075ae8b0dcfdbcd0784cd Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Mon, 6 Jul 2020 10:03:23 +0200 Subject: [PATCH 35/74] Disable rsync to .com site --- Jenkinsfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 220ae107..c9353c13 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -29,11 +29,11 @@ node { gitbook pdf --gitbook 3.1.1 . _book/OrientDB-Manual.pdf ''' - withCredentials([usernamePassword(credentialsId: 'orientdb_website', passwordVariable: 'RSYNC_PASSWORD', usernameVariable: 'RSYNC_USERNAME')]) { - sh ''' - rsync -ratlz --stats --rsh="/usr/bin/sshpass -p ${RSYNC_PASSWORD} ssh -o StrictHostKeyChecking=no -l ${RSYNC_USERNAME}" orientdb-docs/_book/ orientdb.com:/home/orientdb/public_html/docs/3.0.x - ''' - } + // withCredentials([usernamePassword(credentialsId: 'orientdb_website', passwordVariable: 'RSYNC_PASSWORD', usernameVariable: 'RSYNC_USERNAME')]) { + // sh ''' + // rsync -ratlz --stats --rsh="/usr/bin/sshpass -p ${RSYNC_PASSWORD} ssh -o StrictHostKeyChecking=no -l ${RSYNC_USERNAME}" orientdb-docs/_book/ orientdb.com:/home/orientdb/public_html/docs/3.0.x + // ''' + // } withCredentials([usernamePassword(credentialsId: 'orientdb_org_website', passwordVariable: 'RSYNC_PASSWORD', usernameVariable: 'RSYNC_USERNAME')]) { sh ''' From 55cfe7546ef2471107df99d87d956aca215c9bef Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Mon, 6 Jul 2020 12:51:27 +0200 Subject: [PATCH 36/74] Update Configuration.md --- admin/Configuration.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/admin/Configuration.md b/admin/Configuration.md index e5c782f7..1aa3e5a9 100644 --- a/admin/Configuration.md +++ b/admin/Configuration.md @@ -1666,7 +1666,8 @@ Set at run-time: false ##### command.timeout -Default timeout for commands (in ms). +Default timeout for commands (in ms). Maximum number of milliseconds before a command is aborted. +Its usage is limited to the legacy SQL executor (versions previous to 3.0); in v 3.0 and following, please use per-query TIMEOUT option (SQL). ``` Setting name...: command.timeout From eec85bb05f1d232888887e6d9701f1b0784895c4 Mon Sep 17 00:00:00 2001 From: dritter-sap <56293921+dritter-sap@users.noreply.github.com> Date: Tue, 7 Jul 2020 12:46:14 +0200 Subject: [PATCH 37/74] Update OrientDB-TinkerPop3.md --- tinkerpop3/OrientDB-TinkerPop3.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tinkerpop3/OrientDB-TinkerPop3.md b/tinkerpop3/OrientDB-TinkerPop3.md index 1c95dfa7..1a18ecc4 100644 --- a/tinkerpop3/OrientDB-TinkerPop3.md +++ b/tinkerpop3/OrientDB-TinkerPop3.md @@ -407,12 +407,9 @@ and then install the OrientDB Gremlin driver with bin/gremlin-server.sh -i com.orientechnologies orientdb-gremlin ${version} ``` - - #### OrientDB Gremlin Server configuration - -YAML configuration example +YAML configuration example (save as `gremlin-server.yaml`) ``` host: localhost @@ -455,7 +452,7 @@ ssl: { ``` -Graph Configuration properties example +Graph Configuration properties example (e.g. save as `orientdb-empty.properties`. It has to be the one referenced in the `gremlin-server.yaml` file) ``` gremlin.graph=org.apache.tinkerpop.gremlin.orientdb.OrientFactory From 0a1481b3e4585098df8452729423cccbe6a4fa0e Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Mon, 3 Aug 2020 11:32:55 +0200 Subject: [PATCH 38/74] Update SQL-Methods.md --- sql/SQL-Methods.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/SQL-Methods.md b/sql/SQL-Methods.md index 08de0665..88d5f209 100644 --- a/sql/SQL-Methods.md +++ b/sql/SQL-Methods.md @@ -73,7 +73,7 @@ SELECT FROM Profile WHERE '+39' IN contacts[phone].left(3) Get the first 10 tags of posts: ```sql -SELECT FROM tags[0-9] FROM Posts +SELECT FROM tags[0..9] FROM Posts ``` #### History From a27bda7576c90ea07a69e2468743243d4086d922 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Mon, 10 Aug 2020 13:35:22 +0200 Subject: [PATCH 39/74] Update README.md --- apis-and-drivers/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apis-and-drivers/README.md b/apis-and-drivers/README.md index 253c39c3..456425b7 100644 --- a/apis-and-drivers/README.md +++ b/apis-and-drivers/README.md @@ -116,7 +116,7 @@ This is the list of the known drivers to use OrientDB through different language -
C
+
C/C++
OrientDB-C Binary From 69d7b3f1f7881a2bf4ab419ab38e1ac3e7525e65 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Mon, 10 Aug 2020 14:57:19 +0200 Subject: [PATCH 40/74] Update README.md --- apis-and-drivers/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apis-and-drivers/README.md b/apis-and-drivers/README.md index 456425b7..795d7d5b 100644 --- a/apis-and-drivers/README.md +++ b/apis-and-drivers/README.md @@ -79,7 +79,7 @@ This is the list of the known drivers to use OrientDB through different language -
.Net
+
.NET driver for OrientDB Binary @@ -130,7 +130,7 @@ This is the list of the known drivers to use OrientDB through different language -
JavaScript
+
Javascript
Javascript Driver HTTP @@ -168,7 +168,7 @@ This is the list of the known drivers to use OrientDB through different language -
Groovy
+
Groovy
OrientDB Groovy Java wrapper @@ -177,7 +177,7 @@ This is the list of the known drivers to use OrientDB through different language -
Scala
+
Scala
Any Java driver Native From 8bdbd28ece40fbac735a64944baeebc60b90091c Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Wed, 12 Aug 2020 09:36:03 +0200 Subject: [PATCH 41/74] Update book.json --- book.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book.json b/book.json index ce9a9940..317606bf 100644 --- a/book.json +++ b/book.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-3.0.31.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-3.0.33.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-community-tp2-3.0.31.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-community-tp2-3.0.33.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-tp3-3.0.31.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-tp3-3.0.33.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-tp3-3.0.31.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-tp3-3.0.33.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.31", - "currentVersion": "3.0.31", + "lastGA": "3.0.33", + "currentVersion": "3.0.33", "demoDBVersion_screenshots": "0.76", "javase": "https://docs.oracle.com/javase/8/docs", "javadoc": "https://orientdb.com/javadoc/develop" From b6a748403b10301fd9500b3a7a6a0aeb14af776d Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Wed, 12 Aug 2020 09:36:43 +0200 Subject: [PATCH 42/74] Update book-pdf.json --- book-pdf.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book-pdf.json b/book-pdf.json index 1d854c74..737a3099 100644 --- a/book-pdf.json +++ b/book-pdf.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-3.0.31.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-3.0.33.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-community-tp2-3.0.31.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-community-tp2-3.0.33.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-tp3-3.0.31.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-tp3-3.0.33.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.31/orientdb-tp3-3.0.31.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-tp3-3.0.33.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.31", - "currentVersion": "3.0.31", + "lastGA": "3.0.33", + "currentVersion": "3.0.33", "demoDBVersion_screenshots": "0.76" }, "links": { From 9f7eeb03ac6a6a1ed95f5a36ec1b97717f9511d2 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Mon, 31 Aug 2020 14:53:13 +0200 Subject: [PATCH 43/74] Update book.json --- book.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book.json b/book.json index 317606bf..3db6f2ac 100644 --- a/book.json +++ b/book.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-3.0.33.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-3.0.34.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-community-tp2-3.0.33.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-community-tp2-3.0.34.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-tp3-3.0.33.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-tp3-3.0.34.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-tp3-3.0.33.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-tp3-3.0.34.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.33", - "currentVersion": "3.0.33", + "lastGA": "3.0.34", + "currentVersion": "3.0.34", "demoDBVersion_screenshots": "0.76", "javase": "https://docs.oracle.com/javase/8/docs", "javadoc": "https://orientdb.com/javadoc/develop" From 63c49c18640ca44f5c433a05b972e9838aa0dc35 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Mon, 31 Aug 2020 14:53:44 +0200 Subject: [PATCH 44/74] Update book-pdf.json --- book-pdf.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book-pdf.json b/book-pdf.json index 737a3099..dbc9a93c 100644 --- a/book-pdf.json +++ b/book-pdf.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-3.0.33.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-3.0.34.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-community-tp2-3.0.33.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-community-tp2-3.0.34.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-tp3-3.0.33.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-tp3-3.0.34.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.33/orientdb-tp3-3.0.33.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-tp3-3.0.34.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.33", - "currentVersion": "3.0.33", + "lastGA": "3.0.34", + "currentVersion": "3.0.34", "demoDBVersion_screenshots": "0.76" }, "links": { From 23fed6597820836ac43b04ba7f9466b2cd04d867 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Thu, 19 Nov 2020 16:35:39 +0100 Subject: [PATCH 45/74] Update book.json --- book.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book.json b/book.json index 3db6f2ac..c5997312 100644 --- a/book.json +++ b/book.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-3.0.34.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-3.0.35.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-community-tp2-3.0.34.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-community-tp2-3.0.35.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-tp3-3.0.34.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-tp3-3.0.35.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-tp3-3.0.34.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-tp3-3.0.35.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.34", - "currentVersion": "3.0.34", + "lastGA": "3.0.35", + "currentVersion": "3.0.35", "demoDBVersion_screenshots": "0.76", "javase": "https://docs.oracle.com/javase/8/docs", "javadoc": "https://orientdb.com/javadoc/develop" From b0f76ba130a80831f776b5bbefeb263fec2ee234 Mon Sep 17 00:00:00 2001 From: Luigi Dell'Aquila Date: Thu, 19 Nov 2020 16:36:14 +0100 Subject: [PATCH 46/74] Update book-pdf.json --- book-pdf.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/book-pdf.json b/book-pdf.json index dbc9a93c..95237c76 100644 --- a/book-pdf.json +++ b/book-pdf.json @@ -3,17 +3,17 @@ "description": "OrientDB Documentation", "variables": { "CE_name": "orientdb-community", - "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-3.0.34.tar.gz", + "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-3.0.35.tar.gz", "TP2_name": "orientdb-community-tp2", - "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-community-tp2-3.0.34.tar.gz", + "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-community-tp2-3.0.35.tar.gz", "TP3_name": "orientdb-community-tp3", - "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-tp3-3.0.34.tar.gz", + "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-tp3-3.0.35.tar.gz", "TP3Spatial_name": "orientdb-community-spatial", - "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.34/orientdb-tp3-3.0.34.tar.gz", + "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-tp3-3.0.35.tar.gz", "javadoc":"http://orientdb.com/javadoc/latest/", "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/", - "lastGA": "3.0.34", - "currentVersion": "3.0.34", + "lastGA": "3.0.35", + "currentVersion": "3.0.35", "demoDBVersion_screenshots": "0.76" }, "links": { From bcd32bbd91eeec8ff9c1f4900e9b5c6ba159a5d8 Mon Sep 17 00:00:00 2001 From: Roberto Franchini Date: Mon, 25 Jan 2021 19:56:46 +0100 Subject: [PATCH 47/74] remove "beta" from 3.1 version link (#375) --- book.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book.json b/book.json index c5997312..85cd9920 100644 --- a/book.json +++ b/book.json @@ -78,7 +78,7 @@ }, { "value": "http://orientdb.com/docs/3.1.x", - "text": "Version 3.1 (beta)" + "text": "Version 3.1" } ] }, From cd88f7b9cbcf598a10d3360aa97f4c7e7bf556a2 Mon Sep 17 00:00:00 2001 From: ManiKorthivada Date: Tue, 26 Jan 2021 00:29:19 +0530 Subject: [PATCH 48/74] Spell Check (#367) Updated the Spell check --- security/Database-Security.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/security/Database-Security.md b/security/Database-Security.md index 4ece4009..8b4bcb29 100644 --- a/security/Database-Security.md +++ b/security/Database-Security.md @@ -199,7 +199,7 @@ orientdb> ALTER CLASS V SUPERCLASS ORestricted< orientdb> ALTER CLASS E SUPERCLASS ORestricted -This causes all vertices and edges to inherit the record-level security. Beginning with version 2.1, OrientDB allows you to use multiple inheritances, to cause only certain vertex or edge calsses to be restricted. +This causes all vertices and edges to inherit the record-level security. Beginning with version 2.1, OrientDB allows you to use multiple inheritances, to cause only certain vertex or edge classes to be restricted.
 orientdb> CREATE CLASS Order EXTENDS V, ORestricted

From 91c9c6d97dbcc18fca271fa469cecfe397587518 Mon Sep 17 00:00:00 2001
From: Prisacari Dmitrii 
Date: Mon, 25 Jan 2021 21:01:16 +0200
Subject: [PATCH 49/74] Fixed -storage.useWAL flag (#349)

---
 tuning/Performance-Tuning.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tuning/Performance-Tuning.md b/tuning/Performance-Tuning.md
index 3f735d3d..ce7a00c3 100644
--- a/tuning/Performance-Tuning.md
+++ b/tuning/Performance-Tuning.md
@@ -243,7 +243,7 @@ db.declareIntent( null );
 ### Disable Journal
 In case of massive insertion, specially when this operation is made just once, you could disable the journal (WAL) to improve insertion speed:
 
-    -storage.useWAL=false
+    -Dstorage.useWAL=false
 
 By default [WAL (Write Ahead Log)](../internals/Write-Ahead-Log.md) is enabled.
 

From 89b2fb4713aad5a0e8fe91cc431af12eec2ed69e Mon Sep 17 00:00:00 2001
From: Luigi Dell'Aquila 
Date: Tue, 26 Jan 2021 11:24:52 +0100
Subject: [PATCH 50/74] Update book-pdf.json

---
 book-pdf.json | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/book-pdf.json b/book-pdf.json
index 95237c76..a42503c1 100644
--- a/book-pdf.json
+++ b/book-pdf.json
@@ -3,17 +3,17 @@
   "description": "OrientDB Documentation",
   "variables": {
     "CE_name": "orientdb-community",
-    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-3.0.35.tar.gz",
+    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-3.0.36.tar.gz",
     "TP2_name": "orientdb-community-tp2",
-    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-community-tp2-3.0.35.tar.gz",
+    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-community-tp2-3.0.36.tar.gz",
     "TP3_name": "orientdb-community-tp3",
-    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-tp3-3.0.35.tar.gz",
+    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-tp3-3.0.36.tar.gz",
     "TP3Spatial_name": "orientdb-community-spatial",
-    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-tp3-3.0.35.tar.gz",
+    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-tp3-3.0.36.tar.gz",
     "javadoc":"http://orientdb.com/javadoc/latest/",
     "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/",
-    "lastGA": "3.0.35",
-    "currentVersion": "3.0.35",
+    "lastGA": "3.0.36",
+    "currentVersion": "3.0.36",
     "demoDBVersion_screenshots": "0.76"
   },  
   "links": {

From 7711e1d388031fef29d2cfc91e65dfdf0cbd1db0 Mon Sep 17 00:00:00 2001
From: Luigi Dell'Aquila 
Date: Tue, 26 Jan 2021 11:25:24 +0100
Subject: [PATCH 51/74] Update book.json

---
 book.json | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/book.json b/book.json
index 85cd9920..ec017bfe 100644
--- a/book.json
+++ b/book.json
@@ -3,17 +3,17 @@
   "description": "OrientDB Documentation",
   "variables": {
     "CE_name": "orientdb-community",
-    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-3.0.35.tar.gz",
+    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-3.0.36.tar.gz",
     "TP2_name": "orientdb-community-tp2",
-    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-community-tp2-3.0.35.tar.gz",
+    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-community-tp2-3.0.36.tar.gz",
     "TP3_name": "orientdb-community-tp3",
-    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-tp3-3.0.35.tar.gz",
+    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-tp3-3.0.36.tar.gz",
     "TP3Spatial_name": "orientdb-community-spatial",
-    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.35/orientdb-tp3-3.0.35.tar.gz",
+    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-tp3-3.0.36.tar.gz",
     "javadoc":"http://orientdb.com/javadoc/latest/",
     "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/",
-    "lastGA": "3.0.35",
-    "currentVersion": "3.0.35",
+    "lastGA": "3.0.36",
+    "currentVersion": "3.0.36",
     "demoDBVersion_screenshots": "0.76",
 	"javase": "https://docs.oracle.com/javase/8/docs",
 	"javadoc": "https://orientdb.com/javadoc/develop"

From ba54330da06b37727a0cd5be271c38f97ce14df0 Mon Sep 17 00:00:00 2001
From: Luigi Dell'Aquila 
Date: Tue, 9 Feb 2021 20:43:51 +0100
Subject: [PATCH 52/74] Update book.json

---
 book.json | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/book.json b/book.json
index ec017bfe..2f7ccf3d 100644
--- a/book.json
+++ b/book.json
@@ -3,17 +3,17 @@
   "description": "OrientDB Documentation",
   "variables": {
     "CE_name": "orientdb-community",
-    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-3.0.36.tar.gz",
+    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-3.0.37.tar.gz",
     "TP2_name": "orientdb-community-tp2",
-    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-community-tp2-3.0.36.tar.gz",
+    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-community-tp2-3.0.37.tar.gz",
     "TP3_name": "orientdb-community-tp3",
-    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-tp3-3.0.36.tar.gz",
+    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-tp3-3.0.37.tar.gz",
     "TP3Spatial_name": "orientdb-community-spatial",
-    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-tp3-3.0.36.tar.gz",
+    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-tp3-3.0.37.tar.gz",
     "javadoc":"http://orientdb.com/javadoc/latest/",
     "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/",
-    "lastGA": "3.0.36",
-    "currentVersion": "3.0.36",
+    "lastGA": "3.0.37",
+    "currentVersion": "3.0.37",
     "demoDBVersion_screenshots": "0.76",
 	"javase": "https://docs.oracle.com/javase/8/docs",
 	"javadoc": "https://orientdb.com/javadoc/develop"

From bf63ee65e26d058669ac3bf3de1768a621754914 Mon Sep 17 00:00:00 2001
From: Luigi Dell'Aquila 
Date: Tue, 9 Feb 2021 20:45:05 +0100
Subject: [PATCH 53/74] Update book-pdf.json

---
 book-pdf.json | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/book-pdf.json b/book-pdf.json
index a42503c1..f8a494f8 100644
--- a/book-pdf.json
+++ b/book-pdf.json
@@ -3,17 +3,17 @@
   "description": "OrientDB Documentation",
   "variables": {
     "CE_name": "orientdb-community",
-    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-3.0.36.tar.gz",
+    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-3.0.37.tar.gz",
     "TP2_name": "orientdb-community-tp2",
-    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-community-tp2-3.0.36.tar.gz",
+    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-community-tp2-3.0.37.tar.gz",
     "TP3_name": "orientdb-community-tp3",
-    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-tp3-3.0.36.tar.gz",
+    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-tp3-3.0.37.tar.gz",
     "TP3Spatial_name": "orientdb-community-spatial",
-    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.36/orientdb-tp3-3.0.36.tar.gz",
+    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-tp3-3.0.37.tar.gz",
     "javadoc":"http://orientdb.com/javadoc/latest/",
     "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/",
-    "lastGA": "3.0.36",
-    "currentVersion": "3.0.36",
+    "lastGA": "3.0.37",
+    "currentVersion": "3.0.37",
     "demoDBVersion_screenshots": "0.76"
   },  
   "links": {

From 077030f52c5dba5cb4d85d5e3986c909ea9847b1 Mon Sep 17 00:00:00 2001
From: Luca Garulli 
Date: Mon, 10 May 2021 10:10:37 -0400
Subject: [PATCH 54/74] Update Extend-Server.md

Fixed issue #378
---
 plugins/Extend-Server.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/Extend-Server.md b/plugins/Extend-Server.md
index 4c1b2c70..87acd4cc 100644
--- a/plugins/Extend-Server.md
+++ b/plugins/Extend-Server.md
@@ -444,7 +444,7 @@ public class OServerCommandGetHello extends OServerCommandAuthenticatedDbAbstrac
   }
 
   public String[] getNames() {
-    return new String[]{"GET|hello/* POST|hello/*"};
+    return new String[]{"GET|hello/*","POST|hello/*"};
   }
 }
 ```

From 1407636a35733282451ae783e529da6ec9c15ea8 Mon Sep 17 00:00:00 2001
From: Luca Garulli 
Date: Tue, 11 May 2021 12:47:45 -0400
Subject: [PATCH 55/74] Fixed issue #379

---
 plugins/Extend-Server.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/Extend-Server.md b/plugins/Extend-Server.md
index 87acd4cc..99115416 100644
--- a/plugins/Extend-Server.md
+++ b/plugins/Extend-Server.md
@@ -437,7 +437,7 @@ public class OServerCommandGetHello extends OServerCommandAuthenticatedDbAbstrac
     }
 
     // SEND BACK THE RESPONSE AS TEXT
-    iResponse.send(OHttpUtils.STATUS_OK_CODE, "OK", null, OHttpUtils.CONTENT_TEXT_PLAIN, result);
+    iResponse.send(OHttpUtils.STATUS_OK_CODE, "OK", null, result, OHttpUtils.CONTENT_TEXT_PLAIN);
 
     // RETURN ALWAYS FALSE, UNLESS YOU WANT TO EXECUTE COMMANDS IN CHAIN
     return false;

From 4f299c5e526307acf26eacef479ca0490113220e Mon Sep 17 00:00:00 2001
From: Luigi Dell'Aquila 
Date: Mon, 14 Jun 2021 17:04:50 +0200
Subject: [PATCH 56/74] Update book.json

---
 book.json | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/book.json b/book.json
index 2f7ccf3d..8105e571 100644
--- a/book.json
+++ b/book.json
@@ -3,17 +3,17 @@
   "description": "OrientDB Documentation",
   "variables": {
     "CE_name": "orientdb-community",
-    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-3.0.37.tar.gz",
+    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-3.0.38.tar.gz",
     "TP2_name": "orientdb-community-tp2",
-    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-community-tp2-3.0.37.tar.gz",
+    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-community-tp2-3.0.38.tar.gz",
     "TP3_name": "orientdb-community-tp3",
-    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-tp3-3.0.37.tar.gz",
+    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-tp3-3.0.38.tar.gz",
     "TP3Spatial_name": "orientdb-community-spatial",
-    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-tp3-3.0.37.tar.gz",
+    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-tp3-3.0.38.tar.gz",
     "javadoc":"http://orientdb.com/javadoc/latest/",
     "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/",
-    "lastGA": "3.0.37",
-    "currentVersion": "3.0.37",
+    "lastGA": "3.0.38",
+    "currentVersion": "3.0.38",
     "demoDBVersion_screenshots": "0.76",
 	"javase": "https://docs.oracle.com/javase/8/docs",
 	"javadoc": "https://orientdb.com/javadoc/develop"

From 1db68dcb2dc1315043960793b6d21d6faf03872a Mon Sep 17 00:00:00 2001
From: Luigi Dell'Aquila 
Date: Mon, 14 Jun 2021 17:05:25 +0200
Subject: [PATCH 57/74] Update book-pdf.json

---
 book-pdf.json | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/book-pdf.json b/book-pdf.json
index f8a494f8..87e6bc3b 100644
--- a/book-pdf.json
+++ b/book-pdf.json
@@ -3,17 +3,17 @@
   "description": "OrientDB Documentation",
   "variables": {
     "CE_name": "orientdb-community",
-    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-3.0.37.tar.gz",
+    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-3.0.38.tar.gz",
     "TP2_name": "orientdb-community-tp2",
-    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-community-tp2-3.0.37.tar.gz",
+    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-community-tp2-3.0.38.tar.gz",
     "TP3_name": "orientdb-community-tp3",
-    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-tp3-3.0.37.tar.gz",
+    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-tp3-3.0.38.tar.gz",
     "TP3Spatial_name": "orientdb-community-spatial",
-    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.37/orientdb-tp3-3.0.37.tar.gz",
+    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-tp3-3.0.38.tar.gz",
     "javadoc":"http://orientdb.com/javadoc/latest/",
     "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/",
-    "lastGA": "3.0.37",
-    "currentVersion": "3.0.37",
+    "lastGA": "3.0.38",
+    "currentVersion": "3.0.38",
     "demoDBVersion_screenshots": "0.76"
   },  
   "links": {

From 2ff355a29c84ab755e679b2cfa052c309967bdbe Mon Sep 17 00:00:00 2001
From: Luigi Dell'Aquila 
Date: Fri, 10 Dec 2021 16:28:57 +0100
Subject: [PATCH 58/74] Update book.json

---
 book.json | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/book.json b/book.json
index 8105e571..9d912dce 100644
--- a/book.json
+++ b/book.json
@@ -3,17 +3,17 @@
   "description": "OrientDB Documentation",
   "variables": {
     "CE_name": "orientdb-community",
-    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-3.0.38.tar.gz",
+    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-3.0.41.tar.gz",
     "TP2_name": "orientdb-community-tp2",
-    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-community-tp2-3.0.38.tar.gz",
+    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-community-tp2-3.0.41.tar.gz",
     "TP3_name": "orientdb-community-tp3",
-    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-tp3-3.0.38.tar.gz",
+    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-tp3-3.0.41.tar.gz",
     "TP3Spatial_name": "orientdb-community-spatial",
-    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-tp3-3.0.38.tar.gz",
+    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-tp3-3.0.41.tar.gz",
     "javadoc":"http://orientdb.com/javadoc/latest/",
     "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/",
-    "lastGA": "3.0.38",
-    "currentVersion": "3.0.38",
+    "lastGA": "3.0.41",
+    "currentVersion": "3.0.41",
     "demoDBVersion_screenshots": "0.76",
 	"javase": "https://docs.oracle.com/javase/8/docs",
 	"javadoc": "https://orientdb.com/javadoc/develop"

From 88aad6fa5be4370ebcc985630dc5f73a597cf122 Mon Sep 17 00:00:00 2001
From: Luigi Dell'Aquila 
Date: Fri, 10 Dec 2021 16:29:34 +0100
Subject: [PATCH 59/74] Update book-pdf.json

---
 book-pdf.json | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/book-pdf.json b/book-pdf.json
index 87e6bc3b..47414db3 100644
--- a/book-pdf.json
+++ b/book-pdf.json
@@ -3,17 +3,17 @@
   "description": "OrientDB Documentation",
   "variables": {
     "CE_name": "orientdb-community",
-    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-3.0.38.tar.gz",
+    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-3.0.41.tar.gz",
     "TP2_name": "orientdb-community-tp2",
-    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-community-tp2-3.0.38.tar.gz",
+    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-community-tp2-3.0.41.tar.gz",
     "TP3_name": "orientdb-community-tp3",
-    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-tp3-3.0.38.tar.gz",
+    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-tp3-3.0.41.tar.gz",
     "TP3Spatial_name": "orientdb-community-spatial",
-    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.38/orientdb-tp3-3.0.38.tar.gz",
+    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-tp3-3.0.41.tar.gz",
     "javadoc":"http://orientdb.com/javadoc/latest/",
     "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/",
-    "lastGA": "3.0.38",
-    "currentVersion": "3.0.38",
+    "lastGA": "3.0.41",
+    "currentVersion": "3.0.41",
     "demoDBVersion_screenshots": "0.76"
   },  
   "links": {

From 6cfa2e754667a6831cd40fa3bbd371751c0d7ff0 Mon Sep 17 00:00:00 2001
From: Luigi Dell'Aquila 
Date: Thu, 27 Jan 2022 09:20:07 +0100
Subject: [PATCH 60/74] Update book.json

---
 book.json | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/book.json b/book.json
index 9d912dce..a4b6a057 100644
--- a/book.json
+++ b/book.json
@@ -3,17 +3,17 @@
   "description": "OrientDB Documentation",
   "variables": {
     "CE_name": "orientdb-community",
-    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-3.0.41.tar.gz",
+    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.42/orientdb-3.0.42.tar.gz",
     "TP2_name": "orientdb-community-tp2",
-    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-community-tp2-3.0.41.tar.gz",
+    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.42/orientdb-community-tp2-3.0.42.tar.gz",
     "TP3_name": "orientdb-community-tp3",
-    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-tp3-3.0.41.tar.gz",
+    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.42/orientdb-tp3-3.0.42.tar.gz",
     "TP3Spatial_name": "orientdb-community-spatial",
-    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-tp3-3.0.41.tar.gz",
+    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.42/orientdb-tp3-3.0.42.tar.gz",
     "javadoc":"http://orientdb.com/javadoc/latest/",
     "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/",
-    "lastGA": "3.0.41",
-    "currentVersion": "3.0.41",
+    "lastGA": "3.0.42",
+    "currentVersion": "3.0.42",
     "demoDBVersion_screenshots": "0.76",
 	"javase": "https://docs.oracle.com/javase/8/docs",
 	"javadoc": "https://orientdb.com/javadoc/develop"

From fbb8c4602a68b4ed75775417bcd62c1af5201a9f Mon Sep 17 00:00:00 2001
From: Luigi Dell'Aquila 
Date: Thu, 27 Jan 2022 09:20:47 +0100
Subject: [PATCH 61/74] Update book-pdf.json

---
 book-pdf.json | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/book-pdf.json b/book-pdf.json
index 47414db3..a50c5ea3 100644
--- a/book-pdf.json
+++ b/book-pdf.json
@@ -3,17 +3,17 @@
   "description": "OrientDB Documentation",
   "variables": {
     "CE_name": "orientdb-community",
-    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-3.0.41.tar.gz",
+    "CE_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.42/orientdb-3.0.42.tar.gz",
     "TP2_name": "orientdb-community-tp2",
-    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-community-tp2-3.0.41.tar.gz",
+    "TP2_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.42/orientdb-community-tp2-3.0.42.tar.gz",
     "TP3_name": "orientdb-community-tp3",
-    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-tp3-3.0.41.tar.gz",
+    "TP3_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.42/orientdb-tp3-3.0.42.tar.gz",
     "TP3Spatial_name": "orientdb-community-spatial",
-    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.41/orientdb-tp3-3.0.41.tar.gz",
+    "TP3Spatial_link": "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.0.42/orientdb-tp3-3.0.42.tar.gz",
     "javadoc":"http://orientdb.com/javadoc/latest/",
     "source_repository":"https://github.com/orientechnologies/orientdb/blob/develop/",
-    "lastGA": "3.0.41",
-    "currentVersion": "3.0.41",
+    "lastGA": "3.0.42",
+    "currentVersion": "3.0.42",
     "demoDBVersion_screenshots": "0.76"
   },  
   "links": {

From 2fcfc25baa92af9a935b7376ed4583d450da90bf Mon Sep 17 00:00:00 2001
From: Tglman 
Date: Fri, 3 Jan 2020 18:11:31 +0000
Subject: [PATCH 62/74] first experiment for mdbook support

---
 book.toml               | 18 ++++++++++++++++++
 book.json => book_.json |  0
 2 files changed, 18 insertions(+)
 create mode 100644 book.toml
 rename book.json => book_.json (100%)

diff --git a/book.toml b/book.toml
new file mode 100644
index 00000000..ad01f2a4
--- /dev/null
+++ b/book.toml
@@ -0,0 +1,18 @@
+[book]
+title = "Example book"
+author = "John Doe"
+description = "The example book covers examples."
+src = "./"
+
+[build]
+build-dir = "my-example-book"
+create-missing = false
+
+[preprocessor.index]
+
+[preprocessor.links]
+
+[output.html]
+
+[output.html.search]
+limit-results = 15
diff --git a/book.json b/book_.json
similarity index 100%
rename from book.json
rename to book_.json

From dccf7de8ae241cce20768fce68c0e5ecc6d6603f Mon Sep 17 00:00:00 2001
From: Tglman 
Date: Wed, 22 Jan 2020 19:55:38 +0000
Subject: [PATCH 63/74] updated meta informations in book.toml

---
 book.toml | 28 ++++++++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git a/book.toml b/book.toml
index ad01f2a4..33a35325 100644
--- a/book.toml
+++ b/book.toml
@@ -1,11 +1,11 @@
 [book]
-title = "Example book"
-author = "John Doe"
-description = "The example book covers examples."
+title = "OrientDB"
+author = "community"
+description = "OrientDB documentation"
 src = "./"
 
 [build]
-build-dir = "my-example-book"
+build-dir = "orientdb-book"
 create-missing = false
 
 [preprocessor.index]
@@ -14,5 +14,25 @@ create-missing = false
 
 [output.html]
 
+[output.html.fold]
+enable = true
+level = 0
+
 [output.html.search]
 limit-results = 15
+
+[preprocessor.variables.variables]
+CE_name= "orientdb-community"
+CE_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-3.1.0-beta1.tar.gz"
+TP2_name = "orientdb-community-tp2"
+TP2_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-3.1.0-beta1.tar.gz"
+TP3_name = "orientdb-community-tp3"
+TP3_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-tp3-3.1.0-beta1.tar.gz"
+TP3Spatial_name = "orientdb-community-spatial"
+TP3Spatial_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-tp3-3.1.0-beta1.tar.gz"
+source_repository = "https://github.com/orientechnologies/orientdb/blob/develop/"
+lastGA = "3.1.0-beta1"
+currentVersion =  "3.1.0-beta1"
+demoDBVersion_screenshots ="0.76"
+javase = "https://docs.oracle.com/javase/8/docs"
+javadoc = "https://orientdb.com/javadoc/develop"

From 15e42fee34d40815a0e71e209950b5a4ea096525 Mon Sep 17 00:00:00 2001
From: Tglman 
Date: Mon, 23 Aug 2021 13:02:48 +0100
Subject: [PATCH 64/74] removed search frontmatter from markdown files

---
 Upgrading-Distributed-Environment.md                         | 4 ----
 admin/Backup-and-Restore.md                                  | 4 ----
 admin/Configuration.md                                       | 4 ----
 admin/Docker-Home.md                                         | 4 ----
 admin/Export-Format.md                                       | 4 ----
 admin/Export-and-Import.md                                   | 4 ----
 admin/Functions-Creation.md                                  | 4 ----
 admin/Functions-DB-Access.md                                 | 4 ----
 admin/Functions-Server.md                                    | 4 ----
 admin/Functions-Use.md                                       | 4 ----
 admin/Functions.md                                           | 4 ----
 admin/Import-From-RDBMS.md                                   | 4 ----
 admin/Import-RDBMS-to-Document-Model.md                      | 4 ----
 admin/Import-RDBMS-to-Graph-Model.md                         | 4 ----
 admin/Import-from-Neo4j-into-OrientDB.md                     | 4 ----
 admin/Import-from-Neo4j-using-GraphML.md                     | 4 ----
 admin/Incremental-Backup-And-Restore.md                      | 4 ----
 admin/JMX.md                                                 | 4 ----
 admin/Logging.md                                             | 4 ----
 admin/README.md                                              | 4 ----
 admin/Scheduler.md                                           | 4 ----
 admin/Unix-Service.md                                        | 4 ----
 admin/Windows-Service.md                                     | 4 ----
 apis-and-drivers/README.md                                   | 4 ----
 console/Console-Command-Backup.md                            | 4 ----
 console/Console-Command-Browse-Class.md                      | 4 ----
 console/Console-Command-Browse-Cluster.md                    | 4 ----
 console/Console-Command-Check-Database.md                    | 4 ----
 console/Console-Command-Classes.md                           | 4 ----
 console/Console-Command-Cluster-Status.md                    | 4 ----
 console/Console-Command-Clusters.md                          | 4 ----
 console/Console-Command-Config-Get.md                        | 4 ----
 console/Console-Command-Config-Set.md                        | 4 ----
 console/Console-Command-Config.md                            | 4 ----
 console/Console-Command-Connect.md                           | 4 ----
 console/Console-Command-Create-Database.md                   | 4 ----
 console/Console-Command-Declare-Intent.md                    | 4 ----
 console/Console-Command-Dictionary-Get.md                    | 4 ----
 console/Console-Command-Dictionary-Keys.md                   | 4 ----
 console/Console-Command-Dictionary-Put.md                    | 4 ----
 console/Console-Command-Dictionary-Remove.md                 | 4 ----
 console/Console-Command-Disconnect.md                        | 4 ----
 console/Console-Command-Display-Raw-Record.md                | 4 ----
 console/Console-Command-Display-Record.md                    | 4 ----
 console/Console-Command-Drop-Database.md                     | 4 ----
 console/Console-Command-Drop-Server-User.md                  | 4 ----
 console/Console-Command-Export-Record.md                     | 4 ----
 console/Console-Command-Export.md                            | 4 ----
 console/Console-Command-Freeze-Db.md                         | 4 ----
 console/Console-Command-Get.md                               | 4 ----
 console/Console-Command-Import.md                            | 4 ----
 console/Console-Command-Indexes.md                           | 4 ----
 console/Console-Command-Info-Class.md                        | 4 ----
 console/Console-Command-Info-Property.md                     | 4 ----
 console/Console-Command-Info.md                              | 4 ----
 console/Console-Command-Js.md                                | 4 ----
 console/Console-Command-Jss.md                               | 4 ----
 console/Console-Command-List-Connections.md                  | 4 ----
 console/Console-Command-List-Databases.md                    | 4 ----
 console/Console-Command-List-Server-Users.md                 | 4 ----
 console/Console-Command-List-Servers.md                      | 4 ----
 console/Console-Command-Load-Record.md                       | 4 ----
 console/Console-Command-Load-Script.md                       | 4 ----
 console/Console-Command-Profiler.md                          | 4 ----
 console/Console-Command-Properties.md                        | 4 ----
 console/Console-Command-Release-Db.md                        | 4 ----
 console/Console-Command-Reload-Record.md                     | 4 ----
 console/Console-Command-Repair-Database.md                   | 4 ----
 console/Console-Command-Restore.md                           | 4 ----
 console/Console-Command-Set.md                               | 4 ----
 console/README.md                                            | 4 ----
 datamodeling/Concepts.md                                     | 4 ----
 datamodeling/Multi-Tenant.md                                 | 4 ----
 datamodeling/Tutorial-Document-and-graph-model.md            | 4 ----
 distributed/Data-Centers.md                                  | 4 ----
 distributed/Distributed-Architecture-Lifecycle.md            | 4 ----
 distributed/Distributed-Architecture.md                      | 4 ----
 distributed/Distributed-Configuration-Tuning.md              | 4 ----
 distributed/Distributed-Configuration.md                     | 4 ----
 distributed/Distributed-Runtime.md                           | 4 ----
 distributed/Distributed-Server-Manager.md                    | 4 ----
 distributed/Distributed-Sharding.md                          | 4 ----
 distributed/Replication.md                                   | 4 ----
 dotnet/NET-Database-Clusters.md                              | 4 ----
 dotnet/NET-Database-Command.md                               | 4 ----
 dotnet/NET-Database-GetClusterIdFor.md                       | 4 ----
 dotnet/NET-Database-GetClusterNameFor.md                     | 4 ----
 dotnet/NET-Database-GetClusters.md                           | 4 ----
 dotnet/NET-Database-Gremlin.md                               | 4 ----
 dotnet/NET-Database-Insert.md                                | 4 ----
 dotnet/NET-Database-JS.md                                    | 4 ----
 dotnet/NET-Database-Query.md                                 | 4 ----
 dotnet/NET-Database-Select.md                                | 4 ----
 dotnet/NET-Database-SqlBatch.md                              | 4 ----
 dotnet/NET-Database-Update.md                                | 4 ----
 dotnet/NET-Database.md                                       | 4 ----
 dotnet/NET-Query-Conditions.md                               | 4 ----
 dotnet/NET-Query-Limiter.md                                  | 4 ----
 dotnet/NET-Query-Sort.md                                     | 4 ----
 dotnet/NET-Query.md                                          | 4 ----
 dotnet/NET-Server-ConfigGet.md                               | 4 ----
 dotnet/NET-Server-ConfigList.md                              | 4 ----
 dotnet/NET-Server-ConfigSet.md                               | 4 ----
 dotnet/NET-Server-CreateDatabase.md                          | 4 ----
 dotnet/NET-Server-DatabaseExists.md                          | 4 ----
 dotnet/NET-Server-Databases.md                               | 4 ----
 dotnet/NET-Server-DropDatabase.md                            | 4 ----
 dotnet/NET-Server.md                                         | 4 ----
 dotnet/NET-Transactions-Add.md                               | 4 ----
 dotnet/NET-Transactions-AddEdge.md                           | 4 ----
 dotnet/NET-Transactions-AddOrUpdate.md                       | 4 ----
 dotnet/NET-Transactions-Delete.md                            | 4 ----
 dotnet/NET-Transactions-GetPendingObject.md                  | 4 ----
 dotnet/NET-Transactions-Update.md                            | 4 ----
 dotnet/NET-Transactions.md                                   | 4 ----
 dotnet/NET.md                                                | 4 ----
 ee/Auditing.md                                               | 4 ----
 ee/Enterprise-Edition.md                                     | 4 ----
 etl/Block.md                                                 | 4 ----
 etl/Configuration-File.md                                    | 4 ----
 etl/ETL-Introduction.md                                      | 4 ----
 etl/Extractor.md                                             | 4 ----
 etl/Import-a-tree-structure.md                               | 4 ----
 etl/Import-from-CSV-to-a-Graph.md                            | 4 ----
 etl/Import-from-DBMS.md                                      | 4 ----
 etl/Import-from-DBPedia.md                                   | 4 ----
 etl/Import-from-JSON.md                                      | 4 ----
 etl/Import-from-PARSE.md                                     | 4 ----
 etl/Loader.md                                                | 4 ----
 etl/Source.md                                                | 4 ----
 etl/Transformer.md                                           | 4 ----
 general/Concurrency.md                                       | 4 ----
 general/Inheritance.md                                       | 4 ----
 general/Managing-Dates.md                                    | 4 ----
 general/Schema.md                                            | 4 ----
 general/Types.md                                             | 4 ----
 gettingstarted/Chat-use-case.md                              | 4 ----
 gettingstarted/Key-Value-use-case.md                         | 4 ----
 gettingstarted/Queue-use-case.md                             | 4 ----
 gettingstarted/README.md                                     | 4 ----
 gettingstarted/Time-series-use-case.md                       | 4 ----
 gettingstarted/Tutorial-Classes.md                           | 4 ----
 gettingstarted/Tutorial-Clusters.md                          | 4 ----
 gettingstarted/Tutorial-Installation-Operations.md           | 4 ----
 gettingstarted/Tutorial-Installation.md                      | 4 ----
 gettingstarted/Tutorial-Introduction-to-the-NoSQL-world.md   | 4 ----
 gettingstarted/Tutorial-Java-Hooks.md                        | 4 ----
 gettingstarted/Tutorial-Record-ID.md                         | 4 ----
 gettingstarted/Tutorial-Relationships.md                     | 4 ----
 gettingstarted/Tutorial-Run-the-console.md                   | 4 ----
 gettingstarted/Tutorial-Run-the-server.md                    | 4 ----
 gettingstarted/Tutorial-Run-the-studio.md                    | 4 ----
 gettingstarted/Tutorial-SQL.md                               | 4 ----
 gettingstarted/Tutorial-Using-schema-with-graphs.md          | 4 ----
 gettingstarted/Tutorial-Working-with-graphs.md               | 4 ----
 gremlin/Gremlin.md                                           | 4 ----
 indexing/Auto-Sharding-Index.md                              | 4 ----
 indexing/Full-Text-Index.md                                  | 4 ----
 indexing/FullTextIndex.md                                    | 4 ----
 indexing/Hash-Index.md                                       | 4 ----
 indexing/Indexes.md                                          | 4 ----
 indexing/SB-Tree-index.md                                    | 4 ----
 indexing/Spatial-Index.md                                    | 4 ----
 internals/Caching.md                                         | 4 ----
 internals/Clusters.md                                        | 4 ----
 internals/Custom-Index-Engine.md                             | 4 ----
 internals/DB-Server.md                                       | 4 ----
 internals/Dynamic-Hooks.md                                   | 4 ----
 internals/Embedded-Server.md                                 | 4 ----
 internals/Hook.md                                            | 4 ----
 internals/Internals.md                                       | 4 ----
 internals/Limits.md                                          | 4 ----
 internals/Local-Storage.md                                   | 4 ----
 internals/Memory-storage.md                                  | 4 ----
 internals/Network-Binary-Protocol-Commands.md                | 4 ----
 internals/Network-Binary-Protocol.md                         | 4 ----
 internals/Paginated-Local-Storage.md                         | 4 ----
 internals/Record-CSV-Serialization.md                        | 4 ----
 internals/Record-Schemaless-Binary-Serialization.md          | 4 ----
 internals/RidBag.md                                          | 4 ----
 internals/Server-Status.md                                   | 4 ----
 internals/Storages.md                                        | 4 ----
 internals/Transactions.md                                    | 4 ----
 internals/Web-Server.md                                      | 4 ----
 internals/Write-Ahead-Log.md                                 | 4 ----
 internals/plocal-storage-disk-cache.md                       | 4 ----
 internals/plocal-storage-engine.md                           | 4 ----
 java/Binary-Data.md                                          | 4 ----
 java/Document-API-Class.md                                   | 4 ----
 java/Document-API-Database.md                                | 4 ----
 java/Document-API-Documents.md                               | 4 ----
 java/Document-API-Property.md                                | 4 ----
 java/Document-Database.md                                    | 4 ----
 java/Fetching-Strategies.md                                  | 4 ----
 java/Graph-Batch-Insert.md                                   | 4 ----
 java/Graph-Blueprints.md                                     | 4 ----
 java/Graph-Consistency.md                                    | 4 ----
 java/Graph-Database-Tinkerpop.md                             | 4 ----
 java/Graph-Factory.md                                        | 4 ----
 java/Graph-Schema-Class.md                                   | 4 ----
 java/Graph-Schema-Property.md                                | 4 ----
 java/Graph-Schema.md                                         | 4 ----
 java/Graph-VE.md                                             | 4 ----
 java/JPA-Configuration.md                                    | 4 ----
 java/Java-API.md                                             | 4 ----
 java/Java-Hooks.md                                           | 4 ----
 java/Java-Multi-Threading-Usage.md                           | 4 ----
 java/Java-Multi-Threading.md                                 | 4 ----
 java/Java-Schema-Api.md                                      | 4 ----
 java/Java-Traverse.md                                        | 4 ----
 java/Java-Web-Apps.md                                        | 4 ----
 java/Lightweight-Edges.md                                    | 4 ----
 java/Live-Query-Comparison.md                                | 4 ----
 java/Live-Query-Intro.md                                     | 4 ----
 java/Live-Query-Java.md                                      | 4 ----
 java/Live-Query.md                                           | 4 ----
 java/Object-2-Record-Java-Binding.md                         | 4 ----
 java/Object-DB-Interface.md                                  | 4 ----
 java/Object-Database.md                                      | 4 ----
 java/Partitioned-Graphs.md                                   | 4 ----
 java/Transaction-propagation.md                              | 4 ----
 java/Tutorial-Java.md                                        | 4 ----
 jdbc-driver/README.md                                        | 4 ----
 js/Javascript-Command.md                                     | 4 ----
 js/Javascript-Driver.md                                      | 4 ----
 legacy/Choosing-between-Graph-or-Document-API.md             | 4 ----
 legacy/DocumentDB-Comparison.md                              | 4 ----
 legacy/GraphDB-Comparison.md                                 | 4 ----
 legacy/Hackaton.md                                           | 4 ----
 legacy/Migration-from-1.3.x-to-1.4.x.md                      | 4 ----
 legacy/Migration-from-1.4.x-to-1.5.x.md                      | 4 ----
 legacy/Migration-from-1.5.x-to-1.6.x.md                      | 4 ----
 legacy/Migration-from-1.6.x-to-1.7.x.md                      | 4 ----
 legacy/Migration-from-1.7.x-to-2.0.x.md                      | 4 ----
 legacy/Presentations.md                                      | 4 ----
 legacy/Query-Examples.md                                     | 4 ----
 legacy/Quick-Start.md                                        | 4 ----
 legacy/Release-2.1.0.md                                      | 4 ----
 legacy/Release-2.2.0.md                                      | 4 ----
 legacy/Use-Cases.md                                          | 4 ----
 marcopolo/MarcoPolo-Database.md                              | 4 ----
 marcopolo/MarcoPolo-Date.md                                  | 4 ----
 marcopolo/MarcoPolo-DateTime.md                              | 4 ----
 marcopolo/MarcoPolo-Document.md                              | 4 ----
 marcopolo/MarcoPolo-FetchPlan.md                             | 4 ----
 marcopolo/MarcoPolo-RID.md                                   | 4 ----
 marcopolo/MarcoPolo-Server.md                                | 4 ----
 marcopolo/MarcoPolo-Structs.md                               | 4 ----
 marcopolo/MarcoPolo-Types.md                                 | 4 ----
 marcopolo/MarcoPolo-command.md                               | 4 ----
 marcopolo/MarcoPolo-create-db.md                             | 4 ----
 marcopolo/MarcoPolo-create-record.md                         | 4 ----
 marcopolo/MarcoPolo-db-countrecords.md                       | 4 ----
 marcopolo/MarcoPolo-db-exists.md                             | 4 ----
 marcopolo/MarcoPolo-db-reload.md                             | 4 ----
 marcopolo/MarcoPolo-db-size.md                               | 4 ----
 marcopolo/MarcoPolo-delete-record.md                         | 4 ----
 marcopolo/MarcoPolo-distrib-config.md                        | 4 ----
 marcopolo/MarcoPolo-drop-db.md                               | 4 ----
 marcopolo/MarcoPolo-live-query-unsubscribe.md                | 4 ----
 marcopolo/MarcoPolo-live-query.md                            | 4 ----
 marcopolo/MarcoPolo-load-record.md                           | 4 ----
 marcopolo/MarcoPolo-script.md                                | 4 ----
 marcopolo/MarcoPolo-update-record.md                         | 4 ----
 marcopolo/MarcoPolo.md                                       | 4 ----
 misc/Backward-compatibility.md                               | 4 ----
 misc/Cluster-Selection.md                                    | 4 ----
 misc/Contribute-to-OrientDB.md                               | 4 ----
 misc/Editions.md                                             | 4 ----
 misc/Get-in-Touch.md                                         | 4 ----
 misc/OrientDB-REST.md                                        | 4 ----
 misc/Report-an-issue.md                                      | 4 ----
 misc/Roadmap.md                                              | 4 ----
 misc/Stress-Test-Tool.md                                     | 4 ----
 misc/Troubleshooting-Java.md                                 | 4 ----
 misc/Troubleshooting.md                                      | 4 ----
 neo4j-to-orientdb-importer/README.md                         | 4 ----
 orientjs/Client.md                                           | 4 ----
 orientjs/OrientJS-Class-Classes.md                           | 4 ----
 orientjs/OrientJS-Class-Properties.md                        | 4 ----
 orientjs/OrientJS-Class-Records.md                           | 4 ----
 orientjs/OrientJS-Class.md                                   | 4 ----
 orientjs/OrientJS-Database.md                                | 4 ----
 orientjs/OrientJS-Events.md                                  | 4 ----
 orientjs/OrientJS-Functions.md                               | 4 ----
 orientjs/OrientJS-Index.md                                   | 4 ----
 orientjs/OrientJS-Legacy.md                                  | 4 ----
 orientjs/OrientJS-Query-Create.md                            | 4 ----
 orientjs/OrientJS-Query-Delete.md                            | 4 ----
 orientjs/OrientJS-Query-Fetch.md                             | 4 ----
 orientjs/OrientJS-Query-Insert.md                            | 4 ----
 orientjs/OrientJS-Query-Live-Query.md                        | 4 ----
 orientjs/OrientJS-Query-Select.md                            | 4 ----
 orientjs/OrientJS-Query-Transform.md                         | 4 ----
 orientjs/OrientJS-Query-Traverse.md                          | 4 ----
 orientjs/OrientJS-Query-Update.md                            | 4 ----
 orientjs/OrientJS-Query.md                                   | 4 ----
 orientjs/OrientJS-Record.md                                  | 4 ----
 orientjs/OrientJS-Server.md                                  | 4 ----
 orientjs/OrientJS-Transactions.md                            | 4 ----
 orientjs/OrientJS.md                                         | 4 ----
 orientjs/Reference.md                                        | 4 ----
 orientjs/Session.md                                          | 4 ----
 php/PHP-Client.md                                            | 4 ----
 php/PHP-ClusterMap-dropClusterID.md                          | 4 ----
 php/PHP-ClusterMap-getClusterID.md                           | 4 ----
 php/PHP-ClusterMap-getIdList.md                              | 4 ----
 php/PHP-ClusterMap.md                                        | 4 ----
 php/PHP-Command.md                                           | 4 ----
 php/PHP-Database.md                                          | 4 ----
 php/PHP-ID.md                                                | 4 ----
 php/PHP-Query.md                                             | 4 ----
 php/PHP-Record-getOClass.md                                  | 4 ----
 php/PHP-Record-getOData.md                                   | 4 ----
 php/PHP-Record-getRid.md                                     | 4 ----
 php/PHP-Record-jsonSerialize.md                              | 4 ----
 php/PHP-Record-recordSerialize.md                            | 4 ----
 php/PHP-Record-setOClass.md                                  | 4 ----
 php/PHP-Record-setOData.md                                   | 4 ----
 php/PHP-Record-setRid.md                                     | 4 ----
 php/PHP-Record.md                                            | 4 ----
 php/PHP-Server.md                                            | 4 ----
 php/PHP-Tx-attach.md                                         | 4 ----
 php/PHP-Tx-begin.md                                          | 4 ----
 php/PHP-Tx-commit.md                                         | 4 ----
 php/PHP-Tx-rollback.md                                       | 4 ----
 php/PHP-Tx.md                                                | 4 ----
 php/PHP-dataClusterAdd.md                                    | 4 ----
 php/PHP-dataClusterCount.md                                  | 4 ----
 php/PHP-dataClusterDataRange.md                              | 4 ----
 php/PHP-dataClusterDrop.md                                   | 4 ----
 php/PHP-dbCountRecords.md                                    | 4 ----
 php/PHP-dbCreate.md                                          | 4 ----
 php/PHP-dbDrop.md                                            | 4 ----
 php/PHP-dbExists.md                                          | 4 ----
 php/PHP-dbList.md                                            | 4 ----
 php/PHP-dbReload.md                                          | 4 ----
 php/PHP-dbSize.md                                            | 4 ----
 php/PHP-queryAsync.md                                        | 4 ----
 php/PHP-recordCreate.md                                      | 4 ----
 php/PHP-recordLoad.md                                        | 4 ----
 php/PHP-recordUpdate.md                                      | 4 ----
 php/PHP-sqlBatch.md                                          | 4 ----
 php/PHP.md                                                   | 4 ----
 plugins/Automatic-Backup.md                                  | 4 ----
 plugins/Extend-Server.md                                     | 4 ----
 plugins/Gephi.md                                             | 4 ----
 plugins/JMX-Plugin.md                                        | 4 ----
 plugins/Mail-Plugin.md                                       | 4 ----
 plugins/Plugins.md                                           | 4 ----
 plugins/Rexster.md                                           | 4 ----
 plugins/SysLog-Plugin.md                                     | 4 ----
 plugins/spider-box.md                                        | 4 ----
 programs/Client-Programs.md                                  | 4 ----
 programs/Server-Startup-Programs.md                          | 4 ----
 pyorient/PyOrient-Client-Batch.md                            | 4 ----
 pyorient/PyOrient-Client-Command.md                          | 4 ----
 pyorient/PyOrient-Client-DB-Count-Records.md                 | 4 ----
 pyorient/PyOrient-Client-DB-Create.md                        | 4 ----
 pyorient/PyOrient-Client-DB-Drop.md                          | 4 ----
 pyorient/PyOrient-Client-DB-Exists.md                        | 4 ----
 pyorient/PyOrient-Client-DB-List.md                          | 4 ----
 pyorient/PyOrient-Client-DB-Open.md                          | 4 ----
 pyorient/PyOrient-Client-DB-Reload.md                        | 4 ----
 pyorient/PyOrient-Client-DB-Size.md                          | 4 ----
 pyorient/PyOrient-Client-Data-Cluster-Add.md                 | 4 ----
 pyorient/PyOrient-Client-Data-Cluster-Count.md               | 4 ----
 pyorient/PyOrient-Client-Data-Cluster-Data-Range.md          | 4 ----
 pyorient/PyOrient-Client-Data-Cluster-Drop.md                | 4 ----
 pyorient/PyOrient-Client-Get-Session-Token.md                | 4 ----
 pyorient/PyOrient-Client-Query-Async.md                      | 4 ----
 pyorient/PyOrient-Client-Query.md                            | 4 ----
 pyorient/PyOrient-Client-Record-Create.md                    | 4 ----
 pyorient/PyOrient-Client-Record-Delete.md                    | 4 ----
 pyorient/PyOrient-Client-Record-Load.md                      | 4 ----
 pyorient/PyOrient-Client-Record-Update.md                    | 4 ----
 pyorient/PyOrient-Client-Set-Session-Token.md                | 4 ----
 pyorient/PyOrient-Client-Tx-Commit.md                        | 4 ----
 pyorient/PyOrient-Client.md                                  | 4 ----
 pyorient/PyOrient-OGM-Batch.md                               | 4 ----
 pyorient/PyOrient-OGM-Brokers.md                             | 4 ----
 pyorient/PyOrient-OGM-Connection.md                          | 4 ----
 pyorient/PyOrient-OGM-Schemas.md                             | 4 ----
 pyorient/PyOrient-OGM-Scripts.md                             | 4 ----
 pyorient/PyOrient-OGM.md                                     | 4 ----
 pyorient/PyOrient-Tx-Attach.md                               | 4 ----
 pyorient/PyOrient-Tx-Begin.md                                | 4 ----
 pyorient/PyOrient-Tx-Commit.md                               | 4 ----
 pyorient/PyOrient-Tx-Rollback.md                             | 4 ----
 pyorient/PyOrient.md                                         | 4 ----
 release/Upgrade.md                                           | 4 ----
 release/Upgrading-Distributed-Environment.md                 | 4 ----
 scala/Scala-Language.md                                      | 4 ----
 security/Database-Encryption.md                              | 4 ----
 security/Database-Security.md                                | 4 ----
 security/Security-Config.md                                  | 4 ----
 security/Security-Kerberos-Client-Examples.md                | 4 ----
 security/Security-New-Security-Features-Code-Changes.md      | 4 ----
 security/Security-OrientDB-New-Security-Features.md          | 4 ----
 security/Security-Symmetric-Key-Authentication.md            | 4 ----
 security/Security.md                                         | 4 ----
 security/Server-Security.md                                  | 4 ----
 security/Using-SSL-with-OrientDB.md                          | 5 -----
 sql/Command-Cache.md                                         | 4 ----
 sql/Pagination.md                                            | 4 ----
 sql/SQL-Alter-Class.md                                       | 4 ----
 sql/SQL-Alter-Cluster.md                                     | 4 ----
 sql/SQL-Alter-Database.md                                    | 4 ----
 sql/SQL-Alter-Property.md                                    | 4 ----
 sql/SQL-Alter-Sequence.md                                    | 4 ----
 sql/SQL-Commands.md                                          | 4 ----
 sql/SQL-Create-Class.md                                      | 4 ----
 sql/SQL-Create-Cluster.md                                    | 4 ----
 sql/SQL-Create-Edge.md                                       | 4 ----
 sql/SQL-Create-Function.md                                   | 4 ----
 sql/SQL-Create-Index.md                                      | 4 ----
 sql/SQL-Create-Link.md                                       | 4 ----
 sql/SQL-Create-Property.md                                   | 4 ----
 sql/SQL-Create-Sequence.md                                   | 4 ----
 sql/SQL-Create-User.md                                       | 4 ----
 sql/SQL-Create-Vertex.md                                     | 4 ----
 sql/SQL-Delete-Edge.md                                       | 4 ----
 sql/SQL-Delete-Vertex.md                                     | 4 ----
 sql/SQL-Delete.md                                            | 4 ----
 sql/SQL-Drop-Class.md                                        | 4 ----
 sql/SQL-Drop-Cluster.md                                      | 4 ----
 sql/SQL-Drop-Index.md                                        | 4 ----
 sql/SQL-Drop-Property.md                                     | 4 ----
 sql/SQL-Drop-Sequence.md                                     | 4 ----
 sql/SQL-Drop-User.md                                         | 4 ----
 sql/SQL-Explain.md                                           | 4 ----
 sql/SQL-Find-References.md                                   | 4 ----
 sql/SQL-Functions.md                                         | 4 ----
 sql/SQL-Grant.md                                             | 4 ----
 sql/SQL-HA-Remove-Server.md                                  | 4 ----
 sql/SQL-HA-Set.md                                            | 4 ----
 sql/SQL-HA-Status.md                                         | 4 ----
 sql/SQL-HA-Sync-Cluster.md                                   | 4 ----
 sql/SQL-HA-Sync-Database.md                                  | 4 ----
 sql/SQL-Insert.md                                            | 4 ----
 sql/SQL-Introduction.md                                      | 4 ----
 sql/SQL-Live-Select.md                                       | 4 ----
 sql/SQL-Live-Unsubscribe.md                                  | 4 ----
 sql/SQL-Match.md                                             | 4 ----
 sql/SQL-Methods.md                                           | 4 ----
 sql/SQL-Move-Vertex.md                                       | 4 ----
 sql/SQL-Optimize-Database.md                                 | 4 ----
 sql/SQL-Profile.md                                           | 4 ----
 sql/SQL-Query.md                                             | 4 ----
 sql/SQL-Rebuild-Index.md                                     | 4 ----
 sql/SQL-Revoke.md                                            | 4 ----
 sql/SQL-Traverse.md                                          | 4 ----
 sql/SQL-Truncate-Class.md                                    | 4 ----
 sql/SQL-Truncate-Cluster.md                                  | 4 ----
 sql/SQL-Truncate-Record.md                                   | 4 ----
 sql/SQL-Update-Edge.md                                       | 4 ----
 sql/SQL-Update.md                                            | 4 ----
 sql/SQL-Where.md                                             | 4 ----
 sql/SQL-batch.md                                             | 4 ----
 sql/Sequences-and-auto-increment.md                          | 4 ----
 studio/README.md                                             | 4 ----
 teleporter/Teleporter-Execution-Strategies.md                | 4 ----
 teleporter/Teleporter-Home.md                                | 4 ----
 teleporter/Teleporter-Import-Configuration.md                | 4 ----
 teleporter/Teleporter-Import-Filters.md                      | 4 ----
 teleporter/Teleporter-Inheritance.md                         | 4 ----
 teleporter/Teleporter-Installation-and-Configuration.md      | 4 ----
 ...eporter-Sequential-Executions-and-One-Way-Synchronizer.md | 4 ----
 teleporter/Teleporter-Single-Table-Inheritance.md            | 4 ----
 teleporter/Teleporter-Table-Per-Class-Inheritance.md         | 4 ----
 .../Teleporter-Table-Per-Concrete-Class-Inheritance.md       | 4 ----
 tinkerpop3/OrientDB-TinkerPop3.md                            | 4 ----
 tuning/Performance-Tuning-Document.md                        | 4 ----
 tuning/Performance-Tuning-Graph.md                           | 4 ----
 tuning/Performance-Tuning-Object.md                          | 4 ----
 tuning/Performance-Tuning.md                                 | 4 ----
 tuning/Profiler.md                                           | 4 ----
 477 files changed, 1909 deletions(-)

diff --git a/Upgrading-Distributed-Environment.md b/Upgrading-Distributed-Environment.md
index 32fe683b..835ff690 100644
--- a/Upgrading-Distributed-Environment.md
+++ b/Upgrading-Distributed-Environment.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['upgrade', 'upgrading', 'distributed']
----
 
 # Upgrading a Distributed Environment
 
diff --git a/admin/Backup-and-Restore.md b/admin/Backup-and-Restore.md
index 4e747d6d..c9ee50fc 100644
--- a/admin/Backup-and-Restore.md
+++ b/admin/Backup-and-Restore.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['backup', 'restore']
----
 
 
 # Backup & Restore
diff --git a/admin/Configuration.md b/admin/Configuration.md
index 1aa3e5a9..7f19e112 100644
--- a/admin/Configuration.md
+++ b/admin/Configuration.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['performance', 'performance tuning', 'configuration', 'global configuration', 'config', 'options']
----
 
 # Configuration
 
diff --git a/admin/Docker-Home.md b/admin/Docker-Home.md
index 34e03d1c..95829fc0 100644
--- a/admin/Docker-Home.md
+++ b/admin/Docker-Home.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['server management', 'Docker']
----
 
 # Installing in a Docker Container
 
diff --git a/admin/Export-Format.md b/admin/Export-Format.md
index 6409e402..da6e3894 100644
--- a/admin/Export-Format.md
+++ b/admin/Export-Format.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['export', 'import', 'format']
----
 
 # Export Format
 
diff --git a/admin/Export-and-Import.md b/admin/Export-and-Import.md
index b7ccb419..5377e05c 100644
--- a/admin/Export-and-Import.md
+++ b/admin/Export-and-Import.md
@@ -1,7 +1,3 @@
----
-search: 
-   keywords: ['export', 'import']
----
 
 # Export and Import
 
diff --git a/admin/Functions-Creation.md b/admin/Functions-Creation.md
index b4c52e85..904b4ac0 100644
--- a/admin/Functions-Creation.md
+++ b/admin/Functions-Creation.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['functions', 'create', 'creation', 'javascript']
----
 
 # Creating Functions
 
diff --git a/admin/Functions-DB-Access.md b/admin/Functions-DB-Access.md
index b523284e..3fb945d1 100644
--- a/admin/Functions-DB-Access.md
+++ b/admin/Functions-DB-Access.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['function', 'access', 'database access', 'sandbox']
----
 
 # Accessing the Database from a Function
 
diff --git a/admin/Functions-Server.md b/admin/Functions-Server.md
index 2cc160f1..a672682d 100644
--- a/admin/Functions-Server.md
+++ b/admin/Functions-Server.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['function', 'server', 'server-side']
----
 
 # Server-side Functions
 
diff --git a/admin/Functions-Use.md b/admin/Functions-Use.md
index e948c213..a3c98cc8 100644
--- a/admin/Functions-Use.md
+++ b/admin/Functions-Use.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['function', 'use', 'javascript', 'sql']
----
 
 # Using Functions
 
diff --git a/admin/Functions.md b/admin/Functions.md
index 47e17d95..fdc14047 100644
--- a/admin/Functions.md
+++ b/admin/Functions.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['API', 'function']
----
 
 # Functions
 
diff --git a/admin/Import-From-RDBMS.md b/admin/Import-From-RDBMS.md
index 2de337f8..2130b94d 100644
--- a/admin/Import-From-RDBMS.md
+++ b/admin/Import-From-RDBMS.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['import', 'export', 'RDBMS', 'migration']
----
 
 
 # Import from RDBMS
diff --git a/admin/Import-RDBMS-to-Document-Model.md b/admin/Import-RDBMS-to-Document-Model.md
index 26b2921e..3f37ba14 100644
--- a/admin/Import-RDBMS-to-Document-Model.md
+++ b/admin/Import-RDBMS-to-Document-Model.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['import', 'export', 'migration', 'RDBMS', 'document model']
----
 
 # Import from a Relational Database
 
diff --git a/admin/Import-RDBMS-to-Graph-Model.md b/admin/Import-RDBMS-to-Graph-Model.md
index c77c49f5..ea9bf521 100644
--- a/admin/Import-RDBMS-to-Graph-Model.md
+++ b/admin/Import-RDBMS-to-Graph-Model.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['import', 'export', 'RDBMS', 'migration', 'Graph Model']
----
 
 # Import from RDBMS to Graph Model
 
diff --git a/admin/Import-from-Neo4j-into-OrientDB.md b/admin/Import-from-Neo4j-into-OrientDB.md
index 02c4318c..f0badf2d 100644
--- a/admin/Import-from-Neo4j-into-OrientDB.md
+++ b/admin/Import-from-Neo4j-into-OrientDB.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['import', 'Neo4j', 'migration']
----
 
 # Import from Neo4j
 
diff --git a/admin/Import-from-Neo4j-using-GraphML.md b/admin/Import-from-Neo4j-using-GraphML.md
index ebedd0a8..48ee4eb0 100644
--- a/admin/Import-from-Neo4j-using-GraphML.md
+++ b/admin/Import-from-Neo4j-using-GraphML.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['import', 'Neo4j', 'migration', 'GraphML']
----
 
 | | |
 |----|-----|
diff --git a/admin/Incremental-Backup-And-Restore.md b/admin/Incremental-Backup-And-Restore.md
index 61fdc582..deefcf1a 100644
--- a/admin/Incremental-Backup-And-Restore.md
+++ b/admin/Incremental-Backup-And-Restore.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['backup', 'restore', 'incremental']
----
 
 # Incremental Backup and Restore
 
diff --git a/admin/JMX.md b/admin/JMX.md
index aa4330b7..984ada32 100644
--- a/admin/JMX.md
+++ b/admin/JMX.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['JMX', 'JMX API']
----
 
 # JMX
 
diff --git a/admin/Logging.md b/admin/Logging.md
index f360f2c3..df480d9c 100644
--- a/admin/Logging.md
+++ b/admin/Logging.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['logging']
----
 
 # Logging
 
diff --git a/admin/README.md b/admin/README.md
index e0c40adc..32e48c60 100644
--- a/admin/README.md
+++ b/admin/README.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['admin', 'administration']
----
 
 
 
diff --git a/admin/Scheduler.md b/admin/Scheduler.md
index b7d05d40..42e79490 100644
--- a/admin/Scheduler.md
+++ b/admin/Scheduler.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['scheduler', 'schedule']
----
 
 # Event Scheduler
 
diff --git a/admin/Unix-Service.md b/admin/Unix-Service.md
index be8f0539..9bfe0b82 100644
--- a/admin/Unix-Service.md
+++ b/admin/Unix-Service.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['server management', 'service', 'Unix', 'Linux', 'init', 'systemd', 'mac', 'osx']
----
 
 # Install as Service on Unix/Linux
 
diff --git a/admin/Windows-Service.md b/admin/Windows-Service.md
index 59acdfe1..9cbed5fb 100644
--- a/admin/Windows-Service.md
+++ b/admin/Windows-Service.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['server management', 'service', 'Windows']
----
 
 # Install as a Service on Windows
 
diff --git a/apis-and-drivers/README.md b/apis-and-drivers/README.md
index 795d7d5b..e4d08467 100644
--- a/apis-and-drivers/README.md
+++ b/apis-and-drivers/README.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['API', 'Application Programming Interface', 'Programming Language Bindings']
----
 
 # APIs and Drivers
 
diff --git a/console/Console-Command-Backup.md b/console/Console-Command-Backup.md
index 3484ac64..556b2773 100644
--- a/console/Console-Command-Backup.md
+++ b/console/Console-Command-Backup.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'console command', 'BACKUP']
----
 
 
 
diff --git a/console/Console-Command-Browse-Class.md b/console/Console-Command-Browse-Class.md
index d06103eb..ad392739 100644
--- a/console/Console-Command-Browse-Class.md
+++ b/console/Console-Command-Browse-Class.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'console commands', 'BROWSE CLASS', 'browse', 'class']
----
 
 
 
diff --git a/console/Console-Command-Browse-Cluster.md b/console/Console-Command-Browse-Cluster.md
index e766260b..54ce2f94 100644
--- a/console/Console-Command-Browse-Cluster.md
+++ b/console/Console-Command-Browse-Cluster.md
@@ -1,7 +1,3 @@
----
-search: 
-   keywords: ['console', 'command', 'BROWSE CLUSTER', 'browse', 'cluster']
----
 
 
 
diff --git a/console/Console-Command-Check-Database.md b/console/Console-Command-Check-Database.md
index a17b6578..555087f5 100644
--- a/console/Console-Command-Check-Database.md
+++ b/console/Console-Command-Check-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'check', 'check database']
----
 
 # Console - `CHECK DATABASE`
 
diff --git a/console/Console-Command-Classes.md b/console/Console-Command-Classes.md
index 9b601402..ea4e1fdb 100644
--- a/console/Console-Command-Classes.md
+++ b/console/Console-Command-Classes.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'list', 'class', 'LIST CLASSES', 'CLASSES']
----
 
 
 
diff --git a/console/Console-Command-Cluster-Status.md b/console/Console-Command-Cluster-Status.md
index fb033e00..4769b5ea 100644
--- a/console/Console-Command-Cluster-Status.md
+++ b/console/Console-Command-Cluster-Status.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'status', 'cluster', 'CLUSTER STATUS']
----
 
 
 
diff --git a/console/Console-Command-Clusters.md b/console/Console-Command-Clusters.md
index 8c40cb05..b597516b 100644
--- a/console/Console-Command-Clusters.md
+++ b/console/Console-Command-Clusters.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'list', 'cluster', 'LIST CLUSTERS', 'CLUSTERS']
----
 
 
 
diff --git a/console/Console-Command-Config-Get.md b/console/Console-Command-Config-Get.md
index ab03420f..03bb54dd 100644
--- a/console/Console-Command-Config-Get.md
+++ b/console/Console-Command-Config-Get.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'configuration', 'CONFIG GET']
----
 
 
 
diff --git a/console/Console-Command-Config-Set.md b/console/Console-Command-Config-Set.md
index f8d4dc63..39b89092 100644
--- a/console/Console-Command-Config-Set.md
+++ b/console/Console-Command-Config-Set.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'configuration', 'CONFIG SET']
----
 
 
 
diff --git a/console/Console-Command-Config.md b/console/Console-Command-Config.md
index e8c8bdc2..d65fea62 100644
--- a/console/Console-Command-Config.md
+++ b/console/Console-Command-Config.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'configuration', 'CONFIG']
----
 
 # Console - `CONFIG`
 
diff --git a/console/Console-Command-Connect.md b/console/Console-Command-Connect.md
index 4a6fc331..8134aea3 100644
--- a/console/Console-Command-Connect.md
+++ b/console/Console-Command-Connect.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'connnection', 'CONNECT']
----
 
 
 
diff --git a/console/Console-Command-Create-Database.md b/console/Console-Command-Create-Database.md
index 40455322..bdf2f80b 100644
--- a/console/Console-Command-Create-Database.md
+++ b/console/Console-Command-Create-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'commnad', 'create', 'database', 'CREATE DATABASE']
----
 
 
 
diff --git a/console/Console-Command-Declare-Intent.md b/console/Console-Command-Declare-Intent.md
index 547fe96a..3a51c2ae 100644
--- a/console/Console-Command-Declare-Intent.md
+++ b/console/Console-Command-Declare-Intent.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'declare', 'intent', 'DECLARE INTENT']
----
 
 
 
diff --git a/console/Console-Command-Dictionary-Get.md b/console/Console-Command-Dictionary-Get.md
index 62d1d6da..66e57af8 100644
--- a/console/Console-Command-Dictionary-Get.md
+++ b/console/Console-Command-Dictionary-Get.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'dictionary', 'get', 'DICTIONARY GET']
----
 
 
 
diff --git a/console/Console-Command-Dictionary-Keys.md b/console/Console-Command-Dictionary-Keys.md
index 962d19cb..02c5efec 100644
--- a/console/Console-Command-Dictionary-Keys.md
+++ b/console/Console-Command-Dictionary-Keys.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'dictionary', 'keys', 'DICTIONARY KEYS']
----
 
 # Console - `DICTIONARY KEYS`
 
diff --git a/console/Console-Command-Dictionary-Put.md b/console/Console-Command-Dictionary-Put.md
index 475bab15..0cfac3a9 100644
--- a/console/Console-Command-Dictionary-Put.md
+++ b/console/Console-Command-Dictionary-Put.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'dictionary', 'put', 'DICTIONARY PUT']
----
 
 
 
diff --git a/console/Console-Command-Dictionary-Remove.md b/console/Console-Command-Dictionary-Remove.md
index a221aa58..a30e7303 100644
--- a/console/Console-Command-Dictionary-Remove.md
+++ b/console/Console-Command-Dictionary-Remove.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'dictionary', 'remove', 'DICTIONARY REMOVE']
----
 
 
 
diff --git a/console/Console-Command-Disconnect.md b/console/Console-Command-Disconnect.md
index 4d59f2df..661cb98a 100644
--- a/console/Console-Command-Disconnect.md
+++ b/console/Console-Command-Disconnect.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'connection', 'disconnect', 'DISCONNECT']
----
 
 # Console - DISCONNECT
 
diff --git a/console/Console-Command-Display-Raw-Record.md b/console/Console-Command-Display-Raw-Record.md
index 17306a7d..2cdd93a2 100644
--- a/console/Console-Command-Display-Raw-Record.md
+++ b/console/Console-Command-Display-Raw-Record.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'display', 'record', 'DISPLAY RAW RECORD', 'raw record']
----
 
 # Console - `DISPLAYS RAW RECORD`
 
diff --git a/console/Console-Command-Display-Record.md b/console/Console-Command-Display-Record.md
index 296ba693..ee6ecfa1 100644
--- a/console/Console-Command-Display-Record.md
+++ b/console/Console-Command-Display-Record.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'display', 'record', 'DISPLAY RECORD']
----
 
 # Console - DISPLAYS RECORD
 
diff --git a/console/Console-Command-Drop-Database.md b/console/Console-Command-Drop-Database.md
index 2cb2f242..66224edc 100644
--- a/console/Console-Command-Drop-Database.md
+++ b/console/Console-Command-Drop-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'drop', 'delete', 'database', 'DROP DATABASE']
----
 
 
 # Console - `DROP DATABASE`
diff --git a/console/Console-Command-Drop-Server-User.md b/console/Console-Command-Drop-Server-User.md
index 0ba85b1c..87b3430b 100644
--- a/console/Console-Command-Drop-Server-User.md
+++ b/console/Console-Command-Drop-Server-User.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'drop', 'delete', 'server user', 'user', 'DROP SERVER USER']
----
 
 # Console - `DROP SERVER USER`
 
diff --git a/console/Console-Command-Export-Record.md b/console/Console-Command-Export-Record.md
index 93ac1a45..5b86501d 100644
--- a/console/Console-Command-Export-Record.md
+++ b/console/Console-Command-Export-Record.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'export', 'record', 'EXPORT RECORD']
----
 
 
 # Console - `EXPORT RECORD`
diff --git a/console/Console-Command-Export.md b/console/Console-Command-Export.md
index c1dd6775..368c1648 100644
--- a/console/Console-Command-Export.md
+++ b/console/Console-Command-Export.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'export', 'import', 'backup', 'restore']
----
 
 # Console - `EXPORT`
 
diff --git a/console/Console-Command-Freeze-Db.md b/console/Console-Command-Freeze-Db.md
index d38aa30e..00da490b 100644
--- a/console/Console-Command-Freeze-Db.md
+++ b/console/Console-Command-Freeze-Db.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'freeze', 'database', 'FREEZE DATABASE']
----
 
 # Console - `FREEZE DATABASE`
 
diff --git a/console/Console-Command-Get.md b/console/Console-Command-Get.md
index fe5fbcc9..c0938a45 100644
--- a/console/Console-Command-Get.md
+++ b/console/Console-Command-Get.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'get', 'GET']
----
 
 # Console - `GET`
 
diff --git a/console/Console-Command-Import.md b/console/Console-Command-Import.md
index a9ef878e..a2d124ca 100644
--- a/console/Console-Command-Import.md
+++ b/console/Console-Command-Import.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'import', 'IMPORT DATABASE', 'backup', 'restore', 'export']
----
 
 
 # Console - `IMPORT`
diff --git a/console/Console-Command-Indexes.md b/console/Console-Command-Indexes.md
index e3f29e98..7def70a9 100644
--- a/console/Console-Command-Indexes.md
+++ b/console/Console-Command-Indexes.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'index', 'indexes', 'indices', 'INDEXES']
----
 
 # Console - `INDEXES`
 
diff --git a/console/Console-Command-Info-Class.md b/console/Console-Command-Info-Class.md
index 67b3cc95..d9cf48f8 100644
--- a/console/Console-Command-Info-Class.md
+++ b/console/Console-Command-Info-Class.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'info', 'class', 'INFO CLASS']
----
 
 # Console - `INFO CLASS`
 
diff --git a/console/Console-Command-Info-Property.md b/console/Console-Command-Info-Property.md
index 287117c2..1b488f55 100644
--- a/console/Console-Command-Info-Property.md
+++ b/console/Console-Command-Info-Property.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'info', 'property', 'INFO PROPERTY']
----
 
 # Console - `INFO PROPERTY`
 
diff --git a/console/Console-Command-Info.md b/console/Console-Command-Info.md
index 1eb07762..8a8e5708 100644
--- a/console/Console-Command-Info.md
+++ b/console/Console-Command-Info.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'info', 'INFO']
----
 
 # Console - `INFO`
 
diff --git a/console/Console-Command-Js.md b/console/Console-Command-Js.md
index 47b2b293..fa439b2d 100644
--- a/console/Console-Command-Js.md
+++ b/console/Console-Command-Js.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'javascript', 'js', 'JS']
----
 
 # Console - `JS`
 
diff --git a/console/Console-Command-Jss.md b/console/Console-Command-Jss.md
index dc30af3e..4022e4de 100644
--- a/console/Console-Command-Jss.md
+++ b/console/Console-Command-Jss.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'javascript', 'js', 'JSS']
----
 
 # Console - `JSS`
 
diff --git a/console/Console-Command-List-Connections.md b/console/Console-Command-List-Connections.md
index f07cf824..3458c484 100644
--- a/console/Console-Command-List-Connections.md
+++ b/console/Console-Command-List-Connections.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'list', 'connection', 'LIST CONNECTIONS'] 
----
 
 # Console - `LIST CONNECTIONS`
 
diff --git a/console/Console-Command-List-Databases.md b/console/Console-Command-List-Databases.md
index d7579609..efcdf95c 100644
--- a/console/Console-Command-List-Databases.md
+++ b/console/Console-Command-List-Databases.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'list', 'database', 'LIST DATABASES']
----
 
 # Console - `LIST DATABASES`
 
diff --git a/console/Console-Command-List-Server-Users.md b/console/Console-Command-List-Server-Users.md
index 2cf116c5..4dad657b 100644
--- a/console/Console-Command-List-Server-Users.md
+++ b/console/Console-Command-List-Server-Users.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'list', 'server', 'users', 'LIST SERVER USERS']
----
 
 # Console - LIST SERVER USERS
 
diff --git a/console/Console-Command-List-Servers.md b/console/Console-Command-List-Servers.md
index a8c39adb..bcaa9954 100644
--- a/console/Console-Command-List-Servers.md
+++ b/console/Console-Command-List-Servers.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'list', 'server', 'LIST SERVERS']
----
 
 
 
diff --git a/console/Console-Command-Load-Record.md b/console/Console-Command-Load-Record.md
index 3509f3a4..71106df3 100644
--- a/console/Console-Command-Load-Record.md
+++ b/console/Console-Command-Load-Record.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'load', 'record', 'LOAD RECORD']
----
 
 # Console - `LOAD RECORD`
 
diff --git a/console/Console-Command-Load-Script.md b/console/Console-Command-Load-Script.md
index 5372aa76..6b512daf 100644
--- a/console/Console-Command-Load-Script.md
+++ b/console/Console-Command-Load-Script.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'load', 'record', 'LOAD SCRIPT']
----
 
 # Console - `LOAD SCRIPT` (from 2.2.18)
 
diff --git a/console/Console-Command-Profiler.md b/console/Console-Command-Profiler.md
index cc0655d8..341e80ef 100644
--- a/console/Console-Command-Profiler.md
+++ b/console/Console-Command-Profiler.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'profile', 'PROFILER']
----
 
 # Console - `PROFILER`
 
diff --git a/console/Console-Command-Properties.md b/console/Console-Command-Properties.md
index 98521e96..01c22e60 100644
--- a/console/Console-Command-Properties.md
+++ b/console/Console-Command-Properties.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'property', 'list', 'PROPERTIES']
----
 
 # Console - `PROPERTIES`
 
diff --git a/console/Console-Command-Release-Db.md b/console/Console-Command-Release-Db.md
index ce4372db..821f2af8 100644
--- a/console/Console-Command-Release-Db.md
+++ b/console/Console-Command-Release-Db.md
@@ -1,7 +1,3 @@
----
-search: 
-   keywords: ['console', 'command', 'release', 'database', 'RELEASE DATABASE', 'freeze']
----
 
 # Console - `RELEASE DATABASE`
 
diff --git a/console/Console-Command-Reload-Record.md b/console/Console-Command-Reload-Record.md
index 6de86b1e..2441cb08 100644
--- a/console/Console-Command-Reload-Record.md
+++ b/console/Console-Command-Reload-Record.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'reload', 'load', 'record', 'RELOAD RECORD']
----
 
 # Console - `RELOAD RECORD`
 
diff --git a/console/Console-Command-Repair-Database.md b/console/Console-Command-Repair-Database.md
index 3addb63e..37baa0b3 100644
--- a/console/Console-Command-Repair-Database.md
+++ b/console/Console-Command-Repair-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'repair', 'repair database']
----
 
 # Console - `REPAIR DATABASE`
 
diff --git a/console/Console-Command-Restore.md b/console/Console-Command-Restore.md
index 49a3ca29..cc857e7d 100644
--- a/console/Console-Command-Restore.md
+++ b/console/Console-Command-Restore.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'restore', 'backup', 'RESTORE DATABASE']
----
 
 # Console - `RESTORE DATABASE`
 
diff --git a/console/Console-Command-Set.md b/console/Console-Command-Set.md
index 01f70d54..c1bf8610 100644
--- a/console/Console-Command-Set.md
+++ b/console/Console-Command-Set.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['console', 'command', 'set', 'SET']
----
 
 # Console - `SET`
 
diff --git a/console/README.md b/console/README.md
index f7c06594..6288705c 100644
--- a/console/README.md
+++ b/console/README.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['admin', 'administration', 'console']
----
 
 
 
diff --git a/datamodeling/Concepts.md b/datamodeling/Concepts.md
index 660275cd..f7e19c5e 100644
--- a/datamodeling/Concepts.md
+++ b/datamodeling/Concepts.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['concepts']
----
 
 
 # Basic Concepts
diff --git a/datamodeling/Multi-Tenant.md b/datamodeling/Multi-Tenant.md
index 9c57a75d..87bc3ae1 100644
--- a/datamodeling/Multi-Tenant.md
+++ b/datamodeling/Multi-Tenant.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['tenant', 'multi tenant', 'partition', 'partitioned graphs']
----
 
 # Multi Tenant
 
diff --git a/datamodeling/Tutorial-Document-and-graph-model.md b/datamodeling/Tutorial-Document-and-graph-model.md
index 0ec9cbba..dd0eb457 100644
--- a/datamodeling/Tutorial-Document-and-graph-model.md
+++ b/datamodeling/Tutorial-Document-and-graph-model.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "multi-model", "multimodel", "document model", "graph model"]
----
 
 
 # Multi-Model
diff --git a/distributed/Data-Centers.md b/distributed/Data-Centers.md
index 348dd8eb..1efa2a78 100644
--- a/distributed/Data-Centers.md
+++ b/distributed/Data-Centers.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['distributed architecture', 'data center']
----
 
 # Data Centers
 
diff --git a/distributed/Distributed-Architecture-Lifecycle.md b/distributed/Distributed-Architecture-Lifecycle.md
index 2cf93c97..0ee3e983 100644
--- a/distributed/Distributed-Architecture-Lifecycle.md
+++ b/distributed/Distributed-Architecture-Lifecycle.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['distributed', 'architecture', 'lifecycle', 'distributed architecture']
----
 
 # Distributed Architecture Lifecycle
 
diff --git a/distributed/Distributed-Architecture.md b/distributed/Distributed-Architecture.md
index 133de490..0a58124e 100644
--- a/distributed/Distributed-Architecture.md
+++ b/distributed/Distributed-Architecture.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['distributed', 'architecture', 'distributed architecture']
----
 
 # Distributed Architecture
 
diff --git a/distributed/Distributed-Configuration-Tuning.md b/distributed/Distributed-Configuration-Tuning.md
index 2209fc39..b604a5d4 100644
--- a/distributed/Distributed-Configuration-Tuning.md
+++ b/distributed/Distributed-Configuration-Tuning.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['performance', 'performance tuning', 'distributed', 'distributed deployment', 'distributed configuration']
----
 
 
 # Distributed Configuration Tuning
diff --git a/distributed/Distributed-Configuration.md b/distributed/Distributed-Configuration.md
index ac8fa500..6d570b3e 100644
--- a/distributed/Distributed-Configuration.md
+++ b/distributed/Distributed-Configuration.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['distributed', 'architecture', 'configuration']
----
 
 # Distributed Configuration
 
diff --git a/distributed/Distributed-Runtime.md b/distributed/Distributed-Runtime.md
index b52f3027..bff51408 100644
--- a/distributed/Distributed-Runtime.md
+++ b/distributed/Distributed-Runtime.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['distributed', 'architecture', 'runtime', 'run-time']
----
 
 # Distributed runtime
 _NOTE: available only in Enteprise Edition_
diff --git a/distributed/Distributed-Server-Manager.md b/distributed/Distributed-Server-Manager.md
index a6178f82..30cd303c 100644
--- a/distributed/Distributed-Server-Manager.md
+++ b/distributed/Distributed-Server-Manager.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['distributed', 'architecture', 'plugin', 'server manager']
----
 
 # Distributed Architecture Plugin
 
diff --git a/distributed/Distributed-Sharding.md b/distributed/Distributed-Sharding.md
index ed66689b..91d996b6 100644
--- a/distributed/Distributed-Sharding.md
+++ b/distributed/Distributed-Sharding.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['distributed', 'architecture', 'sharding', 'DHT']
----
 
 # Sharding
 
diff --git a/distributed/Replication.md b/distributed/Replication.md
index 5f535e02..18372bc8 100644
--- a/distributed/Replication.md
+++ b/distributed/Replication.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['distributed', 'architecture', 'replication']
----
 
 # Replication
 
diff --git a/dotnet/NET-Database-Clusters.md b/dotnet/NET-Database-Clusters.md
index b0761703..69324742 100644
--- a/dotnet/NET-Database-Clusters.md
+++ b/dotnet/NET-Database-Clusters.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', 'C#', 'ODatabase', 'cluster']
----
 
 # OrientDB-NET - `Clusters()`
 
diff --git a/dotnet/NET-Database-Command.md b/dotnet/NET-Database-Command.md
index 200ad229..bddda9c7 100644
--- a/dotnet/NET-Database-Command.md
+++ b/dotnet/NET-Database-Command.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', 'C#', 'ODatabase', 'command']
----
 
 # OrientDB-NET - `Command()`
 
diff --git a/dotnet/NET-Database-GetClusterIdFor.md b/dotnet/NET-Database-GetClusterIdFor.md
index a82aeed6..f29cbbc5 100644
--- a/dotnet/NET-Database-GetClusterIdFor.md
+++ b/dotnet/NET-Database-GetClusterIdFor.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', '.NET', 'C#', 'c sharp', 'OrientDB-NET', 'cluster', 'get cluster id', 'GetClusterIdFor', 'ODatabase']
----
 
 # OrientDB-NET - `GetClusterIdFor()`
 
diff --git a/dotnet/NET-Database-GetClusterNameFor.md b/dotnet/NET-Database-GetClusterNameFor.md
index bd199fa7..56545f87 100644
--- a/dotnet/NET-Database-GetClusterNameFor.md
+++ b/dotnet/NET-Database-GetClusterNameFor.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: [ 'NET', '.NET', 'OrientDB-NET', 'C#', 'c sharp', 'ODatabase', 'cluster', 'get cluster name', 'GetClusterNameFor']
----
 
 # OrientDB-NET - `GetClusterNameFor()`
 
diff --git a/dotnet/NET-Database-GetClusters.md b/dotnet/NET-Database-GetClusters.md
index 3207756a..a86f0434 100644
--- a/dotnet/NET-Database-GetClusters.md
+++ b/dotnet/NET-Database-GetClusters.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['.NET', 'NET', 'C#', 'c sharp', 'OrientDB-NET', 'ODatabase', 'cluster', 'get cluster', 'GetClusters']
----
 
 # OrientDB-NET - `GetClusters()`
 
diff --git a/dotnet/NET-Database-Gremlin.md b/dotnet/NET-Database-Gremlin.md
index 19606a6f..4452391f 100644
--- a/dotnet/NET-Database-Gremlin.md
+++ b/dotnet/NET-Database-Gremlin.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["NET", 'C#', 'ODatabase', 'gremlin']
----
 
 # OrientDB-NET - `Gremlin()`
 
diff --git a/dotnet/NET-Database-Insert.md b/dotnet/NET-Database-Insert.md
index 9e79d7c5..7a5c7413 100644
--- a/dotnet/NET-Database-Insert.md
+++ b/dotnet/NET-Database-Insert.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', 'C#', 'ODatabase', 'insert']
----
 
 # OrientDB-NET - `Insert()`
 
diff --git a/dotnet/NET-Database-JS.md b/dotnet/NET-Database-JS.md
index 8679f3a1..1b71545e 100644
--- a/dotnet/NET-Database-JS.md
+++ b/dotnet/NET-Database-JS.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', "C#", 'ODatabase', 'javascript', 'js']
----
 
 # OrientDB-NET - `JavaScript()`
 
diff --git a/dotnet/NET-Database-Query.md b/dotnet/NET-Database-Query.md
index 8906861f..90925de9 100644
--- a/dotnet/NET-Database-Query.md
+++ b/dotnet/NET-Database-Query.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', 'C#', 'ODatabase', 'query']
----
 
 # OrientDB-NET - `Query()`
 
diff --git a/dotnet/NET-Database-Select.md b/dotnet/NET-Database-Select.md
index 6ce10dd5..503b1557 100644
--- a/dotnet/NET-Database-Select.md
+++ b/dotnet/NET-Database-Select.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', '.NET', 'C#', 'c sharp', 'ODatabase', 'select']
----
 
 # OrientDB-NET - `Select()`
 
diff --git a/dotnet/NET-Database-SqlBatch.md b/dotnet/NET-Database-SqlBatch.md
index 4b085b75..77e5cb4f 100644
--- a/dotnet/NET-Database-SqlBatch.md
+++ b/dotnet/NET-Database-SqlBatch.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', 'C#', 'ODatabase', 'batch', 'SqlBatch']
----
 
 # OrientDB-NET - `SqlBatch()`
 
diff --git a/dotnet/NET-Database-Update.md b/dotnet/NET-Database-Update.md
index a3248d55..ca44677e 100644
--- a/dotnet/NET-Database-Update.md
+++ b/dotnet/NET-Database-Update.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', 'c#', 'ODatabase', 'update']
----
 
 # OrientDB-NET - `Update()`
 
diff --git a/dotnet/NET-Database.md b/dotnet/NET-Database.md
index 46295fe6..8931fa7a 100644
--- a/dotnet/NET-Database.md
+++ b/dotnet/NET-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', 'C#', 'c sharp', 'OrientDB-NET', 'ODatabase']
----
 
 # OrientDB-NET - `ODatabase`
 
diff --git a/dotnet/NET-Query-Conditions.md b/dotnet/NET-Query-Conditions.md
index 5f67919c..effc3f5b 100644
--- a/dotnet/NET-Query-Conditions.md
+++ b/dotnet/NET-Query-Conditions.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', 'C#', 'c sharp', 'query', 'where']
----
 
 # OrientDB-NET - Conditionals
 
diff --git a/dotnet/NET-Query-Limiter.md b/dotnet/NET-Query-Limiter.md
index 70d11dc9..4ea70174 100644
--- a/dotnet/NET-Query-Limiter.md
+++ b/dotnet/NET-Query-Limiter.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', 'C#', 'c sharp', 'query', 'limit', 'skip', 'between']
----
 
 # OrientDB-NET - Limiters
 
diff --git a/dotnet/NET-Query-Sort.md b/dotnet/NET-Query-Sort.md
index d6d139ee..fe13a51b 100644
--- a/dotnet/NET-Query-Sort.md
+++ b/dotnet/NET-Query-Sort.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', 'C#', 'c sharp', 'query', 'sort']
----
 
 # OrientDB-NET - Sort
 
diff --git a/dotnet/NET-Query.md b/dotnet/NET-Query.md
index 7a26cf9b..59e2d163 100644
--- a/dotnet/NET-Query.md
+++ b/dotnet/NET-Query.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['NET', 'C#', 'c sharp', 'query', 'query builder']
----
 
 # OrientDB-NET - Building Queries
 
diff --git a/dotnet/NET-Server-ConfigGet.md b/dotnet/NET-Server-ConfigGet.md
index e2dafd24..5fff5ba8 100644
--- a/dotnet/NET-Server-ConfigGet.md
+++ b/dotnet/NET-Server-ConfigGet.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['.NET', 'C#', 'c sharp', 'OrientDB-NET', 'configuration', 'config get', 'ConfigGet']
----
 
 # OrientDB-NET - `ConfigGet()`
 
diff --git a/dotnet/NET-Server-ConfigList.md b/dotnet/NET-Server-ConfigList.md
index c529196b..41340005 100644
--- a/dotnet/NET-Server-ConfigList.md
+++ b/dotnet/NET-Server-ConfigList.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['.NET', 'C#', 'c sharp', 'OrientDB-NET', 'configuration dictionary', 'dictionary']
----
 
 # OrientDB-NET - `ConfigList()`
 
diff --git a/dotnet/NET-Server-ConfigSet.md b/dotnet/NET-Server-ConfigSet.md
index e13d7154..11f6deb5 100644
--- a/dotnet/NET-Server-ConfigSet.md
+++ b/dotnet/NET-Server-ConfigSet.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['.NET', 'C#', 'c sharp', 'OrientDB-NET', 'set configuration', 'ConfigSet', 'OServer']
----
 
 # OrientDB-NET - `ConfigSet()`
 
diff --git a/dotnet/NET-Server-CreateDatabase.md b/dotnet/NET-Server-CreateDatabase.md
index f5a0a58b..b6932cdd 100644
--- a/dotnet/NET-Server-CreateDatabase.md
+++ b/dotnet/NET-Server-CreateDatabase.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['.NET', 'C#', 'C sharp', 'OServer', 'create database', 'create']
----
 
 # OrientDB-NET - `CreateDatabase()`
 
diff --git a/dotnet/NET-Server-DatabaseExists.md b/dotnet/NET-Server-DatabaseExists.md
index 88501b6a..5b5e9835 100644
--- a/dotnet/NET-Server-DatabaseExists.md
+++ b/dotnet/NET-Server-DatabaseExists.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['.NET', 'C#', 'c sharp', 'OServer', 'database exists']
----
 
 # OrientDB-NET - `DatabaseExists()`
 
diff --git a/dotnet/NET-Server-Databases.md b/dotnet/NET-Server-Databases.md
index 98144dcf..6fd799d5 100644
--- a/dotnet/NET-Server-Databases.md
+++ b/dotnet/NET-Server-Databases.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['.NET', 'C#', 'c sharp', 'OrientDB-NET', 'OServer', 'ODatabaseInfo']
----
 
 # OrientDB-NET - `Databases()`
 
diff --git a/dotnet/NET-Server-DropDatabase.md b/dotnet/NET-Server-DropDatabase.md
index 07c6f08f..79451ed3 100644
--- a/dotnet/NET-Server-DropDatabase.md
+++ b/dotnet/NET-Server-DropDatabase.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['.NET', 'C#', 'c sharp', 'OrientDB-NET', 'drop database', 'DropDatabase']
----
 
 # OrientDB-NET - `DropDatabase()`
 
diff --git a/dotnet/NET-Server.md b/dotnet/NET-Server.md
index a45a9dd4..4db246c8 100644
--- a/dotnet/NET-Server.md
+++ b/dotnet/NET-Server.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['.NET', 'C#', 'C Sharp', 'OServer']
----
 
 # OrientDB-NET - `OServer`
 
diff --git a/dotnet/NET-Transactions-Add.md b/dotnet/NET-Transactions-Add.md
index 1ec1c419..c58961d3 100644
--- a/dotnet/NET-Transactions-Add.md
+++ b/dotnet/NET-Transactions-Add.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['c#', 'c sharp', 'NET', 'transaction', 'add']
----
 
 # OrientDB-NET - `Add()`
 
diff --git a/dotnet/NET-Transactions-AddEdge.md b/dotnet/NET-Transactions-AddEdge.md
index 9be89974..db2e89db 100644
--- a/dotnet/NET-Transactions-AddEdge.md
+++ b/dotnet/NET-Transactions-AddEdge.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['C#', 'c sharp', 'NET', 'transaction', 'add', 'edge', 'AddEdge']
----
 
 # OrientDB-NET - `AddEdge()`
 
diff --git a/dotnet/NET-Transactions-AddOrUpdate.md b/dotnet/NET-Transactions-AddOrUpdate.md
index 9d4b5743..3846622b 100644
--- a/dotnet/NET-Transactions-AddOrUpdate.md
+++ b/dotnet/NET-Transactions-AddOrUpdate.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['C#', 'c sharp', 'NET', 'transaction', 'add', 'update', 'AddOrUpdate']
----
 
 # OrientDB-NET - `AddOrUpdate()`
 
diff --git a/dotnet/NET-Transactions-Delete.md b/dotnet/NET-Transactions-Delete.md
index cc4518ff..4bb061f0 100644
--- a/dotnet/NET-Transactions-Delete.md
+++ b/dotnet/NET-Transactions-Delete.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['C#', 'c sharp', 'NET', 'transaction', 'delete']
----
 
 # OrientDB-NET - `Delete()`
 
diff --git a/dotnet/NET-Transactions-GetPendingObject.md b/dotnet/NET-Transactions-GetPendingObject.md
index 3a192eca..5a52b21e 100644
--- a/dotnet/NET-Transactions-GetPendingObject.md
+++ b/dotnet/NET-Transactions-GetPendingObject.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['C#', 'c sharp', 'NET', 'transaction', 'GetPendingObject']
----
 
 # OrientDB-NET - `GetPendingObject()`
 
diff --git a/dotnet/NET-Transactions-Update.md b/dotnet/NET-Transactions-Update.md
index 9f9236eb..8a3078c6 100644
--- a/dotnet/NET-Transactions-Update.md
+++ b/dotnet/NET-Transactions-Update.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['C#', 'c sharp', 'NET', 'update', 'transaction']
----
 
 # OrientDB-NET - `Update()`
 
diff --git a/dotnet/NET-Transactions.md b/dotnet/NET-Transactions.md
index 53a991ab..dd01b612 100644
--- a/dotnet/NET-Transactions.md
+++ b/dotnet/NET-Transactions.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['C#', 'NET', 'c sharp', 'transaction']
----
 
 # OrientDB-NET - OTransaction
 
diff --git a/dotnet/NET.md b/dotnet/NET.md
index b454a85a..6f3240d2 100644
--- a/dotnet/NET.md
+++ b/dotnet/NET.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['API', 'C#', 'NET']
----
 
 # OrientDB-NET - C#/.NET Driver
 
diff --git a/ee/Auditing.md b/ee/Auditing.md
index b23adce1..d1b34ae2 100644
--- a/ee/Auditing.md
+++ b/ee/Auditing.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['enterprise', 'auditing']
----
 
 # Auditing
 Starting in OrientDB 2.1, the Auditing component is part of the [Enterprise Edition](http://www.orientechnologies.com/orientdb-enterprise/). This page refers to the Auditing feature and how to work with it. The Studio web tool provides a GUI for Auditing that makes configuration easier. Look at the [Auditing page in Studio](../studio/server-management/Studio-Auditing.md).
diff --git a/ee/Enterprise-Edition.md b/ee/Enterprise-Edition.md
index 3bf5bbeb..4a434838 100644
--- a/ee/Enterprise-Edition.md
+++ b/ee/Enterprise-Edition.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['enterprise', 'enterprise edition']
----
 
 # Enterprise Edition
 
diff --git a/etl/Block.md b/etl/Block.md
index 7d5ffb46..56e76116 100644
--- a/etl/Block.md
+++ b/etl/Block.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['etl', 'ETL', 'block']
----
 
 # ETL - Blocks
 
diff --git a/etl/Configuration-File.md b/etl/Configuration-File.md
index 41c4d9e0..d48e8402 100644
--- a/etl/Configuration-File.md
+++ b/etl/Configuration-File.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['ETL', 'etl', 'configuration']
----
 
 
 # ETL - Configuration
diff --git a/etl/ETL-Introduction.md b/etl/ETL-Introduction.md
index ef55780b..ec3992f7 100644
--- a/etl/ETL-Introduction.md
+++ b/etl/ETL-Introduction.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['etl', 'ETL']
----
 
 
 # ETL
diff --git a/etl/Extractor.md b/etl/Extractor.md
index 16a99fdf..0e50f566 100644
--- a/etl/Extractor.md
+++ b/etl/Extractor.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['etl', 'ETL', 'extractor']
----
 
 
 # ETL - Extractors
diff --git a/etl/Import-a-tree-structure.md b/etl/Import-a-tree-structure.md
index 94874110..592269ff 100644
--- a/etl/Import-a-tree-structure.md
+++ b/etl/Import-a-tree-structure.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['etl', 'ETL', 'ETL example', 'import tree structure']
----
 
 
 # Import a tree structure
diff --git a/etl/Import-from-CSV-to-a-Graph.md b/etl/Import-from-CSV-to-a-Graph.md
index 5bd2aaac..5e04eb94 100644
--- a/etl/Import-from-CSV-to-a-Graph.md
+++ b/etl/Import-from-CSV-to-a-Graph.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['etl', 'ETL', 'ETL example', 'import from CSV']
----
 
 # Import from a CSV file to a Graph
 
diff --git a/etl/Import-from-DBMS.md b/etl/Import-from-DBMS.md
index 0a6bbadf..80701e19 100644
--- a/etl/Import-from-DBMS.md
+++ b/etl/Import-from-DBMS.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['etl', 'ETL', 'ETL example', 'import from RDBMS']
----
 
 # ETL - Import from RDBMS
 
diff --git a/etl/Import-from-DBPedia.md b/etl/Import-from-DBPedia.md
index 4d58e3ae..faebf0b8 100644
--- a/etl/Import-from-DBPedia.md
+++ b/etl/Import-from-DBPedia.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['etl', 'ETL', 'ETL example', 'import from DB-Pedia']
----
 
 
 # Import from DB-Pedia
diff --git a/etl/Import-from-JSON.md b/etl/Import-from-JSON.md
index 505aed35..f7ba521a 100644
--- a/etl/Import-from-JSON.md
+++ b/etl/Import-from-JSON.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['etl', 'ETL', 'ETL example', 'import from JSON']
----
 
 
 # Import form JSON
diff --git a/etl/Import-from-PARSE.md b/etl/Import-from-PARSE.md
index 27dfd683..d0378e09 100644
--- a/etl/Import-from-PARSE.md
+++ b/etl/Import-from-PARSE.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['etl', 'ETL', 'ETL example', 'import from Parse']
----
 
 
 # Import from Parse
diff --git a/etl/Loader.md b/etl/Loader.md
index b0c19b94..846e06ce 100644
--- a/etl/Loader.md
+++ b/etl/Loader.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['etl', 'ETL', 'loader']
----
 
 
 # ETL - Loaders
diff --git a/etl/Source.md b/etl/Source.md
index b7990c4b..e02d84a5 100644
--- a/etl/Source.md
+++ b/etl/Source.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['etl', 'ETL', 'source']
----
 
 
 # ETL - Sources
diff --git a/etl/Transformer.md b/etl/Transformer.md
index d4602e9f..d0623d3e 100644
--- a/etl/Transformer.md
+++ b/etl/Transformer.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['etl', 'ETL', 'transformer']
----
 
 
 # ETL Transformers
diff --git a/general/Concurrency.md b/general/Concurrency.md
index 556c2651..50445e00 100644
--- a/general/Concurrency.md
+++ b/general/Concurrency.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['concept', 'concurrency']
----
 
 
 # Concurrency
diff --git a/general/Inheritance.md b/general/Inheritance.md
index b1a56f05..6c11b48d 100644
--- a/general/Inheritance.md
+++ b/general/Inheritance.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['concepts', 'inheritance', 'class']
----
 
 # Inheritance
 
diff --git a/general/Managing-Dates.md b/general/Managing-Dates.md
index dd06db2e..b5f12d5d 100644
--- a/general/Managing-Dates.md
+++ b/general/Managing-Dates.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['concept', 'date', 'time', 'datetime']
----
 
 
 # Managing Dates
diff --git a/general/Schema.md b/general/Schema.md
index 0289bbbe..f84a6645 100644
--- a/general/Schema.md
+++ b/general/Schema.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['concept', 'schema', 'class', 'property', 'relationship', 'edge', 'vertex']
----
 
 # Schema
 
diff --git a/general/Types.md b/general/Types.md
index cbceb579..33e23ec6 100644
--- a/general/Types.md
+++ b/general/Types.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['concepts', 'data types', 'types']
----
 
 
 
diff --git a/gettingstarted/Chat-use-case.md b/gettingstarted/Chat-use-case.md
index 152a18f4..b075cd7b 100644
--- a/gettingstarted/Chat-use-case.md
+++ b/gettingstarted/Chat-use-case.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['use case', 'use-case', 'chat']
----
 
 
 # Chat Use Case
diff --git a/gettingstarted/Key-Value-use-case.md b/gettingstarted/Key-Value-use-case.md
index c904fe3c..6068398d 100644
--- a/gettingstarted/Key-Value-use-case.md
+++ b/gettingstarted/Key-Value-use-case.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['use case', 'use-case', 'key value', 'key/value', 'key-value']
----
 
 # Key Value Use Case
 
diff --git a/gettingstarted/Queue-use-case.md b/gettingstarted/Queue-use-case.md
index a00a2601..e1e48ff5 100644
--- a/gettingstarted/Queue-use-case.md
+++ b/gettingstarted/Queue-use-case.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['use case', 'use-case', 'queue system', 'distributed queues']
----
 
 
 # Distributed queues use case
diff --git a/gettingstarted/README.md b/gettingstarted/README.md
index e0902350..f3e1a4f1 100644
--- a/gettingstarted/README.md
+++ b/gettingstarted/README.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "getting started", "NoSQL"]
----
 
 # Getting Started
 
diff --git a/gettingstarted/Time-series-use-case.md b/gettingstarted/Time-series-use-case.md
index 587f53d5..a5e1d6f8 100644
--- a/gettingstarted/Time-series-use-case.md
+++ b/gettingstarted/Time-series-use-case.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['use case', 'use-case', 'time series']
----
 
 
 # Time Series Use Case
diff --git a/gettingstarted/Tutorial-Classes.md b/gettingstarted/Tutorial-Classes.md
index ccb19f82..40ae8b15 100644
--- a/gettingstarted/Tutorial-Classes.md
+++ b/gettingstarted/Tutorial-Classes.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "class"]
----
 
 
 
diff --git a/gettingstarted/Tutorial-Clusters.md b/gettingstarted/Tutorial-Clusters.md
index 182eb18d..c476ab7e 100644
--- a/gettingstarted/Tutorial-Clusters.md
+++ b/gettingstarted/Tutorial-Clusters.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "cluster"]
----
 
 
 # Clusters
diff --git a/gettingstarted/Tutorial-Installation-Operations.md b/gettingstarted/Tutorial-Installation-Operations.md
index 4491599f..96185e25 100644
--- a/gettingstarted/Tutorial-Installation-Operations.md
+++ b/gettingstarted/Tutorial-Installation-Operations.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "installation"]
----
 
 # Installation
 
diff --git a/gettingstarted/Tutorial-Installation.md b/gettingstarted/Tutorial-Installation.md
index dd2e5ae0..1f1414b6 100644
--- a/gettingstarted/Tutorial-Installation.md
+++ b/gettingstarted/Tutorial-Installation.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "install", "installation", "docker", "binary installation", "source installation"]
----
 
 
 
diff --git a/gettingstarted/Tutorial-Introduction-to-the-NoSQL-world.md b/gettingstarted/Tutorial-Introduction-to-the-NoSQL-world.md
index f5ec1460..f7f13d19 100644
--- a/gettingstarted/Tutorial-Introduction-to-the-NoSQL-world.md
+++ b/gettingstarted/Tutorial-Introduction-to-the-NoSQL-world.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "getting started", "NoSQL"]
----
 
 
 
diff --git a/gettingstarted/Tutorial-Java-Hooks.md b/gettingstarted/Tutorial-Java-Hooks.md
index f109ab98..10fe8d88 100644
--- a/gettingstarted/Tutorial-Java-Hooks.md
+++ b/gettingstarted/Tutorial-Java-Hooks.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "Java API", "hooks", "database triggers"]
----
 
 # Java Hook Tutorial
 One common use case for OrientDB Hooks (a.k.a. database triggers) is to manage created and updated dates for any or all classes (a.k.a. database tables). For example, it is nice to be able to set a CreatedDate field whenever a record is created and set an UpdatedDate field whenever a record is updated, and do it in a way where you implement the logic once at the database layer and never have to worry about it again at the application layer.
diff --git a/gettingstarted/Tutorial-Record-ID.md b/gettingstarted/Tutorial-Record-ID.md
index 9a5a6357..c8d4ebfb 100644
--- a/gettingstarted/Tutorial-Record-ID.md
+++ b/gettingstarted/Tutorial-Record-ID.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "record ID", "rid", "load"]
----
 
 
 
diff --git a/gettingstarted/Tutorial-Relationships.md b/gettingstarted/Tutorial-Relationships.md
index 4584fe7c..8028a983 100644
--- a/gettingstarted/Tutorial-Relationships.md
+++ b/gettingstarted/Tutorial-Relationships.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "relationship", "edge"]
----
 
 
 # Relationships
diff --git a/gettingstarted/Tutorial-Run-the-console.md b/gettingstarted/Tutorial-Run-the-console.md
index 112e6afc..f6534578 100644
--- a/gettingstarted/Tutorial-Run-the-console.md
+++ b/gettingstarted/Tutorial-Run-the-console.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "console", "HELP", "CONNECT"]
----
 
 
 
diff --git a/gettingstarted/Tutorial-Run-the-server.md b/gettingstarted/Tutorial-Run-the-server.md
index 9879b9ea..10070dea 100644
--- a/gettingstarted/Tutorial-Run-the-server.md
+++ b/gettingstarted/Tutorial-Run-the-server.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "server"]
----
 
 # Running the OrientDB Server
 
diff --git a/gettingstarted/Tutorial-Run-the-studio.md b/gettingstarted/Tutorial-Run-the-studio.md
index 1e78b013..207d03bd 100644
--- a/gettingstarted/Tutorial-Run-the-studio.md
+++ b/gettingstarted/Tutorial-Run-the-studio.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "studio"]
----
 
 # Run the Studio
 
diff --git a/gettingstarted/Tutorial-SQL.md b/gettingstarted/Tutorial-SQL.md
index 86b36648..09474b94 100644
--- a/gettingstarted/Tutorial-SQL.md
+++ b/gettingstarted/Tutorial-SQL.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "SQL"]
----
 
 # SQL
 
diff --git a/gettingstarted/Tutorial-Using-schema-with-graphs.md b/gettingstarted/Tutorial-Using-schema-with-graphs.md
index b3f16f78..98652dc7 100644
--- a/gettingstarted/Tutorial-Using-schema-with-graphs.md
+++ b/gettingstarted/Tutorial-Using-schema-with-graphs.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "schema"]
----
 
 
 
diff --git a/gettingstarted/Tutorial-Working-with-graphs.md b/gettingstarted/Tutorial-Working-with-graphs.md
index 8c495bf9..1d52d4ee 100644
--- a/gettingstarted/Tutorial-Working-with-graphs.md
+++ b/gettingstarted/Tutorial-Working-with-graphs.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "graph"]
----
 
 # Working with Graphs
 
diff --git a/gremlin/Gremlin.md b/gremlin/Gremlin.md
index b857d491..18638b33 100644
--- a/gremlin/Gremlin.md
+++ b/gremlin/Gremlin.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Gremlin API', 'Gremlin', 'javascript']
----
 
 # Gremlin API
 
diff --git a/indexing/Auto-Sharding-Index.md b/indexing/Auto-Sharding-Index.md
index 8dda61aa..e6d6ef5a 100644
--- a/indexing/Auto-Sharding-Index.md
+++ b/indexing/Auto-Sharding-Index.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['index', 'auto sharding index']
----
 
 # Auto Sharding Index Algorithm
 
diff --git a/indexing/Full-Text-Index.md b/indexing/Full-Text-Index.md
index fd2d9953..3c261789 100644
--- a/indexing/Full-Text-Index.md
+++ b/indexing/Full-Text-Index.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['index', 'FULLTEXT', 'full text', 'Lucene']
----
 
 # Lucene FullText Index
 
diff --git a/indexing/FullTextIndex.md b/indexing/FullTextIndex.md
index e1b5928b..70151adc 100644
--- a/indexing/FullTextIndex.md
+++ b/indexing/FullTextIndex.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['index', 'FULLTEXT', 'full text']
----
 
 # FullText Indexes
 
diff --git a/indexing/Hash-Index.md b/indexing/Hash-Index.md
index 8bd12b8a..cae9dfe9 100644
--- a/indexing/Hash-Index.md
+++ b/indexing/Hash-Index.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['index', 'hash', 'Hash Index', 'UNIQUE_HASH_INDEX', 'NOTUNIQUE_HASH_INDEX', 'FULLTEXT_HASH_INDEX', 'DICTIONARY']
----
 
 # Hash Index Algorithm
 
diff --git a/indexing/Indexes.md b/indexing/Indexes.md
index ac7c9956..c8cd3df2 100644
--- a/indexing/Indexes.md
+++ b/indexing/Indexes.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['index', 'indices']
----
 
 # Indexes
 
diff --git a/indexing/SB-Tree-index.md b/indexing/SB-Tree-index.md
index b2919462..08b36cd0 100644
--- a/indexing/SB-Tree-index.md
+++ b/indexing/SB-Tree-index.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['index', 'SB-Tree', 'UNIQUE', 'NOTUNIQUE', 'FULLTEXT', 'DICTIONARY']
----
 
 # SB-Tree Index Algorithm
 
diff --git a/indexing/Spatial-Index.md b/indexing/Spatial-Index.md
index a5e335c1..9bdc1717 100644
--- a/indexing/Spatial-Index.md
+++ b/indexing/Spatial-Index.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['index', 'spatial index', 'Lucene']
----
 
 # Lucene Spatial
 
diff --git a/internals/Caching.md b/internals/Caching.md
index d73143fe..269d8c07 100644
--- a/internals/Caching.md
+++ b/internals/Caching.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'cache', 'caching']
----
 
 # Caching
 
diff --git a/internals/Clusters.md b/internals/Clusters.md
index b4223cd9..f7f1ff11 100644
--- a/internals/Clusters.md
+++ b/internals/Clusters.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'clusters']
----
 
 # Clusters
 
diff --git a/internals/Custom-Index-Engine.md b/internals/Custom-Index-Engine.md
index d7d1b868..e078a259 100644
--- a/internals/Custom-Index-Engine.md
+++ b/internals/Custom-Index-Engine.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'index', 'custom index engine']
----
 
 # Entry Points Since OrientDB v 1.7
 
diff --git a/internals/DB-Server.md b/internals/DB-Server.md
index 3fbb7387..b310f159 100644
--- a/internals/DB-Server.md
+++ b/internals/DB-Server.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'server', 'OrientDB Server']
----
 
 # OrientDB Server
 
diff --git a/internals/Dynamic-Hooks.md b/internals/Dynamic-Hooks.md
index 49c92876..d4d12ce9 100644
--- a/internals/Dynamic-Hooks.md
+++ b/internals/Dynamic-Hooks.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'hook', 'dynamic', 'dynamic hook', 'triggers']
----
 
 # Dynamic Hooks
 Dynamic [Hooks](Hook.md) are more flexible than [Java Hooks](../java/Java-Hooks.md), because they can be changed at run-time and can run per document if needed, but are slower than [Java Hooks](../java/Java-Hooks.md). 
diff --git a/internals/Embedded-Server.md b/internals/Embedded-Server.md
index c4dbdf30..ed0f04fe 100644
--- a/internals/Embedded-Server.md
+++ b/internals/Embedded-Server.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'server', 'embedded', 'embedded server']
----
 
 # Embed the Server
 
diff --git a/internals/Hook.md b/internals/Hook.md
index 85f2c9c0..5c86d62f 100644
--- a/internals/Hook.md
+++ b/internals/Hook.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'hook', 'trigger']
----
 
 # Hooks (Triggers)
 
diff --git a/internals/Internals.md b/internals/Internals.md
index d750f808..98491cd9 100644
--- a/internals/Internals.md
+++ b/internals/Internals.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals']
----
 
 # Internals
 
diff --git a/internals/Limits.md b/internals/Limits.md
index 60a9cff2..5f0a97c8 100644
--- a/internals/Limits.md
+++ b/internals/Limits.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'limits']
----
 
 # Limits
 
diff --git a/internals/Local-Storage.md b/internals/Local-Storage.md
index dcc7e24e..fa03fe76 100644
--- a/internals/Local-Storage.md
+++ b/internals/Local-Storage.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['storage', 'Local']
----
 
 # Local Storage
 
diff --git a/internals/Memory-storage.md b/internals/Memory-storage.md
index cf1bb5c2..3db44531 100644
--- a/internals/Memory-storage.md
+++ b/internals/Memory-storage.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['storage', 'memory']
----
 
 # Memory Storage
 
diff --git a/internals/Network-Binary-Protocol-Commands.md b/internals/Network-Binary-Protocol-Commands.md
index 05ecb7d0..209b8b1b 100644
--- a/internals/Network-Binary-Protocol-Commands.md
+++ b/internals/Network-Binary-Protocol-Commands.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['binary protocol', 'command']
----
 
 # Network Binary Protocol Commands
 
diff --git a/internals/Network-Binary-Protocol.md b/internals/Network-Binary-Protocol.md
index d8079064..d0087a1e 100644
--- a/internals/Network-Binary-Protocol.md
+++ b/internals/Network-Binary-Protocol.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Network Binary Protocol', 'binary protocol']
----
 
 # Binary Protocol
 
diff --git a/internals/Paginated-Local-Storage.md b/internals/Paginated-Local-Storage.md
index 19983a33..0320d3c7 100644
--- a/internals/Paginated-Local-Storage.md
+++ b/internals/Paginated-Local-Storage.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['storage', 'paginated local storage', 'PLocal']
----
 
 # PLocal Storage
 
diff --git a/internals/Record-CSV-Serialization.md b/internals/Record-CSV-Serialization.md
index 3c1cdcbc..86bcd1d7 100644
--- a/internals/Record-CSV-Serialization.md
+++ b/internals/Record-CSV-Serialization.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['binary protocol', 'CSV serialization']
----
 
 # CSV Serialization
 
diff --git a/internals/Record-Schemaless-Binary-Serialization.md b/internals/Record-Schemaless-Binary-Serialization.md
index bb2c184a..e75438e2 100644
--- a/internals/Record-Schemaless-Binary-Serialization.md
+++ b/internals/Record-Schemaless-Binary-Serialization.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['binary protocol', 'schemaless serialization']
----
 
 # Schemaless Serialization
 
diff --git a/internals/RidBag.md b/internals/RidBag.md
index c7ad771d..aa784a60 100644
--- a/internals/RidBag.md
+++ b/internals/RidBag.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'RID Bag', 'RIDBag']
----
 
 # RidBag
 
diff --git a/internals/Server-Status.md b/internals/Server-Status.md
index 6f2ca57e..2c195694 100644
--- a/internals/Server-Status.md
+++ b/internals/Server-Status.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['server', 'OrientDB Server', 'dump', 'status']
----
 
 # Server Status
 
diff --git a/internals/Storages.md b/internals/Storages.md
index 04aba8a3..cd44daba 100644
--- a/internals/Storages.md
+++ b/internals/Storages.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'storage']
----
 
 # Storages
 
diff --git a/internals/Transactions.md b/internals/Transactions.md
index 092c68c9..a8b9f761 100644
--- a/internals/Transactions.md
+++ b/internals/Transactions.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'transactions']
----
 
 # Transactions
 
diff --git a/internals/Web-Server.md b/internals/Web-Server.md
index 16028f04..14a722af 100644
--- a/internals/Web-Server.md
+++ b/internals/Web-Server.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'web', 'web server', 'server']
----
 
 # Web Server
 
diff --git a/internals/Write-Ahead-Log.md b/internals/Write-Ahead-Log.md
index 74170414..1199c41a 100644
--- a/internals/Write-Ahead-Log.md
+++ b/internals/Write-Ahead-Log.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['storage', 'PLocal', 'write ahead log', 'WAL', 'journal']
----
 
 # PLocal WAL (Journal)
 
diff --git a/internals/plocal-storage-disk-cache.md b/internals/plocal-storage-disk-cache.md
index fc607735..21cc7f6d 100644
--- a/internals/plocal-storage-disk-cache.md
+++ b/internals/plocal-storage-disk-cache.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['storage', 'PLocal', 'disk cache', 'disk', 'cache']
----
 
 # PLocal Disk-Cache
 
diff --git a/internals/plocal-storage-engine.md b/internals/plocal-storage-engine.md
index 7919bdfd..7a7577ee 100644
--- a/internals/plocal-storage-engine.md
+++ b/internals/plocal-storage-engine.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['storage', 'PLocal', 'engine']
----
 
 # PLocal Engine
 
diff --git a/java/Binary-Data.md b/java/Binary-Data.md
index 484b02c5..3040382f 100644
--- a/java/Binary-Data.md
+++ b/java/Binary-Data.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Java API', 'binary data']
----
 
 # Binary Data
 
diff --git a/java/Document-API-Class.md b/java/Document-API-Class.md
index 083d3d61..2121dbe8 100644
--- a/java/Document-API-Class.md
+++ b/java/Document-API-Class.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Document API', 'schema', 'class']
----
 
 # Classes in the Document Database
 
diff --git a/java/Document-API-Database.md b/java/Document-API-Database.md
index 26693f24..ff42560d 100644
--- a/java/Document-API-Database.md
+++ b/java/Document-API-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Document API', 'document database']
----
 
 # Working with Document Databases
 
diff --git a/java/Document-API-Documents.md b/java/Document-API-Documents.md
index 6b490a28..dcd64122 100644
--- a/java/Document-API-Documents.md
+++ b/java/Document-API-Documents.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Document API', 'documents']
----
 
 # Working with Documents
 
diff --git a/java/Document-API-Property.md b/java/Document-API-Property.md
index abed1319..3ccf064c 100644
--- a/java/Document-API-Property.md
+++ b/java/Document-API-Property.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Document API', 'schema', 'property']
----
 
 # Properties in the Document Database
 
diff --git a/java/Document-Database.md b/java/Document-Database.md
index 69e2048e..8baaf607 100644
--- a/java/Document-Database.md
+++ b/java/Document-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Java', 'Document API']
----
 
 # Document API
 
diff --git a/java/Fetching-Strategies.md b/java/Fetching-Strategies.md
index 34056529..4b2b2983 100644
--- a/java/Fetching-Strategies.md
+++ b/java/Fetching-Strategies.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['concept', 'fetch', 'fetching', 'fetch plan', 'fetching strategy', 'fetching strategies']
----
 
 
 # Fetching Strategies
diff --git a/java/Graph-Batch-Insert.md b/java/Graph-Batch-Insert.md
index 94e64fad..6e751eee 100644
--- a/java/Graph-Batch-Insert.md
+++ b/java/Graph-Batch-Insert.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Graph API', 'batch insert', 'bulk load', 'bulk insert', 'OGraphBatchInsertBasic', 'OGraphBatchInsert']
----
 
 # Graph Batch Insert
 
diff --git a/java/Graph-Blueprints.md b/java/Graph-Blueprints.md
index fef4859b..cbff2d71 100644
--- a/java/Graph-Blueprints.md
+++ b/java/Graph-Blueprints.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Graph API', 'TinkerPop', 'Blueprints Extension', 'blueprint']
----
 
 # Using the Blueprints Extensions
 
diff --git a/java/Graph-Consistency.md b/java/Graph-Consistency.md
index 2a0bd00b..9b95406d 100644
--- a/java/Graph-Consistency.md
+++ b/java/Graph-Consistency.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['graph', 'graph consistency']
----
 
 
 # Graph Consistency
diff --git a/java/Graph-Database-Tinkerpop.md b/java/Graph-Database-Tinkerpop.md
index 56e92c72..bfb0fc95 100644
--- a/java/Graph-Database-Tinkerpop.md
+++ b/java/Graph-Database-Tinkerpop.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Java', 'Graph API', 'TinkerPop']
----
 
 # Graph API
 
diff --git a/java/Graph-Factory.md b/java/Graph-Factory.md
index 1fb4f94e..1a95d5ec 100644
--- a/java/Graph-Factory.md
+++ b/java/Graph-Factory.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Graph API', 'TinkerPop', 'Blueprint', 'Graph Factory']
----
 
 # Graph Factory
 
diff --git a/java/Graph-Schema-Class.md b/java/Graph-Schema-Class.md
index a990781f..cfb6461c 100644
--- a/java/Graph-Schema-Class.md
+++ b/java/Graph-Schema-Class.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Java', 'Graph API', 'class']
----
 
 # Classes in the Graph Database
 
diff --git a/java/Graph-Schema-Property.md b/java/Graph-Schema-Property.md
index b1464e67..8dec93e8 100644
--- a/java/Graph-Schema-Property.md
+++ b/java/Graph-Schema-Property.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Graph API', 'Java', 'property', 'properties']
----
 
 # Graph Database Properties
 
diff --git a/java/Graph-Schema.md b/java/Graph-Schema.md
index aa9ca8c9..f8c1e3b9 100644
--- a/java/Graph-Schema.md
+++ b/java/Graph-Schema.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Graph API', 'schema']
----
 
 # Graph Schema
 
diff --git a/java/Graph-VE.md b/java/Graph-VE.md
index c113cd88..ca76d639 100644
--- a/java/Graph-VE.md
+++ b/java/Graph-VE.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Graph API', 'vertex', 'vertices', 'edge']
----
 
 # Vertices and Edges
 
diff --git a/java/JPA-Configuration.md b/java/JPA-Configuration.md
index 5908e5bb..589cdb25 100644
--- a/java/JPA-Configuration.md
+++ b/java/JPA-Configuration.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Java API', 'JPA']
----
 
 # JPA
 
diff --git a/java/Java-API.md b/java/Java-API.md
index 17f70827..ec086bb9 100644
--- a/java/Java-API.md
+++ b/java/Java-API.md
@@ -1,7 +1,3 @@
----
-search:
-    keywords: ['Java', 'Document API', 'Graph API', 'Object API']
----
 
 # Java API
 
diff --git a/java/Java-Hooks.md b/java/Java-Hooks.md
index 90f3d076..33560367 100644
--- a/java/Java-Hooks.md
+++ b/java/Java-Hooks.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['inetrnals', 'hook', 'dynamic hook', 'Java']
----
 
 # (Native) Java Hooks
 Java Hooks are the fastest [hooks](../internals/Hook.md). Write a Java Hook if you need the best performance on execution. Look at [Hooks](../internals/Hook.md) for more information.
diff --git a/java/Java-Multi-Threading-Usage.md b/java/Java-Multi-Threading-Usage.md
index 01abaad3..cc1a233a 100644
--- a/java/Java-Multi-Threading-Usage.md
+++ b/java/Java-Multi-Threading-Usage.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Java API', 'mutli-thread', 'multithread']
----
 
 # Working with Multi-threading
 
diff --git a/java/Java-Multi-Threading.md b/java/Java-Multi-Threading.md
index 702f293a..8c5c9c79 100644
--- a/java/Java-Multi-Threading.md
+++ b/java/Java-Multi-Threading.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Java API', 'mutli-thread', 'multithread']
----
 
 # Multi-threading with OrientDB
 
diff --git a/java/Java-Schema-Api.md b/java/Java-Schema-Api.md
index 3ba6775a..ac2562bd 100644
--- a/java/Java-Schema-Api.md
+++ b/java/Java-Schema-Api.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Document API', 'schema']
----
 
 # Schema
 
diff --git a/java/Java-Traverse.md b/java/Java-Traverse.md
index 6a8b7093..ecda2532 100644
--- a/java/Java-Traverse.md
+++ b/java/Java-Traverse.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Java API', 'traverse', 'traversal']
----
 
 # Traverse
 
diff --git a/java/Java-Web-Apps.md b/java/Java-Web-Apps.md
index e786a403..ab387eb0 100644
--- a/java/Java-Web-Apps.md
+++ b/java/Java-Web-Apps.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Java API', 'web app', 'web application']
----
 
 # Web Applications
 
diff --git a/java/Lightweight-Edges.md b/java/Lightweight-Edges.md
index 5495fea4..eda092f7 100644
--- a/java/Lightweight-Edges.md
+++ b/java/Lightweight-Edges.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Graph API', 'Lightweight Edge', 'edge']
----
 
 # Lightweight Edges
 
diff --git a/java/Live-Query-Comparison.md b/java/Live-Query-Comparison.md
index d2e5d040..416739bc 100644
--- a/java/Live-Query-Comparison.md
+++ b/java/Live-Query-Comparison.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["live query", "live queries"]
----
 
 # Comparison of Tradition and Live Queries
 
diff --git a/java/Live-Query-Intro.md b/java/Live-Query-Intro.md
index 524d4288..f52ec969 100644
--- a/java/Live-Query-Intro.md
+++ b/java/Live-Query-Intro.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['live query', 'live queries']
----
 
 # Understanding Live Queries
 
diff --git a/java/Live-Query-Java.md b/java/Live-Query-Java.md
index c141fc24..6d882701 100644
--- a/java/Live-Query-Java.md
+++ b/java/Live-Query-Java.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Java API', 'live query', 'live queries']
----
 
 # Using Live Queries in Java
 
diff --git a/java/Live-Query.md b/java/Live-Query.md
index 5544597b..16d46c11 100644
--- a/java/Live-Query.md
+++ b/java/Live-Query.md
@@ -1,7 +1,3 @@
----
-search:
-  keywords: ['Java API', 'Live Query']
----
 
 # Live Query
 
diff --git a/java/Object-2-Record-Java-Binding.md b/java/Object-2-Record-Java-Binding.md
index 8be5e4e1..fb6c1954 100644
--- a/java/Object-2-Record-Java-Binding.md
+++ b/java/Object-2-Record-Java-Binding.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Object API', 'object binding']
----
 
 # Object Binding
 
diff --git a/java/Object-DB-Interface.md b/java/Object-DB-Interface.md
index cdbba59c..ce22d2ed 100644
--- a/java/Object-DB-Interface.md
+++ b/java/Object-DB-Interface.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Object API', 'using', 'connection']
----
 
 # Object Interface
 
diff --git a/java/Object-Database.md b/java/Object-Database.md
index 2ec96f3e..5df2f6e9 100644
--- a/java/Object-Database.md
+++ b/java/Object-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Object API', 'Java']
----
 
 # Object API
 > groupId: **com.orientechnologies**  artifactId: **orientdb-object**
diff --git a/java/Partitioned-Graphs.md b/java/Partitioned-Graphs.md
index 6048e9ea..c9b38c74 100644
--- a/java/Partitioned-Graphs.md
+++ b/java/Partitioned-Graphs.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Graph API', 'Java', 'partition', 'partitioned graphs', 'tenant', 'multi tenant']
----
 
 # Partitioned Graphs
 
diff --git a/java/Transaction-propagation.md b/java/Transaction-propagation.md
index 84cbb9af..11266aff 100644
--- a/java/Transaction-propagation.md
+++ b/java/Transaction-propagation.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Java API', 'transaction', 'transaction propagation']
----
 
 # Transaction Propagation
 
diff --git a/java/Tutorial-Java.md b/java/Tutorial-Java.md
index 59f24f00..6acc7d9d 100644
--- a/java/Tutorial-Java.md
+++ b/java/Tutorial-Java.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["tutorial", "Java API"]
----
 
 # Java API Tutorial (LEGACY)
 
diff --git a/jdbc-driver/README.md b/jdbc-driver/README.md
index 8a8a7342..0ab29446 100644
--- a/jdbc-driver/README.md
+++ b/jdbc-driver/README.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['JDBC', 'JDBC driver']
----
 
 # JDBC Driver
 > GroupId: **com.orientechnologies** ArtifactId: **orientdb-jdbc**
diff --git a/js/Javascript-Command.md b/js/Javascript-Command.md
index 8a73c770..a8e52372 100644
--- a/js/Javascript-Command.md
+++ b/js/Javascript-Command.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['JavaScript API']
----
 
 # Javascript
 
diff --git a/js/Javascript-Driver.md b/js/Javascript-Driver.md
index 76e8d1ed..d690052b 100644
--- a/js/Javascript-Driver.md
+++ b/js/Javascript-Driver.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['JavaScript', 'JavaScript API', 'JavaScript Driver']
----
 
 # Javascript API
 
diff --git a/legacy/Choosing-between-Graph-or-Document-API.md b/legacy/Choosing-between-Graph-or-Document-API.md
index a6493342..f1b2b3d7 100644
--- a/legacy/Choosing-between-Graph-or-Document-API.md
+++ b/legacy/Choosing-between-Graph-or-Document-API.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['concept', 'Graph API', 'Document API']
----
 
 
 # Graph or Document API?
diff --git a/legacy/DocumentDB-Comparison.md b/legacy/DocumentDB-Comparison.md
index c328c8ef..a2b192f0 100644
--- a/legacy/DocumentDB-Comparison.md
+++ b/legacy/DocumentDB-Comparison.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Document API', 'Document Database', 'comparison']
----
 
 # Document Database Comparison
 
diff --git a/legacy/GraphDB-Comparison.md b/legacy/GraphDB-Comparison.md
index f4de8d80..68eec2b6 100644
--- a/legacy/GraphDB-Comparison.md
+++ b/legacy/GraphDB-Comparison.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Graph API', 'GraphDB']
----
 
 # Graph Database Comparison
 
diff --git a/legacy/Hackaton.md b/legacy/Hackaton.md
index 9a2aba9a..893a83e5 100644
--- a/legacy/Hackaton.md
+++ b/legacy/Hackaton.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['contribute', 'contribution', 'hackathon']
----
 
 # Hackaton
 
diff --git a/legacy/Migration-from-1.3.x-to-1.4.x.md b/legacy/Migration-from-1.3.x-to-1.4.x.md
index 05b74899..d7db1bcf 100644
--- a/legacy/Migration-from-1.3.x-to-1.4.x.md
+++ b/legacy/Migration-from-1.3.x-to-1.4.x.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['upgrade', 'migration']
----
 
 # Migration from 1.3.x to 1.4.x
 
diff --git a/legacy/Migration-from-1.4.x-to-1.5.x.md b/legacy/Migration-from-1.4.x-to-1.5.x.md
index 71cb6769..44fa00bf 100644
--- a/legacy/Migration-from-1.4.x-to-1.5.x.md
+++ b/legacy/Migration-from-1.4.x-to-1.5.x.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['upgrade', 'migration']
----
 
 # Migration from 1.4.x to 1.5.x
 
diff --git a/legacy/Migration-from-1.5.x-to-1.6.x.md b/legacy/Migration-from-1.5.x-to-1.6.x.md
index e4345d84..c062a723 100644
--- a/legacy/Migration-from-1.5.x-to-1.6.x.md
+++ b/legacy/Migration-from-1.5.x-to-1.6.x.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['upgrade', 'migration']
----
 
 # Migration from 1.5.x to 1.6.x
 
diff --git a/legacy/Migration-from-1.6.x-to-1.7.x.md b/legacy/Migration-from-1.6.x-to-1.7.x.md
index 9729ff17..b6143ac7 100644
--- a/legacy/Migration-from-1.6.x-to-1.7.x.md
+++ b/legacy/Migration-from-1.6.x-to-1.7.x.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['upgrade', 'migration']
----
 
 # Migration from 1.6.x to 1.7.x
 
diff --git a/legacy/Migration-from-1.7.x-to-2.0.x.md b/legacy/Migration-from-1.7.x-to-2.0.x.md
index 016e7942..169b76fd 100644
--- a/legacy/Migration-from-1.7.x-to-2.0.x.md
+++ b/legacy/Migration-from-1.7.x-to-2.0.x.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['upgrade', 'migration']
----
 
 # Migration from 1.7.x to 2.0.x
 
diff --git a/legacy/Presentations.md b/legacy/Presentations.md
index 344405d5..648c8721 100644
--- a/legacy/Presentations.md
+++ b/legacy/Presentations.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['tutorial', 'presentation', 'video cast']
----
 
 # Presentations
 
diff --git a/legacy/Query-Examples.md b/legacy/Query-Examples.md
index f1afa5ea..3fcb6811 100644
--- a/legacy/Query-Examples.md
+++ b/legacy/Query-Examples.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['troubleshooting', 'query', 'queries', 'query example']
----
 
 # Query Examples
 
diff --git a/legacy/Quick-Start.md b/legacy/Quick-Start.md
index 0a998391..697f87c2 100644
--- a/legacy/Quick-Start.md
+++ b/legacy/Quick-Start.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['tutorial', 'links']
----
 
 # More on Tutorials
 
diff --git a/legacy/Release-2.1.0.md b/legacy/Release-2.1.0.md
index f998e2d8..bdf30564 100644
--- a/legacy/Release-2.1.0.md
+++ b/legacy/Release-2.1.0.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['upgrade', 'release notes']
----
 
 # Release 2.1.x
 
diff --git a/legacy/Release-2.2.0.md b/legacy/Release-2.2.0.md
index 6c1b8f39..618d83df 100644
--- a/legacy/Release-2.2.0.md
+++ b/legacy/Release-2.2.0.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['upgrade', 'release notes']
----
 
 # Release 2.2.x
 
diff --git a/legacy/Use-Cases.md b/legacy/Use-Cases.md
index df2eeee1..9efbd4d5 100644
--- a/legacy/Use-Cases.md
+++ b/legacy/Use-Cases.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['concept', 'use cases', 'use-cases']
----
 
 # Use Cases
 
diff --git a/marcopolo/MarcoPolo-Database.md b/marcopolo/MarcoPolo-Database.md
index 6b70d560..afb683d4 100644
--- a/marcopolo/MarcoPolo-Database.md
+++ b/marcopolo/MarcoPolo-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'database']
----
 
 # MarcoPolo - Database Operations
 
diff --git a/marcopolo/MarcoPolo-Date.md b/marcopolo/MarcoPolo-Date.md
index 4b7809a4..662a02dc 100644
--- a/marcopolo/MarcoPolo-Date.md
+++ b/marcopolo/MarcoPolo-Date.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['MarcoPolo', 'Marco Polo', 'Elixir', 'date']
----
 
 # MarcoPolo - `Date`
 
diff --git a/marcopolo/MarcoPolo-DateTime.md b/marcopolo/MarcoPolo-DateTime.md
index 44c7d676..de150a53 100644
--- a/marcopolo/MarcoPolo-DateTime.md
+++ b/marcopolo/MarcoPolo-DateTime.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'Marco Polo', 'datetime', 'date time']
----
 
 # MarcoPolo - `DateTime`
 
diff --git a/marcopolo/MarcoPolo-Document.md b/marcopolo/MarcoPolo-Document.md
index 9b46b12a..2b787381 100644
--- a/marcopolo/MarcoPolo-Document.md
+++ b/marcopolo/MarcoPolo-Document.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['MarcoPolo', 'Marco Polo', 'Elixir', 'document']
----
 
 # MarcoPolo - `Document`
 
diff --git a/marcopolo/MarcoPolo-FetchPlan.md b/marcopolo/MarcoPolo-FetchPlan.md
index 59cf9682..0f007980 100644
--- a/marcopolo/MarcoPolo-FetchPlan.md
+++ b/marcopolo/MarcoPolo-FetchPlan.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['MarcoPolo', 'Elixir', 'struct', 'fetch plan', 'fetching strategy', 'fetchplan']
----
 
 # MarcoPolo - `FetchPlan`
 
diff --git a/marcopolo/MarcoPolo-RID.md b/marcopolo/MarcoPolo-RID.md
index a0f1f3a6..70c8ad1f 100644
--- a/marcopolo/MarcoPolo-RID.md
+++ b/marcopolo/MarcoPolo-RID.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'Marco Polo', 'MarcoPolo', 'record id', 'rid']
----
 
 # MarcoPolo - `RID`
 
diff --git a/marcopolo/MarcoPolo-Server.md b/marcopolo/MarcoPolo-Server.md
index 647b0e11..6863a329 100644
--- a/marcopolo/MarcoPolo-Server.md
+++ b/marcopolo/MarcoPolo-Server.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'server']
----
 
 # MarcoPolo - Server Operations
 
diff --git a/marcopolo/MarcoPolo-Structs.md b/marcopolo/MarcoPolo-Structs.md
index 111f43f0..7bf5a439 100644
--- a/marcopolo/MarcoPolo-Structs.md
+++ b/marcopolo/MarcoPolo-Structs.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'Marco Polo', 'Structs', 'BinaryRecord', 'Date', 'DateTime', 'Document', 'RID']
----
 
 # MarcoPolo - Structs
 
diff --git a/marcopolo/MarcoPolo-Types.md b/marcopolo/MarcoPolo-Types.md
index b6ed170d..550e4eea 100644
--- a/marcopolo/MarcoPolo-Types.md
+++ b/marcopolo/MarcoPolo-Types.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'Types']
----
 
 # MarcoPolo - Types 
 
diff --git a/marcopolo/MarcoPolo-command.md b/marcopolo/MarcoPolo-command.md
index f60d409b..bddf561e 100644
--- a/marcopolo/MarcoPolo-command.md
+++ b/marcopolo/MarcoPolo-command.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'command', 'query']
----
 
 # MarcoPolo - `command()`
 
diff --git a/marcopolo/MarcoPolo-create-db.md b/marcopolo/MarcoPolo-create-db.md
index 0ba418d1..b4b3e4d2 100644
--- a/marcopolo/MarcoPolo-create-db.md
+++ b/marcopolo/MarcoPolo-create-db.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['MarcoPolo', 'Elixir', 'server', 'create database', 'create_db']
----
 
 # MarcoPolo - `create_db()`
 
diff --git a/marcopolo/MarcoPolo-create-record.md b/marcopolo/MarcoPolo-create-record.md
index efac4e4d..a0447009 100644
--- a/marcopolo/MarcoPolo-create-record.md
+++ b/marcopolo/MarcoPolo-create-record.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'create record', 'create_record']
----
 
 # MarcoPolo - `create_record()`
 
diff --git a/marcopolo/MarcoPolo-db-countrecords.md b/marcopolo/MarcoPolo-db-countrecords.md
index 1e71c49e..797eb6dd 100644
--- a/marcopolo/MarcoPolo-db-countrecords.md
+++ b/marcopolo/MarcoPolo-db-countrecords.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'count records', 'db-countrecords']
----
 
 # MarcoPolo - `db_countrecords()`
 
diff --git a/marcopolo/MarcoPolo-db-exists.md b/marcopolo/MarcoPolo-db-exists.md
index d9133452..2119b074 100644
--- a/marcopolo/MarcoPolo-db-exists.md
+++ b/marcopolo/MarcoPolo-db-exists.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'database exists', 'db_exists']
----
 
 # MarcoPolo - `db_exists?()`
 
diff --git a/marcopolo/MarcoPolo-db-reload.md b/marcopolo/MarcoPolo-db-reload.md
index 97fe8e28..655de0bc 100644
--- a/marcopolo/MarcoPolo-db-reload.md
+++ b/marcopolo/MarcoPolo-db-reload.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'reload database', 'database reload', 'db_reload']
----
 
 # MarcoPolo - `db_reload()`
 
diff --git a/marcopolo/MarcoPolo-db-size.md b/marcopolo/MarcoPolo-db-size.md
index 9cf9e792..a0cf5d8b 100644
--- a/marcopolo/MarcoPolo-db-size.md
+++ b/marcopolo/MarcoPolo-db-size.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'database size', 'db_size']
----
 
 # MarcoPolo - `db_size()`
 
diff --git a/marcopolo/MarcoPolo-delete-record.md b/marcopolo/MarcoPolo-delete-record.md
index 7c745ccf..c2b0cbff 100644
--- a/marcopolo/MarcoPolo-delete-record.md
+++ b/marcopolo/MarcoPolo-delete-record.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'delete record', 'delete_record']
----
 
 # MarcoPolo - `delete_record()`
 
diff --git a/marcopolo/MarcoPolo-distrib-config.md b/marcopolo/MarcoPolo-distrib-config.md
index 9be3574c..79bc9510 100644
--- a/marcopolo/MarcoPolo-distrib-config.md
+++ b/marcopolo/MarcoPolo-distrib-config.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'distrib-config', 'distributed configuration']
----
 
 # MarcoPolo - `distrib_config()`
 
diff --git a/marcopolo/MarcoPolo-drop-db.md b/marcopolo/MarcoPolo-drop-db.md
index bb7527ac..4af3f21c 100644
--- a/marcopolo/MarcoPolo-drop-db.md
+++ b/marcopolo/MarcoPolo-drop-db.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: []
----
 
 # MarcoPolo - `drop_db()`
 
diff --git a/marcopolo/MarcoPolo-live-query-unsubscribe.md b/marcopolo/MarcoPolo-live-query-unsubscribe.md
index 90577cde..e0590807 100644
--- a/marcopolo/MarcoPolo-live-query-unsubscribe.md
+++ b/marcopolo/MarcoPolo-live-query-unsubscribe.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'live query', 'unsubscribe', 'live_query_unsubscribe']
----
 
 # MarcoPolo - `live_query_unsubscribe()`
 
diff --git a/marcopolo/MarcoPolo-live-query.md b/marcopolo/MarcoPolo-live-query.md
index 5a9df24a..f5a4a22a 100644
--- a/marcopolo/MarcoPolo-live-query.md
+++ b/marcopolo/MarcoPolo-live-query.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'live query', 'subscribe', 'live_query']
----
 
 # MarcoPolo - `live_query()`
 
diff --git a/marcopolo/MarcoPolo-load-record.md b/marcopolo/MarcoPolo-load-record.md
index 237107ea..11a8c123 100644
--- a/marcopolo/MarcoPolo-load-record.md
+++ b/marcopolo/MarcoPolo-load-record.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'load record', 'load_record']
----
 
 # MarcoPolo - `load_record()`
 
diff --git a/marcopolo/MarcoPolo-script.md b/marcopolo/MarcoPolo-script.md
index 035c1d68..4592047f 100644
--- a/marcopolo/MarcoPolo-script.md
+++ b/marcopolo/MarcoPolo-script.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'script']
----
 
 # MarcoPolo - `script()`
 
diff --git a/marcopolo/MarcoPolo-update-record.md b/marcopolo/MarcoPolo-update-record.md
index 07fe0a6a..cfdcba33 100644
--- a/marcopolo/MarcoPolo-update-record.md
+++ b/marcopolo/MarcoPolo-update-record.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Elixir', 'MarcoPolo', 'update record', 'update_record']
----
 
 # MarcoPolo - `update_record()`
 
diff --git a/marcopolo/MarcoPolo.md b/marcopolo/MarcoPolo.md
index df5bc63f..e0b0955e 100644
--- a/marcopolo/MarcoPolo.md
+++ b/marcopolo/MarcoPolo.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['MarcoPolo', 'Elixir', 'API']
----
 
 # MarcoPolo: Elixir with OrientDB
 
diff --git a/misc/Backward-compatibility.md b/misc/Backward-compatibility.md
index a119b638..48a9a4c2 100644
--- a/misc/Backward-compatibility.md
+++ b/misc/Backward-compatibility.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['upgrade', 'compatibility', 'backwards compatibility']
----
 
 # Backward Compatibility
 
diff --git a/misc/Cluster-Selection.md b/misc/Cluster-Selection.md
index 7f663dd1..3e950d4f 100644
--- a/misc/Cluster-Selection.md
+++ b/misc/Cluster-Selection.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['concepts', 'cluster', 'cluster selection']
----
 
 # Cluster Selection
 
diff --git a/misc/Contribute-to-OrientDB.md b/misc/Contribute-to-OrientDB.md
index e89497f4..badbfae3 100644
--- a/misc/Contribute-to-OrientDB.md
+++ b/misc/Contribute-to-OrientDB.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['contribute', 'contribution', 'contribute to OrientDB']
----
 
 # How to Contribute to OrientDB
 
diff --git a/misc/Editions.md b/misc/Editions.md
index 51cb016e..3d992f40 100644
--- a/misc/Editions.md
+++ b/misc/Editions.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["Editions"]
----
 
 # Editions
 
diff --git a/misc/Get-in-Touch.md b/misc/Get-in-Touch.md
index bcdb013a..f4d51d66 100644
--- a/misc/Get-in-Touch.md
+++ b/misc/Get-in-Touch.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['get in touch', 'getting in touch', 'contact']
----
 
 # How to Get in Touch with OrientDB
 
diff --git a/misc/OrientDB-REST.md b/misc/OrientDB-REST.md
index fbbae5ae..0313634d 100644
--- a/misc/OrientDB-REST.md
+++ b/misc/OrientDB-REST.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['REST', 'REST API', 'HTTP Protocol']
----
 
 # HTTP Protocol
 
diff --git a/misc/Report-an-issue.md b/misc/Report-an-issue.md
index 55e777a7..f60d2fd4 100644
--- a/misc/Report-an-issue.md
+++ b/misc/Report-an-issue.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['contribute', 'contribution', 'report', 'issue', 'report an issue']
----
 
 # Report an Issue
 
diff --git a/misc/Roadmap.md b/misc/Roadmap.md
index 99add00f..57d6e158 100644
--- a/misc/Roadmap.md
+++ b/misc/Roadmap.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['roadmap', 'road map']
----
 
 # OrientDB Roadmap
 
diff --git a/misc/Stress-Test-Tool.md b/misc/Stress-Test-Tool.md
index 6fb5fe7b..cdfc723e 100644
--- a/misc/Stress-Test-Tool.md
+++ b/misc/Stress-Test-Tool.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['stress test tool']
----
 
 # OrientDB Stress Test Tool
 
diff --git a/misc/Troubleshooting-Java.md b/misc/Troubleshooting-Java.md
index f80be239..b2d01a1b 100644
--- a/misc/Troubleshooting-Java.md
+++ b/misc/Troubleshooting-Java.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['troubleshooting', 'Java']
----
 
 # Troubleshooting using Java API
 
diff --git a/misc/Troubleshooting.md b/misc/Troubleshooting.md
index 88233855..a9c204e1 100644
--- a/misc/Troubleshooting.md
+++ b/misc/Troubleshooting.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['troubleshooting', 'best practices']
----
 
 # Troubleshooting
 
diff --git a/neo4j-to-orientdb-importer/README.md b/neo4j-to-orientdb-importer/README.md
index fecb57ed..16738291 100644
--- a/neo4j-to-orientdb-importer/README.md
+++ b/neo4j-to-orientdb-importer/README.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['neo4j to orientdb importer', 'neo4j', 'import', 'migration']
----
 
 # Neo4j to OrientDB Importer
 
diff --git a/orientjs/Client.md b/orientjs/Client.md
index d5167d3a..f3296988 100644
--- a/orientjs/Client.md
+++ b/orientjs/Client.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Node.js', 'node','Client']
----
 
 
 # Client API
diff --git a/orientjs/OrientJS-Class-Classes.md b/orientjs/OrientJS-Class-Classes.md
index 321d0673..eeaecd4e 100644
--- a/orientjs/OrientJS-Class-Classes.md
+++ b/orientjs/OrientJS-Class-Classes.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Class API', 'class', 'create class', 'extend class', 'update class']
----
 
 # Working with Classes
 
diff --git a/orientjs/OrientJS-Class-Properties.md b/orientjs/OrientJS-Class-Properties.md
index 1d6fb675..f908497f 100644
--- a/orientjs/OrientJS-Class-Properties.md
+++ b/orientjs/OrientJS-Class-Properties.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Class API', 'class', 'properties', 'property', 'list property', 'create property', 'delete property', 'rename property']
----
 
 # Working with Properties
 
diff --git a/orientjs/OrientJS-Class-Records.md b/orientjs/OrientJS-Class-Records.md
index 280d8acf..f7e1aa43 100644
--- a/orientjs/OrientJS-Class-Records.md
+++ b/orientjs/OrientJS-Class-Records.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Class API', 'class', 'list records', 'create records']
----
 
 # Working with Records
 
diff --git a/orientjs/OrientJS-Class.md b/orientjs/OrientJS-Class.md
index e04e84d1..b555f174 100644
--- a/orientjs/OrientJS-Class.md
+++ b/orientjs/OrientJS-Class.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'class', 'Class API']
----
 # OrientJS Class API
 
 Once you have initialized a database instance, you can use it to access and manipulate classes in OrientDB, through the OrientJS Class API.  This allows you to work with the database schema, in the event that you want to use a schema.
diff --git a/orientjs/OrientJS-Database.md b/orientjs/OrientJS-Database.md
index a77477ce..989951d2 100644
--- a/orientjs/OrientJS-Database.md
+++ b/orientjs/OrientJS-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Database API']
----
 
 # OrientJS Database API
 
diff --git a/orientjs/OrientJS-Events.md b/orientjs/OrientJS-Events.md
index 8d067a2c..1bbda246 100644
--- a/orientjs/OrientJS-Events.md
+++ b/orientjs/OrientJS-Events.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Events']
----
 
 # OrientJS Events
 
diff --git a/orientjs/OrientJS-Functions.md b/orientjs/OrientJS-Functions.md
index f0850265..d18e1903 100644
--- a/orientjs/OrientJS-Functions.md
+++ b/orientjs/OrientJS-Functions.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Function API', 'functions', 'custom function']
----
 
 # OrientJS Function API
 
diff --git a/orientjs/OrientJS-Index.md b/orientjs/OrientJS-Index.md
index ea5892c4..2796fe69 100644
--- a/orientjs/OrientJS-Index.md
+++ b/orientjs/OrientJS-Index.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Index API', 'index', 'indices', 'create index']
----
 
 # OrientJS Index API
 
diff --git a/orientjs/OrientJS-Legacy.md b/orientjs/OrientJS-Legacy.md
index 958283fb..3e0c4325 100644
--- a/orientjs/OrientJS-Legacy.md
+++ b/orientjs/OrientJS-Legacy.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Node.js', 'node']
----
 
 # OrientJS - Node.js Driver
 
diff --git a/orientjs/OrientJS-Query-Create.md b/orientjs/OrientJS-Query-Create.md
index 3048cad9..0ac08281 100644
--- a/orientjs/OrientJS-Query-Create.md
+++ b/orientjs/OrientJS-Query-Create.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'CREATE', 'CREATE VERTEX', 'CREATE EDGE']
----
 
 # OrientJS - `create()`
 
diff --git a/orientjs/OrientJS-Query-Delete.md b/orientjs/OrientJS-Query-Delete.md
index 63f81ad4..52f56c8f 100644
--- a/orientjs/OrientJS-Query-Delete.md
+++ b/orientjs/OrientJS-Query-Delete.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'query', 'delete', 'delete vertex', 'delete edge']
----
 
 # OrientJS - `delete()`
 
diff --git a/orientjs/OrientJS-Query-Fetch.md b/orientjs/OrientJS-Query-Fetch.md
index 84180614..3c5cc425 100644
--- a/orientjs/OrientJS-Query-Fetch.md
+++ b/orientjs/OrientJS-Query-Fetch.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'query', 'fetch plan', 'fetching strategies']
----
 
 # OrientJS - `fetch()`
 
diff --git a/orientjs/OrientJS-Query-Insert.md b/orientjs/OrientJS-Query-Insert.md
index cfdba214..f5c86261 100644
--- a/orientjs/OrientJS-Query-Insert.md
+++ b/orientjs/OrientJS-Query-Insert.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'query', 'insert']
----
 
 # OrientJS - `insert()`
 
diff --git a/orientjs/OrientJS-Query-Live-Query.md b/orientjs/OrientJS-Query-Live-Query.md
index 2e3a17d8..ada87d6a 100644
--- a/orientjs/OrientJS-Query-Live-Query.md
+++ b/orientjs/OrientJS-Query-Live-Query.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'query', 'live query']
----
 
 # OrientJS - `liveQuery()`
 
diff --git a/orientjs/OrientJS-Query-Select.md b/orientjs/OrientJS-Query-Select.md
index 769d3a8a..a7fec028 100644
--- a/orientjs/OrientJS-Query-Select.md
+++ b/orientjs/OrientJS-Query-Select.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'query']
----
 
 
 # OrientJS - `select()`
diff --git a/orientjs/OrientJS-Query-Transform.md b/orientjs/OrientJS-Query-Transform.md
index 73da919d..d3179d05 100644
--- a/orientjs/OrientJS-Query-Transform.md
+++ b/orientjs/OrientJS-Query-Transform.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'query', 'transform']
----
 
 # OrientJS - `transform()`
 
diff --git a/orientjs/OrientJS-Query-Traverse.md b/orientjs/OrientJS-Query-Traverse.md
index 8c7167ba..6578efc9 100644
--- a/orientjs/OrientJS-Query-Traverse.md
+++ b/orientjs/OrientJS-Query-Traverse.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'query', 'traverse']
----
 
 # OrientJS - `traverse()`
 
diff --git a/orientjs/OrientJS-Query-Update.md b/orientjs/OrientJS-Query-Update.md
index 3e270ef9..234c9568 100644
--- a/orientjs/OrientJS-Query-Update.md
+++ b/orientjs/OrientJS-Query-Update.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'query', 'update']
----
 
 # OrientJS - `update()`
 
diff --git a/orientjs/OrientJS-Query.md b/orientjs/OrientJS-Query.md
index f5e5a432..2c0c32bd 100644
--- a/orientjs/OrientJS-Query.md
+++ b/orientjs/OrientJS-Query.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'query']
----
 
 # Queries in OrientJS
 
diff --git a/orientjs/OrientJS-Record.md b/orientjs/OrientJS-Record.md
index b696b2a1..5681e904 100644
--- a/orientjs/OrientJS-Record.md
+++ b/orientjs/OrientJS-Record.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Record API', 'records']
----
 
 # OrientJS Record API
 
diff --git a/orientjs/OrientJS-Server.md b/orientjs/OrientJS-Server.md
index ba2fdd42..b2900680 100644
--- a/orientjs/OrientJS-Server.md
+++ b/orientjs/OrientJS-Server.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Server API', 'connection', 'token', 'distributed deployment']
----
 
 # OrientJS Server API
 
diff --git a/orientjs/OrientJS-Transactions.md b/orientjs/OrientJS-Transactions.md
index 4933e08b..63fe7b0d 100644
--- a/orientjs/OrientJS-Transactions.md
+++ b/orientjs/OrientJS-Transactions.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'transactions']
----
 
 # Transactions in OrientJS
 
diff --git a/orientjs/OrientJS.md b/orientjs/OrientJS.md
index 0577f799..77f8135b 100644
--- a/orientjs/OrientJS.md
+++ b/orientjs/OrientJS.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Node.js', 'node']
----
 
 # OrientJS - Node.js Driver
 
diff --git a/orientjs/Reference.md b/orientjs/Reference.md
index cc19193b..1b529968 100644
--- a/orientjs/Reference.md
+++ b/orientjs/Reference.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Node.js', 'node']
----
 
 
 - [Client API](Client.md)
diff --git a/orientjs/Session.md b/orientjs/Session.md
index 54efb13d..51f77c42 100644
--- a/orientjs/Session.md
+++ b/orientjs/Session.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['OrientJS', 'Node.js', 'node','Client','Query', 'Delete','Live Query','Session']
----
 
 # Session API
 
diff --git a/php/PHP-Client.md b/php/PHP-Client.md
index 2fea1706..a27c44eb 100644
--- a/php/PHP-Client.md
+++ b/php/PHP-Client.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["PHP", "PhpOrient", "client"]
----
 
 # PhpOrient - Client Connections
 
diff --git a/php/PHP-ClusterMap-dropClusterID.md b/php/PHP-ClusterMap-dropClusterID.md
index 7d118a41..ba5a2cbe 100644
--- a/php/PHP-ClusterMap-dropClusterID.md
+++ b/php/PHP-ClusterMap-dropClusterID.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'drop cluster', 'dropClusterID']
----
 
 # PhpOrient - `dropClusterID()`
 
diff --git a/php/PHP-ClusterMap-getClusterID.md b/php/PHP-ClusterMap-getClusterID.md
index 33f923bc..562a79ae 100644
--- a/php/PHP-ClusterMap-getClusterID.md
+++ b/php/PHP-ClusterMap-getClusterID.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'get cluster id', 'getClusterID']
----
 
 # PhpOrient - `getClusterID()`
 
diff --git a/php/PHP-ClusterMap-getIdList.md b/php/PHP-ClusterMap-getIdList.md
index b2df5500..67a6ad0a 100644
--- a/php/PHP-ClusterMap-getIdList.md
+++ b/php/PHP-ClusterMap-getIdList.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'get cluster id', 'getIdList']
----
 
 # PhpOrient - `[etIdList()`
 
diff --git a/php/PHP-ClusterMap.md b/php/PHP-ClusterMap.md
index 749dee0e..b48b0f49 100644
--- a/php/PHP-ClusterMap.md
+++ b/php/PHP-ClusterMap.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["PHP", "PhpOrient", "clusters"]
----
 
 # PhpOrient - Cluster Maps
 
diff --git a/php/PHP-Command.md b/php/PHP-Command.md
index 1daf2755..f6bac418 100644
--- a/php/PHP-Command.md
+++ b/php/PHP-Command.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'database', 'command']
----
 
 # PhpOrient - `command()`
 
diff --git a/php/PHP-Database.md b/php/PHP-Database.md
index 59b960cb..9ab72245 100644
--- a/php/PHP-Database.md
+++ b/php/PHP-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["PHP", "database", "PhpOrient", 'dbOpen', 'open database' ]
----
 
 # PhpOrient - `dbOpen()`
 
diff --git a/php/PHP-ID.md b/php/PHP-ID.md
index f9594b56..6640da74 100644
--- a/php/PHP-ID.md
+++ b/php/PHP-ID.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'ID', 'Record ID', 'Cluster ID']
----
 
 # PhpOrient - `ID()`
 
diff --git a/php/PHP-Query.md b/php/PHP-Query.md
index 3d4ab841..3f34e775 100644
--- a/php/PHP-Query.md
+++ b/php/PHP-Query.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'query']
----
 
 # PhpOrient - `query()`
 
diff --git a/php/PHP-Record-getOClass.md b/php/PHP-Record-getOClass.md
index c896e162..bc100904 100644
--- a/php/PHP-Record-getOClass.md
+++ b/php/PHP-Record-getOClass.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'record', 'class', 'get class', 'getOClass']
----
 
 # PhpOrient - `getOClass()`
 
diff --git a/php/PHP-Record-getOData.md b/php/PHP-Record-getOData.md
index 20d0f12a..01a62353 100644
--- a/php/PHP-Record-getOData.md
+++ b/php/PHP-Record-getOData.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'get data', 'getOData']
----
 
 # PhpOrient - `getOData()`
 
diff --git a/php/PHP-Record-getRid.md b/php/PHP-Record-getRid.md
index 4e171024..7615d747 100644
--- a/php/PHP-Record-getRid.md
+++ b/php/PHP-Record-getRid.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'record', 'Record ID', 'get record id', 'getRid']
----
 
 # PhpOrient - `getRid()`
 
diff --git a/php/PHP-Record-jsonSerialize.md b/php/PHP-Record-jsonSerialize.md
index e043156b..dc86e257 100644
--- a/php/PHP-Record-jsonSerialize.md
+++ b/php/PHP-Record-jsonSerialize.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'record', 'serialize', 'json serialize', 'jsonSerialize']
----
 
 # PhpOrient - `jsonSerialize()`
 
diff --git a/php/PHP-Record-recordSerialize.md b/php/PHP-Record-recordSerialize.md
index d1b9b75a..dcb16178 100644
--- a/php/PHP-Record-recordSerialize.md
+++ b/php/PHP-Record-recordSerialize.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'record', 'record serialize', 'recordSerialize']
----
 
 # PhpOrient - `recordSerialize()`
 
diff --git a/php/PHP-Record-setOClass.md b/php/PHP-Record-setOClass.md
index 453ae0d7..f26a70b2 100644
--- a/php/PHP-Record-setOClass.md
+++ b/php/PHP-Record-setOClass.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'record', 'set class', 'setOClass']
----
 
 # PhpOrient - `setOClass()`
 
diff --git a/php/PHP-Record-setOData.md b/php/PHP-Record-setOData.md
index 4e173cd9..07318d17 100644
--- a/php/PHP-Record-setOData.md
+++ b/php/PHP-Record-setOData.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'record', 'set data', 'setOData']
----
 
 # PhpOrient - `setOData()`
 
diff --git a/php/PHP-Record-setRid.md b/php/PHP-Record-setRid.md
index 93116da7..02bccd5a 100644
--- a/php/PHP-Record-setRid.md
+++ b/php/PHP-Record-setRid.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'record', 'Record ID', 'set Record ID', 'setRid']
----
 
 # PhpOrient - `setRid()`
 
diff --git a/php/PHP-Record.md b/php/PHP-Record.md
index d539ddc7..668dcd77 100644
--- a/php/PHP-Record.md
+++ b/php/PHP-Record.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'record']
----
 
 # PhpOrient - `Record()`
 
diff --git a/php/PHP-Server.md b/php/PHP-Server.md
index 434c8447..b490a68d 100644
--- a/php/PHP-Server.md
+++ b/php/PHP-Server.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["PHP", "PhpOrient", "server"]
----
 
 # PhpOrient - Server Operations
 
diff --git a/php/PHP-Tx-attach.md b/php/PHP-Tx-attach.md
index 284fc1e1..2f9d1bc0 100644
--- a/php/PHP-Tx-attach.md
+++ b/php/PHP-Tx-attach.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'transaction', 'attach']
----
 
 # PhpOrient - `attach()`
 
diff --git a/php/PHP-Tx-begin.md b/php/PHP-Tx-begin.md
index 8433be42..86976d66 100644
--- a/php/PHP-Tx-begin.md
+++ b/php/PHP-Tx-begin.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'transaction', 'begin']
----
 
 # PhpOrient - `begin()`
 
diff --git a/php/PHP-Tx-commit.md b/php/PHP-Tx-commit.md
index 2e59da54..0ac175d7 100644
--- a/php/PHP-Tx-commit.md
+++ b/php/PHP-Tx-commit.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'transaction', 'commit']
----
 
 # PhpOrient - `commit()`
 
diff --git a/php/PHP-Tx-rollback.md b/php/PHP-Tx-rollback.md
index 8a4c3684..e3742d8d 100644
--- a/php/PHP-Tx-rollback.md
+++ b/php/PHP-Tx-rollback.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'transaction', 'rollback']
----
 
 # PhpOrient - `rollback()`
 
diff --git a/php/PHP-Tx.md b/php/PHP-Tx.md
index 53cc9be9..04a83cd5 100644
--- a/php/PHP-Tx.md
+++ b/php/PHP-Tx.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'transaction' ]
----
 
 # PhpOrient - Transactions
 
diff --git a/php/PHP-dataClusterAdd.md b/php/PHP-dataClusterAdd.md
index 39eb2ffc..885fccf7 100644
--- a/php/PHP-dataClusterAdd.md
+++ b/php/PHP-dataClusterAdd.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["PHP", "PhpOrient", "add cluster", "dataClusterAdd"]
----
 
 # PhpOrient - `dataClusterAdd()`
 
diff --git a/php/PHP-dataClusterCount.md b/php/PHP-dataClusterCount.md
index 15ff94b5..28c634e2 100644
--- a/php/PHP-dataClusterCount.md
+++ b/php/PHP-dataClusterCount.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["PHP", "PhpOrient", "cluster", "count records", "dataClusterCount"]
----
 
 # PhpOrient - `dataClusterCount()`
 
diff --git a/php/PHP-dataClusterDataRange.md b/php/PHP-dataClusterDataRange.md
index 77cded7b..d444d95c 100644
--- a/php/PHP-dataClusterDataRange.md
+++ b/php/PHP-dataClusterDataRange.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'cluster', 'data range', 'dataClusterDataRange']
----
 
 # PhpOrient - `dataClusterDataRange()`
 
diff --git a/php/PHP-dataClusterDrop.md b/php/PHP-dataClusterDrop.md
index f44cf3dd..3f548f81 100644
--- a/php/PHP-dataClusterDrop.md
+++ b/php/PHP-dataClusterDrop.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'cluster', 'cluster drop', 'drop cluster', 'dataClusterDrop']
----
 
 # PhpOrient - `dataClusterDrop()`
 
diff --git a/php/PHP-dbCountRecords.md b/php/PHP-dbCountRecords.md
index 4e4571af..a679d23f 100644
--- a/php/PHP-dbCountRecords.md
+++ b/php/PHP-dbCountRecords.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'count records', 'dbCountRecords']
----
 
 # PhpOrient - `dbCountRecords()`
 
diff --git a/php/PHP-dbCreate.md b/php/PHP-dbCreate.md
index 34bd8f87..b6ee47ce 100644
--- a/php/PHP-dbCreate.md
+++ b/php/PHP-dbCreate.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["PHP", "PhpOrient", "create database", "dbCreate"]
----
 
 # PhpOrient - `dbCreate()`
 
diff --git a/php/PHP-dbDrop.md b/php/PHP-dbDrop.md
index b3fb9bc5..2cfd2c1c 100644
--- a/php/PHP-dbDrop.md
+++ b/php/PHP-dbDrop.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["PHP", "PhpOrient", "drop database", "dbDrop"]
----
 
 # PhpOrient - `dbDrop()`
 
diff --git a/php/PHP-dbExists.md b/php/PHP-dbExists.md
index 2c3ffdc9..b6318d97 100644
--- a/php/PHP-dbExists.md
+++ b/php/PHP-dbExists.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["PHP", "PhpOrient", "database exists", "dbExists"]
----
 
 # PhpOrient - `dbExists()`
 
diff --git a/php/PHP-dbList.md b/php/PHP-dbList.md
index 42feef9e..365f9ee6 100644
--- a/php/PHP-dbList.md
+++ b/php/PHP-dbList.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["PHP", "PhpOrient", "list databases", "dbList"]
----
 
 # PhpOrient - `dbList()`
 
diff --git a/php/PHP-dbReload.md b/php/PHP-dbReload.md
index 0482dd4a..c5bf825b 100644
--- a/php/PHP-dbReload.md
+++ b/php/PHP-dbReload.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'reload', 'database reload', 'dbReload']
----
 
 # PhpOrient - `dbReload()`
 
diff --git a/php/PHP-dbSize.md b/php/PHP-dbSize.md
index 05c26968..b292c1a1 100644
--- a/php/PHP-dbSize.md
+++ b/php/PHP-dbSize.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'size', 'database size', 'dbSize']
----
 
 # PhpOrient - `dbSize()`
 
diff --git a/php/PHP-queryAsync.md b/php/PHP-queryAsync.md
index 2d709ca6..60cfa74a 100644
--- a/php/PHP-queryAsync.md
+++ b/php/PHP-queryAsync.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'asynchronous query', 'query async', 'queryAsync']
----
 
 # PhpOrient - `queryAsync()`
 
diff --git a/php/PHP-recordCreate.md b/php/PHP-recordCreate.md
index 585284e2..27a1ac7a 100644
--- a/php/PHP-recordCreate.md
+++ b/php/PHP-recordCreate.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'create record', 'recordCreate']
----
 
 # PhpOrient - `recordCreate()`
 
diff --git a/php/PHP-recordLoad.md b/php/PHP-recordLoad.md
index f151269e..cfbd25d1 100644
--- a/php/PHP-recordLoad.md
+++ b/php/PHP-recordLoad.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'PhpOrient', 'load record', 'record load', 'recordLoad']
----
 
 # PhpOrient - `reacordLoad()`
 
diff --git a/php/PHP-recordUpdate.md b/php/PHP-recordUpdate.md
index 1ae48a40..994a0dcd 100644
--- a/php/PHP-recordUpdate.md
+++ b/php/PHP-recordUpdate.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["PHP", "PhpOrient", "update record", "record update", "recordUpdate"]
----
 
 # PhpOrient - `recordUpdate()`
 
diff --git a/php/PHP-sqlBatch.md b/php/PHP-sqlBatch.md
index bfe89f84..672e6534 100644
--- a/php/PHP-sqlBatch.md
+++ b/php/PHP-sqlBatch.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ["PHP", "PhpOrient", "batch", "SQL batch", "sqlbatch"]
----
 
 # PhpOrient - `sqlBatch()`
 
diff --git a/php/PHP.md b/php/PHP.md
index 57354c5b..f583ddf4 100644
--- a/php/PHP.md
+++ b/php/PHP.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PHP', 'API']
----
 
 # PhpOrient - PHP Driver
 
diff --git a/plugins/Automatic-Backup.md b/plugins/Automatic-Backup.md
index 8a415c44..0c63f5aa 100644
--- a/plugins/Automatic-Backup.md
+++ b/plugins/Automatic-Backup.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['server', 'plugin', 'automatic backup', 'backup']
----
 
 # Automatic Backup Server Plugin
 
diff --git a/plugins/Extend-Server.md b/plugins/Extend-Server.md
index 99115416..0bee304f 100644
--- a/plugins/Extend-Server.md
+++ b/plugins/Extend-Server.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['internals', 'server', 'plugin', 'extension']
----
 
 # OrientDB Plugins
 
diff --git a/plugins/Gephi.md b/plugins/Gephi.md
index f6c9f7e1..b001b013 100644
--- a/plugins/Gephi.md
+++ b/plugins/Gephi.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['server', 'plugin', 'Gephi', 'Gephi Visual Tool']
----
 
 # Gephi Visual Tool
 
diff --git a/plugins/JMX-Plugin.md b/plugins/JMX-Plugin.md
index 4422ec4c..c921ef09 100644
--- a/plugins/JMX-Plugin.md
+++ b/plugins/JMX-Plugin.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['server', 'plugin', 'JMX', 'JMX plugin']
----
 
 # JMX plugin
 
diff --git a/plugins/Mail-Plugin.md b/plugins/Mail-Plugin.md
index bfb99858..56d24760 100644
--- a/plugins/Mail-Plugin.md
+++ b/plugins/Mail-Plugin.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['server', 'plugin', 'mail plugin']
----
 
 # Mail Plugin
 
diff --git a/plugins/Plugins.md b/plugins/Plugins.md
index e3cc0bd3..228bebe5 100644
--- a/plugins/Plugins.md
+++ b/plugins/Plugins.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['plugins', 'API']
----
 
 # Plugins
 
diff --git a/plugins/Rexster.md b/plugins/Rexster.md
index 17bf2dee..ed45dd37 100644
--- a/plugins/Rexster.md
+++ b/plugins/Rexster.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['server', 'plugin', 'rexster']
----
 
 # Rexster
 
diff --git a/plugins/SysLog-Plugin.md b/plugins/SysLog-Plugin.md
index e0dd5b25..ae870f6f 100644
--- a/plugins/SysLog-Plugin.md
+++ b/plugins/SysLog-Plugin.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['server', 'plugin', 'syslog', 'syslog plugin']
----
 
 # SysLog Plugin
 
diff --git a/plugins/spider-box.md b/plugins/spider-box.md
index 878f0366..ef0b16a1 100644
--- a/plugins/spider-box.md
+++ b/plugins/spider-box.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['server', 'plugin', 'spider-box']
----
 
 # spider-box
 
diff --git a/programs/Client-Programs.md b/programs/Client-Programs.md
index afdbe9cc..5d1748a4 100644
--- a/programs/Client-Programs.md
+++ b/programs/Client-Programs.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['admin', 'administration', 'console', 'client', 'programs']
----
 
 # OrientDB Client Programs
 
diff --git a/programs/Server-Startup-Programs.md b/programs/Server-Startup-Programs.md
index 5e9cc7b7..721932af 100644
--- a/programs/Server-Startup-Programs.md
+++ b/programs/Server-Startup-Programs.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['admin', 'administration', 'server']
----
 
 # OrientDB Server 
 
diff --git a/pyorient/PyOrient-Client-Batch.md b/pyorient/PyOrient-Client-Batch.md
index 6a7834e2..7d50aa41 100644
--- a/pyorient/PyOrient-Client-Batch.md
+++ b/pyorient/PyOrient-Client-Batch.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'batch']
----
 
 # PyOrient Client - `batch()`
 
diff --git a/pyorient/PyOrient-Client-Command.md b/pyorient/PyOrient-Client-Command.md
index 678273ec..fe76e039 100644
--- a/pyorient/PyOrient-Client-Command.md
+++ b/pyorient/PyOrient-Client-Command.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'command']
----
 
 # PyOrient Client - `command()`
 
diff --git a/pyorient/PyOrient-Client-DB-Count-Records.md b/pyorient/PyOrient-Client-DB-Count-Records.md
index 8b14465c..112530c7 100644
--- a/pyorient/PyOrient-Client-DB-Count-Records.md
+++ b/pyorient/PyOrient-Client-DB-Count-Records.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'count', 'count records']
----
 
 # PyOrient Client - `db_count_records()`
 
diff --git a/pyorient/PyOrient-Client-DB-Create.md b/pyorient/PyOrient-Client-DB-Create.md
index 502813c7..dad54ff6 100644
--- a/pyorient/PyOrient-Client-DB-Create.md
+++ b/pyorient/PyOrient-Client-DB-Create.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'create database', 'client']
----
 
 # PyOrient Client - `db_create()`
 
diff --git a/pyorient/PyOrient-Client-DB-Drop.md b/pyorient/PyOrient-Client-DB-Drop.md
index b1524fba..6ae0e265 100644
--- a/pyorient/PyOrient-Client-DB-Drop.md
+++ b/pyorient/PyOrient-Client-DB-Drop.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'drop database', 'client']
----
 
 # PyOrient Client - `db_drop()`
 
diff --git a/pyorient/PyOrient-Client-DB-Exists.md b/pyorient/PyOrient-Client-DB-Exists.md
index 29d49f18..efa35d49 100644
--- a/pyorient/PyOrient-Client-DB-Exists.md
+++ b/pyorient/PyOrient-Client-DB-Exists.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'database exists']
----
 
 # PyOrient Client - `db_exists()`
 
diff --git a/pyorient/PyOrient-Client-DB-List.md b/pyorient/PyOrient-Client-DB-List.md
index 98d0b5c4..73d6b102 100644
--- a/pyorient/PyOrient-Client-DB-List.md
+++ b/pyorient/PyOrient-Client-DB-List.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'list databases']
----
 
 # PyOrient Client - `db_list()`
 
diff --git a/pyorient/PyOrient-Client-DB-Open.md b/pyorient/PyOrient-Client-DB-Open.md
index d9f3e85b..286a6f9e 100644
--- a/pyorient/PyOrient-Client-DB-Open.md
+++ b/pyorient/PyOrient-Client-DB-Open.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'open database']
----
 
 # PyOrient Client - `db_open()`
 
diff --git a/pyorient/PyOrient-Client-DB-Reload.md b/pyorient/PyOrient-Client-DB-Reload.md
index 3fa7fadb..3d93613c 100644
--- a/pyorient/PyOrient-Client-DB-Reload.md
+++ b/pyorient/PyOrient-Client-DB-Reload.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'reload database']
----
 
 # PyOrient Client - `db_reload()`
 
diff --git a/pyorient/PyOrient-Client-DB-Size.md b/pyorient/PyOrient-Client-DB-Size.md
index 595df2fc..fa89596a 100644
--- a/pyorient/PyOrient-Client-DB-Size.md
+++ b/pyorient/PyOrient-Client-DB-Size.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'database size']
----
 
 # PyOrient Client - `db_size()`
 
diff --git a/pyorient/PyOrient-Client-Data-Cluster-Add.md b/pyorient/PyOrient-Client-Data-Cluster-Add.md
index 3f86e8b8..9f176283 100644
--- a/pyorient/PyOrient-Client-Data-Cluster-Add.md
+++ b/pyorient/PyOrient-Client-Data-Cluster-Add.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'cluster', 'create cluster']
----
 
 # PyOrient Client - `data_cluster_add()`
 
diff --git a/pyorient/PyOrient-Client-Data-Cluster-Count.md b/pyorient/PyOrient-Client-Data-Cluster-Count.md
index 805ac312..bcbe38b5 100644
--- a/pyorient/PyOrient-Client-Data-Cluster-Count.md
+++ b/pyorient/PyOrient-Client-Data-Cluster-Count.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'count records', 'cluster']
----
 
 # PyOrient Client - `data_cluster_count()`
 
diff --git a/pyorient/PyOrient-Client-Data-Cluster-Data-Range.md b/pyorient/PyOrient-Client-Data-Cluster-Data-Range.md
index a5239ee5..199bfe84 100644
--- a/pyorient/PyOrient-Client-Data-Cluster-Data-Range.md
+++ b/pyorient/PyOrient-Client-Data-Cluster-Data-Range.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'cluster', 'get range']
----
 
 # PyOrient Client - `data_cluster_data_range()`
 
diff --git a/pyorient/PyOrient-Client-Data-Cluster-Drop.md b/pyorient/PyOrient-Client-Data-Cluster-Drop.md
index d3117c47..7c695753 100644
--- a/pyorient/PyOrient-Client-Data-Cluster-Drop.md
+++ b/pyorient/PyOrient-Client-Data-Cluster-Drop.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'cluster', 'drop cluster']
----
 
 # PyOrient Client - `data_cluster_drop()`
 
diff --git a/pyorient/PyOrient-Client-Get-Session-Token.md b/pyorient/PyOrient-Client-Get-Session-Token.md
index c910ced2..4e62342d 100644
--- a/pyorient/PyOrient-Client-Get-Session-Token.md
+++ b/pyorient/PyOrient-Client-Get-Session-Token.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'tokens', 'get token']
----
 
 # PyOrient Client - `get_session_token()`
 
diff --git a/pyorient/PyOrient-Client-Query-Async.md b/pyorient/PyOrient-Client-Query-Async.md
index 6c8852dc..3d3f4a20 100644
--- a/pyorient/PyOrient-Client-Query-Async.md
+++ b/pyorient/PyOrient-Client-Query-Async.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'Client', 'query', 'callback']
----
 
 
 # PyOrient Client - `query_async()`
diff --git a/pyorient/PyOrient-Client-Query.md b/pyorient/PyOrient-Client-Query.md
index 00a7cd29..28a49b5b 100644
--- a/pyorient/PyOrient-Client-Query.md
+++ b/pyorient/PyOrient-Client-Query.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'query']
----
 
 # PyOrient Client - `query()`
 
diff --git a/pyorient/PyOrient-Client-Record-Create.md b/pyorient/PyOrient-Client-Record-Create.md
index bb14f4b9..bc4cd371 100644
--- a/pyorient/PyOrient-Client-Record-Create.md
+++ b/pyorient/PyOrient-Client-Record-Create.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'create record']
----
 
 # PyOrient Client - `record_create()`
 
diff --git a/pyorient/PyOrient-Client-Record-Delete.md b/pyorient/PyOrient-Client-Record-Delete.md
index e1e1a7f4..11ccf965 100644
--- a/pyorient/PyOrient-Client-Record-Delete.md
+++ b/pyorient/PyOrient-Client-Record-Delete.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'delete record']
----
 
 # PyOrient Client - `record_delete()`
 
diff --git a/pyorient/PyOrient-Client-Record-Load.md b/pyorient/PyOrient-Client-Record-Load.md
index 3495262d..32238a36 100644
--- a/pyorient/PyOrient-Client-Record-Load.md
+++ b/pyorient/PyOrient-Client-Record-Load.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'load records']
----
 
 # PyOrient Client - `record_load()`
 
diff --git a/pyorient/PyOrient-Client-Record-Update.md b/pyorient/PyOrient-Client-Record-Update.md
index 175d6b4d..50080c5c 100644
--- a/pyorient/PyOrient-Client-Record-Update.md
+++ b/pyorient/PyOrient-Client-Record-Update.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'update record']
----
 
 # PyOrient Client - `record_update()`
 
diff --git a/pyorient/PyOrient-Client-Set-Session-Token.md b/pyorient/PyOrient-Client-Set-Session-Token.md
index 9cf3baf4..847a80ba 100644
--- a/pyorient/PyOrient-Client-Set-Session-Token.md
+++ b/pyorient/PyOrient-Client-Set-Session-Token.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'token', 'set token']
----
 
 # PyOrient Client - `set_session_token()`
 
diff --git a/pyorient/PyOrient-Client-Tx-Commit.md b/pyorient/PyOrient-Client-Tx-Commit.md
index dfa97c0a..fde82345 100644
--- a/pyorient/PyOrient-Client-Tx-Commit.md
+++ b/pyorient/PyOrient-Client-Tx-Commit.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'transaction']
----
 
 # PyOrient Client - `tx_commit()`
 
diff --git a/pyorient/PyOrient-Client.md b/pyorient/PyOrient-Client.md
index 38b8bdf6..5b71f4d8 100644
--- a/pyorient/PyOrient-Client.md
+++ b/pyorient/PyOrient-Client.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'Client', 'connect']
----
 
 # PyOrient Client
 
diff --git a/pyorient/PyOrient-OGM-Batch.md b/pyorient/PyOrient-OGM-Batch.md
index ccc72024..66bbc8bf 100644
--- a/pyorient/PyOrient-OGM-Batch.md
+++ b/pyorient/PyOrient-OGM-Batch.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'Object Graph Mapper', 'OGM', 'batch']
----
 
 # PyOrient OGM - Batch Operations
 
diff --git a/pyorient/PyOrient-OGM-Brokers.md b/pyorient/PyOrient-OGM-Brokers.md
index 2e14262a..41cff6f2 100644
--- a/pyorient/PyOrient-OGM-Brokers.md
+++ b/pyorient/PyOrient-OGM-Brokers.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'Object Graph Mapper', 'OGM', 'broker', 'create vertex', 'create edge']
----
 
 # PyOrient OGM - Brokers
 
diff --git a/pyorient/PyOrient-OGM-Connection.md b/pyorient/PyOrient-OGM-Connection.md
index 8ce03c11..280594dd 100644
--- a/pyorient/PyOrient-OGM-Connection.md
+++ b/pyorient/PyOrient-OGM-Connection.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'Object Graph Mapper', 'OGM', 'connection']
----
 
 # PyOrient OGM - Connection
 
diff --git a/pyorient/PyOrient-OGM-Schemas.md b/pyorient/PyOrient-OGM-Schemas.md
index 2096aead..1748b4c1 100644
--- a/pyorient/PyOrient-OGM-Schemas.md
+++ b/pyorient/PyOrient-OGM-Schemas.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'Object Graph Mappers', 'OGM', 'schema']
----
 
 # PyOrient OGM - Schemas
 
diff --git a/pyorient/PyOrient-OGM-Scripts.md b/pyorient/PyOrient-OGM-Scripts.md
index 36280304..1e75b2e6 100644
--- a/pyorient/PyOrient-OGM-Scripts.md
+++ b/pyorient/PyOrient-OGM-Scripts.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'Object Graph Mapper', 'OGM', 'scripts']
----
 
 # PyOrient OGM - Scripts
 
diff --git a/pyorient/PyOrient-OGM.md b/pyorient/PyOrient-OGM.md
index 5ba02314..9ae011b1 100644
--- a/pyorient/PyOrient-OGM.md
+++ b/pyorient/PyOrient-OGM.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'Object Graph Mapper', 'OGM']
----
 
 # PyOrient OGM
 
diff --git a/pyorient/PyOrient-Tx-Attach.md b/pyorient/PyOrient-Tx-Attach.md
index b687cf54..9ead464e 100644
--- a/pyorient/PyOrient-Tx-Attach.md
+++ b/pyorient/PyOrient-Tx-Attach.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'transaction', 'attach']
----
 
 # PyOrient Transactions - `attach()`
 
diff --git a/pyorient/PyOrient-Tx-Begin.md b/pyorient/PyOrient-Tx-Begin.md
index 1261563e..43f1f7d7 100644
--- a/pyorient/PyOrient-Tx-Begin.md
+++ b/pyorient/PyOrient-Tx-Begin.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'transaction', 'begin']
----
 
 # PyOrient Transactions - `begin()`
 
diff --git a/pyorient/PyOrient-Tx-Commit.md b/pyorient/PyOrient-Tx-Commit.md
index 14165051..98a09b30 100644
--- a/pyorient/PyOrient-Tx-Commit.md
+++ b/pyorient/PyOrient-Tx-Commit.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'transaction', 'commit']
----
 
 # PyOrient Transactions - `commit()`
 
diff --git a/pyorient/PyOrient-Tx-Rollback.md b/pyorient/PyOrient-Tx-Rollback.md
index 1aa7dd99..1e5e2ca1 100644
--- a/pyorient/PyOrient-Tx-Rollback.md
+++ b/pyorient/PyOrient-Tx-Rollback.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['PyOrient', 'client', 'transaction', 'rollback']
----
 
 # PyOrient Transactions = `rollback()`
 
diff --git a/pyorient/PyOrient.md b/pyorient/PyOrient.md
index c5638a36..eeb9c11c 100644
--- a/pyorient/PyOrient.md
+++ b/pyorient/PyOrient.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Python', 'PyOrient', 'Python API']
----
 
 # PyOrient - Python Driver
 
diff --git a/release/Upgrade.md b/release/Upgrade.md
index 247033de..3c150252 100644
--- a/release/Upgrade.md
+++ b/release/Upgrade.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['upgrade', 'upgrading']
----
 
 
 # Upgrading
diff --git a/release/Upgrading-Distributed-Environment.md b/release/Upgrading-Distributed-Environment.md
index ccd0b0e4..cc42b0e4 100644
--- a/release/Upgrading-Distributed-Environment.md
+++ b/release/Upgrading-Distributed-Environment.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['upgrade', 'upgrading', 'distributed']
----
 
 
 # Upgrading a Distributed Environment
\ No newline at end of file
diff --git a/scala/Scala-Language.md b/scala/Scala-Language.md
index c6c6143c..8bc0af34 100644
--- a/scala/Scala-Language.md
+++ b/scala/Scala-Language.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Scala', 'Scala API']
----
 
 # Scala API
 
diff --git a/security/Database-Encryption.md b/security/Database-Encryption.md
index 72a26c3c..4d7135a2 100644
--- a/security/Database-Encryption.md
+++ b/security/Database-Encryption.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['security', 'encryption', 'database encryption']
----
 
 # Database Encryption
 
diff --git a/security/Database-Security.md b/security/Database-Security.md
index 8b4bcb29..6be2d11c 100644
--- a/security/Database-Security.md
+++ b/security/Database-Security.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['security', 'database security']
----
 
 # Database Security
 
diff --git a/security/Security-Config.md b/security/Security-Config.md
index c732cea8..adaa4dab 100644
--- a/security/Security-Config.md
+++ b/security/Security-Config.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['security', 'configuration', 'authentication', 'kerberos', 'password','key', 'symmetric']
----
 
 # OrientDB Security Configuration
 The new OrientDB security system uses a JSON configuration file that's located by default in the *config* directory.  The default name of the file is *security.json*, but it can be overridden by setting the "server.security.file" property in *orientdb-server-config.xml* or by setting the global server property, "server.security.file".
diff --git a/security/Security-Kerberos-Client-Examples.md b/security/Security-Kerberos-Client-Examples.md
index d65de38d..113aa44e 100644
--- a/security/Security-Kerberos-Client-Examples.md
+++ b/security/Security-Kerberos-Client-Examples.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['security', 'Kerberos']
----
 
 # OrientDB Kerberos Client Examples
 
diff --git a/security/Security-New-Security-Features-Code-Changes.md b/security/Security-New-Security-Features-Code-Changes.md
index eaa4004b..2fa9c1e8 100644
--- a/security/Security-New-Security-Features-Code-Changes.md
+++ b/security/Security-New-Security-Features-Code-Changes.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['security', 'new features']
----
 
 # New Security Features - Code Changes
 
diff --git a/security/Security-OrientDB-New-Security-Features.md b/security/Security-OrientDB-New-Security-Features.md
index 3553425d..08f4c744 100644
--- a/security/Security-OrientDB-New-Security-Features.md
+++ b/security/Security-OrientDB-New-Security-Features.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['security', 'new features']
----
 
 # New Security Features - OrientDB
 
diff --git a/security/Security-Symmetric-Key-Authentication.md b/security/Security-Symmetric-Key-Authentication.md
index 395df9be..c945b5d2 100644
--- a/security/Security-Symmetric-Key-Authentication.md
+++ b/security/Security-Symmetric-Key-Authentication.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['security', 'authentication', 'symmetric key', 'keystore', 'AES', 'cipher']
----
 
 # Symmetric Key Authentication
 Symmetric key authentication enables the use of a shared secret key to authenticate an OrientDB user.  Support for this was added to OrientDB Enterprise Edition in 2.2.14.
diff --git a/security/Security.md b/security/Security.md
index c03e3324..778f9d11 100644
--- a/security/Security.md
+++ b/security/Security.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['security']
----
 
 # Security
 
diff --git a/security/Server-Security.md b/security/Server-Security.md
index 661467f4..48df8f0f 100644
--- a/security/Server-Security.md
+++ b/security/Server-Security.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['security', 'server security']
----
 
 # Server Security
 
diff --git a/security/Using-SSL-with-OrientDB.md b/security/Using-SSL-with-OrientDB.md
index c1fb8034..974be567 100644
--- a/security/Using-SSL-with-OrientDB.md
+++ b/security/Using-SSL-with-OrientDB.md
@@ -1,8 +1,3 @@
----
-search:
-   keywords: ['security', 'encryption', 'SSL']
----
-
 # SSL/TLS
 
 Beginning with version 1.7, OrientDB provides support for securing its HTTP and BINARY protocols through SSL.  For distributed SSL, see the HazelCast documentation.
diff --git a/sql/Command-Cache.md b/sql/Command-Cache.md
index 424ffa44..28983186 100644
--- a/sql/Command-Cache.md
+++ b/sql/Command-Cache.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command cache']
----
 
 # Command Cache
 
diff --git a/sql/Pagination.md b/sql/Pagination.md
index 60467d87..9ff773ca 100644
--- a/sql/Pagination.md
+++ b/sql/Pagination.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'pagination']
----
 
 # Pagination
 
diff --git a/sql/SQL-Alter-Class.md b/sql/SQL-Alter-Class.md
index 0b178f2d..ebe40952 100644
--- a/sql/SQL-Alter-Class.md
+++ b/sql/SQL-Alter-Class.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'alter', 'class', 'ALTER CLASS']
----
 
 # SQL - `ALTER CLASS`
 
diff --git a/sql/SQL-Alter-Cluster.md b/sql/SQL-Alter-Cluster.md
index d433eb06..f260755e 100644
--- a/sql/SQL-Alter-Cluster.md
+++ b/sql/SQL-Alter-Cluster.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'alter', 'cluster', 'ALTER CLUSTER']
----
 # SQL - `ALTER CLUSTER`
 
 Updates attributes on an existing cluster.
diff --git a/sql/SQL-Alter-Database.md b/sql/SQL-Alter-Database.md
index 1cb08d0b..6e69fe6f 100644
--- a/sql/SQL-Alter-Database.md
+++ b/sql/SQL-Alter-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'alter', 'database', 'ALTER DATABASE']
----
 
 # SQL - `ALTER DATABASE`
 
diff --git a/sql/SQL-Alter-Property.md b/sql/SQL-Alter-Property.md
index fb5e8c64..7c129327 100644
--- a/sql/SQL-Alter-Property.md
+++ b/sql/SQL-Alter-Property.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'alter', 'property', 'properties', 'ALTER PROPERTY']
----
 
 # SQL - `ALTER PROPERTY`
 
diff --git a/sql/SQL-Alter-Sequence.md b/sql/SQL-Alter-Sequence.md
index 04c803ec..9b5bd337 100644
--- a/sql/SQL-Alter-Sequence.md
+++ b/sql/SQL-Alter-Sequence.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'alter', 'sequence', 'ALTER SEQUENCE']
----
 
 # SQL - `ALTER SEQUENCE` 
 
diff --git a/sql/SQL-Commands.md b/sql/SQL-Commands.md
index c811c458..c0afd990 100644
--- a/sql/SQL-Commands.md
+++ b/sql/SQL-Commands.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'Commands']
----
 
 # SQL Commands
 
diff --git a/sql/SQL-Create-Class.md b/sql/SQL-Create-Class.md
index 2720095c..e6f55d72 100644
--- a/sql/SQL-Create-Class.md
+++ b/sql/SQL-Create-Class.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'create', 'class', 'CREATE CLASS']
----
 
 # SQL - `CREATE CLASS`
 
diff --git a/sql/SQL-Create-Cluster.md b/sql/SQL-Create-Cluster.md
index 84437151..99e6e67a 100644
--- a/sql/SQL-Create-Cluster.md
+++ b/sql/SQL-Create-Cluster.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'create', 'cluster', 'CREATE CLUSTER']
----
 
 # SQL - `CREATE CLUSTER`
 
diff --git a/sql/SQL-Create-Edge.md b/sql/SQL-Create-Edge.md
index 9d8158ac..8256607b 100644
--- a/sql/SQL-Create-Edge.md
+++ b/sql/SQL-Create-Edge.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'create', 'edge', 'CREATE EDGE']
----
 
 # SQL - `CREATE EDGE`
 
diff --git a/sql/SQL-Create-Function.md b/sql/SQL-Create-Function.md
index 5a5fa142..cac9979b 100644
--- a/sql/SQL-Create-Function.md
+++ b/sql/SQL-Create-Function.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'create', 'function', 'CREATE FUNCTION']
----
 
 # SQL - `CREATE FUNCTION`
 
diff --git a/sql/SQL-Create-Index.md b/sql/SQL-Create-Index.md
index 1c277c44..61878166 100644
--- a/sql/SQL-Create-Index.md
+++ b/sql/SQL-Create-Index.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'create', 'index', 'CREATE INDEX']
----
 
 # SQL - `CREATE INDEX`
 
diff --git a/sql/SQL-Create-Link.md b/sql/SQL-Create-Link.md
index 96e9f9df..c4b70661 100644
--- a/sql/SQL-Create-Link.md
+++ b/sql/SQL-Create-Link.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'create', 'link', 'CREATE LINK']
----
 
 # SQL - `CREATE LINK`
 
diff --git a/sql/SQL-Create-Property.md b/sql/SQL-Create-Property.md
index c142c820..82d8bd90 100644
--- a/sql/SQL-Create-Property.md
+++ b/sql/SQL-Create-Property.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'create', 'property', 'CREATE PROPERTY']
----
 
 # SQL - `CREATE PROPERTY`
 
diff --git a/sql/SQL-Create-Sequence.md b/sql/SQL-Create-Sequence.md
index 778a340d..2ba5f120 100644
--- a/sql/SQL-Create-Sequence.md
+++ b/sql/SQL-Create-Sequence.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'create', 'sequence', 'CREATE SEQUENCE']
----
 
 # SQL - `CREATE SEQUENCE`
 
diff --git a/sql/SQL-Create-User.md b/sql/SQL-Create-User.md
index 0f3c1a13..1ea3d831 100644
--- a/sql/SQL-Create-User.md
+++ b/sql/SQL-Create-User.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'create', 'user', 'CREATE USER']
----
 
 # SQL - `CREATE USER `
 
diff --git a/sql/SQL-Create-Vertex.md b/sql/SQL-Create-Vertex.md
index 8fd821dc..3e055d41 100644
--- a/sql/SQL-Create-Vertex.md
+++ b/sql/SQL-Create-Vertex.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'CREATE VERTEX', 'command', 'create', 'vertex', 'vertices']
----
 
 
 # SQL - `CREATE VERTEX`
diff --git a/sql/SQL-Delete-Edge.md b/sql/SQL-Delete-Edge.md
index 8f3ed782..4957e180 100644
--- a/sql/SQL-Delete-Edge.md
+++ b/sql/SQL-Delete-Edge.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'DELETE EDGE', 'command', 'delete', 'edge', 'drop']
----
 
 # SQL - `DELETE EDGE`
 
diff --git a/sql/SQL-Delete-Vertex.md b/sql/SQL-Delete-Vertex.md
index b90edaaa..d0e589ef 100644
--- a/sql/SQL-Delete-Vertex.md
+++ b/sql/SQL-Delete-Vertex.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'DELETE VERTEX', 'command', 'delete', 'vertex', 'vertices', 'drop']
----
 
 # SQL - `DELETE VERTEX`
 
diff --git a/sql/SQL-Delete.md b/sql/SQL-Delete.md
index 551b65f6..739da48b 100644
--- a/sql/SQL-Delete.md
+++ b/sql/SQL-Delete.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'command', 'DELETE', 'delete', 'drop']
----
 
 # SQL - `DELETE`
 
diff --git a/sql/SQL-Drop-Class.md b/sql/SQL-Drop-Class.md
index cde405b5..4f4da7f7 100644
--- a/sql/SQL-Drop-Class.md
+++ b/sql/SQL-Drop-Class.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'DROP CLASS', 'delete', 'drop', 'class']
----
 
 # SQL - `DROP CLASS`
 
diff --git a/sql/SQL-Drop-Cluster.md b/sql/SQL-Drop-Cluster.md
index 248bd816..7c10f3f6 100644
--- a/sql/SQL-Drop-Cluster.md
+++ b/sql/SQL-Drop-Cluster.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'DROP CLUSTER', 'drop', 'cluster', 'delete']
----
 
 # SQL - `DROP CLUSTER`
 
diff --git a/sql/SQL-Drop-Index.md b/sql/SQL-Drop-Index.md
index feee2107..7975972d 100644
--- a/sql/SQL-Drop-Index.md
+++ b/sql/SQL-Drop-Index.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'DROP INDEX', 'drop', 'delete', 'index']
----
 
 # SQL - `DROP INDEX`
 
diff --git a/sql/SQL-Drop-Property.md b/sql/SQL-Drop-Property.md
index 3203655d..46a62d78 100644
--- a/sql/SQL-Drop-Property.md
+++ b/sql/SQL-Drop-Property.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'DROP PROPERTY', 'drop', 'delete', 'property', 'properties']
----
 
 # SQL - `DROP PROPERTY`
 
diff --git a/sql/SQL-Drop-Sequence.md b/sql/SQL-Drop-Sequence.md
index 7a461cd5..83f8430d 100644
--- a/sql/SQL-Drop-Sequence.md
+++ b/sql/SQL-Drop-Sequence.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'DROP SEQUENCE', 'command', 'drop', 'delete', 'sequence']
----
 
 # SQL - `DROP SEQUENCE`
 
diff --git a/sql/SQL-Drop-User.md b/sql/SQL-Drop-User.md
index 6c69e6f2..28060b5a 100644
--- a/sql/SQL-Drop-User.md
+++ b/sql/SQL-Drop-User.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'DROP USER', 'command', 'drop', 'delete', 'user']
----
 
 # SQL - `DROP USER`
 
diff --git a/sql/SQL-Explain.md b/sql/SQL-Explain.md
index 46cd775e..b33e3066 100644
--- a/sql/SQL-Explain.md
+++ b/sql/SQL-Explain.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'EXPLAIN', 'command', 'explain']
----
 
 # SQL - `EXPLAIN`
 
diff --git a/sql/SQL-Find-References.md b/sql/SQL-Find-References.md
index 7a6d9045..34ea41fd 100644
--- a/sql/SQL-Find-References.md
+++ b/sql/SQL-Find-References.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'FIND REFERENCES', 'command', 'find', 'reference']
----
 
 # SQL - `FIND REFERENCES`
 
diff --git a/sql/SQL-Functions.md b/sql/SQL-Functions.md
index 9dd937cb..631b6412 100644
--- a/sql/SQL-Functions.md
+++ b/sql/SQL-Functions.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'function']
----
 
 # SQL - Functions
 
diff --git a/sql/SQL-Grant.md b/sql/SQL-Grant.md
index 36e81683..004ffbcc 100644
--- a/sql/SQL-Grant.md
+++ b/sql/SQL-Grant.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'GRANT', 'command', 'grant']
----
 
 # SQL - `GRANT`
 
diff --git a/sql/SQL-HA-Remove-Server.md b/sql/SQL-HA-Remove-Server.md
index 3eed05f6..cfd92b17 100644
--- a/sql/SQL-HA-Remove-Server.md
+++ b/sql/SQL-HA-Remove-Server.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'HA REMOVE SERVER', 'HA', 'high availability', 'remove', 'server', 'remove server']
----
 
 # SQL - `HA REMOVE SERVER`
 
diff --git a/sql/SQL-HA-Set.md b/sql/SQL-HA-Set.md
index 9142077a..cdb5e0aa 100644
--- a/sql/SQL-HA-Set.md
+++ b/sql/SQL-HA-Set.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'HA SET', 'HA', 'high availability', 'owner', 'server', 'role']
----
 
 # SQL - `HA SET`
 
diff --git a/sql/SQL-HA-Status.md b/sql/SQL-HA-Status.md
index 947c24f3..2c7a5f88 100644
--- a/sql/SQL-HA-Status.md
+++ b/sql/SQL-HA-Status.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'HA SATUS', 'HA', 'high availability', 'status']
----
 
 # SQL - `HA STATUS`
 
diff --git a/sql/SQL-HA-Sync-Cluster.md b/sql/SQL-HA-Sync-Cluster.md
index 76151d6b..a3dfc5ee 100644
--- a/sql/SQL-HA-Sync-Cluster.md
+++ b/sql/SQL-HA-Sync-Cluster.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'HA SYNC CLUSTER', 'HA', 'high availability', 'sync', 'cluster', 'sync cluster']
----
 
 # SQL - `HA SYNC CLUSTER`
 
diff --git a/sql/SQL-HA-Sync-Database.md b/sql/SQL-HA-Sync-Database.md
index 87339fdc..b8435e31 100644
--- a/sql/SQL-HA-Sync-Database.md
+++ b/sql/SQL-HA-Sync-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'HA SYNC DATABASE', 'HA', 'sync', 'database', 'sync database']
----
 
 # SQL - `HA SYNC DATABASE`
 
diff --git a/sql/SQL-Insert.md b/sql/SQL-Insert.md
index e5b5ebb0..1f110158 100644
--- a/sql/SQL-Insert.md
+++ b/sql/SQL-Insert.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'INSERT', 'command', 'insert']
----
 
 # SQL - `INSERT`
 
diff --git a/sql/SQL-Introduction.md b/sql/SQL-Introduction.md
index d0d13dfa..921fd2ac 100644
--- a/sql/SQL-Introduction.md
+++ b/sql/SQL-Introduction.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL']
----
 
 # Introduction
 
diff --git a/sql/SQL-Live-Select.md b/sql/SQL-Live-Select.md
index bb4bb1a1..d770bb57 100644
--- a/sql/SQL-Live-Select.md
+++ b/sql/SQL-Live-Select.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'LIVE SELECT', 'live', 'select']
----
 
 # SQL - `LIVE SELECT`
 
diff --git a/sql/SQL-Live-Unsubscribe.md b/sql/SQL-Live-Unsubscribe.md
index 98d1d2ea..400b44f0 100644
--- a/sql/SQL-Live-Unsubscribe.md
+++ b/sql/SQL-Live-Unsubscribe.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'LIVE UNSUBSCRIBE', 'live', 'unsubscribe', 'command']
----
 
 # SQL - `LIVE UNSUBSCRIBE`
 
diff --git a/sql/SQL-Match.md b/sql/SQL-Match.md
index cb142c36..b073bbb7 100644
--- a/sql/SQL-Match.md
+++ b/sql/SQL-Match.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'MATCH', 'command', 'match']
----
 
 # SQL - `MATCH`
 
diff --git a/sql/SQL-Methods.md b/sql/SQL-Methods.md
index 88d5f209..3136d3bc 100644
--- a/sql/SQL-Methods.md
+++ b/sql/SQL-Methods.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'method']
----
 
 # SQL Methods
 
diff --git a/sql/SQL-Move-Vertex.md b/sql/SQL-Move-Vertex.md
index 5157e634..1496f35c 100644
--- a/sql/SQL-Move-Vertex.md
+++ b/sql/SQL-Move-Vertex.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'MOVE VERTEX', 'command', 'move', 'vertex', 'vertices']
----
 
 # SQL - `MOVE VERTEX`
 
diff --git a/sql/SQL-Optimize-Database.md b/sql/SQL-Optimize-Database.md
index adf94436..4305d8d3 100644
--- a/sql/SQL-Optimize-Database.md
+++ b/sql/SQL-Optimize-Database.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'OPTIMIZE DATABASE', 'command', 'optimize', 'database']
----
 
 # SQL - `OPTIMIZE DATABASE`
 
diff --git a/sql/SQL-Profile.md b/sql/SQL-Profile.md
index 99def59f..ab54e079 100644
--- a/sql/SQL-Profile.md
+++ b/sql/SQL-Profile.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'PROFILE', 'EXPLAIN', 'command', 'profile']
----
 
 # SQL - `PROFILE`
 
diff --git a/sql/SQL-Query.md b/sql/SQL-Query.md
index f3a75702..a1955620 100644
--- a/sql/SQL-Query.md
+++ b/sql/SQL-Query.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'SELECT', 'query']
----
 
 # SQL - `SELECT`
 
diff --git a/sql/SQL-Rebuild-Index.md b/sql/SQL-Rebuild-Index.md
index c56b5619..d513a2ce 100644
--- a/sql/SQL-Rebuild-Index.md
+++ b/sql/SQL-Rebuild-Index.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'REBUILD INDEXES', 'rebuild', 'index', 'indices']
----
 
 # SQL - `REBUILD INDEXES`
 
diff --git a/sql/SQL-Revoke.md b/sql/SQL-Revoke.md
index dd237ce3..29372985 100644
--- a/sql/SQL-Revoke.md
+++ b/sql/SQL-Revoke.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'REVOKE', 'revoke']
----
 
 # SQL - `REVOKE`
 
diff --git a/sql/SQL-Traverse.md b/sql/SQL-Traverse.md
index 3c67bf5d..7c5783c1 100644
--- a/sql/SQL-Traverse.md
+++ b/sql/SQL-Traverse.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'TRAVERSE']
----
 
 # SQL - `TRAVERSE`
 
diff --git a/sql/SQL-Truncate-Class.md b/sql/SQL-Truncate-Class.md
index 870b09c6..18636c64 100644
--- a/sql/SQL-Truncate-Class.md
+++ b/sql/SQL-Truncate-Class.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'TRUNCATE CLASS', 'truncate', 'class']
----
 
 # SQL - `TRUNCATE CLASS`
 
diff --git a/sql/SQL-Truncate-Cluster.md b/sql/SQL-Truncate-Cluster.md
index d5acc9df..c037e557 100644
--- a/sql/SQL-Truncate-Cluster.md
+++ b/sql/SQL-Truncate-Cluster.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'TRUNCATE CLUSTER', 'truncate', 'cluster'] 
----
 
 # SQL - `TRUNCATE CLUSTER`
 
diff --git a/sql/SQL-Truncate-Record.md b/sql/SQL-Truncate-Record.md
index a8671510..32a0ef0c 100644
--- a/sql/SQL-Truncate-Record.md
+++ b/sql/SQL-Truncate-Record.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'TRUNCATE RECORD', 'truncate', 'record']
----
 
 # SQL - `TRUNCATE RECORD`
 
diff --git a/sql/SQL-Update-Edge.md b/sql/SQL-Update-Edge.md
index cbaf313e..3bb3878e 100644
--- a/sql/SQL-Update-Edge.md
+++ b/sql/SQL-Update-Edge.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'UPDATE EDGE', 'update', 'edge']
----
 
 # SQL - `UPDATE EDGE`
 
diff --git a/sql/SQL-Update.md b/sql/SQL-Update.md
index cb5af807..2f2b18f0 100644
--- a/sql/SQL-Update.md
+++ b/sql/SQL-Update.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'UPDATE', 'update', 'command']
----
 
 # SQL - `UPDATE`
 
diff --git a/sql/SQL-Where.md b/sql/SQL-Where.md
index 3bb09983..7a399533 100644
--- a/sql/SQL-Where.md
+++ b/sql/SQL-Where.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'WHERE', 'filter', 'filtering']
----
 
 # SQL - Filtering
 
diff --git a/sql/SQL-batch.md b/sql/SQL-batch.md
index 15585be3..d719ccb8 100644
--- a/sql/SQL-batch.md
+++ b/sql/SQL-batch.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['SQL', 'BATCH']
----
 
 # SQL Batch
 
diff --git a/sql/Sequences-and-auto-increment.md b/sql/Sequences-and-auto-increment.md
index 1361bff2..ff3e5ced 100644
--- a/sql/Sequences-and-auto-increment.md
+++ b/sql/Sequences-and-auto-increment.md
@@ -1,7 +1,3 @@
----
-search: 
-   keywords: ['SQL', 'sequence', 'auto-increment', 'autoincrement']
----
 
 # Sequences and auto increment
 
diff --git a/studio/README.md b/studio/README.md
index a5842d99..296cf665 100644
--- a/studio/README.md
+++ b/studio/README.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Studio', 'Home Page']
----
 
 # Introduction to OrientDB Studio 
 
diff --git a/teleporter/Teleporter-Execution-Strategies.md b/teleporter/Teleporter-Execution-Strategies.md
index 7f0e0a13..16a1cc52 100644
--- a/teleporter/Teleporter-Execution-Strategies.md
+++ b/teleporter/Teleporter-Execution-Strategies.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['teleporter', 'execution', 'execution strategy']
----
 
 # Execution Strategies
 Teleporter provides two different import strategies:
diff --git a/teleporter/Teleporter-Home.md b/teleporter/Teleporter-Home.md
index d9c5a5c7..aa7b8715 100644
--- a/teleporter/Teleporter-Home.md
+++ b/teleporter/Teleporter-Home.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['teleporter']
----
 
 # Teleporter
 **OrientDB Teleporter** is a tool that synchronizes a RDBMS to OrientDB database. You can use Teleporter to:
diff --git a/teleporter/Teleporter-Import-Configuration.md b/teleporter/Teleporter-Import-Configuration.md
index 9915bd1f..02bf4737 100644
--- a/teleporter/Teleporter-Import-Configuration.md
+++ b/teleporter/Teleporter-Import-Configuration.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['teleporter', 'inheritance', 'configuration']
----
 
 # Import Configuration
 
diff --git a/teleporter/Teleporter-Import-Filters.md b/teleporter/Teleporter-Import-Filters.md
index 49076a4b..2138af1a 100644
--- a/teleporter/Teleporter-Import-Filters.md
+++ b/teleporter/Teleporter-Import-Filters.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['teleporter', 'import filter']
----
 
 # Import Filters
 
diff --git a/teleporter/Teleporter-Inheritance.md b/teleporter/Teleporter-Inheritance.md
index 3ef8067e..dfcee8cb 100644
--- a/teleporter/Teleporter-Inheritance.md
+++ b/teleporter/Teleporter-Inheritance.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['teleporter', 'inheritance']
----
 
 # Inheritance
 Teleporter allows you to take advantage of OrientDB's polymorphism. Infact you can enrich the import phase via an ORM file which describes the inheritance relationships being between different tables (or Entities) of your source DB. 
diff --git a/teleporter/Teleporter-Installation-and-Configuration.md b/teleporter/Teleporter-Installation-and-Configuration.md
index 914085c0..1deccc12 100644
--- a/teleporter/Teleporter-Installation-and-Configuration.md
+++ b/teleporter/Teleporter-Installation-and-Configuration.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['teleporter', 'installation', 'configuration']
----
 
 # Installation and Configuration
 
diff --git a/teleporter/Teleporter-Sequential-Executions-and-One-Way-Synchronizer.md b/teleporter/Teleporter-Sequential-Executions-and-One-Way-Synchronizer.md
index 4a3a30d4..8eb94a12 100644
--- a/teleporter/Teleporter-Sequential-Executions-and-One-Way-Synchronizer.md
+++ b/teleporter/Teleporter-Sequential-Executions-and-One-Way-Synchronizer.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['teleporter', 'sequential execution', 'one-way synchronizer', '1-way synchronizer']
----
 
 # Sequential Executions and One-Way Synchronizer
 Teleporter is conceived to support many sequential executions from the same source DB to the same graph DB of OrientDB, in this way you can:
diff --git a/teleporter/Teleporter-Single-Table-Inheritance.md b/teleporter/Teleporter-Single-Table-Inheritance.md
index 5a17b3bf..4537d1c3 100644
--- a/teleporter/Teleporter-Single-Table-Inheritance.md
+++ b/teleporter/Teleporter-Single-Table-Inheritance.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['teleporter', 'inheritance', 'single table', 'single-table']
----
 
 # Single Table Inheritance
 
diff --git a/teleporter/Teleporter-Table-Per-Class-Inheritance.md b/teleporter/Teleporter-Table-Per-Class-Inheritance.md
index 5d83e6ad..a049167b 100644
--- a/teleporter/Teleporter-Table-Per-Class-Inheritance.md
+++ b/teleporter/Teleporter-Table-Per-Class-Inheritance.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['teleporter', 'inheritance', 'table per class', 'table-per-class']
----
 
 # Table Per Class Inheritance
 Table Per Class strategy is the most logical inheritance solution because it mirrors the object model in the data model. In this pattern a table is defined for each class in the inheritance hierarchy to store only the local attributes of that class. 
diff --git a/teleporter/Teleporter-Table-Per-Concrete-Class-Inheritance.md b/teleporter/Teleporter-Table-Per-Concrete-Class-Inheritance.md
index 9ed32376..0e23580b 100644
--- a/teleporter/Teleporter-Table-Per-Concrete-Class-Inheritance.md
+++ b/teleporter/Teleporter-Table-Per-Concrete-Class-Inheritance.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['teleporter', 'inheritance', 'table per concrete class', 'table-per-concrete-class']
----
 
 # Table Per Concrete Class Inheritance
 In Table Per Concrete Class strategy a table is defined for each concrete class in the inheritance hierarchy to store all the attributes of that class and all of its superclasses. This strategy is optional in several ORM technologies (e.g. JPA), and querying root or branch classes can be very difficult and inefficient.      
diff --git a/tinkerpop3/OrientDB-TinkerPop3.md b/tinkerpop3/OrientDB-TinkerPop3.md
index 1a18ecc4..33ee2d3a 100644
--- a/tinkerpop3/OrientDB-TinkerPop3.md
+++ b/tinkerpop3/OrientDB-TinkerPop3.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['Graph', 'Apache TinkerPop']
----
 
 #OrientDB with Apache TinkerPop 3
 **(since v 3.0)** 
diff --git a/tuning/Performance-Tuning-Document.md b/tuning/Performance-Tuning-Document.md
index bc00434f..da9b21cc 100644
--- a/tuning/Performance-Tuning-Document.md
+++ b/tuning/Performance-Tuning-Document.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['performance', 'performance tuning', 'Document API', 'document']
----
 
 # Tuning the Document API
 
diff --git a/tuning/Performance-Tuning-Graph.md b/tuning/Performance-Tuning-Graph.md
index e34c3c3b..ab89105c 100644
--- a/tuning/Performance-Tuning-Graph.md
+++ b/tuning/Performance-Tuning-Graph.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['performance', 'performance tuning', 'Graph API', 'graph']
----
 
 # Tuning the Graph API
 This guide is specific for the [TinkerPop Blueprints Graph Database](../java/Graph-Database-Tinkerpop.md). Please be sure to read the generic guide to the [Performance-Tuning](Performance-Tuning.md).
diff --git a/tuning/Performance-Tuning-Object.md b/tuning/Performance-Tuning-Object.md
index ae02ebeb..b0e0d6a7 100644
--- a/tuning/Performance-Tuning-Object.md
+++ b/tuning/Performance-Tuning-Object.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['performance', 'performance tuning', 'Object API', 'object']
----
 
 # Tuning the Object API
 
diff --git a/tuning/Performance-Tuning.md b/tuning/Performance-Tuning.md
index ce7a00c3..704dae95 100644
--- a/tuning/Performance-Tuning.md
+++ b/tuning/Performance-Tuning.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['performance', 'performance tuning']
----
 
 # Performance Tuning
 
diff --git a/tuning/Profiler.md b/tuning/Profiler.md
index 0b25395b..e832ac16 100644
--- a/tuning/Profiler.md
+++ b/tuning/Profiler.md
@@ -1,7 +1,3 @@
----
-search:
-   keywords: ['performance', 'performance tuning', 'profiler']
----
 
 # Profiler
 

From bf87dc9b6de9a3c606dce4b3e542e952d98dc129 Mon Sep 17 00:00:00 2001
From: Tglman 
Date: Mon, 23 Aug 2021 13:03:31 +0100
Subject: [PATCH 65/74] removed summary anchor links

---
 SUMMARY.md | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/SUMMARY.md b/SUMMARY.md
index 95d9dc29..cfdf98f6 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -651,16 +651,7 @@
   * [OrientJS - Node.js Driver](orientjs/OrientJS.md)
     * [Reference](orientjs/Reference.md)
         * [Client API](orientjs/Client.md)
-            * [Connecting](orientjs/Client.md#connecting)
-            * [Databases Manipulation](orientjs/Client.md#databases-manipulation)
-            * [Sessions Access](orientjs/Client.md#sessions)
         * [Session API](orientjs/Session.md)
-            * [Query](orientjs/Session.md#query)
-            * [Command](orientjs/Session.md#command)
-            * [Batch Script](orientjs/Session.md#batch-script)
-            * [Transactions](orientjs/Session.md#transactions)
-            * [Live Queries](orientjs/Session.md#live-queries)
-            * [Query Builder](orientjs/Session.md#query-builder)
   * [PyOrient - Python Driver](pyorient/PyOrient.md)
     * [Client](pyorient/PyOrient-Client.md)
       * [command()](pyorient/PyOrient-Client-Command.md)

From 5aeedf1a08a0d2a2b859bf287cfbaddd6093eebb Mon Sep 17 00:00:00 2001
From: Tglman 
Date: Wed, 15 Sep 2021 14:10:25 +0100
Subject: [PATCH 66/74] fixed variable naming

---
 book.toml | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/book.toml b/book.toml
index 33a35325..734cd404 100644
--- a/book.toml
+++ b/book.toml
@@ -22,17 +22,17 @@ level = 0
 limit-results = 15
 
 [preprocessor.variables.variables]
-CE_name= "orientdb-community"
-CE_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-3.1.0-beta1.tar.gz"
-TP2_name = "orientdb-community-tp2"
-TP2_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-3.1.0-beta1.tar.gz"
-TP3_name = "orientdb-community-tp3"
-TP3_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-tp3-3.1.0-beta1.tar.gz"
-TP3Spatial_name = "orientdb-community-spatial"
-TP3Spatial_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-tp3-3.1.0-beta1.tar.gz"
-source_repository = "https://github.com/orientechnologies/orientdb/blob/develop/"
-lastGA = "3.1.0-beta1"
-currentVersion =  "3.1.0-beta1"
-demoDBVersion_screenshots ="0.76"
-javase = "https://docs.oracle.com/javase/8/docs"
-javadoc = "https://orientdb.com/javadoc/develop"
+book.CE_name= "orientdb-community"
+book.CE_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-3.1.0-beta1.tar.gz"
+book.TP2_name = "orientdb-community-tp2"
+book.TP2_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-3.1.0-beta1.tar.gz"
+book.TP3_name = "orientdb-community-tp3"
+book.TP3_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-tp3-3.1.0-beta1.tar.gz"
+book.TP3Spatial_name = "orientdb-community-spatial"
+book.TP3Spatial_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-tp3-3.1.0-beta1.tar.gz"
+book.source_repository = "https://github.com/orientechnologies/orientdb/blob/develop/"
+book.lastGA = "3.1.0-beta1"
+book.currentVersion =  "3.1.0-beta1"
+book.demoDBVersion_screenshots ="0.76"
+book.javase = "https://docs.oracle.com/javase/8/docs"
+book.javadoc = "https://orientdb.com/javadoc/develop"

From c5f6b3fdf954f912d1a090de17c03137467e2bc2 Mon Sep 17 00:00:00 2001
From: Tglman 
Date: Mon, 31 Jan 2022 12:27:09 +0000
Subject: [PATCH 67/74] update version informations

---
 book.toml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/book.toml b/book.toml
index 734cd404..bb3254c2 100644
--- a/book.toml
+++ b/book.toml
@@ -31,8 +31,8 @@ book.TP3_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-bet
 book.TP3Spatial_name = "orientdb-community-spatial"
 book.TP3Spatial_link = "https://s3.us-east-2.amazonaws.com/orientdb3/releases/3.1.0-beta1/orientdb-tp3-3.1.0-beta1.tar.gz"
 book.source_repository = "https://github.com/orientechnologies/orientdb/blob/develop/"
-book.lastGA = "3.1.0-beta1"
-book.currentVersion =  "3.1.0-beta1"
+book.lastGA = "3.2.4"
+book.currentVersion =  "3.0.34"
 book.demoDBVersion_screenshots ="0.76"
 book.javase = "https://docs.oracle.com/javase/8/docs"
 book.javadoc = "https://orientdb.com/javadoc/develop"

From 67f7447e35703abe83ce628b2ae0dd4a605f5a2d Mon Sep 17 00:00:00 2001
From: bioxakep 
Date: Wed, 20 Apr 2022 09:13:55 +0300
Subject: [PATCH 68/74] variable wrong name

---
 pyorient/PyOrient-Client-Batch.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pyorient/PyOrient-Client-Batch.md b/pyorient/PyOrient-Client-Batch.md
index 7d50aa41..a5b62231 100644
--- a/pyorient/PyOrient-Client-Batch.md
+++ b/pyorient/PyOrient-Client-Batch.md
@@ -46,7 +46,7 @@ batch_cmds.append('commit retry 100;')
 cmd = ';'.join(batch_cmds)
 
 # Execute Commands
-results = cleint.batch(cmd)
+results = client.batch(cmd)
 ```
 
 Here, you have an array of record objects for each sensor in the house.  Iterating over that array, you extract the node name and zone, then take a reading from the sensor and use it in defining a [`CREATE VERTEX`](../sql/SQL-Create-Vertex.md) batch command.  Once you have a command for each sensor, it joins the batch commands with a commit message, creating a string object to pass to `batch()`.

From 5885b965642b162e3c4395d3767fcc0b5bd16117 Mon Sep 17 00:00:00 2001
From: Erick J 
Date: Mon, 26 Sep 2022 23:21:25 +0200
Subject: [PATCH 69/74] corrects the orientdb javadoc url

The URL to the Orientdb javadoc appears to be incorrect. This change fixes that.
---
 java/Java-API.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/java/Java-API.md b/java/Java-API.md
index ec086bb9..0192deeb 100644
--- a/java/Java-API.md
+++ b/java/Java-API.md
@@ -3,7 +3,7 @@
 
 OrientDB is written completely in the Java language.  This means that you can use its Java API's without needing to install any additional drivers or adapters.
 
->For more information, see the [OrientDB Java Documentation](http://www.orientechnologies.com/javadoc/develop/)
+>For more information, see the [OrientDB Java Documentation](http://www.orientdb.com/javadoc/develop/)
 
 
 ## Component Architecture 

From d246bd58e056b2f95154d08ab4da72c8626642b8 Mon Sep 17 00:00:00 2001
From: Tglman 
Date: Sun, 13 Apr 2025 17:36:23 +0100
Subject: [PATCH 70/74] fix: removed duplicate menu entries

---
 SUMMARY.md | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/SUMMARY.md b/SUMMARY.md
index cfdf98f6..77d28fac 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -229,9 +229,6 @@
             * [_Security_ Panel](studio/server-management/Studio-Security.md)
                 * [Server Auditing](studio/server-management/Studio-Auditing.md)
             * [_Alerts Management_ Panel](studio/server-management/Studio-Alerts-Management.md)
-        * [Studio Backup Management](studio/backups-imports-exports/Studio-Backup-Management.md)
-        * [Teleporter](studio/backups-imports-exports/Studio-Teleporter.md)
-        * [Neo4j to OrientDB Importer](studio/backups-imports-exports/Studio-Neo4j-Importer.md)
     * [Teleporter](teleporter/Teleporter-Home.md) migration tool
         * [Installation and configuration](teleporter/Teleporter-Installation-and-Configuration.md)
         * [Execution strategies](teleporter/Teleporter-Execution-Strategies.md)

From 3c2c83f1ae589d9c48a0d7909e627fb3fc601b7c Mon Sep 17 00:00:00 2001
From: Tglman 
Date: Sun, 14 Sep 2025 09:40:47 +0100
Subject: [PATCH 71/74] chore: update get in touch info

---
 misc/Get-in-Touch.md | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/misc/Get-in-Touch.md b/misc/Get-in-Touch.md
index f4d51d66..40f158bd 100644
--- a/misc/Get-in-Touch.md
+++ b/misc/Get-in-Touch.md
@@ -3,30 +3,31 @@
 
 We want to make it super-easy for OrientDB users and contributors to talk to us and connect with each other, to share ideas, solve problems and help make OrientDB awesome. Here are the main channels we're running currently, we'd love to hear from you on one of them:
 
-## Google Group
-[OrientDB Google Group](https://groups.google.com/forum/#!forum/orient-database)
+## Discussions
+[OrientDB GitHub Discussions](https://github.com/orientechnologies/orientdb/discussions)
 
-The [OrientDB Google Group](https://groups.google.com/forum/#!forum/orient-database) (aka Community Group) is a good first stop for a general inquiry about OrientDB or a specific support issue (e.g. trouble setting OrientDB up). It's also a good forum for discussions about the roadmap or potential new functionality.
+The [Discussions Group](https://github.com/orientechnologies/orientdb/discussions) (aka Community Group) is a good first stop for a general inquiry about OrientDB or a specific support issue (e.g. trouble setting OrientDB up). It's also a good forum for discussions about the roadmap or potential new functionality.
 
 ## StackOverflow
 [StackOverflow OrientDB tag](http://stackoverflow.com/questions/tagged/orientdb)
 
 Feel free to ask your questions on StackOverflow under "orientdb" and "orient-db" tags.
 
-## Gitter.io
-[![Gitter chat](https://badges.gitter.im/orientechnologies/orientdb.png)](https://gitter.im/orientechnologies/orientdb)
+## Mastodon
+[@orientdb@fosstodon.org](https://fosstodon.org/@orientdb)
 
-The best Web Chat, where we have an open channel. Use this is you have a question about OrientDB.
+Follow and chat to us on Mastodon.
 
-## IRC
-`#orientdb`
+## Bluesky 
+[@orientdb.bsky.social](https://bsky.app/profile/orientdb.bsky.social)
 
-We're big fans of IRC here at OrientDB. We have a #orientdb channel on Freenode - stop by and say hi, you can even use [Freenode's webchat service](http://webchat.freenode.net/) so don't need to install anything to access it.
+Follow and chat to us on Bluesky.
 
-## Twitter
-[@orientdb](https://twitter.com/orientdb)
+## Matrix
+[#orientdb:matrix.org](https://matrix.to/#orientdb:matrix.org)
+
+Join the matrix channel and chat with us.
 
-Follow and chat to us on Twitter.
 
 ## GitHub
 [OrientDB issues](https://github.com/orientechnologies/orientdb/issues?state=open)
@@ -36,6 +37,6 @@ If you spot a bug, then please raise an issue in our main GitHub project oriente
 If you want to brainstorm a potential new feature, then the OrientDB Google Group (see above) is probably a better place to start.
 
 ## Email
-[info@orientdb.com](mailto:info@orientdb.com)
+[info@orientdb.dev](mailto:info@orientdb.dev)
 
 If you want more information about Commercial [Support](http://www.orientechnologies.com/support/), [Consultancy](http://www.orientechnologies.com/consulting/) or [Training](http://www.orientechnologies.com/training/), email us.

From f888f2a76e11ac7bbfa5a0feaf6c71d194e91e66 Mon Sep 17 00:00:00 2001
From: Tglman 
Date: Tue, 9 Dec 2025 19:11:39 +0000
Subject: [PATCH 72/74] feat: update theme for new version of gitbook

---
 book.toml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/book.toml b/book.toml
index bb3254c2..68b40cb3 100644
--- a/book.toml
+++ b/book.toml
@@ -1,6 +1,6 @@
 [book]
 title = "OrientDB"
-author = "community"
+authors = ["community"]
 description = "OrientDB documentation"
 src = "./"
 

From a8adc09c91c530900782c585a437faf5ef07ed16 Mon Sep 17 00:00:00 2001
From: Tglman 
Date: Wed, 7 Jan 2026 21:38:41 +0000
Subject: [PATCH 73/74] chore: removed references not valid anymore

---
 SUMMARY.md                              |   1 -
 ee/Enterprise-Edition.md                |   4 +-
 security/OrientDB-Security-Guide.md     |   3 -
 security/SAP-Enterprise-OrientDB-DPP.md | 106 ------------------------
 4 files changed, 1 insertion(+), 113 deletions(-)
 delete mode 100644 security/SAP-Enterprise-OrientDB-DPP.md

diff --git a/SUMMARY.md b/SUMMARY.md
index 77d28fac..7f4ba5fc 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -793,7 +793,6 @@
  
 * [Security](security/Security.md) 
   * [OrientDB Security Guide](security/OrientDB-Security-Guide.md)
-  * [OrientDB Data Protection and Privacy](security/SAP-Enterprise-OrientDB-DPP.md)
   * [Database security](security/Database-Security.md) 
   * [Server security](security/Server-Security.md)
   * [Database encryption](security/Database-Encryption.md) 
diff --git a/ee/Enterprise-Edition.md b/ee/Enterprise-Edition.md
index 4a434838..df43a22b 100644
--- a/ee/Enterprise-Edition.md
+++ b/ee/Enterprise-Edition.md
@@ -3,9 +3,7 @@
 
 This is the main guide on using OrientDB Enterprise Edition. For more information look at [OrientDB Enterprise Edition](http://orientdb.com/enterprise.htm).
 
-Enterprise Edition is a commercial product developed by OrientDB Ltd, the same company that lead the development of OrientDB Community Edition. [Download now the 45-days trial](http://orientdb.com/orientdb-enterprise/#matrix).
-
-OrientDB Enterprise Edition is designed specifically for applications seeking a scalable, robust, and secure multi-model database. Its main goal is to save time and money on your OrientDB investment by reducing risk, cost, effort, and time invested in a business critical application. It includes all Community features plus professional enterprise tools such as support for [Data Centers](../distributed/Data-Centers.md), [Query Profiler](../studio/server-management/Studio-Query-Profiler.md), [Distributed Clustering](../studio/server-management/Studio-Cluster-Management.md) configuration, [Auditing Tools](../studio/server-management/Studio-Auditing.md), [Metrics recording](../studio/server-management/Studio-Server-Management.md), Live Monitor with configurable Alerts, [Non-Stop Incremental Backups](../studio/backups-imports-exports/Studio-Backup-Management.md), [Teleporter](../studio/backups-imports-exports/Studio-Teleporter.md) to import data from any Relational DBMS.
+OrientDB Enterprise Edition is designed specifically for applications seeking a scalable, robust, and secure multi-model database. Its main goal is to save time and money on your OrientDB investment by reducing risk, cost, effort, and time invested in a business critical application. It includes all Community features plus professional enterprise tools such as support for [Query Profiler](./Server-Profiler.md), [Distributed Clustering](./Cluster-Management.md) configuration, [Auditing Tools](./Security.md), [Metrics recording](../Server-Management.md), [Non-Stop Incremental Backups](./Backup-Management.md), [Teleporter](./Teleporter.md) to import data from any Relational DBMS.
 
 
 ### Installation
diff --git a/security/OrientDB-Security-Guide.md b/security/OrientDB-Security-Guide.md
index 1d99aee9..ef79a9d0 100644
--- a/security/OrientDB-Security-Guide.md
+++ b/security/OrientDB-Security-Guide.md
@@ -106,9 +106,6 @@ Since OrientDB supports both static and dynamic plug-ins, which have total acces
 
 **SECURITY RECOMMENDATION**: Validate installed plug-ins.
 
-## Data Protection and Privacy ##
-See [SAP Enterprise OrientDB Data Protection and Privacy Approach for Products](SAP-Enterprise-OrientDB-DPP.md).
-
 
 ## OrientDB Security Documentation ##
 More comprehensive information about OrientDB security can be found here:
diff --git a/security/SAP-Enterprise-OrientDB-DPP.md b/security/SAP-Enterprise-OrientDB-DPP.md
deleted file mode 100644
index 0ad14f29..00000000
--- a/security/SAP-Enterprise-OrientDB-DPP.md
+++ /dev/null
@@ -1,106 +0,0 @@
-# SAP Enterprise OrientDB Data Protection and Privacy Approach for Products #
-The purpose of this document is to describe the approach and capabilities provided by SAP Enterprise OrientDB which can be used by applications and customers to comply with data protection regulations like the EU General Data Protection Regulation (GDPR).
-
-The document also does not provide how-tos, guidelines, or rules on how to be compliant to data protection and privacy regulations. This needs to be done by the customer based on their own data protection and privacy requirements and applicable regulations.
-
-Data protection and privacy regulations are applicable to the storage and processing and transfer of data regarded as personal data or even sensitive personal data.  Data protection in general is applicable to all types of personal data.
-
-However, some of the details on how data protection requirements are applied in practice can differ, depending on the type of data. In the context of SAP Enterprise OrientDB we distinguish between two types of data:
-
-- **Application Data** i.e. data that comes from applications to be stored, processed, and managed by the data-structures (e.g., database classes) and features provided by SAP Enterprise OrientDB. The semantics, content (social security number, product ID, health data) and relation (e.g., which class makes up a business object like customer) of this data or what regulations need to apply (e.g., retention periods) are under the control of the application. SAP Enterprise OrientDB itself is agnostic to the semantics and only sees the technical representation of the data in SAP Enterprise OrientDB technical objects (e.g. classes). Therefore, the application is responsible to ensure that the data is processed in compliance with data protection regulations and the requirements defined by SAP product standards. SAP Enterprise OrientDB enables the applications to comply by providing appropriate capability and features. The details on what SAP Enterprise OrientDB offers for the specific requirements are described later in this document.
-- **Operational Data** is the data which is collected with the purpose to ensure correct operation, maintenance, and functioning of the system. Depending on the type of data it may contain personal related data. Operational data in SAP Enterprise OrientDB is stored in different places:
-	- Audit Log
-	- Log Files
-	- System Classes
-	- Backup Files
-	
-	This data is collected for the direct purpose of running and maintaining the operation of the SAP Enterprise OrientDB system.
-
-
-# GDPR principles, SAP requirements, SAP Enterprise OrientDB Implementation #
-Based on the data protection regulations SAP created a set of requirements including five corporate requirements. Some of these requirements were primarily defined for business applications. For SAP Enterprise OrientDB as a database platform we had to find our own interpretation of these requirements.
-
-Processing of Personal Data – Legal Ground
-One of the key principles of DPP is that there needs to be an explicit legal ground to process personal data.
-
-Providing the legal ground is not a technical topic but a process and legal topic that needs to be addressed independently from the technology. Therefore, those requirements do not translate into technical product requirements.
-
-|Requirement|Content|Comment|
-|---|---|---|
-|Consent|Where processing is based on the data subject's consent, the controller should be able to demonstrate that the data subject has given consent to the processing operation. (GDPR rec. 42, sentence 1.)|Not Applicable|
-|Contract|Processing should be lawful where it is necessary in the context of a contract or the intention to enter into a contract. (GDPR rec. 44)|Not Applicable|
-|Legal Obligation|Business software based examples: tax reporting, income tax reporting, reporting for social insurance|Not Applicable|
-|Protect Vital Interest|The processing of personal data should also be regarded to be lawful where it is necessary to protect an interest which is essential for the life of the data subject or that of another natural person. (GDPR rec. 46 sentence 1)|Not Applicable|
-|Public Interest|Where processing is … necessary for the performance of a task carried out in the public interest or in the exercise of official authority, the processing should have a basis in Union or Member State law. (GDPR rec. 45 sentence 1)|Not Applicable|
-|Legitimate Interest|Proofing a legitimate interest is subject to a careful legal consideration whether “fundamental rights and freedoms of the data subject” are not overriding such an interest. (GDPR rec. 47)|Not Applicable|
-
-## Complements of the General Right - Rights of the Data Subject ##
-Data protection regulations define very specific rights to the data subject. Anyone wanting to process data on one of the legal grounds defined above needs to ensure those rights. That means SAP software has to enable customers to run their applications according to those regulations.
-
-Not all requirements can be translated into technical requirements or by technical means alone. However, some of those requirements need to be technically supported by SAP software and those are translated into explicit requirements in the SAP security product standard. The following table lists those requirements and the following sections define the way SAP Enterprise OrientDB deals with those requirements.
-
-|Requirement|Content|
-|---|---|
-|Notification|The ability to inform the data subject if the data is used for a different purpose.|
-|Information|The data subject’s right to get information on the data undergoing processing concerning them.|
-|Correction|Personal data has to be true and to be corrected (latest after request).|
-|Erasure|The ability to delete personal data when all retention periods have passed.

The ability to block personal data as soon as the primary purpose has passed and the residence time has elapsed.| -|Data Portability|The right of the data subject to receive his personal data in a structured, commonly used, and machine-readable format.| -|Automated Decisions|The data subject has the right that any automated decision can become subject to manual interference.| - -### SEC-255: Provide a retrieval function which can be used to inform the data subjects about the personal data stored about them ### -The requirement specifically applies to applications. Personal application data stored inside SAP Enterprise OrientDB classes (user information) can be displayed by using OrientDB SQL queries. Since only applications have the knowledge as to which classes contain personal data, they are responsible for implementing report and display functions using such standard capabilities provided by SAP Enterprise OrientDB. - -The requirement does not apply to operational data. Backups, logs, and trace files at this time are not explicitly listed in the EU GDPR and have an agreed exception in the German Data Protection Regulation. - -### SEC-256: Erase personal data when all applicable retention periods have expired ### -SAP Enterprise OrientDB supports the deletion (erasure) of application data in classes using SQL deletion commands or API commands. After the data has been deleted, this operation cannot be undone. Applications must make use of these commands to implement deletion requirements. - -Retention periods, deletion of data without affecting application functionality (e.g. referential integrity) are dependent on the business context, application architecture, etc., and need to be managed by the application. The application needs to implement these rules using the SQL deletion commands or equivalent OrientDB APIs. - -Applications can implement blocking of data using SAP Enterprise OrientDB methods like record-based security and masking or separating the data using OrientDB SQL Predicate Security. - -Operational data: Deletion of specific records (e.g. all records of a specific person) does not apply to operational data. However, still this data is also subject to deletion/retention requirements. Those timelines usually apply to the complete data set (e.g. all logs older than x days need to be deleted). - -Backup: Following standard practice, deletion of individual personal data is not enforced in backups. Common practice is that deleted data will disappear from backups following typical backup-rotation mechanisms. Explicitly deleting personal data from backups is therefore outside the scope of SAP Enterprise OrientDB’s data protection approach and would need to be managed by the customer dependent on their backup and DPP requirements. - -Physical deletion: After data is deleted using, for example the SQL DELETE statement, the respective storage area is marked as free but is not immediately overwritten. The associated storage area will only be overwritten once new data is stored in the respective cluster. As SAP Enterprise OrientDB writes the page as a whole to the record cluster, the deleted, but not overwritten memory areas are also stored to disk in binary format. It is therefore feasible that fragments of the deleted data could under certain circumstances or for a certain period of time be reconstructed. Prerequisite is direct access to the database files in the file system as well as access to the encryption key in case the encryption-at-rest feature of SAP Enterprise OrientDB is used. - -An analysis has shown that other DB vendors face the same problem and that there are no solutions on the market to address the complete deletion of those remaining data-fragments (in literature referred to as “slack”). Completely deleting those remains is very difficult and dependent on other factors like the storage technology used. Initial recommendation is therefore to reduce such slack. SAP Enterprise OrientDB already has a method to reduce slack by making completely unused old pages unreadable when the encryption feature is used. - -Further extending physical deletion capabilities would depend on customer demand. - -### SEC-254 - SAP software shall log read access to sensitive personal data ### -Applications may store sensitive personal data in SAP Enterprise OrientDB. SAP Enterprise OrientDB provides an audit log that can track which user has accessed data records in SAP Enterprise OrientDB. - -With this mechanism, audit polices can be defined to log access to classes containing sensitive personal data. - -It is recommended for applications built on top of SAP Enterprise OrientDB to document clearly where sensitive information is stored so that customers, if required on SAP Enterprise OrientDB level, can define respective policies. - -This does not apply to operational data. - -### SEC-265 - SAP software shall log changes to personal data ### -Changes to the personal data stored in application data in SAP Enterprise OrientDB can be logged using SAP Enterprise OrientDB’s audit logging functionality. - -SAP Enterprise OrientDB provides the infrastructure to define customer-specific audit log policies which log change access to defined objects in the database (issued UPDATE, DELETE, … statements). - -Audit policies can be defined by the customer (administrator). Applications built on top of SAP Enterprise OrientDB should provide guidelines for customers on how to set-up appropriate log policies, for example by providing information on which classes contain relevant information. - -### General Log Requirements (valid for SEC-265, SEC-254) ### -SAP Enterprise OrientDB provides a common policy-based logging infrastructure that can be used by all applications running on SAP Enterprise OrientDB to log actions on data access as well as administrative or security related events in SAP Enterprise OrientDB. As a target for storing the log trail, SAP Enterprise OrientDB currently supports writing the information to the syslog infrastructure of the underlying operating system or a special log class within the System database (appropriately protected by authorization). - -Syslog integration allows customers to: - -- Implement physical segregation of duty by sending the log data to their existing log infrastructure, which means that the log data cannot be changed by database administrators -- Use their established log infrastructure and tools including the compliance rules already implemented in this infrastructure -- Use their own established tools for analyzing the log entries - -This approach is very well received by customers and meets their expectations on log handling. - -Logging into tables allows customers to: -- Store data within the database itself in specially protected classes -- Use standard SQL tooling for log analysis - -The log table is a specially protected system table. - -Log viewing, deletion, and retention have to be managed by the customer and cannot be provided by SAP Enterprise OrientDB. From cb895e9fd25f8dc1f100d286044db37e7d3ff011 Mon Sep 17 00:00:00 2001 From: Tglman Date: Thu, 19 Mar 2026 10:25:43 +0700 Subject: [PATCH 74/74] chore: removed outdated links --- README.md | 4 +- admin/Backup-and-Restore.md | 2 +- admin/Functions-DB-Access.md | 2 +- admin/Import-RDBMS-to-Graph-Model.md | 2 +- console/Console-Command-Backup.md | 2 +- distributed/Distributed-Configuration.md | 2 +- distributed/Distributed-Sharding.md | 4 +- ee/Auditing.md | 2 +- etl/Import-from-JSON.md | 2 +- etl/Import-from-PARSE.md | 2 +- .../Tutorial-Installation-Operations.md | 8 +- gettingstarted/Tutorial-Java-Hooks.md | 2 +- gettingstarted/Tutorial-Run-the-server.md | 2 +- java/Document-Database.md | 2 +- java/Graph-Database-Tinkerpop.md | 8 +- java/Graph-VE.md | 20 ++--- legacy/2011.md | 2 +- legacy/Console-Command-Share-Database.md | 2 +- legacy/Download.md | 2 +- legacy/Home-Old.md | 74 +++++++++---------- legacy/Home.md | 18 ++--- legacy/Introduction.md | 4 +- legacy/Migration-from-1.7.x-to-2.0.x.md | 2 +- legacy/Team.md | 4 +- misc/Get-in-Touch.md | 2 +- orientjs/OrientJS.md | 2 +- 26 files changed, 89 insertions(+), 89 deletions(-) diff --git a/README.md b/README.md index d5a6c8be..377b834a 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Welcome to **OrientDB** - the first Multi-Model Open Source NoSQL DBMS that brin | | [Caching Levels](internals/Caching.md) | [.NET](https://github.com/orientechnologies/OrientDB-NET.binary) | | | [Common Use Cases](legacy/Use-Cases.md) | [Other Drivers](apis-and-drivers/README.md) | | | | [Network Binary Protocol](internals/Network-Binary-Protocol.md) | -| | | [Javadocs](http://www.orientechnologies.com/javadoc/latest/) | +| | | [Javadocs](http://www.orientdb.dev/javadoc/latest/) | ### Operations @@ -46,7 +46,7 @@ Welcome to **OrientDB** - the first Multi-Model Open Source NoSQL DBMS that brin - [Network-Binary-Protocol](internals/Network-Binary-Protocol.md) - [Gephi Graph Analysis Visual tool](plugins/Gephi.md) - [Rexster Support and configuration](plugins/Rexster.md) -- [Continuous integration](http://helios.orientechnologies.com/) +- [Continuous integration](http://helios.orientdb.dev/) ### Resources diff --git a/admin/Backup-and-Restore.md b/admin/Backup-and-Restore.md index c9ee50fc..5aec143e 100644 --- a/admin/Backup-and-Restore.md +++ b/admin/Backup-and-Restore.md @@ -8,7 +8,7 @@ The [`BACKUP DATABASE`](../console/Console-Command-Backup.md) command executes a Backups and restores are much faster than the [`EXPORT DATABASE`](../console/Console-Command-Export.md) and [`IMPORT DATABASE`](../console/Console-Command-Import.md) commands. You can also automate backups using the [Automatic Backup](../plugins/Automatic-Backup.md) server plugin. Additionally, beginning with version 2.2 of [Enterprise Edition](../ee/Enterprise-Edition.md) OrientDB introduces major support for [incremental backups](Incremental-Backup-And-Restore.md). ->**NOTE**: OrientDB Community Edition does not support backing up remote databases. OrientDB [Enterprise Edition](http://www.orientechnologies.com/orientdb-enterprise/) does support this feature. For more information on how to implement this with Enterprise Edition, see [Remote Backups](http://www.orientechnologies.com/enterprise/last/servermanagement.html). +>**NOTE**: OrientDB Community Edition does not support backing up remote databases. OrientDB [Enterprise Edition](http://www.orientdb.dev/orientdb-enterprise/) does support this feature. For more information on how to implement this with Enterprise Edition, see [Remote Backups](http://www.orientdb.dev/enterprise/last/servermanagement.html). ## Backups versus Exports diff --git a/admin/Functions-DB-Access.md b/admin/Functions-DB-Access.md index 3fb945d1..309b00cf 100644 --- a/admin/Functions-DB-Access.md +++ b/admin/Functions-DB-Access.md @@ -5,7 +5,7 @@ When you create a function for OrientDB, it always binds the special variable `o | Function | Description | |---|---| -| `orient.getDatabase()` | Returns the current [document database](http://www.orientechnologies.com/javadoc/latest/com/orientechnologies/orient/core/db/document/ODatabaseDocumentTx.html) instance. | +| `orient.getDatabase()` | Returns the current [document database](http://www.orientdb.dev/javadoc/latest/com/orientechnologies/orient/core/db/document/ODatabaseDocumentTx.html) instance. | For security reason starting from *OrientDB 3.0.29*, the usage of Java classes is forbidden by default, with a class filter implemented in the JS engine. diff --git a/admin/Import-RDBMS-to-Graph-Model.md b/admin/Import-RDBMS-to-Graph-Model.md index ea9bf521..fdeefa19 100644 --- a/admin/Import-RDBMS-to-Graph-Model.md +++ b/admin/Import-RDBMS-to-Graph-Model.md @@ -1,4 +1,4 @@ # Import from RDBMS to Graph Model -To import from RDBMS to OrientDB using the Graph Model the ETL tool is the suggested way to do it. Take a look at: [Import from CSV to a Graph](http://www.orientechnologies.com/docs/last/orientdb-etl.wiki/Import-from-CSV-to-a-Graph.html). +To import from RDBMS to OrientDB using the Graph Model the ETL tool is the suggested way to do it. Take a look at: [Import from CSV to a Graph](http://www.orientdb.dev/docs/last/orientdb-etl.wiki/Import-from-CSV-to-a-Graph.html). diff --git a/console/Console-Command-Backup.md b/console/Console-Command-Backup.md index 556b2773..35bc6116 100644 --- a/console/Console-Command-Backup.md +++ b/console/Console-Command-Backup.md @@ -7,7 +7,7 @@ Executes a complete backup on the currently opened database. It then compresses Backups and restores are similar to the [`EXPORT DATABASE`](Console-Command-Export.md) and [`IMPORT DATABASE`](Console-Command-Import.md), but they offer better performance than these options. ->**NOTE**: OrientDB Community Edition does not support backing up remote databases. OrientDB [Enterprise Edition](http://www.orientechnologies.com/orientdb-enterprise/) does support this feature. For more information on how to implement this with Enterprise Edition, see [Remote Backups](http://www.orientechnologies.com/enterprise/last/servermanagement.html). +>**NOTE**: OrientDB Community Edition does not support backing up remote databases. OrientDB [Enterprise Edition](http://www.orientdb.dev/orientdb-enterprise/) does support this feature. For more information on how to implement this with Enterprise Edition, see [Remote Backups](http://www.orientdb.dev/enterprise/last/servermanagement.html). **Syntax:** diff --git a/distributed/Distributed-Configuration.md b/distributed/Distributed-Configuration.md index 6d570b3e..295b73f7 100644 --- a/distributed/Distributed-Configuration.md +++ b/distributed/Distributed-Configuration.md @@ -362,4 +362,4 @@ Introduced Load balancing at client level. For more information look at [load ba ### v1.7 Simplified configuration by moving. Removed some flags (replication:boolean, now it’s deducted by the presence of “servers” field) and settings now are global (autoDeploy, hotAlignment, offlineMsgQueueSize, readQuorum, writeQuorum, failureAvailableNodesLessQuorum, readYourWrites), but you can overwrite them per-cluster. -For more information look at [News in 1.7](http://www.orientechnologies.com/distributed-architecture-sharding/). +For more information look at [News in 1.7](http://www.orientdb.dev/distributed-architecture-sharding/). diff --git a/distributed/Distributed-Sharding.md b/distributed/Distributed-Sharding.md index 91d996b6..e3d1446f 100644 --- a/distributed/Distributed-Sharding.md +++ b/distributed/Distributed-Sharding.md @@ -165,8 +165,8 @@ OrientDB guarantees strong consistency if it's configured to have a `writeQuorum All the indexes are managed locally by a server. This means that if a class is spanned across three clusters on three different servers, each server will have it’s own local indexes. By executing a [distributed query (Map/Reduce like)](Distributed-Sharding.md#mapreduce) each server will use own indexes. ## Hot management of distributed configuration -With Community Edition the distributed configuration cannot be changed at run-time but you have to stop and restart all the nodes. [Enterprise Edition](http://www.orientechnologies.com/orientdb-enterprise) allows to create and drop new shards without stopping the distributed cluster. +With Community Edition the distributed configuration cannot be changed at run-time but you have to stop and restart all the nodes. [Enterprise Edition](http://www.orientdb.dev/orientdb-enterprise) allows to create and drop new shards without stopping the distributed cluster. -By using Enterprise Edition and the [Workbench](http://www.orientechnologies.com/enterprise/last/clustermgmt.html), you can deploy the database to the new server and define the cluster to assign to it. In this example a new server "usa2" is created where only the cluster `client_usa` will be copied. After the deployment, cluster `client_usa` will be replicated against nodes "usa" and "usa2". +By using Enterprise Edition and the [Workbench](http://www.orientdb.dev/enterprise/last/clustermgmt.html), you can deploy the database to the new server and define the cluster to assign to it. In this example a new server "usa2" is created where only the cluster `client_usa` will be copied. After the deployment, cluster `client_usa` will be replicated against nodes "usa" and "usa2". ![image](http://www.orientdb.com/images/distributed-sharding-addserver.png) diff --git a/ee/Auditing.md b/ee/Auditing.md index d1b34ae2..d2a54039 100644 --- a/ee/Auditing.md +++ b/ee/Auditing.md @@ -1,6 +1,6 @@ # Auditing -Starting in OrientDB 2.1, the Auditing component is part of the [Enterprise Edition](http://www.orientechnologies.com/orientdb-enterprise/). This page refers to the Auditing feature and how to work with it. The Studio web tool provides a GUI for Auditing that makes configuration easier. Look at the [Auditing page in Studio](../studio/server-management/Studio-Auditing.md). +Starting in OrientDB 2.1, the Auditing component is part of the [Enterprise Edition](http://www.orientdb.dev/orientdb-enterprise/). This page refers to the Auditing feature and how to work with it. The Studio web tool provides a GUI for Auditing that makes configuration easier. Look at the [Auditing page in Studio](../studio/server-management/Studio-Auditing.md). By default all the auditing logs are saved as documents of class `AuditingLog`. If your account has enough privileges, you can directly query the auditing log. Example on retrieving the last 20 logs: `select from AuditingLog order by @rid desc limit 20`. diff --git a/etl/Import-from-JSON.md b/etl/Import-from-JSON.md index f7ba521a..918fbb6e 100644 --- a/etl/Import-from-JSON.md +++ b/etl/Import-from-JSON.md @@ -150,4 +150,4 @@ END ETL PROCESSOR Once ready, let's open the database with Studio and this is the result: -![](http://www.orientechnologies.com/images/etl_imported_json.png) +![](http://www.orientdb.dev/images/etl_imported_json.png) diff --git a/etl/Import-from-PARSE.md b/etl/Import-from-PARSE.md index d0378e09..fe26e00b 100644 --- a/etl/Import-from-PARSE.md +++ b/etl/Import-from-PARSE.md @@ -60,7 +60,7 @@ Notes: - Links are similar to OrientDB RID (but it requires a costly JOIN to be traversed), but made as an embedded object containing: - `className` as target class name - `objectId` as target objectId -- Parse has ACL at record level, like [OrientDB](http://www.orientechnologies.com/docs/last/orientdb.wiki/Security.html#record-level-security). +- Parse has ACL at record level, like [OrientDB](http://www.orientdb.dev/docs/last/orientdb.wiki/Security.html#record-level-security). In order to import a PARSE file, you need to create the ETL configuration using JSON as Extractor. diff --git a/gettingstarted/Tutorial-Installation-Operations.md b/gettingstarted/Tutorial-Installation-Operations.md index 96185e25..c0b87050 100644 --- a/gettingstarted/Tutorial-Installation-Operations.md +++ b/gettingstarted/Tutorial-Installation-Operations.md @@ -2,14 +2,14 @@ # Installation OrientDB is available in two editions: -- **[Community Edition](http://www.orientechnologies.com/orientdb/)** This edition is released as an open source project under the [Apache 2 license](http://www.apache.org/licenses/LICENSE-2.0.html). This license allows unrestricted free usage for both open source and commercial projects. -- **[[Enterprise Edition](http://www.orientechnologies.com/orientdb-enterprise/)](http://www.orientechnologies.com/enterprise.htm)** OrientDB Enterprise edition is commercial software built on top of the Community Edition. Enterprise is developed by the same team that developed the OrientDB engine. It serves as an extension of the Community Edition by providing Enterprise features such as: +- **[Community Edition](http://www.orientdb.dev/orientdb/)** This edition is released as an open source project under the [Apache 2 license](http://www.apache.org/licenses/LICENSE-2.0.html). This license allows unrestricted free usage for both open source and commercial projects. +- **[[Enterprise Edition](http://www.orientdb.dev/orientdb-enterprise/)](http://www.orientdb.dev/enterprise.htm)** OrientDB Enterprise edition is commercial software built on top of the Community Edition. Enterprise is developed by the same team that developed the OrientDB engine. It serves as an extension of the Community Edition by providing Enterprise features such as: - Query Profiler - Distributed Clustering configuration - Metrics Recording - Live Monitoring with configurable Alerts -An Enterprise Edition license is included without charge if you purchase [Support](http://www.orientechnologies.com/support/). +An Enterprise Edition license is included without charge if you purchase [Support](http://www.orientdb.dev/support/). ### Prerequisites @@ -26,7 +26,7 @@ This means the only requirement for using OrientDB is to have [Java version 1.6 ### Download Binaries -The easiest and fastest way to start using OrientDB is to download binaries from the [Official OrientDB Download Page](http://www.orientechnologies.com/download/). +The easiest and fastest way to start using OrientDB is to download binaries from the [Official OrientDB Download Page](http://www.orientdb.dev/download/). ### Compile Your Own Community Edition diff --git a/gettingstarted/Tutorial-Java-Hooks.md b/gettingstarted/Tutorial-Java-Hooks.md index 10fe8d88..e1293fca 100644 --- a/gettingstarted/Tutorial-Java-Hooks.md +++ b/gettingstarted/Tutorial-Java-Hooks.md @@ -7,7 +7,7 @@ The following tutorial will walk you through exactly how to accomplish this use ## Assumptions It is assumed that you have already downloaded and installed a [Java JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html). In my case I downloaded Java JDK version 8 for Windows 64 bit and installed it to folder C:\Program Files\Java\jdk1.8.0_40. -It is also assumed that you have [downloaded](http://www.orientechnologies.com/download/), installed, and configured a working OrientDB Server. In my case I installed it to folder C:\Program Files\orientdb-community-2.0.5. +It is also assumed that you have [downloaded](http://www.orientdb.dev/download/), installed, and configured a working OrientDB Server. In my case I installed it to folder C:\Program Files\orientdb-community-2.0.5. Exact instructions for these two steps are outside the scope of this tutorial. diff --git a/gettingstarted/Tutorial-Run-the-server.md b/gettingstarted/Tutorial-Run-the-server.md index 10070dea..899a6953 100644 --- a/gettingstarted/Tutorial-Run-the-server.md +++ b/gettingstarted/Tutorial-Run-the-server.md @@ -109,7 +109,7 @@ By default, OrientDB listens on two different ports for external connections. - **Binary**: OrientDB listens on port `2424` for binary connections from the console and for clients and drivers that support the [Network Binary Protocol](../internals/Network-Binary-Protocol.md). -- **HTTP**: OrientDB listens on port `2480` for HTTP connections from [OrientDB Studio Web Tool](http://www.orientechnologies.com/docs/last/orientdb-studio.wiki/Home-page.html) and clients and drivers that support the [HTTP/REST protocol](../misc/OrientDB-REST.md), or similar tools, such as [cURL](http://en.wikipedia.org/wiki/cURL). +- **HTTP**: OrientDB listens on port `2480` for HTTP connections from [OrientDB Studio Web Tool](http://www.orientdb.dev/docs/last/orientdb-studio.wiki/Home-page.html) and clients and drivers that support the [HTTP/REST protocol](../misc/OrientDB-REST.md), or similar tools, such as [cURL](http://en.wikipedia.org/wiki/cURL). If you would like the database server to listen at different ports or IP address, you can define these values in the configuration file `config/orientdb-server-config.xml`. diff --git a/java/Document-Database.md b/java/Document-Database.md index 8baaf607..e7169176 100644 --- a/java/Document-Database.md +++ b/java/Document-Database.md @@ -35,7 +35,7 @@ orientDB.close(); >For more information, see > ->- Javadoc: [JavaDoc](http://www.orientechnologies.com/javadoc/latest/) +>- Javadoc: [JavaDoc](http://www.orientdb.dev/javadoc/latest/) >- [OrientDB Studio Web tool](../studio/README.md). diff --git a/java/Graph-Database-Tinkerpop.md b/java/Graph-Database-Tinkerpop.md index bfb0fc95..8130238d 100644 --- a/java/Graph-Database-Tinkerpop.md +++ b/java/Graph-Database-Tinkerpop.md @@ -27,13 +27,13 @@ OrientDB supports three different kinds of storages, depending on the [Database - **In-Memory Embedded Graph Database**: Keeps all data in memory. Use the `memory` prefix, for instance `memory:test`. - **Persistent Remote Graph Database** Uses a binary protocol to send and receive data from a remote OrientDB server. Use the `remote` prefix, for instance `remote:localhost/test` Note that this requires an OrientDB server instance up and running at the specific address, (in this case, localhost). Remote databases can be persistent or in-memory as well. -In order to use the Graph API, you need to create an instance of the [`OrientGraph`](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientGraph.html) class. The constructor receives a [Database URL](../datamodeling/Concepts.md#database-url) that is the location of the database. If the database already exists, the Graph API opens it. If it doesn't exist, the Graph API creates it. +In order to use the Graph API, you need to create an instance of the [`OrientGraph`](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientGraph.html) class. The constructor receives a [Database URL](../datamodeling/Concepts.md#database-url) that is the location of the database. If the database already exists, the Graph API opens it. If it doesn't exist, the Graph API creates it. >**NOTE**: When creating a database through the Graph API, you can only create PLocal and Memory databases. Remote databases must already exist. >**NOTE**: In v. 2.2 and following releases, when using PLocal or Memory,please set MaxDirectMemorySize (JVM setting) to a high value, like 512g ``` -XX:MaxDirectMemorySize=512g ``` -When building multi-threaded application, use one instance of [`OrientGraph`](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientGraph.html) per thread. Bear in mind that all graph components, such as vertices and edges, are not thread safe. So, sharing them between threads may result in unpredictable results. +When building multi-threaded application, use one instance of [`OrientGraph`](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientGraph.html) per thread. Bear in mind that all graph components, such as vertices and edges, are not thread safe. So, sharing them between threads may result in unpredictable results. Remember to always close the graph instance when you are done with it, using the `.shutdown()` method. For instance: @@ -48,7 +48,7 @@ try { ### Using the Factory -Beginning with version 1.7, OrientDB introduces the [`OrientGraphFactory`](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientGraphFactory.html) class as new method for creating graph database instances through the API. +Beginning with version 1.7, OrientDB introduces the [`OrientGraphFactory`](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientGraphFactory.html) class as new method for creating graph database instances through the API. ```java // AT THE BEGINNING @@ -90,7 +90,7 @@ try{ By surrounding the transaction in `try` and `catch`, you ensure that any errors that occur roll the transaction back to its previous state for all relevant elements. For more information, see [Concurrency](../general/Concurrency.md). ->**NOTE**: Prior to version 2.1.7, to work with a graph always use transactional [`OrientGraph`](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientGraph.html) instances and never the non-transactional instances to avoid graph corruption from multi-threaded updates. +>**NOTE**: Prior to version 2.1.7, to work with a graph always use transactional [`OrientGraph`](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientGraph.html) instances and never the non-transactional instances to avoid graph corruption from multi-threaded updates. > > Non-transactional graph instances are created with > diff --git a/java/Graph-VE.md b/java/Graph-VE.md index ca76d639..b671c27d 100644 --- a/java/Graph-VE.md +++ b/java/Graph-VE.md @@ -6,7 +6,7 @@ Similar to the Console interface, you can also create, manage and control vertic ## Vertices -To create a new vertex in the current Graph Database instance, call the [`Vertex OrientGraph.addVertex(Object id)`](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientBaseGraph.html#addVertex(java.lang.Object) method. Note that this ignores the `id` parameter, given that the OrientDB implementation assigns a unique ID once it creates the vertex. To return the unique ID, run the [`Vertex.getId()`](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientElement.html#getId() method on the object. +To create a new vertex in the current Graph Database instance, call the [`Vertex OrientGraph.addVertex(Object id)`](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientBaseGraph.html#addVertex(java.lang.Object) method. Note that this ignores the `id` parameter, given that the OrientDB implementation assigns a unique ID once it creates the vertex. To return the unique ID, run the [`Vertex.getId()`](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientElement.html#getId() method on the object. For instance, @@ -37,7 +37,7 @@ To know more about how to define indexes look at: [Using Graph Indexes](http://o ### Removing Vertices -To remove a vertex from the current Graph Database, call the [`OrientGraph.removeVertex(Vertex vertex)`](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientBaseGraph.html#removeVertex(Vertex) method. This disconnects the vertex from the graph database and then removes it. Disconnection deletes all vertex edges as well. +To remove a vertex from the current Graph Database, call the [`OrientGraph.removeVertex(Vertex vertex)`](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientBaseGraph.html#removeVertex(Vertex) method. This disconnects the vertex from the graph database and then removes it. Disconnection deletes all vertex edges as well. For instance, @@ -50,9 +50,9 @@ Disconnects and removes the vertex `luca`. ## Edges -Edges link two vertices in the database. The vertices must exist already. To create a new edge in the current Graph Database, call the [`Edge OrientGraph.addEdge(Object id, Vertex outVertex, Vertex inVertex, String label )`](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientBaseGraph.html#addEdge(java.lang.Object,-Vertex,-Vertex,-java.lang.String) method. +Edges link two vertices in the database. The vertices must exist already. To create a new edge in the current Graph Database, call the [`Edge OrientGraph.addEdge(Object id, Vertex outVertex, Vertex inVertex, String label )`](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientBaseGraph.html#addEdge(java.lang.Object,-Vertex,-Vertex,-java.lang.String) method. -Bear in mind that OrientDB ignores the `id` parameter, given that it assigns a unique ID when it creates the edge. To access this ID, use the [`Edge.getId()`](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientElement.html#getId() method. `outVertex` refers to the vertex instance where the edge starts and `inVertex` refers to where the edge ends. `label` indicates the edge label. Specify it as `null` if you don't want to assign a label. +Bear in mind that OrientDB ignores the `id` parameter, given that it assigns a unique ID when it creates the edge. To access this ID, use the [`Edge.getId()`](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientElement.html#getId() method. `outVertex` refers to the vertex instance where the edge starts and `inVertex` refers to where the edge ends. `label` indicates the edge label. Specify it as `null` if you don't want to assign a label. For instance, @@ -71,7 +71,7 @@ For more information on optimizing edge creation through concurrent threads and ### Retrieving Edges -To retrieve all edges use the [getEdges()](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientBaseGraph.html#getEdges() method: +To retrieve all edges use the [getEdges()](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientBaseGraph.html#getEdges() method: ```java for (Edge e : graph.getEdges()) { @@ -94,7 +94,7 @@ You only need to run this command once to disable Lightweight Edges. The change ### Removing Edges -To remove an edge from the current Graph Database, call the [`OrientGraph.removeEdge(Edge edge)`](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientBaseGraph.html#removeEdge(Edge) method. It removes the edge connecting two vertices. +To remove an edge from the current Graph Database, call the [`OrientGraph.removeEdge(Edge edge)`](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientBaseGraph.html#removeEdge(Edge) method. It removes the edge connecting two vertices. For instance, @@ -108,9 +108,9 @@ Vertices and Edges can have multiple properties. The key to this property is a | Method | Description | |---|---| -| [**`setProperty(String key, Object value)`**](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientElement.html#setProperty(java.lang.String,-java.lang.Object) | Sets the property.| -| [**`Object getProperty(String key)`**](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientElement.html#getProperty(java.lang.String) | Retrieves the property.| -| [**`void removeProperty(String key)`**](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientElement.html#removeProperty(java.lang.String) | Removes the property.| +| [**`setProperty(String key, Object value)`**](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientElement.html#setProperty(java.lang.String,-java.lang.Object) | Sets the property.| +| [**`Object getProperty(String key)`**](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientElement.html#getProperty(java.lang.String) | Retrieves the property.| +| [**`void removeProperty(String key)`**](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientElement.html#removeProperty(java.lang.String) | Removes the property.| For instance, @@ -127,7 +127,7 @@ vertex1.removeProperty("y"); ### Setting Multiple Properties -The OrientDB implementation of the Blueprints extension supports setting multiple properties in one command against vertices and edges, using the [`setProperties(Object ...)`](http://www.orientechnologies.com/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientElement.html#setProperties(java.lang.Object...) method. This improves performance by allowing you to avoid saving the graph element each time you set a property. +The OrientDB implementation of the Blueprints extension supports setting multiple properties in one command against vertices and edges, using the [`setProperties(Object ...)`](http://www.orientdb.dev/javadoc/latest/com/tinkerpop/blueprints/impls/orient/OrientElement.html#setProperties(java.lang.Object...) method. This improves performance by allowing you to avoid saving the graph element each time you set a property. For instance, diff --git a/legacy/2011.md b/legacy/2011.md index 51fd6291..478f5497 100644 --- a/legacy/2011.md +++ b/legacy/2011.md @@ -28,7 +28,7 @@ In the picture from the left: Maxim Fedorov, Andrey Lomakin, Artem Orobets and A ## NuvolaBase team -![image](http://www.orientechnologies.com/images/team/NuvolaBaseTeam.jpg) +![image](http://www.orientdb.dev/images/team/NuvolaBaseTeam.jpg) In the picture from the left: Luca Garulli, Dino Ciuffetti and Alfonso Focareta diff --git a/legacy/Console-Command-Share-Database.md b/legacy/Console-Command-Share-Database.md index cc528209..ef6bf9ee 100644 --- a/legacy/Console-Command-Share-Database.md +++ b/legacy/Console-Command-Share-Database.md @@ -4,7 +4,7 @@ Share a database with another server in the cluster. This command works only inside a cluster of servers up and running. With this operation a database will be shared in another server node. -![image](http://www.orientechnologies.com/images/share-database.png) +![image](http://www.orientdb.dev/images/share-database.png) To execute this command you need to be connected to the remote server instance where the database resides, in the picture the **Server #1**. The server user must to have the permission to the resource "database.share". The *root* user has this privilege. diff --git a/legacy/Download.md b/legacy/Download.md index 6ac3fbe0..3b417668 100644 --- a/legacy/Download.md +++ b/legacy/Download.md @@ -14,7 +14,7 @@ For older release or more information go to the official [download page](http:// OrientDB comes with 2 distributions: - OrientDB Community Edition, the default Open Source version released with Apache 2 license -- [OrientDB Enterprise Edition](http://www.orientechnologies.com/orientdb-enterprise), based on the Community Edition, adds Enterprise Level features. It's available with [support](http://www.orientechnologies.com/support) by Orient Technologies company and has a commercial version. +- [OrientDB Enterprise Edition](http://www.orientdb.dev/orientdb-enterprise), based on the Community Edition, adds Enterprise Level features. It's available with [support](http://www.orientdb.dev/support) by Orient Technologies company and has a commercial version. # Version numbers # diff --git a/legacy/Home-Old.md b/legacy/Home-Old.md index c3106e7f..4fc97ed6 100644 --- a/legacy/Home-Old.md +++ b/legacy/Home-Old.md @@ -8,48 +8,48 @@ This wiki is the main source of documentation for developers working with (or co |Getting Started |Main Topics |Developers | |-----------------------|---------------|-------------| -|[Introduction to OrientDB](http://www.orientechnologies.com/docs/last/index.html) | [Basic Concepts](http://www.orientechnologies.com/docs/last/orientdb.wiki/Concepts.html) | [SQL](http://www.orientechnologies.com/docs/last/orientdb.wiki/SQL.html)| | -|[Installation](http://www.orientechnologies.com/docs/last/orientdb.wiki/Tutorial-Installation.html) | [Supported Data Types](http://www.orientechnologies.com/docs/last/orientdb.wiki/Types.html) | [Gremlin](http://www.orientechnologies.com/docs/last/orientdb.wiki/Gremlin.html) | -|[First Steps](http://www.orientechnologies.com/docs/last/orientdb.wiki/Tutorial-Introduction-to-the-NoSQL-world.html) | [Inheritance](http://www.orientechnologies.com/docs/last/orientdb.wiki/Inheritance.html) | [HTTP API](http://www.orientechnologies.com/docs/last/orientdb.wiki/OrientDB-REST.html) | -|[Troubleshooting](http://www.orientechnologies.com/docs/last/orientdb.wiki/Troubleshooting.html) |[Security](http://www.orientechnologies.com/docs/last/orientdb.wiki/Security.html)| [Java API](http://www.orientechnologies.com/docs/last/orientdb.wiki/Java-API.html)| -|[Enterprise Edition](http://www.orientechnologies.com/docs/last/orientdb.wiki/Enterprise-Edition.html)| [Indexes](http://www.orientechnologies.com/docs/last/orientdb.wiki/Indexes.html) | [NodeJS](https://github.com/codemix/oriento)| -| | [ACID Transactions](http://www.orientechnologies.com/docs/last/orientdb.wiki/Transactions.html) | [PHP](https://github.com/orientechnologies/PhpOrient) | -| | [Functions](http://www.orientechnologies.com/docs/last/orientdb.wiki/Functions.html) | [Python](https://github.com/orientechnologies/pyorient)| -| | [Caching Levels](http://www.orientechnologies.com/docs/last/orientdb.wiki/Caching.html) | [.NET](https://github.com/orientechnologies/OrientDB-NET.binary) | -| | [Common Use Cases](http://www.orientechnologies.com/docs/last/orientdb.wiki/Use-Cases.html) | [Other Drivers](http://www.orientechnologies.com/docs/last/orientdb.wiki/Programming-Language-Bindings.html) | -| | | [Network Binary Protocol](http://www.orientechnologies.com/docs/last/orientdb.wiki/Network-Binary-Protocol.html) | -| | | [Javadocs](http://www.orientechnologies.com/javadoc/latest/) | +|[Introduction to OrientDB](http://www.orientdb.dev/docs/last/index.html) | [Basic Concepts](http://www.orientdb.dev/docs/last/orientdb.wiki/Concepts.html) | [SQL](http://www.orientdb.dev/docs/last/orientdb.wiki/SQL.html)| | +|[Installation](http://www.orientdb.dev/docs/last/orientdb.wiki/Tutorial-Installation.html) | [Supported Data Types](http://www.orientdb.dev/docs/last/orientdb.wiki/Types.html) | [Gremlin](http://www.orientdb.dev/docs/last/orientdb.wiki/Gremlin.html) | +|[First Steps](http://www.orientdb.dev/docs/last/orientdb.wiki/Tutorial-Introduction-to-the-NoSQL-world.html) | [Inheritance](http://www.orientdb.dev/docs/last/orientdb.wiki/Inheritance.html) | [HTTP API](http://www.orientdb.dev/docs/last/orientdb.wiki/OrientDB-REST.html) | +|[Troubleshooting](http://www.orientdb.dev/docs/last/orientdb.wiki/Troubleshooting.html) |[Security](http://www.orientdb.dev/docs/last/orientdb.wiki/Security.html)| [Java API](http://www.orientdb.dev/docs/last/orientdb.wiki/Java-API.html)| +|[Enterprise Edition](http://www.orientdb.dev/docs/last/orientdb.wiki/Enterprise-Edition.html)| [Indexes](http://www.orientdb.dev/docs/last/orientdb.wiki/Indexes.html) | [NodeJS](https://github.com/codemix/oriento)| +| | [ACID Transactions](http://www.orientdb.dev/docs/last/orientdb.wiki/Transactions.html) | [PHP](https://github.com/orientechnologies/PhpOrient) | +| | [Functions](http://www.orientdb.dev/docs/last/orientdb.wiki/Functions.html) | [Python](https://github.com/orientechnologies/pyorient)| +| | [Caching Levels](http://www.orientdb.dev/docs/last/orientdb.wiki/Caching.html) | [.NET](https://github.com/orientechnologies/OrientDB-NET.binary) | +| | [Common Use Cases](http://www.orientdb.dev/docs/last/orientdb.wiki/Use-Cases.html) | [Other Drivers](http://www.orientdb.dev/docs/last/orientdb.wiki/Programming-Language-Bindings.html) | +| | | [Network Binary Protocol](http://www.orientdb.dev/docs/last/orientdb.wiki/Network-Binary-Protocol.html) | +| | | [Javadocs](http://www.orientdb.dev/javadoc/latest/) | ### Operations -- [Installation](http://www.orientechnologies.com/docs/last/orientdb.wiki/Tutorial-Installation.html) -- [3rdy party Plugins](http://www.orientechnologies.com/docs/last/orientdb.wiki/Plugins.html) -- [Upgrade](http://www.orientechnologies.com/docs/last/orientdb.wiki/Upgrade.html) -- [Configuration](http://www.orientechnologies.com/docs/last/orientdb.wiki/Configuration.html) -- [Distributed Architecture](http://www.orientechnologies.com/docs/last/orientdb.wiki/Distributed-Architecture.html)(replication, sharding and high-availability) -- [Performance Tuning](http://www.orientechnologies.com/docs/last/orientdb.wiki/Performance-tuning.html) -- [ETL to Import any kind of data into OrientDB](http://www.orientechnologies.com/docs/last/orientdb-etl.wiki/Home.html) -- [Import from Relational DB](http://www.orientechnologies.com/docs/last/orientdb.wiki/Import-From-RDBMS.html) -- [Backup and Restore](http://www.orientechnologies.com/docs/last/orientdb.wiki/Backup-and-Restore.html) -- [Export and Import](http://www.orientechnologies.com/docs/last/orientdb.wiki/Export-and-Import.html) +- [Installation](http://www.orientdb.dev/docs/last/orientdb.wiki/Tutorial-Installation.html) +- [3rdy party Plugins](http://www.orientdb.dev/docs/last/orientdb.wiki/Plugins.html) +- [Upgrade](http://www.orientdb.dev/docs/last/orientdb.wiki/Upgrade.html) +- [Configuration](http://www.orientdb.dev/docs/last/orientdb.wiki/Configuration.html) +- [Distributed Architecture](http://www.orientdb.dev/docs/last/orientdb.wiki/Distributed-Architecture.html)(replication, sharding and high-availability) +- [Performance Tuning](http://www.orientdb.dev/docs/last/orientdb.wiki/Performance-tuning.html) +- [ETL to Import any kind of data into OrientDB](http://www.orientdb.dev/docs/last/orientdb-etl.wiki/Home.html) +- [Import from Relational DB](http://www.orientdb.dev/docs/last/orientdb.wiki/Import-From-RDBMS.html) +- [Backup and Restore](http://www.orientdb.dev/docs/last/orientdb.wiki/Backup-and-Restore.html) +- [Export and Import](http://www.orientdb.dev/docs/last/orientdb.wiki/Export-and-Import.html) ### Quick References -- [Console](http://www.orientechnologies.com/docs/last/orientdb.wiki/Console-Commands.html) -- [Studio](http://www.orientechnologies.com/docs/last/orientdb-studio.wiki/Home-page.html) web tool -- [Workbench](http://www.orientechnologies.com/enterprise/1.6.2/userguide.html) (Enterprise Edition) -- [OrientDB Server](http://www.orientechnologies.com/docs/last/orientdb.wiki/DB-Server.html) -- [Network-Binary-Protocol](http://www.orientechnologies.com/docs/last/orientdb.wiki/Network-Binary-Protocol.html) -- [Gephi Graph Analysis Visual tool](http://www.orientechnologies.com/docs/last/orientdb.wiki/Gephi.html) -- [Rexster Support and configuration](http://www.orientechnologies.com/docs/last/orientdb.wiki/Rexster.html) -- [Continuous integration](http://helios.orientechnologies.com/) +- [Console](http://www.orientdb.dev/docs/last/orientdb.wiki/Console-Commands.html) +- [Studio](http://www.orientdb.dev/docs/last/orientdb-studio.wiki/Home-page.html) web tool +- [Workbench](http://www.orientdb.dev/enterprise/1.6.2/userguide.html) (Enterprise Edition) +- [OrientDB Server](http://www.orientdb.dev/docs/last/orientdb.wiki/DB-Server.html) +- [Network-Binary-Protocol](http://www.orientdb.dev/docs/last/orientdb.wiki/Network-Binary-Protocol.html) +- [Gephi Graph Analysis Visual tool](http://www.orientdb.dev/docs/last/orientdb.wiki/Gephi.html) +- [Rexster Support and configuration](http://www.orientdb.dev/docs/last/orientdb.wiki/Rexster.html) +- [Continuous integration](http://helios.orientdb.dev/) ### Resources -- [User Group](http://www.orientechnologies.com/active-user-community) - Have question, troubles, problems? -- [Professional Support](http://orientechnologies.com/support) -- [Training](http://orientechnologies.com/training) - Training and classes. -- [Events](http://www.orientechnologies.com/events) - Follow OrientDB at the next event! -- [Team](http://www.orientechnologies.com/docs/last/orientdb.wiki/Team.html) - Meet the team behind OrientDB -- [Contribute](http://www.orientechnologies.com/docs/last/orientdb.wiki/Contribute-to-OrientDB.html) - Contribute to the project. -- [Who is using OrientDB?](http://www.orientechnologies.com/customers) - Clients using OrientDB in production. +- [User Group](http://www.orientdb.dev/active-user-community) - Have question, troubles, problems? +- [Professional Support](http://orientdb.dev/support) +- [Training](http://orientdb.dev/training) - Training and classes. +- [Events](http://www.orientdb.dev/events) - Follow OrientDB at the next event! +- [Team](http://www.orientdb.dev/docs/last/orientdb.wiki/Team.html) - Meet the team behind OrientDB +- [Contribute](http://www.orientdb.dev/docs/last/orientdb.wiki/Contribute-to-OrientDB.html) - Contribute to the project. +- [Who is using OrientDB?](http://www.orientdb.dev/customers) - Clients using OrientDB in production. ## Questions or Need Help? -Check out our [Get in Touch](http://www.orientechnologies.com/docs/last/orientdb.wiki/Get-in-Touch.html) page for different ways of getting in touch with us. \ No newline at end of file +Check out our [Get in Touch](http://www.orientdb.dev/docs/last/orientdb.wiki/Get-in-Touch.html) page for different ways of getting in touch with us. \ No newline at end of file diff --git a/legacy/Home.md b/legacy/Home.md index 8e43825f..2590d247 100644 --- a/legacy/Home.md +++ b/legacy/Home.md @@ -16,7 +16,7 @@ | | [Caching Levels](../internals/Caching.md) | [.NET](https://github.com/orientechnologies/OrientDB-NET.binary) | | | [Common Use Cases](Use-Cases.md) | [Other Drivers](../apis-and-drivers/README.md) | | | | [Network Binary Protocol](../internals/Network-Binary-Protocol.md) | -| | | [Javadocs](http://www.orientechnologies.com/javadoc/latest/) | +| | | [Javadocs](http://www.orientdb.dev/javadoc/latest/) | ### Operations - [Installation](Tutorial-Installation.md) @@ -33,21 +33,21 @@ ### Quick References - [Console](../console/README.md) - [Studio](../studio/Home-page.md) web tool -- [Workbench](http://www.orientechnologies.com/enterprise/1.7.4/userguide.html) (Enterprise Edition) +- [Workbench](http://www.orientdb.dev/enterprise/1.7.4/userguide.html) (Enterprise Edition) - [OrientDB Server](../internals/DB-Server.md) - [Network-Binary-Protocol](../internals/Network-Binary-Protocol.md) - [Gephi Graph Analysis Visual tool](../plugins/Gephi.md) - [Rexster Support and configuration](../plugins/Rexster.md) -- [Continuous integration](http://helios.orientechnologies.com/) +- [Continuous integration](http://helios.orientdb.dev/) ### Resources -- [User Group](http://www.orientechnologies.com/active-user-community) - Have question, troubles, problems? -- [Professional Support](http://orientechnologies.com/support) -- [Training](http://orientechnologies.com/training) - Training and classes. -- [Events](http://www.orientechnologies.com/event) - Follow OrientDB at the next event! +- [User Group](http://www.orientdb.dev/active-user-community) - Have question, troubles, problems? +- [Professional Support](http://orientdb.dev/support) +- [Training](http://orientdb.dev/training) - Training and classes. +- [Events](http://www.orientdb.dev/event) - Follow OrientDB at the next event! - [Team](Team.md) - Meet the team behind OrientDB - [Contribute](../misc/Contribute-to-OrientDB.md) - Contribute to the project. -- [Who is using OrientDB?](http://www.orientechnologies.com/customers) - Clients using OrientDB in production. +- [Who is using OrientDB?](http://www.orientdb.dev/customers) - Clients using OrientDB in production. ## Questions or Need Help? Check out our [Get in Touch](../misc/Get-in-Touch.md) page for different ways of getting in touch with us. @@ -57,7 +57,7 @@ Check out our [Get in Touch](../misc/Get-in-Touch.md) page for different ways of This documentation is also available in [PDF format](OrientDB-Manual.pdf). ## Past releases -- [v1.7.8](http://www.orientechnologies.com/docs/1.7.8/) +- [v1.7.8](http://www.orientdb.dev/docs/1.7.8/) Welcome to **OrientDB** - the first Multi-Model Open Source NoSQL DBMS that brings together the power of graphs and the flexibility of documents into one scalable high-performance operational database. diff --git a/legacy/Introduction.md b/legacy/Introduction.md index 499d8526..ab4d094c 100644 --- a/legacy/Introduction.md +++ b/legacy/Introduction.md @@ -15,11 +15,11 @@ Take a look at a few OrientDB [Presentations] (https://github.com/orientechnolog OrientDB is free for any use without restriction. Open source, commercial, embedded. This is possible because of it's truly permissive [Apache 2 Open Source License] (http://www.apache.org/licenses/LICENSE-2.0.html). -Orient Technologies, the company behind OrientDB, offers high quality [Professional Services] (http://orientechnologies.com/support.htm). If you are looking for Developer and Production Support, [Training] (http://orientechnologies.com/training.htm) or [Consultancy] (http://www.orientechnologies.com/consulting/) with transparent and competitive pricing, we have you covered. These options are available to ensure you’re maximizing OrientDB’s capabilities for your particular needs and use case. +Orient Technologies, the company behind OrientDB, offers high quality [Professional Services] (http://orientdb.dev/support.htm). If you are looking for Developer and Production Support, [Training] (http://orientdb.dev/training.htm) or [Consultancy] (http://www.orientdb.dev/consulting/) with transparent and competitive pricing, we have you covered. These options are available to ensure you’re maximizing OrientDB’s capabilities for your particular needs and use case. ## OrientDB Community -Start learning about OrientDB with the [OrientDB Manual](http://orientechnologies.com/docs). For any questions, visit the [OrientDB Community Group](http://www.orientdb.org/community-group.htm). Need help? Go to [Online Support](https://gitter.im/orientechnologies/orientdb). Do you want to hear about OrientDB at a conference or meetup? Take a look at [Events](http://www.orientechnologies.com/events/) or invite us to present to your group! +Start learning about OrientDB with the [OrientDB Manual](http://orientdb.dev/docs). For any questions, visit the [OrientDB Community Group](http://www.orientdb.org/community-group.htm). Need help? Go to [Online Support](https://gitter.im/orientechnologies/orientdb). Do you want to hear about OrientDB at a conference or meetup? Take a look at [Events](http://www.orientdb.dev/events/) or invite us to present to your group! [![](http://mac.softpedia.com/base_img/softpedia_free_award_f.gif)](http://mac.softpedia.com/get/Developer-Tools/Orient.shtml) diff --git a/legacy/Migration-from-1.7.x-to-2.0.x.md b/legacy/Migration-from-1.7.x-to-2.0.x.md index 169b76fd..04867596 100644 --- a/legacy/Migration-from-1.7.x-to-2.0.x.md +++ b/legacy/Migration-from-1.7.x-to-2.0.x.md @@ -105,7 +105,7 @@ Example of configuration with 2 nodes replicated (no sharding): If you execute this command against a node1, OrientDB will assign the cluster-id where node1 is master, i.e. #13:232. With node2 would be different: it couldn't never be #13. -For more information look at: http://www.orientechnologies.com/docs/last/orientdb.wiki/Distributed-Sharding.html. +For more information look at: http://www.orientdb.dev/docs/last/orientdb.wiki/Distributed-Sharding.html. ### Asynchronous replication diff --git a/legacy/Team.md b/legacy/Team.md index 9f9395b2..0c2093e3 100644 --- a/legacy/Team.md +++ b/legacy/Team.md @@ -4,10 +4,10 @@ If you want to contribute to the project, follow the [Contributor rules](https:/ # Committers -Committers have reached the Joda Level OrientDB certification. They coordinates updates, patches, new tasks and answer actively to the [Google Group](http://groups.google.com/group/orient-database). They talk in a private Mailing List to take decision all together. All the committers refer to the Committer's guide. +Committers have reached the Joda Level OrientDB certification. They coordinates updates, patches, new tasks and answer actively to the [Google Group](http://groups.google.com/group/orient-database). They talk in a private Mailing List to take decision all together. All the committers refer to the Committer's guide. ## Luca Garulli - + **Description** Luca is the original author of OrientDB product and the main committer. In order to handle indexes in efficient way Luca has created the new MVRB-Tree algorithm (it was called RB+Tree but another different algorithm already exists with this name) as mix of Red-Black Tree and B+Tree. MVRB stands for Multi Value Red Black because stores multiple values in each tree node instead of just one as RB-Tree does. MVRB-Tree consumes less than half memory of the RB-Tree implementation mantaining the original speed while it balances the tree on insertion/update. Furthermore the MVRB-Tree allows fast retrieving and storing of nodes in persistent way. He is member of the Sun Microsystems [JDO 1.0 Expert Group (JSR#12)](http://www.jcp.org/en/jsr/detail?id=12) and JDO 2.0 Expert Group (JSR#243) for the writing of JDO standard.
**Company** [OrientDB Ltd](http://orientdb.com)
**Links** [Twitter](http://twitter.com/lgarulli) - [Google+](https://plus.google.com/u/0/111607061083712272202/posts) - [VisualizeMe](http://vizualize.me/luca.garulli) - [LinkedIn](http://www.linkedin.com/in/garulli) - [Blog](http://zion-city.blogspot.it) - [Ohloh](http://www.ohloh.net/accounts/lvca)
diff --git a/misc/Get-in-Touch.md b/misc/Get-in-Touch.md index 40f158bd..de4bdcf9 100644 --- a/misc/Get-in-Touch.md +++ b/misc/Get-in-Touch.md @@ -39,4 +39,4 @@ If you want to brainstorm a potential new feature, then the OrientDB Google Grou ## Email [info@orientdb.dev](mailto:info@orientdb.dev) -If you want more information about Commercial [Support](http://www.orientechnologies.com/support/), [Consultancy](http://www.orientechnologies.com/consulting/) or [Training](http://www.orientechnologies.com/training/), email us. +If you want more information about Commercial [Support](http://www.orientdb.dev/support/), [Consultancy](http://www.orientdb.dev/consulting/) or [Training](http://www.orientdb.dev/training/), email us. diff --git a/orientjs/OrientJS.md b/orientjs/OrientJS.md index 77f8135b..4abafd22 100644 --- a/orientjs/OrientJS.md +++ b/orientjs/OrientJS.md @@ -1,7 +1,7 @@ # OrientJS - Node.js Driver -Official [orientdb](http://www.orientechnologies.com/orientdb/) driver for node.js. Fast, lightweight, uses the binary protocol. +Official [orientdb](http://www.orientdb.dev/orientdb/) driver for node.js. Fast, lightweight, uses the binary protocol. [![Build Status](https://travis-ci.org/orientechnologies/orientjs.svg?branch=develop)](https://travis-ci.org/orientechnologies/orientjs) [![Coverage Status](https://coveralls.io/repos/github/orientechnologies/orientjs/badge.svg?branch=develop)](https://coveralls.io/github/orientechnologies/orientjs?branch=develop)