From 3e71b2087ec3a4aec6f8c2e39ece3ca1b66767b8 Mon Sep 17 00:00:00 2001 From: Frank Celler Date: Thu, 23 Jan 2014 23:11:33 +0100 Subject: [PATCH 1/7] fixed issue #741: documentation improvement --- Documentation/DbaManual/Authentication.md | 2 ++ Documentation/DbaManual/Basics.md | 2 ++ Documentation/DbaManual/DatafileDebugger.md | 2 ++ Documentation/DbaManual/DbaManual.md | 2 ++ Documentation/DbaManual/EmergencyConsole.md | 2 ++ Documentation/DbaManual/HandlingIndexes.md | 2 ++ Documentation/DbaManual/IndexBitArray.md | 2 ++ Documentation/DbaManual/IndexCap.md | 2 ++ Documentation/DbaManual/IndexFulltext.md | 2 ++ Documentation/DbaManual/IndexGeo.md | 2 ++ Documentation/DbaManual/IndexHash.md | 2 ++ Documentation/DbaManual/IndexSkiplist.md | 2 ++ Documentation/ImplementorManual/ArangoErrors.md | 2 ++ Documentation/ImplementorManual/Communication.md | 1 + Documentation/ImplementorManual/HttpAqlFunctions.md | 1 + Documentation/ImplementorManual/HttpBatch.md | 2 ++ Documentation/ImplementorManual/HttpCollection.md | 2 ++ Documentation/ImplementorManual/HttpCursor.md | 1 + Documentation/ImplementorManual/HttpDatabase.md | 2 ++ Documentation/ImplementorManual/HttpEndpoint.md | 1 + Documentation/ImplementorManual/HttpGraph.md | 2 ++ Documentation/ImplementorManual/HttpImport.md | 2 ++ Documentation/ImplementorManual/HttpIndex.md | 1 + Documentation/ImplementorManual/HttpJob.md | 1 + Documentation/ImplementorManual/HttpMisc.md | 1 + Documentation/ImplementorManual/HttpQuery.md | 2 ++ Documentation/ImplementorManual/HttpReplication.md | 2 ++ Documentation/ImplementorManual/HttpSimple.md | 2 ++ Documentation/ImplementorManual/HttpSystem.md | 2 ++ Documentation/ImplementorManual/HttpTransactions.md | 1 + Documentation/ImplementorManual/HttpTraversals.md | 1 + Documentation/ImplementorManual/HttpUser.md | 2 ++ Documentation/ImplementorManual/ImplementorManual.md | 2 ++ Documentation/ImplementorManual/NamingConventions.md | 1 + Documentation/ImplementorManual/RestDocument.md | 2 ++ Documentation/ImplementorManual/RestEdge.md | 2 ++ Documentation/InstallationManual/Compiling.md | 2 ++ Documentation/InstallationManual/InstallationManual.md | 2 ++ Documentation/InstallationManual/Installing.md | 2 ++ Documentation/Manual/Glossary.md | 2 ++ Documentation/Manual/NewFeatures11.md | 1 + Documentation/Manual/NewFeatures12.md | 2 ++ Documentation/Manual/NewFeatures13.md | 2 ++ Documentation/Manual/NewFeatures14.md | 1 + Documentation/Manual/Upgrading11.md | 2 ++ Documentation/Manual/Upgrading12.md | 1 + Documentation/Manual/Upgrading13.md | 1 + Documentation/Manual/Upgrading14.md | 2 ++ Documentation/Manual/UpgradingGeneral.md | 2 ++ Documentation/RefManual/Actions.md | 2 ++ Documentation/RefManual/ArangoErrors.md | 2 ++ Documentation/RefManual/JSModuleActions.md | 2 ++ Documentation/RefManual/JSModuleConsole.md | 2 ++ Documentation/RefManual/JSModuleFs.md | 2 ++ Documentation/RefManual/JSModuleGraph.md | 2 ++ Documentation/RefManual/JSModuleJSUnity.md | 2 ++ Documentation/RefManual/JSModuleModules.md | 2 ++ Documentation/RefManual/RefManual.md | 2 ++ Documentation/RefManual/Replication.md | 1 + Documentation/Scripts/generateTOC.py | 3 +++ Documentation/ToolsManual/DumpManual.md | 3 ++- Documentation/ToolsManual/ImpManual.md | 2 ++ Documentation/ToolsManual/RestoreManual.md | 1 + Documentation/ToolsManual/ToolsManual.md | 1 + Documentation/UserManual/Aql.md | 2 ++ Documentation/UserManual/AqlExamples.md | 1 + Documentation/UserManual/Arangosh.md | 1 + Documentation/UserManual/CommandLine.md | 2 ++ Documentation/UserManual/ExtendingAql.md | 1 + Documentation/UserManual/FirstStepsArangoDB.md | 2 ++ Documentation/UserManual/Foxx.md | 1 + Documentation/UserManual/FoxxManager.md | 2 ++ Documentation/UserManual/Graphs.md | 1 + Documentation/UserManual/HandlingCollections.md | 2 ++ Documentation/UserManual/HandlingDatabases.md | 1 + Documentation/UserManual/HandlingDocuments.md | 2 ++ Documentation/UserManual/HandlingEdges.md | 2 ++ Documentation/UserManual/HandlingEndpoints.md | 1 + Documentation/UserManual/SimpleQueries.md | 2 ++ Documentation/UserManual/Transactions.md | 2 ++ Documentation/UserManual/Traversals.md | 1 + Documentation/UserManual/UserManual.md | 2 ++ Documentation/UserManual/UserManualReplication.md | 2 ++ Documentation/UserManual/WebInterface.md | 1 + Documentation/arangodb.css | 8 +++++++- 85 files changed, 150 insertions(+), 2 deletions(-) diff --git a/Documentation/DbaManual/Authentication.md b/Documentation/DbaManual/Authentication.md index 4c96297b46..dddff73f37 100644 --- a/Documentation/DbaManual/Authentication.md +++ b/Documentation/DbaManual/Authentication.md @@ -59,3 +59,5 @@ web interface. @CLEARPAGE @anchor UserManagementReload @copydetails JSF_reloadUsers + +@BNAVIGATE_DbaManualAuthentication diff --git a/Documentation/DbaManual/Basics.md b/Documentation/DbaManual/Basics.md index f162f56562..7a4470ba82 100644 --- a/Documentation/DbaManual/Basics.md +++ b/Documentation/DbaManual/Basics.md @@ -48,3 +48,5 @@ You can configure the durability behavior on a per collection basis. Use the ArangoDB shell to change these properties. @copydetails JS_PropertiesVocbaseCol + +@BNAVIGATE_DbaManualBasics diff --git a/Documentation/DbaManual/DatafileDebugger.md b/Documentation/DbaManual/DatafileDebugger.md index 15bfaab9b6..02cb77c934 100644 --- a/Documentation/DbaManual/DatafileDebugger.md +++ b/Documentation/DbaManual/DatafileDebugger.md @@ -79,3 +79,5 @@ If you answer `Y`, the corrupted entry will be removed. If you see a corruption in a datafile (and not a journal), then something is terrible wrong. These files are immutable and never changed by ArangoDB. A corruption in such a file is an indication of a hard-disk failure. + +@BNAVIGATE_DbaManualDatafileDebugger diff --git a/Documentation/DbaManual/DbaManual.md b/Documentation/DbaManual/DbaManual.md index 0d42399d98..f43e15e9ea 100644 --- a/Documentation/DbaManual/DbaManual.md +++ b/Documentation/DbaManual/DbaManual.md @@ -14,3 +14,5 @@ ArangoDB's DBA Manual (@VERSION){#DbaManual} @CHAPTER_REF{DbaManualAuthentication} @CHAPTER_REF{DbaManualDatafileDebugger} @CHAPTER_REF{DbaManualEmergencyConsole} + +@BNAVIGATE_DbaManual diff --git a/Documentation/DbaManual/EmergencyConsole.md b/Documentation/DbaManual/EmergencyConsole.md index 1ee5ce2deb..19cd0f27a1 100644 --- a/Documentation/DbaManual/EmergencyConsole.md +++ b/Documentation/DbaManual/EmergencyConsole.md @@ -23,3 +23,5 @@ client/server communication. However, it is very likely that you never need the emergency console unless you are an ArangoDB developer. + +@BNAVIGATE_DbaManualEmergencyConsole diff --git a/Documentation/DbaManual/HandlingIndexes.md b/Documentation/DbaManual/HandlingIndexes.md index a8b4606c23..39e5646640 100644 --- a/Documentation/DbaManual/HandlingIndexes.md +++ b/Documentation/DbaManual/HandlingIndexes.md @@ -140,3 +140,5 @@ Database Methods {#HandlingIndexesDatabaseMethods} @CLEARPAGE @anchor HandlingIndexesDbDelete @copydetails JSF_ArangoDatabase_prototype__dropIndex + +@BNAVIGATE_HandlingIndexes diff --git a/Documentation/DbaManual/IndexBitArray.md b/Documentation/DbaManual/IndexBitArray.md index 8ba467669b..8f9e112df9 100644 --- a/Documentation/DbaManual/IndexBitArray.md +++ b/Documentation/DbaManual/IndexBitArray.md @@ -15,3 +15,5 @@ Accessing BitArray Indexes from the Shell{#IndexBitArrayShell} @anchor IndexBitArrayShellEnsureBitarray @copydetails JS_EnsureBitarrayVocbaseCol + +@BNAVIGATE_IndexBitArray diff --git a/Documentation/DbaManual/IndexCap.md b/Documentation/DbaManual/IndexCap.md index f7fa4f7c23..bebe16bcfe 100644 --- a/Documentation/DbaManual/IndexCap.md +++ b/Documentation/DbaManual/IndexCap.md @@ -36,3 +36,5 @@ Accessing Cap Constraints from the Shell{#IndexCapShell} @anchor IndexCapShellEnsureCapConstraint @copydetails JS_EnsureCapConstraintVocbaseCol + +@BNAVIGATE_IndexCap diff --git a/Documentation/DbaManual/IndexFulltext.md b/Documentation/DbaManual/IndexFulltext.md index 506d302f2a..75b2120156 100644 --- a/Documentation/DbaManual/IndexFulltext.md +++ b/Documentation/DbaManual/IndexFulltext.md @@ -18,3 +18,5 @@ Accessing Fulltext Indexes from the Shell{#IndexFulltextShell} @anchor IndexFulltextShellEnsureFulltextIndex @copydetails JS_EnsureFulltextIndexVocbaseCol + +@BNAVIGATE_IndexFulltext diff --git a/Documentation/DbaManual/IndexGeo.md b/Documentation/DbaManual/IndexGeo.md index 77be6f1c94..ba46a94f82 100644 --- a/Documentation/DbaManual/IndexGeo.md +++ b/Documentation/DbaManual/IndexGeo.md @@ -41,3 +41,5 @@ Accessing Geo Indexes from the Shell{#IndexGeoShell} @CLEARPAGE @anchor IndexGeoShellWithin @copydetails JSF_ArangoCollection_prototype_within + +@BNAVIGATE_IndexGeo diff --git a/Documentation/DbaManual/IndexHash.md b/Documentation/DbaManual/IndexHash.md index 43c299ca0c..ded842e054 100644 --- a/Documentation/DbaManual/IndexHash.md +++ b/Documentation/DbaManual/IndexHash.md @@ -23,3 +23,5 @@ Accessing Hash Indexes from the Shell{#IndexHashShell} @CLEARPAGE @anchor IndexHashShellEnsureHashIndex @copydetails JS_EnsureHashIndexVocbaseCol + +@BNAVIGATE_IndexHash diff --git a/Documentation/DbaManual/IndexSkiplist.md b/Documentation/DbaManual/IndexSkiplist.md index d74289fd3e..60513f67da 100644 --- a/Documentation/DbaManual/IndexSkiplist.md +++ b/Documentation/DbaManual/IndexSkiplist.md @@ -23,3 +23,5 @@ Accessing Skip-List Indexes from the Shell{#IndexSkiplistShell} @CLEARPAGE @anchor IndexSkiplistShellEnsureSkiplist @copydetails JS_EnsureSkiplistVocbaseCol + +@BNAVIGATE_IndexSkiplist diff --git a/Documentation/ImplementorManual/ArangoErrors.md b/Documentation/ImplementorManual/ArangoErrors.md index 2ae5fcb4a9..b13013d5bd 100644 --- a/Documentation/ImplementorManual/ArangoErrors.md +++ b/Documentation/ImplementorManual/ArangoErrors.md @@ -5,3 +5,5 @@ Error codes and meanings{#ImplementorManualArangoErrors} @EMBEDTOC{ImplementorManualArangoErrorsTOC} @copydetails ArangoErrors + +@BNAVIGATE_ImplementorManualArangoErrors diff --git a/Documentation/ImplementorManual/Communication.md b/Documentation/ImplementorManual/Communication.md index 32e48f2e4f..c01c1cd5be 100644 --- a/Documentation/ImplementorManual/Communication.md +++ b/Documentation/ImplementorManual/Communication.md @@ -245,3 +245,4 @@ controlled environments. Thus the default value for this option is `false` (no m overriding allowed). You need to enable it explicitly if you want to use this feature. +@BNAVIGATE_Communication diff --git a/Documentation/ImplementorManual/HttpAqlFunctions.md b/Documentation/ImplementorManual/HttpAqlFunctions.md index 3797176b4d..b84027b549 100644 --- a/Documentation/ImplementorManual/HttpAqlFunctions.md +++ b/Documentation/ImplementorManual/HttpAqlFunctions.md @@ -32,3 +32,4 @@ be accessed directly, but only via the dedicated interfaces. @anchor HttpAqlFunctionsList @copydetails JSF_get_api_aqlfunction +@BNAVIGATE_HttpAqlFunctions diff --git a/Documentation/ImplementorManual/HttpBatch.md b/Documentation/ImplementorManual/HttpBatch.md index c9a366ebcf..5781bdfcda 100644 --- a/Documentation/ImplementorManual/HttpBatch.md +++ b/Documentation/ImplementorManual/HttpBatch.md @@ -95,3 +95,5 @@ part request failed (with status code 404), the `x-arango-errors` header of the overall response is `1`: @verbinclude api-batch-fail-response + +@BNAVIGATE_HttpBatch diff --git a/Documentation/ImplementorManual/HttpCollection.md b/Documentation/ImplementorManual/HttpCollection.md index 07017fb2a5..e1bd8f391e 100644 --- a/Documentation/ImplementorManual/HttpCollection.md +++ b/Documentation/ImplementorManual/HttpCollection.md @@ -108,3 +108,5 @@ Modifying a Collection {#HttpCollectionChanging} @CLEARPAGE @anchor HttpCollectionRotate @copydetails JSF_put_api_collection_rotate + +@BNAVIGATE_HttpCollection diff --git a/Documentation/ImplementorManual/HttpCursor.md b/Documentation/ImplementorManual/HttpCursor.md index 672a6dc80c..009ef15e2d 100644 --- a/Documentation/ImplementorManual/HttpCursor.md +++ b/Documentation/ImplementorManual/HttpCursor.md @@ -93,3 +93,4 @@ Accessing Cursors via HTTP {#HttpCursorHttp} @anchor HttpCursorDelete @copydetails JSF_delete_api_cursor +@BNAVIGATE_HttpCursor diff --git a/Documentation/ImplementorManual/HttpDatabase.md b/Documentation/ImplementorManual/HttpDatabase.md index 99919bd8dc..f9ebc44ce3 100644 --- a/Documentation/ImplementorManual/HttpDatabase.md +++ b/Documentation/ImplementorManual/HttpDatabase.md @@ -117,3 +117,5 @@ applications until they are explicitly installed for the particular database. @copydoc GlossaryDatabaseName @copydoc GlossaryDatabaseOrganisation + +@BNAVIGATE_HttpDatabase diff --git a/Documentation/ImplementorManual/HttpEndpoint.md b/Documentation/ImplementorManual/HttpEndpoint.md index 3f7d412ccf..2fb24593c8 100644 --- a/Documentation/ImplementorManual/HttpEndpoint.md +++ b/Documentation/ImplementorManual/HttpEndpoint.md @@ -42,3 +42,4 @@ Managing Endpoints via HTTP {#HttpEndpointHttp} @anchor HttpEndpointGet @copydetails JSF_get_api_endpoint +@BNAVIGATE_HttpEndpoint diff --git a/Documentation/ImplementorManual/HttpGraph.md b/Documentation/ImplementorManual/HttpGraph.md index 11fb5f9c0a..500fd8185a 100644 --- a/Documentation/ImplementorManual/HttpGraph.md +++ b/Documentation/ImplementorManual/HttpGraph.md @@ -70,3 +70,5 @@ HTTP Interface for Graphs {#HttpGraph} @CLEARPAGE @anchor A_JSF_POST_graph_vertex_edges @copydetails JSF_post_graph_vertex_edges + +@BNAVIGATE_HttpGraph diff --git a/Documentation/ImplementorManual/HttpImport.md b/Documentation/ImplementorManual/HttpImport.md index b40f773513..a95aa599d0 100644 --- a/Documentation/ImplementorManual/HttpImport.md +++ b/Documentation/ImplementorManual/HttpImport.md @@ -136,3 +136,5 @@ and that these contain references to existing collections. Please also note that it is not possible to create a new edge collection on the fly using the `createCollection` parameter. + +@BNAVIGATE_HttpImport diff --git a/Documentation/ImplementorManual/HttpIndex.md b/Documentation/ImplementorManual/HttpIndex.md index ab53224c40..ab8daa5ba7 100644 --- a/Documentation/ImplementorManual/HttpIndex.md +++ b/Documentation/ImplementorManual/HttpIndex.md @@ -125,3 +125,4 @@ fulltext query. @anchor IndexFulltextHttpFulltext @copydetails JSA_put_api_simple_fulltext +@BNAVIGATE_HttpIndex diff --git a/Documentation/ImplementorManual/HttpJob.md b/Documentation/ImplementorManual/HttpJob.md index ef095ca05f..425b393184 100644 --- a/Documentation/ImplementorManual/HttpJob.md +++ b/Documentation/ImplementorManual/HttpJob.md @@ -103,3 +103,4 @@ Managing Async Results via HTTP {#HttpJobHttp} @anchor HttpJobGet @copydetails triagens::admin::RestJobHandler::getJob +@BNAVIGATE_HttpJob diff --git a/Documentation/ImplementorManual/HttpMisc.md b/Documentation/ImplementorManual/HttpMisc.md index d7d32f9705..f27b20ae3d 100644 --- a/Documentation/ImplementorManual/HttpMisc.md +++ b/Documentation/ImplementorManual/HttpMisc.md @@ -18,3 +18,4 @@ This is an overview of ArangoDB's HTTP interface for miscellaneous functions. @anchor HttpMiscEcho @copydetails JSF_get_admin_echo +@BNAVIGATE_HttpMisc diff --git a/Documentation/ImplementorManual/HttpQuery.md b/Documentation/ImplementorManual/HttpQuery.md index 1e5cec04d4..22533d87f5 100644 --- a/Documentation/ImplementorManual/HttpQuery.md +++ b/Documentation/ImplementorManual/HttpQuery.md @@ -17,3 +17,5 @@ inspect it and return meta information about it. @CLEARPAGE @anchor HttpQueryPost @copydetails JSF_post_api_query + +@BNAVIGATE_HttpQuery diff --git a/Documentation/ImplementorManual/HttpReplication.md b/Documentation/ImplementorManual/HttpReplication.md index 80c7a1be30..d4d7388383 100644 --- a/Documentation/ImplementorManual/HttpReplication.md +++ b/Documentation/ImplementorManual/HttpReplication.md @@ -130,3 +130,5 @@ Other Replication Commands {#HttpReplicationOtherCommands} @anchor HttpReplicationServerId @copydetails triagens::arango::RestReplicationHandler::handleCommandServerId + +@BNAVIGATE_HttpReplication diff --git a/Documentation/ImplementorManual/HttpSimple.md b/Documentation/ImplementorManual/HttpSimple.md index d3e366a17b..0a47c61ddc 100644 --- a/Documentation/ImplementorManual/HttpSimple.md +++ b/Documentation/ImplementorManual/HttpSimple.md @@ -81,3 +81,5 @@ dispose the server-side cursor afterwards. @CLEARPAGE @anchor HttpSimpleLast @copydetails JSA_put_api_simple_last + +@BNAVIGATE_HttpSimple diff --git a/Documentation/ImplementorManual/HttpSystem.md b/Documentation/ImplementorManual/HttpSystem.md index eb3f64776e..85bd50ce34 100644 --- a/Documentation/ImplementorManual/HttpSystem.md +++ b/Documentation/ImplementorManual/HttpSystem.md @@ -25,3 +25,5 @@ monitoring of the server. @CLEARPAGE @anchor HttpSystemAdminStatisticsDescription @copydetails JSF_get_admin_statistics_description + +@BNAVIGATE_HttpSystem diff --git a/Documentation/ImplementorManual/HttpTransactions.md b/Documentation/ImplementorManual/HttpTransactions.md index fb7c864309..73db692781 100644 --- a/Documentation/ImplementorManual/HttpTransactions.md +++ b/Documentation/ImplementorManual/HttpTransactions.md @@ -29,3 +29,4 @@ Executing Transactions via HTTP {#HttpTransactionsHttp} @anchor HttpTransactionsPost @copydetails JSF_post_api_transaction +@BNAVIGATE_HttpTransactions diff --git a/Documentation/ImplementorManual/HttpTraversals.md b/Documentation/ImplementorManual/HttpTraversals.md index d741ceb05c..830d897319 100644 --- a/Documentation/ImplementorManual/HttpTraversals.md +++ b/Documentation/ImplementorManual/HttpTraversals.md @@ -25,3 +25,4 @@ Executing Traversals via HTTP {#HttpTraversalsHttp} @anchor HttpTraversalsPost @copydetails JSF_post_api_traversal +@BNAVIGATE_HttpTraversals diff --git a/Documentation/ImplementorManual/HttpUser.md b/Documentation/ImplementorManual/HttpUser.md index afedf42228..d0edfda62d 100644 --- a/Documentation/ImplementorManual/HttpUser.md +++ b/Documentation/ImplementorManual/HttpUser.md @@ -40,3 +40,5 @@ Please note that user operations are not included in ArangoDB's replication. @CLEARPAGE @anchor HttpUserDocument @copydetails JSF_get_api_user + +@BNAVIGATE_HttpUser diff --git a/Documentation/ImplementorManual/ImplementorManual.md b/Documentation/ImplementorManual/ImplementorManual.md index 9aa873ceca..ac769bb013 100644 --- a/Documentation/ImplementorManual/ImplementorManual.md +++ b/Documentation/ImplementorManual/ImplementorManual.md @@ -29,3 +29,5 @@ ArangoDB for API Implementors (@VERSION) {#ImplementorManual} @if LATEX @CHAPTER_REF{Glossary} @endif + +@BNAVIGATE_ImplementorManual diff --git a/Documentation/ImplementorManual/NamingConventions.md b/Documentation/ImplementorManual/NamingConventions.md index ed5e13ee4b..9a1fe7bc27 100644 --- a/Documentation/ImplementorManual/NamingConventions.md +++ b/Documentation/ImplementorManual/NamingConventions.md @@ -119,3 +119,4 @@ following attribute naming constraints are not violated: { "a" : 1, "b": 4 } +@BNAVIGATE_NamingConventions diff --git a/Documentation/ImplementorManual/RestDocument.md b/Documentation/ImplementorManual/RestDocument.md index ceb9b0b5cd..b99f98a1de 100644 --- a/Documentation/ImplementorManual/RestDocument.md +++ b/Documentation/ImplementorManual/RestDocument.md @@ -119,3 +119,5 @@ Working with Documents using REST {#RestDocumentHttp} @CLEARPAGE @anchor RestDocumentReadAll @copydetails triagens::arango::RestDocumentHandler::readAllDocuments + +@BNAVIGATE_RestDocument diff --git a/Documentation/ImplementorManual/RestEdge.md b/Documentation/ImplementorManual/RestEdge.md index b06b20cdae..0dbc620fc0 100644 --- a/Documentation/ImplementorManual/RestEdge.md +++ b/Documentation/ImplementorManual/RestEdge.md @@ -101,3 +101,5 @@ See @ref RestDocument for details. @anchor RestEdgeEdges @copydetails JSF_get_edges + +@BNAVIGATE_RestEdge diff --git a/Documentation/InstallationManual/Compiling.md b/Documentation/InstallationManual/Compiling.md index 3d76083171..2f60f1d430 100644 --- a/Documentation/InstallationManual/Compiling.md +++ b/Documentation/InstallationManual/Compiling.md @@ -293,3 +293,5 @@ to the error messages file, which is converted to js and C header files using Python. You will need Python 2 or 3 for this. Furthermore, this option enables additional test cases to be executed in a `make unittests` run. You also need to install the Boost test framework for this. + +@BNAVIGATE_Compiling diff --git a/Documentation/InstallationManual/InstallationManual.md b/Documentation/InstallationManual/InstallationManual.md index be3de15ece..9e47ee98a5 100644 --- a/Documentation/InstallationManual/InstallationManual.md +++ b/Documentation/InstallationManual/InstallationManual.md @@ -10,3 +10,5 @@ ArangoDB's Installation Manual (@VERSION) {#InstallManual} @CHAPTER_REF{Installing} @CHAPTER_REF{Compiling} @endif + +@BNAVIGATE_InstallManual diff --git a/Documentation/InstallationManual/Installing.md b/Documentation/InstallationManual/Installing.md index 83588b5a43..12a7d67f1b 100644 --- a/Documentation/InstallationManual/Installing.md +++ b/Documentation/InstallationManual/Installing.md @@ -309,3 +309,5 @@ method. Please note that ArangoDB uses UTF-8 as its internal encoding and that the system console must support a UTF-8 codepage (65001) and font. It may be necessary to manually switch the console font to a font that supports UTF-8. + +@BNAVIGATE_Installing diff --git a/Documentation/Manual/Glossary.md b/Documentation/Manual/Glossary.md index 5121e265c0..540bf7894f 100644 --- a/Documentation/Manual/Glossary.md +++ b/Documentation/Manual/Glossary.md @@ -48,3 +48,5 @@ Glossary {#GlossaryIntro} @copydoc GlossaryIndexSkiplist @copydoc GlossaryKeyGenerator + +@BNAVIGATE_Glossary diff --git a/Documentation/Manual/NewFeatures11.md b/Documentation/Manual/NewFeatures11.md index 89643a3b31..65f5bd1762 100644 --- a/Documentation/Manual/NewFeatures11.md +++ b/Documentation/Manual/NewFeatures11.md @@ -412,3 +412,4 @@ ArangoDB 1.1 adds the option `--default-language` to select a locale for sorting and comparing strings. The default locale is set to be the system locale on that platform. +@BNAVIGATE_NewFeatures11 diff --git a/Documentation/Manual/NewFeatures12.md b/Documentation/Manual/NewFeatures12.md index 917d3efd06..1e0156ac0e 100644 --- a/Documentation/Manual/NewFeatures12.md +++ b/Documentation/Manual/NewFeatures12.md @@ -462,3 +462,5 @@ already compiled binary. Usage is: > arangod --server.disable-statistics true ... + +@BNAVIGATE_NewFeatures12 diff --git a/Documentation/Manual/NewFeatures13.md b/Documentation/Manual/NewFeatures13.md index 6e324c5c32..87b3f67a02 100644 --- a/Documentation/Manual/NewFeatures13.md +++ b/Documentation/Manual/NewFeatures13.md @@ -284,3 +284,5 @@ Miscelleanous changes{#NewFeatures13Misc} The result will now contain an attribute `attributes` with a sub-attribute `count`. This value provides the number of different attributes that are or have been used in the collection. + +@BNAVIGATE_NewFeatures13 diff --git a/Documentation/Manual/NewFeatures14.md b/Documentation/Manual/NewFeatures14.md index 195e7e0b43..ad4ce13cbc 100644 --- a/Documentation/Manual/NewFeatures14.md +++ b/Documentation/Manual/NewFeatures14.md @@ -507,3 +507,4 @@ The following command-line options have been added for _arangoimp_ in 1.4: * `--server.database`: allows specifying the database name for the connection +@BNAVIGATE_NewFeatures14 diff --git a/Documentation/Manual/Upgrading11.md b/Documentation/Manual/Upgrading11.md index 38436efd26..7f8f9d363f 100644 --- a/Documentation/Manual/Upgrading11.md +++ b/Documentation/Manual/Upgrading11.md @@ -341,3 +341,5 @@ In 1.0, there was an API to manage user and session for the GUI administraion interface. In 1.1 the user management is part of the database (not just the front-end). There the calls to `_admin/user-manager` where removed. + +@BNAVIGATE_Upgrading11 diff --git a/Documentation/Manual/Upgrading12.md b/Documentation/Manual/Upgrading12.md index 7ec751619a..10d2bb364c 100644 --- a/Documentation/Manual/Upgrading12.md +++ b/Documentation/Manual/Upgrading12.md @@ -457,3 +457,4 @@ ArangoDB 1.2 in favor of managing users via `arangosh` or `arangod` directly. Please refer to @ref Upgrading12Troubleshooting for more information on how to manage users in ArangoDB 1.2. +@BNAVIGATE_Upgrading12 diff --git a/Documentation/Manual/Upgrading13.md b/Documentation/Manual/Upgrading13.md index dd40482652..3d313431f1 100644 --- a/Documentation/Manual/Upgrading13.md +++ b/Documentation/Manual/Upgrading13.md @@ -184,3 +184,4 @@ startup option Please also check the logfile written by ArangoDB for further errors messages. +@BNAVIGATE_Upgrading13 diff --git a/Documentation/Manual/Upgrading14.md b/Documentation/Manual/Upgrading14.md index 17e95a9333..4a841faaf1 100644 --- a/Documentation/Manual/Upgrading14.md +++ b/Documentation/Manual/Upgrading14.md @@ -525,3 +525,5 @@ properly with ArangoDB 1.4: in development mode using the `--javascript.dev-app-path` option. This will either print or log (depending on configuration) errors occurring in Foxx applications. + +@BNAVIGATE_Upgrading14 diff --git a/Documentation/Manual/UpgradingGeneral.md b/Documentation/Manual/UpgradingGeneral.md index 845bd4b2ae..d781609efe 100644 --- a/Documentation/Manual/UpgradingGeneral.md +++ b/Documentation/Manual/UpgradingGeneral.md @@ -20,3 +20,5 @@ If anything goes wrong during or shortly after the upgrade: - Start the "old" version again It is not supported to use datafiles created or modified by a newer version of ArangoDB with an older ArangoDB version. For example, it is unsupported and is likely to cause problems when using 1.4 datafiles with an ArangoDB 1.3 instance. + +@BNAVIGATE_UpgradingGeneral diff --git a/Documentation/RefManual/Actions.md b/Documentation/RefManual/Actions.md index 03a8564d20..6b639a95d3 100644 --- a/Documentation/RefManual/Actions.md +++ b/Documentation/RefManual/Actions.md @@ -719,3 +719,5 @@ Application Deployment{#UserManualActionsApplicationDeployment} Using single routes or @ref UserManualActionsAdvancedBundles "bundles" can be become a bit messy in large applications. Kaerus has written a deployment tool `https://github.com/kaerus/arangodep` in node.js. + +@BNAVIGATE_UserManualActions diff --git a/Documentation/RefManual/ArangoErrors.md b/Documentation/RefManual/ArangoErrors.md index 93a929aa76..cd53bd0bc5 100644 --- a/Documentation/RefManual/ArangoErrors.md +++ b/Documentation/RefManual/ArangoErrors.md @@ -5,3 +5,5 @@ Error codes and meanings{#RefManualArangoErrors} @EMBEDTOC{RefManualArangoErrorsTOC} @copydetails ArangoErrors + +@BNAVIGATE_RefManualArangoErrors diff --git a/Documentation/RefManual/JSModuleActions.md b/Documentation/RefManual/JSModuleActions.md index e2450d86ae..8b347896ed 100644 --- a/Documentation/RefManual/JSModuleActions.md +++ b/Documentation/RefManual/JSModuleActions.md @@ -50,3 +50,5 @@ ArangoDB Result Generators {#JSModuleActionsArangoDB} @CLEARPAGE @anchor JSModuleActionsResultException @copydetails JSF_resultException + +@BNAVIGATE_JSModuleActions diff --git a/Documentation/RefManual/JSModuleConsole.md b/Documentation/RefManual/JSModuleConsole.md index 25a99d1df1..f0f256cf1c 100644 --- a/Documentation/RefManual/JSModuleConsole.md +++ b/Documentation/RefManual/JSModuleConsole.md @@ -195,3 +195,5 @@ String substitution patterns, which can be used in @FA{format}. - `%%d`, `%%i` integer - `%%f` floating point number - `%%o` object hyperlink + +@BNAVIGATE_JSModuleConsole diff --git a/Documentation/RefManual/JSModuleFs.md b/Documentation/RefManual/JSModuleFs.md index d3133801c5..a9030caff7 100644 --- a/Documentation/RefManual/JSModuleFs.md +++ b/Documentation/RefManual/JSModuleFs.md @@ -44,3 +44,5 @@ The implementation follows the CommonJS specification @CLEARPAGE @anchor JSModuleFsRemove @copydetails JS_Remove + +@BNAVIGATE_JSModuleFs diff --git a/Documentation/RefManual/JSModuleGraph.md b/Documentation/RefManual/JSModuleGraph.md index 4f56d2f67e..a5e38398ec 100644 --- a/Documentation/RefManual/JSModuleGraph.md +++ b/Documentation/RefManual/JSModuleGraph.md @@ -200,3 +200,5 @@ Edge Methods{#JSModuleGraphEdge} @CLEARPAGE @anchor JSModuleGraphEdgeSetProperty @copydetails JSF_Edge_prototype_setProperty + +@BNAVIGATE_JSModuleGraph diff --git a/Documentation/RefManual/JSModuleJSUnity.md b/Documentation/RefManual/JSModuleJSUnity.md index 86a04bf797..f90504ab1b 100644 --- a/Documentation/RefManual/JSModuleJSUnity.md +++ b/Documentation/RefManual/JSModuleJSUnity.md @@ -49,3 +49,5 @@ Assume that your file live in a directory called `lib`. Use to create a copy of the JavaScript files with coverage information. Start the ArangoDB with these files and use @FN{jsunity.runCoverage} instead of @FN{jsunity.runTest}. + +@BNAVIGATE_jsUnity diff --git a/Documentation/RefManual/JSModuleModules.md b/Documentation/RefManual/JSModuleModules.md index 51544301b9..70ac3bd035 100644 --- a/Documentation/RefManual/JSModuleModules.md +++ b/Documentation/RefManual/JSModuleModules.md @@ -211,3 +211,5 @@ versa. In order to flush the modules cache of the JavaScript shell, you should use arangosh> require("internal").flushModuleCache() + +@BNAVIGATE_JSModules diff --git a/Documentation/RefManual/RefManual.md b/Documentation/RefManual/RefManual.md index a8f49b550b..db6c6ac063 100644 --- a/Documentation/RefManual/RefManual.md +++ b/Documentation/RefManual/RefManual.md @@ -12,3 +12,5 @@ ArangoDB's Reference Manual (@VERSION) {#RefManual} @CHAPTER_REF{UserManualActions} @CHAPTER_REF{RefManualReplication} @CHAPTER_REF{RefManualArangoErrors} + +@BNAVIGATE_RefManual diff --git a/Documentation/RefManual/Replication.md b/Documentation/RefManual/Replication.md index d7031b59ab..a434d1f914 100644 --- a/Documentation/RefManual/Replication.md +++ b/Documentation/RefManual/Replication.md @@ -436,3 +436,4 @@ event that is neither a ocument/edge operation nor a `transaction commit` event) should abort the ongoing transaction and discard all buffered operations. It can then consider the current transaction as failed. +@BNAVIGATE_RefManualReplication diff --git a/Documentation/Scripts/generateTOC.py b/Documentation/Scripts/generateTOC.py index 01d16f0032..a160ee01aa 100755 --- a/Documentation/Scripts/generateTOC.py +++ b/Documentation/Scripts/generateTOC.py @@ -115,10 +115,13 @@ def generate(l, h): if prev == "": print 'ALIASES += "NAVIGATE_%s=@NAVIGATE_FIRST{%s,%s}"' % (entry,home,next) + print 'ALIASES += "BNAVIGATE_%s=@BNAVIGATE_FIRST{%s,%s}"' % (entry,home,next) elif next == "": print 'ALIASES += "NAVIGATE_%s=@NAVIGATE_LAST{%s,%s}"' % (entry,prev,home) + print 'ALIASES += "BNAVIGATE_%s=@BNAVIGATE_LAST{%s,%s}"' % (entry,prev,home) else: print 'ALIASES += "NAVIGATE_%s=@NAVIGATE{%s,%s,%s}"' % (entry,prev,home,next) + print 'ALIASES += "BNAVIGATE_%s=@BNAVIGATE{%s,%s,%s}"' % (entry,prev,home,next) generate(books, None) generate(chapters, homes) diff --git a/Documentation/ToolsManual/DumpManual.md b/Documentation/ToolsManual/DumpManual.md index 33abffb4db..e4589c6a9d 100644 --- a/Documentation/ToolsManual/DumpManual.md +++ b/Documentation/ToolsManual/DumpManual.md @@ -67,4 +67,5 @@ with these attributes: Document data for a collection will be saved in files with name pattern `.data.json`. Each line in a data file is a document insertion/update or deletion marker, alongside with some meta data. - + +@BNAVIGATE_DumpManual diff --git a/Documentation/ToolsManual/ImpManual.md b/Documentation/ToolsManual/ImpManual.md index 9eb7777aeb..d044a85963 100644 --- a/Documentation/ToolsManual/ImpManual.md +++ b/Documentation/ToolsManual/ImpManual.md @@ -174,3 +174,5 @@ documents can `_from` and `_to` and that their values point to existing document Finally you should make sure that all other attributes in the import file do not start with an underscore - otherwise they might be discarded. + +@BNAVIGATE_ImpManual diff --git a/Documentation/ToolsManual/RestoreManual.md b/Documentation/ToolsManual/RestoreManual.md index 36ae650cff..ccf19f3391 100644 --- a/Documentation/ToolsManual/RestoreManual.md +++ b/Documentation/ToolsManual/RestoreManual.md @@ -128,3 +128,4 @@ After that, run the following command: unix> arangorestore --collection mycopyvalues --server.database mycopy --input-directory "dump" +@BNAVIGATE_RestoreManual diff --git a/Documentation/ToolsManual/ToolsManual.md b/Documentation/ToolsManual/ToolsManual.md index 09e8c93e84..4a399afe8b 100644 --- a/Documentation/ToolsManual/ToolsManual.md +++ b/Documentation/ToolsManual/ToolsManual.md @@ -33,3 +33,4 @@ running ArangoDB server instance. _arangodump_ will write all its output into a directory that needs to be specified when invoking it. _arangorestore_ will read files from a directory that was formerly created by invoking _arangodump_. +@BNAVIGATE_ToolsManual diff --git a/Documentation/UserManual/Aql.md b/Documentation/UserManual/Aql.md index 07d54e00dc..063ea995db 100644 --- a/Documentation/UserManual/Aql.md +++ b/Documentation/UserManual/Aql.md @@ -1834,3 +1834,5 @@ operator is again a list. In the above example, the attribute `name` is accessed for each element in the list `u.friends`. The result is a flat list of friend names, made available as the attribute `friendNames`. + +@BNAVIGATE_Aql diff --git a/Documentation/UserManual/AqlExamples.md b/Documentation/UserManual/AqlExamples.md index 48c3f9b320..94dfa23b69 100644 --- a/Documentation/UserManual/AqlExamples.md +++ b/Documentation/UserManual/AqlExamples.md @@ -686,3 +686,4 @@ For example, to get the 3 `ageGroup`s with the most users in them: To increase readability, the repeated expression `LENGTH(group)` was put into a variable `numUsers`. The `FILTER` on `numUsers` is the SQL HAVING equivalent. +@BNAVIGATE_AqlExamples diff --git a/Documentation/UserManual/Arangosh.md b/Documentation/UserManual/Arangosh.md index e58f47df92..2cfa115eca 100644 --- a/Documentation/UserManual/Arangosh.md +++ b/Documentation/UserManual/Arangosh.md @@ -147,3 +147,4 @@ JavaScript code. If you want any variables in the global scope to survive, you n omit the `var` keyword for them. Otherwise the variables will only be visible inside the script itself, but not outside. +@BNAVIGATE_UserManualArangosh diff --git a/Documentation/UserManual/CommandLine.md b/Documentation/UserManual/CommandLine.md index c07665e8f9..907d353991 100644 --- a/Documentation/UserManual/CommandLine.md +++ b/Documentation/UserManual/CommandLine.md @@ -322,3 +322,5 @@ Command-Line Options for Random Numbers {#CommandLineRandom} @anchor CommandLineRandomGenerator @copydetails triagens::rest::ApplicationServer::_randomGenerator + +@BNAVIGATE_CommandLine diff --git a/Documentation/UserManual/ExtendingAql.md b/Documentation/UserManual/ExtendingAql.md index d03b7fad16..be86007348 100644 --- a/Documentation/UserManual/ExtendingAql.md +++ b/Documentation/UserManual/ExtendingAql.md @@ -82,3 +82,4 @@ To get an overview of which functions are currently registered, the @copydetails JSF_aqlfunctions_toArray +@BNAVIGATE_ExtendingAql diff --git a/Documentation/UserManual/FirstStepsArangoDB.md b/Documentation/UserManual/FirstStepsArangoDB.md index 08eb43e0fe..5bb7c169fb 100644 --- a/Documentation/UserManual/FirstStepsArangoDB.md +++ b/Documentation/UserManual/FirstStepsArangoDB.md @@ -586,3 +586,5 @@ Use `--help` to get a list of command-line options: --server.password password to use when connecting (leave empty for prompt) --server.request-timeout request timeout in seconds (default: 300) --server.username username to use when connecting (default: "root") + +@BNAVIGATE_FirstStepsArangoDB diff --git a/Documentation/UserManual/Foxx.md b/Documentation/UserManual/Foxx.md index 3f4df881aa..a1799a7f1b 100644 --- a/Documentation/UserManual/Foxx.md +++ b/Documentation/UserManual/Foxx.md @@ -956,3 +956,4 @@ provides a few mechanisms for this: Of course you can also use `console.log` or any other means of logging output. +@BNAVIGATE_UserManualFoxx diff --git a/Documentation/UserManual/FoxxManager.md b/Documentation/UserManual/FoxxManager.md index 374131cc58..bc3cdb3ac3 100644 --- a/Documentation/UserManual/FoxxManager.md +++ b/Documentation/UserManual/FoxxManager.md @@ -378,3 +378,5 @@ To most relevant `arangosh` options to pass to the `foxx-manager` will be: These options allow you to use the foxx-manager with a different database or with another than the default user. + +@BNAVIGATE_UserManualFoxxManager diff --git a/Documentation/UserManual/Graphs.md b/Documentation/UserManual/Graphs.md index 52c1f3ed4e..4881e5a5f5 100644 --- a/Documentation/UserManual/Graphs.md +++ b/Documentation/UserManual/Graphs.md @@ -4,3 +4,4 @@ Graphs {#Graphs} @NAVIGATE_Graphs @EMBEDTOC{JSModuleGraphTOC} +@BNAVIGATE_Graphs diff --git a/Documentation/UserManual/HandlingCollections.md b/Documentation/UserManual/HandlingCollections.md index 049c546b08..d21d1de83c 100644 --- a/Documentation/UserManual/HandlingCollections.md +++ b/Documentation/UserManual/HandlingCollections.md @@ -126,3 +126,5 @@ Database Methods {#HandlingCollectionsDatabaseMethods} @CLEARPAGE @anchor HandlingCollectionsTruncateDb @copydetails JSF_ArangoDatabase_prototype__truncate + +@BNAVIGATE_HandlingCollections diff --git a/Documentation/UserManual/HandlingDatabases.md b/Documentation/UserManual/HandlingDatabases.md index 2c954c0d4e..8c513d9d94 100644 --- a/Documentation/UserManual/HandlingDatabases.md +++ b/Documentation/UserManual/HandlingDatabases.md @@ -98,3 +98,4 @@ applications until they are explicitly installed for the particular database. @copydoc GlossaryDatabaseOrganisation +@BNAVIGATE_HandlingDatabases diff --git a/Documentation/UserManual/HandlingDocuments.md b/Documentation/UserManual/HandlingDocuments.md index ade4f67740..9ebaafef93 100644 --- a/Documentation/UserManual/HandlingDocuments.md +++ b/Documentation/UserManual/HandlingDocuments.md @@ -131,3 +131,5 @@ Database Methods {#HandlingDocumentsDatabaseMethods} @CLEARPAGE @anchor HandlingDocumentsDbRemove @copydetails JS_RemoveVocbase + +@BNAVIGATE_HandlingDocuments diff --git a/Documentation/UserManual/HandlingEdges.md b/Documentation/UserManual/HandlingEdges.md index ec8cac6c90..64ff048c15 100644 --- a/Documentation/UserManual/HandlingEdges.md +++ b/Documentation/UserManual/HandlingEdges.md @@ -33,3 +33,5 @@ Working with Edges{#HandlingEdgesShell} @CLEARPAGE @anchor HandlingEdgesOutEdges @copydetails JS_OutEdgesQuery + +@BNAVIGATE_HandlingEdges diff --git a/Documentation/UserManual/HandlingEndpoints.md b/Documentation/UserManual/HandlingEndpoints.md index 80df5d9ce5..7c53b727c5 100644 --- a/Documentation/UserManual/HandlingEndpoints.md +++ b/Documentation/UserManual/HandlingEndpoints.md @@ -46,3 +46,4 @@ Configuring and Removing Endpoints {#HandlingEndpointsShell} @anchor HandlingEndpointsRemove @copydetails JSF_ArangoDatabase_prototype__removeEndpoint +@BNAVIGATE_HandlingEndpoints diff --git a/Documentation/UserManual/SimpleQueries.md b/Documentation/UserManual/SimpleQueries.md index 3fc3b127e0..3fa5ec2600 100644 --- a/Documentation/UserManual/SimpleQueries.md +++ b/Documentation/UserManual/SimpleQueries.md @@ -241,3 +241,5 @@ will be undefined which of the matching documents will get removed/modified. @anchor SimpleQueryUpdateByExample @copydetails JSF_ArangoCollection_prototype_updateByExample + +@BNAVIGATE_SimpleQueries diff --git a/Documentation/UserManual/Transactions.md b/Documentation/UserManual/Transactions.md index ad673f06aa..0885ceb1da 100644 --- a/Documentation/UserManual/Transactions.md +++ b/Documentation/UserManual/Transactions.md @@ -577,3 +577,5 @@ It is legal to not declare read-only collections, but this should be avoided if possible to reduce the probability of deadlocks and non-repeatable reads. Please refer to @ref TransactionsLocking for more details. + +@BNAVIGATE_Transactions diff --git a/Documentation/UserManual/Traversals.md b/Documentation/UserManual/Traversals.md index b49c2bcb5a..13895bc24c 100644 --- a/Documentation/UserManual/Traversals.md +++ b/Documentation/UserManual/Traversals.md @@ -774,3 +774,4 @@ To set up the collections and populate them with initial data, the following scr db.e.save("v/capital-yaounde", "v/country-cameroon", { type: "is-in" }); db.e.save("v/capital-zagreb", "v/country-croatia", { type: "is-in" }); +@BNAVIGATE_Traversals diff --git a/Documentation/UserManual/UserManual.md b/Documentation/UserManual/UserManual.md index 5655837cdc..70e96aeb4c 100644 --- a/Documentation/UserManual/UserManual.md +++ b/Documentation/UserManual/UserManual.md @@ -24,3 +24,5 @@ ArangoDB's User Manual (@VERSION) {#UserManual} @CHAPTER_REF{HandlingEndpoints} @CHAPTER_REF{CommandLine} @CHAPTER_REF{Glossary} + +@BNAVIGATE_UserManual diff --git a/Documentation/UserManual/UserManualReplication.md b/Documentation/UserManual/UserManualReplication.md index ee2a504342..3002fe93a6 100644 --- a/Documentation/UserManual/UserManualReplication.md +++ b/Documentation/UserManual/UserManualReplication.md @@ -619,3 +619,5 @@ be turned off. Transactions are logged to the event log on the master as an uninterrupted sequence. While a transaction is written to the event log, the event log is blocked for other writes. Transactions should thus be as small as possible. + +@BNAVIGATE_UserManualReplication diff --git a/Documentation/UserManual/WebInterface.md b/Documentation/UserManual/WebInterface.md index 5cdc71bf4c..582e89f814 100644 --- a/Documentation/UserManual/WebInterface.md +++ b/Documentation/UserManual/WebInterface.md @@ -147,3 +147,4 @@ The *API* tab provides an overview of ArangoDB's built-in HTTP REST API, with documentation and examples. It should be consulted when there is doubt about API URLs, parameters etc. +@BNAVIGATE_UserManualWebInterface diff --git a/Documentation/arangodb.css b/Documentation/arangodb.css index de4dc5bff7..464a5fa129 100644 --- a/Documentation/arangodb.css +++ b/Documentation/arangodb.css @@ -72,6 +72,12 @@ top: -69px; } +#content div.arangodb div.bottom-navigate { + position: relative; + text-align: right; + top: 10px; +} + /* ************************************************************************** */ /* table of contents */ /* ************************************************************************** */ @@ -223,4 +229,4 @@ a.anchor { padding-top: 80px; width: 0; font-size: 0; -} \ No newline at end of file +} From b3df999f561f3b51f5bbcaca581f2a14260f474c Mon Sep 17 00:00:00 2001 From: Jan Steemann Date: Fri, 24 Jan 2014 14:37:16 +0100 Subject: [PATCH 2/7] jshund --- js/actions/api-endpoint.js | 3 --- js/actions/api-explain.js | 1 - js/actions/api-simple.js | 1 - js/actions/api-structure.js | 1 - js/actions/api-system.js | 3 --- js/actions/api-user.js | 10 ++++------ js/actions/key-value.js | 1 - .../aardvark/frontend/js/views/dbSelectionView.js | 1 - .../system/aardvark/frontend/js/views/footerView.js | 2 -- js/apps/system/aardvark/lib/swagger.js | 4 +--- 10 files changed, 5 insertions(+), 22 deletions(-) diff --git a/js/actions/api-endpoint.js b/js/actions/api-endpoint.js index 3e774b4625..b999d3648e 100644 --- a/js/actions/api-endpoint.js +++ b/js/actions/api-endpoint.js @@ -30,9 +30,6 @@ var arangodb = require("org/arangodb"); var actions = require("org/arangodb/actions"); - -var db = arangodb.db; - var internal = require("internal"); // ----------------------------------------------------------------------------- diff --git a/js/actions/api-explain.js b/js/actions/api-explain.js index 16368629d2..b6432ec153 100644 --- a/js/actions/api-explain.js +++ b/js/actions/api-explain.js @@ -30,7 +30,6 @@ var actions = require("org/arangodb/actions"); -var ArangoError = require("org/arangodb").ArangoError; var ERRORS = require("internal").errors; var EXPLAIN = require("internal").AQL_EXPLAIN; diff --git a/js/actions/api-simple.js b/js/actions/api-simple.js index 72eec5ba18..fb20a633c0 100644 --- a/js/actions/api-simple.js +++ b/js/actions/api-simple.js @@ -29,7 +29,6 @@ //////////////////////////////////////////////////////////////////////////////// var actions = require("org/arangodb/actions"); -var simple = require("org/arangodb/simple-query"); var db = require("org/arangodb").db; var ERRORS = require("internal").errors; diff --git a/js/actions/api-structure.js b/js/actions/api-structure.js index fb5c95110b..2efe566eab 100644 --- a/js/actions/api-structure.js +++ b/js/actions/api-structure.js @@ -40,7 +40,6 @@ var console = require("console"); var actions = require("org/arangodb/actions"); var arangodb = require("org/arangodb"); var db = arangodb.db; -var ERRORS = arangodb.errors; var DEFAULT_KEY = "default"; var API = "_api/structure"; diff --git a/js/actions/api-system.js b/js/actions/api-system.js index b4bad15406..ecab39568a 100644 --- a/js/actions/api-system.js +++ b/js/actions/api-system.js @@ -30,9 +30,6 @@ var arangodb = require("org/arangodb"); var actions = require("org/arangodb/actions"); - -var db = arangodb.db; - var internal = require("internal"); var console = require("console"); diff --git a/js/actions/api-user.js b/js/actions/api-user.js index 31d01886c1..743cdaae42 100644 --- a/js/actions/api-user.js +++ b/js/actions/api-user.js @@ -32,8 +32,6 @@ var arangodb = require("org/arangodb"); var actions = require("org/arangodb/actions"); var users = require("org/arangodb/users"); -var ArangoError = arangodb.ArangoError; - // ----------------------------------------------------------------------------- // --SECTION-- private functions // ----------------------------------------------------------------------------- @@ -163,7 +161,7 @@ function post_api_user (req, res) { return; } - var result = users.save(json.username, json.passwd, json.active, json.extra); + users.save(json.username, json.passwd, json.active, json.extra); users.reload(); actions.resultOk(req, res, actions.HTTP_CREATED, { }); @@ -251,7 +249,7 @@ function put_api_user (req, res) { } try { - var result = users.replace(username, json.passwd, json.active, json.extra); + users.replace(username, json.passwd, json.active, json.extra); users.reload(); actions.resultOk(req, res, actions.HTTP_OK, { }); @@ -350,7 +348,7 @@ function patch_api_user (req, res) { } try { - var result = users.update(username, json.passwd, json.active, json.extra); + users.update(username, json.passwd, json.active, json.extra); users.reload(); actions.resultOk(req, res, actions.HTTP_OK, { }); } @@ -419,7 +417,7 @@ function delete_api_user (req, res) { var username = decodeURIComponent(req.suffix[0]); try { - var result = users.remove(username); + users.remove(username); users.reload(); actions.resultOk(req, res, actions.HTTP_ACCEPTED, { }); } diff --git a/js/actions/key-value.js b/js/actions/key-value.js index 57cd0b3020..e6258c797f 100644 --- a/js/actions/key-value.js +++ b/js/actions/key-value.js @@ -39,7 +39,6 @@ // ----------------------------------------------------------------------------- var actions = require("org/arangodb/actions"); -var simple = require("org/arangodb/simple-query"); var db = require("org/arangodb").db; var internal = require("internal"); var arangodb = require("org/arangodb"); diff --git a/js/apps/system/aardvark/frontend/js/views/dbSelectionView.js b/js/apps/system/aardvark/frontend/js/views/dbSelectionView.js index df9debf6ac..5ff1505ece 100644 --- a/js/apps/system/aardvark/frontend/js/views/dbSelectionView.js +++ b/js/apps/system/aardvark/frontend/js/views/dbSelectionView.js @@ -11,7 +11,6 @@ }, initialize: function(opts) { - var self = this; this.current = opts.current; this.collection.fetch({ async: false diff --git a/js/apps/system/aardvark/frontend/js/views/footerView.js b/js/apps/system/aardvark/frontend/js/views/footerView.js index 194d4c3c97..973c910fcd 100644 --- a/js/apps/system/aardvark/frontend/js/views/footerView.js +++ b/js/apps/system/aardvark/frontend/js/views/footerView.js @@ -94,7 +94,6 @@ }, renderVersion: function () { - var self = this; if (this.system.hasOwnProperty('database') && this.system.hasOwnProperty('name')) { $(this.el).html(this.template.render({ name: this.system.name, @@ -116,7 +115,6 @@ }, render: function () { - var self = this; if (!this.system.version) { this.getVersion(); } diff --git a/js/apps/system/aardvark/lib/swagger.js b/js/apps/system/aardvark/lib/swagger.js index 5aba5fd84e..a75f5fe843 100644 --- a/js/apps/system/aardvark/lib/swagger.js +++ b/js/apps/system/aardvark/lib/swagger.js @@ -31,9 +31,7 @@ exports.Swagger = function () { "use strict"; - // Define the Repository - var Foxx = require("org/arangodb/foxx"), - db = require("internal").db, + var db = require("internal").db, _routing = db._collection("_routing"), _aal = db._collection("_aal"), _ = require("underscore"), From 041b7f5daa20f628f1b438b5058d123c28892056 Mon Sep 17 00:00:00 2001 From: a-brandt Date: Fri, 24 Jan 2014 14:49:50 +0100 Subject: [PATCH 3/7] added HAS and HAS_NOT --- UnitTests/HttpInterface/api-graph-spec.rb | 21 +++++++++++++++++++++ js/actions/api-graph.js | 12 ++++++++++++ 2 files changed, 33 insertions(+) diff --git a/UnitTests/HttpInterface/api-graph-spec.rb b/UnitTests/HttpInterface/api-graph-spec.rb index e4700a080f..4adf271eb4 100644 --- a/UnitTests/HttpInterface/api-graph-spec.rb +++ b/UnitTests/HttpInterface/api-graph-spec.rb @@ -1424,6 +1424,27 @@ describe ArangoDB do doc.parsed_response['result'].count.should eq(4) end + it "checks list of vertices of a vertex with HAS and HAS_NOT compare" do + + cmd = "/_api/graph/#{graph_name}/vertices" + body = "{\"batchSize\" : 100, \"filter\" : { \"properties\" : [ { \"key\" : \"optional1\", \"compare\" : \"HAS\" } ] } }" + doc = ArangoDB.log_post("#{prefix}", cmd, :body => body) + doc.code.should eq(201) + doc.parsed_response['error'].should eq(false) + doc.parsed_response['code'].should eq(201) + doc.parsed_response['result'].count.should eq(4) + + + cmd = "/_api/graph/#{graph_name}/vertices" + body = "{\"batchSize\" : 100, \"filter\" : { \"properties\" : [ { \"key\" : \"optional1\", \"compare\" : \"HAS_NOT\" } ] } }" + doc = ArangoDB.log_post("#{prefix}", cmd, :body => body) + doc.code.should eq(201) + doc.parsed_response['error'].should eq(false) + doc.parsed_response['code'].should eq(201) + doc.parsed_response['result'].count.should eq(1) + + end + end ################################################################################ diff --git a/js/actions/api-graph.js b/js/actions/api-graph.js index 8e768af373..1dde4fed2d 100644 --- a/js/actions/api-graph.js +++ b/js/actions/api-graph.js @@ -1046,6 +1046,18 @@ function process_property_compare (compare) { //////////////////////////////////////////////////////////////////////////////// function process_property_filter (data, num, property, collname) { + if (property.key !== undefined && property.compare == "HAS") { + if (data.filter === "") { data.filter = " FILTER"; } else { data.filter += " &&";} + data.filter += " HAS(" + collname + ", @key" + num.toString() + ") "; + data.bindVars["key" + num.toString()] = property.key; + return; + } + if (property.key !== undefined && property.compare == "HAS_NOT") { + if (data.filter === "") { data.filter = " FILTER"; } else { data.filter += " &&";} + data.filter += " !HAS(" + collname + ", @key" + num.toString() + ") "; + data.bindVars["key" + num.toString()] = property.key; + return; + } if (property.key !== undefined && property.value !== undefined) { if (data.filter === "") { data.filter = " FILTER"; } else { data.filter += " &&";} data.filter += " " + collname + "[@key" + num.toString() + "] " + From ab42b2adfe56f718784c40be05af559550768d4b Mon Sep 17 00:00:00 2001 From: a-brandt Date: Fri, 24 Jan 2014 14:53:04 +0100 Subject: [PATCH 4/7] Bugfix: Expected '===' and instead saw '==' --- js/actions/api-graph.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/actions/api-graph.js b/js/actions/api-graph.js index 1dde4fed2d..15a15473c6 100644 --- a/js/actions/api-graph.js +++ b/js/actions/api-graph.js @@ -1046,13 +1046,13 @@ function process_property_compare (compare) { //////////////////////////////////////////////////////////////////////////////// function process_property_filter (data, num, property, collname) { - if (property.key !== undefined && property.compare == "HAS") { + if (property.key !== undefined && property.compare === "HAS") { if (data.filter === "") { data.filter = " FILTER"; } else { data.filter += " &&";} data.filter += " HAS(" + collname + ", @key" + num.toString() + ") "; data.bindVars["key" + num.toString()] = property.key; return; } - if (property.key !== undefined && property.compare == "HAS_NOT") { + if (property.key !== undefined && property.compare === "HAS_NOT") { if (data.filter === "") { data.filter = " FILTER"; } else { data.filter += " &&";} data.filter += " !HAS(" + collname + ", @key" + num.toString() + ") "; data.bindVars["key" + num.toString()] = property.key; From 62d81cee14222dccdacc05836824a66b52ccae43 Mon Sep 17 00:00:00 2001 From: a-brandt Date: Fri, 24 Jan 2014 14:59:49 +0100 Subject: [PATCH 5/7] added HAS and HAS_NOT --- UnitTests/HttpInterface/api-graph-spec.rb | 21 +++++++++++++++++++++ js/actions/api-graph.js | 12 ++++++++++++ 2 files changed, 33 insertions(+) diff --git a/UnitTests/HttpInterface/api-graph-spec.rb b/UnitTests/HttpInterface/api-graph-spec.rb index e4700a080f..4adf271eb4 100644 --- a/UnitTests/HttpInterface/api-graph-spec.rb +++ b/UnitTests/HttpInterface/api-graph-spec.rb @@ -1424,6 +1424,27 @@ describe ArangoDB do doc.parsed_response['result'].count.should eq(4) end + it "checks list of vertices of a vertex with HAS and HAS_NOT compare" do + + cmd = "/_api/graph/#{graph_name}/vertices" + body = "{\"batchSize\" : 100, \"filter\" : { \"properties\" : [ { \"key\" : \"optional1\", \"compare\" : \"HAS\" } ] } }" + doc = ArangoDB.log_post("#{prefix}", cmd, :body => body) + doc.code.should eq(201) + doc.parsed_response['error'].should eq(false) + doc.parsed_response['code'].should eq(201) + doc.parsed_response['result'].count.should eq(4) + + + cmd = "/_api/graph/#{graph_name}/vertices" + body = "{\"batchSize\" : 100, \"filter\" : { \"properties\" : [ { \"key\" : \"optional1\", \"compare\" : \"HAS_NOT\" } ] } }" + doc = ArangoDB.log_post("#{prefix}", cmd, :body => body) + doc.code.should eq(201) + doc.parsed_response['error'].should eq(false) + doc.parsed_response['code'].should eq(201) + doc.parsed_response['result'].count.should eq(1) + + end + end ################################################################################ diff --git a/js/actions/api-graph.js b/js/actions/api-graph.js index 8e768af373..15a15473c6 100644 --- a/js/actions/api-graph.js +++ b/js/actions/api-graph.js @@ -1046,6 +1046,18 @@ function process_property_compare (compare) { //////////////////////////////////////////////////////////////////////////////// function process_property_filter (data, num, property, collname) { + if (property.key !== undefined && property.compare === "HAS") { + if (data.filter === "") { data.filter = " FILTER"; } else { data.filter += " &&";} + data.filter += " HAS(" + collname + ", @key" + num.toString() + ") "; + data.bindVars["key" + num.toString()] = property.key; + return; + } + if (property.key !== undefined && property.compare === "HAS_NOT") { + if (data.filter === "") { data.filter = " FILTER"; } else { data.filter += " &&";} + data.filter += " !HAS(" + collname + ", @key" + num.toString() + ") "; + data.bindVars["key" + num.toString()] = property.key; + return; + } if (property.key !== undefined && property.value !== undefined) { if (data.filter === "") { data.filter = " FILTER"; } else { data.filter += " &&";} data.filter += " " + collname + "[@key" + num.toString() + "] " + From 116873c04115b434a60528c9ea81f6c6440e5d59 Mon Sep 17 00:00:00 2001 From: Frank Celler Date: Sat, 25 Jan 2014 21:09:16 +0100 Subject: [PATCH 6/7] check for null pointer for ROOTDIR --- CHANGELOG | 4 ++++ lib/ProgramOptions/program-options.c | 21 ++++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index dddf3ab562..d5afffe273 100755 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +v1.4.8 (xxxx-xx-xx) +------------------- + + v1.4.7 (2014-01-23) ------------------- diff --git a/lib/ProgramOptions/program-options.c b/lib/ProgramOptions/program-options.c index 32a310ac68..03ca2c8dc2 100755 --- a/lib/ProgramOptions/program-options.c +++ b/lib/ProgramOptions/program-options.c @@ -187,18 +187,21 @@ static char * FillVariables (const char* value) { if (v == NULL) { if (TRI_EqualString(k, "ROOTDIR")) { char* vv = TRI_LocateInstallDirectory(); - size_t lv = strlen(vv); - if (0 < lv) { - if (vv[lv - 1] == TRI_DIR_SEPARATOR_CHAR || vv[lv - 1] == '/') { - v = TRI_DuplicateString2(vv, lv - 1); - } - else { - v = TRI_DuplicateString2(vv, lv); + if (vv != NULL) { + size_t lv = strlen(vv); + + if (0 < lv) { + if (vv[lv - 1] == TRI_DIR_SEPARATOR_CHAR || vv[lv - 1] == '/') { + v = TRI_DuplicateString2(vv, lv - 1); + } + else { + v = TRI_DuplicateString2(vv, lv); + } } + + TRI_FreeString(TRI_CORE_MEM_ZONE, vv); } - - TRI_FreeString(TRI_CORE_MEM_ZONE, vv); } } else { From df1ce45e15fb2317481a1ee130d20d8d9d6a8c9e Mon Sep 17 00:00:00 2001 From: Jan Steemann Date: Mon, 27 Jan 2014 08:54:36 +0100 Subject: [PATCH 7/7] issue #751: Create database through API should return HTTP status code 201 --- CHANGELOG | 9 +++++ UnitTests/HttpInterface/api-database-spec.rb | 36 ++++++++++++++++---- js/actions/api-database.js | 9 ++--- 3 files changed, 43 insertions(+), 11 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 7dfa4b1829..0648366984 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,15 @@ v1.5.0 (XXXX-XX-XX) ------------------- +* issue #751: Create database through API should return HTTP status code 201 + + By default, the server now returns HTTP 201 (created) when creating a new + database successfully. To keep compatibility with older ArangoDB versions, the + startup parameter `--server.default-api-compatibility` can be set to a value + of `10400` to indicate API compatibility with ArangoDB 1.4. The compatibility + can also be enforced by setting the `X-Arango-Version` HTTP header in a + client request to this API on a per-request basis. + * issue #748: add vertex filtering to AQL's TRAVERSAL[_TREE]() function * allow direct access from the `db` object to collections whose names start diff --git a/UnitTests/HttpInterface/api-database-spec.rb b/UnitTests/HttpInterface/api-database-spec.rb index aa6332b292..d667d6590e 100644 --- a/UnitTests/HttpInterface/api-database-spec.rb +++ b/UnitTests/HttpInterface/api-database-spec.rb @@ -66,12 +66,34 @@ describe ArangoDB do after do ArangoDB.delete(api + "/#{name}") end + + it "creates a new database, old return code" do + body = "{\"name\" : \"#{name}\" }" + doc = ArangoDB.log_post("#{prefix}-create", api, :body => body, :headers => { "X-Arango-Version" => "1.4" }) + + doc.code.should eq(200) + doc.headers['content-type'].should eq("application/json; charset=utf-8") + response = doc.parsed_response + response["result"].should eq(true) + response["error"].should eq(false) + end + + it "creates a new database, new return code" do + body = "{\"name\" : \"#{name}\" }" + doc = ArangoDB.log_post("#{prefix}-create", api, :body => body, :headers => { "X-Arango-Version" => "1.5" }) + + doc.code.should eq(201) + doc.headers['content-type'].should eq("application/json; charset=utf-8") + response = doc.parsed_response + response["result"].should eq(true) + response["error"].should eq(false) + end it "creates a new database" do body = "{\"name\" : \"#{name}\" }" doc = ArangoDB.log_post("#{prefix}-create", api, :body => body) - doc.code.should eq(200) + doc.code.should eq(201) doc.headers['content-type'].should eq("application/json; charset=utf-8") response = doc.parsed_response response["result"].should eq(true) @@ -115,7 +137,7 @@ describe ArangoDB do body = "{\"name\" : \"#{name}\" }" doc = ArangoDB.log_post("#{prefix}-re-create", api, :body => body) - doc.code.should eq(200) + doc.code.should eq(201) doc.headers['content-type'].should eq("application/json; charset=utf-8") doc = ArangoDB.log_post("#{prefix}-post", api, :body => body) @@ -132,7 +154,7 @@ describe ArangoDB do body = "{\"name\" : \"#{name}\" }" doc = ArangoDB.log_post("#{prefix}-drop", api, :body => body) - doc.code.should eq(200) + doc.code.should eq(201) doc.headers['content-type'].should eq("application/json; charset=utf-8") doc = ArangoDB.log_delete("#{prefix}-drop", cmd) @@ -158,7 +180,7 @@ describe ArangoDB do body = "{\"name\" : \"#{name}\" }" doc = ArangoDB.log_post("#{prefix}-create-properties", api, :body => body) - doc.code.should eq(200) + doc.code.should eq(201) doc.headers['content-type'].should eq("application/json; charset=utf-8") response = doc.parsed_response response["result"].should eq(true) @@ -206,7 +228,7 @@ describe ArangoDB do body = "{\"name\" : \"#{name}\", \"users\": [ { \"username\": \"admin\", \"password\": \"secret\", \"extra\": { \"gender\": \"m\" } }, { \"username\": \"foxx\", \"active\": false } ] }" doc = ArangoDB.log_post("#{prefix}-create-users", api, :body => body) - doc.code.should eq(200) + doc.code.should eq(201) doc.headers['content-type'].should eq("application/json; charset=utf-8") response = doc.parsed_response response["result"].should eq(true) @@ -268,7 +290,7 @@ describe ArangoDB do body = "{\"name\" : \"#{name}\", \"users\": [ { \"username\": \"\" } ] }" doc = ArangoDB.log_post("#{prefix}-create-users-invalid", api, :body => body) - doc.code.should eq(200) + doc.code.should eq(201) doc.headers['content-type'].should eq("application/json; charset=utf-8") response = doc.parsed_response response["result"].should eq(true) @@ -305,7 +327,7 @@ describe ArangoDB do body = "{\"name\" : \"#{name}\" }" doc = ArangoDB.log_post("#{prefix}-check-system", api, :body => body) - doc.code.should eq(200) + doc.code.should eq(201) doc.headers['content-type'].should eq("application/json; charset=utf-8") response = doc.parsed_response response["result"].should eq(true) diff --git a/js/actions/api-database.js b/js/actions/api-database.js index 59c722f185..ec75ea390c 100644 --- a/js/actions/api-database.js +++ b/js/actions/api-database.js @@ -240,7 +240,7 @@ function get_api_database (req, res) { /// /// @RESTRETURNCODES /// -/// @RESTRETURNCODE{200} +/// @RESTRETURNCODE{201} /// is returned if the database was created successfully. /// /// @RESTRETURNCODE{400} @@ -272,7 +272,7 @@ function get_api_database (req, res) { /// var response = logCurlRequest('POST', url, JSON.stringify(data)); /// /// db._dropDatabase(name); -/// assert(response.code === 200); +/// assert(response.code === 201); /// /// logJsonResponse(response); /// @END_EXAMPLE_ARANGOSH_RUN @@ -306,7 +306,7 @@ function get_api_database (req, res) { /// var response = logCurlRequest('POST', url, JSON.stringify(data)); /// /// db._dropDatabase(name); -/// assert(response.code === 200); +/// assert(response.code === 201); /// /// logJsonResponse(response); /// @END_EXAMPLE_ARANGOSH_RUN @@ -374,7 +374,8 @@ function post_api_database (req, res) { var result = arangodb.db._createDatabase(json.name || "", options, users); - actions.resultOk(req, res, actions.HTTP_OK, { result : result }); + var returnCode = (req.compatibility <= 10400 ? actions.HTTP_OK : actions.HTTP_CREATED); + actions.resultOk(req, res, returnCode, { result : result }); } ////////////////////////////////////////////////////////////////////////////////