Heartbleeding Windows

I assume you all heard about the Heartbleed Bug in OpenSSL. ArangoDB uses the system OpenSSL under linux and Mac OS. If you update your version to 1.0.1g or better, everything is fine. However, the Windows contains static version of OpenSSL. So in case you want to use ArangoDB with HTTPS, you should update your ArangoDB version. The current installer for 1.4.14 and 2.0.2 contains the OpenSSL 1.0.1g.

Posted in General | Leave a comment

ArangoDB 2.0.2

We have released a bug-fix release for ArangoDB 2.0. v2.0.2 (2014-04-06) ——————- * during cluster startup, do not log (somewhat expected) connection errors with log level error, but with log level info * fixed dashboard modals * fixed connection check for cluster planning front end: firefox does not support async:false * document how to persist a cluster plan in order to relaunch an existing cluster later * added REST API method HTTP GET `/_api/job/job-id` to query the status of an async job without potentially fetching it from the list of done jobs * fixed non-intuitive behaviour in jobs API: previously, querying the status of an async job via the API HTTP PUT `/_api/job/job-id` removed a currently executing async job from the list of queryable jobs on the server. Now, when querying the result of an async job that is still executing, the job is kept in the list of queryable jobs so its result can be fetched by a subsequent request. * improve documentation of db._create and explain the rules and limitations following from the choice of shardKeys for sharded collections with more than one shard

Posted in General, Releases | Leave a comment

ArangoDB 2.0.1

We have just release 2.0.1, which is bug-fix release for 2.0. v2.0.1 (2014-03-31) ——————- * make ArangoDB not send back a `WWW-Authenticate` header to a client in case the client sends the `X-Omit-WWW-Authenticate` HTTP header. This is done to prevent browsers from showing their built-in HTTP authentication dialog for AJAX requests that require authentication. ArangoDB will still return an HTTP 401 (Unauthorized) if the request doesn’t contain valid credentials, but it will omit the `WWW-Authenticate` header, allowing clients to bypass the browser’s authentication dialog. * fixed isses in arango-dfdb: the dfdb was not able to unload certain system collections, so these couldn’t be inspected with the dfdb sometimes. Additionally, it did not truncate corrupt markers from datafiles under some circumstances * added `changePassword` attribute for users * fixed non-working “save” button in collection edit view of web interface clicking the save button did nothing. one had to press enter in one of the input fields to send modified form data * fixed V8 compile error on MacOS X * prevent `body length: -9223372036854775808` being logged in development mode for some Foxx HTTP responses * fixed several bugs in web interface dashboard * fixed issue #783: coffee script not working in manifest file * fixed issue #781: Cant save current query from AQL editor ui * bumped version in `X-Arango-Version` compatibility header sent by arangosh and other client tools from `1.5` to `2.0`. * fixed startup options for arango-dfdb, added details option for arango-dfdb * fixed display of missing error messages and codes in arangosh * when creating a collection via the web interface, the collection type was always “document”, regardless of the user’s choice

Posted in General, Releases | Leave a comment

ArangoDB 1.4.11

We have released a bug-fix release for ArangoDB 1.4. As it is carnival, we skipped 1.4.10 and moved directly to 1.4.11. Please note that we are also preparing the ArangoDB 2.0 release. Therefore it is important to use the zypper install arangodb=1.4.11 (or whatever package manager you use) with an explicit version. v1.4.11 (2014-02-27) ——————– * added SHORTEST_PATH AQL function this calculates the shortest paths between two vertices, using the Dijkstra algorithm, employing a min-heap By default, ArangoDB does not know the distance between any two vertices and will use a default distance of 1. A custom distance function can be registered as an AQL user function to make the distance calculation use any document attributes or custom logic: RETURN SHORTEST_PATH(cities, motorways, “cities/CGN”, “cities/MUC”, “outbound”, { paths: true, distance: “myfunctions::citydistance” }) // using the following custom distance function var aqlfunctions = require(“org/arangodb/aql/functions”); aqlfunctions.register(“myfunctions::distance”, function (config, vertex1, vertex2, edge) { return Math.sqrt(Math.pow(vertex1.x – vertex2.x) + Math.pow(vertex1.y – vertex2.y)); }, false); * fixed bug in Graph.pathTo function * fixed small memleak in AQL optimiser * fixed access to potentially uninitialised variable when collection had a cap constraint v1.4.10 (2014-02-21) ——————– * fixed graph constructor to allow graph with some parameter to be used * added node.js “events” and “stream” * updated npm packages * added loading of .json file * Fixed http return code in graph api with waitForSync parameter. * Fixed documentation in graph, simple and index api. * removed 2 tests due to change in ruby library. * issue #756: set access-control-expose-headers on CORS response the following headers are now whitelisted by ArangoDB in CORS responses: – etag – content-encoding – content-length – location – x-arango-errors – x-arango-async-id

Posted in General | Leave a comment

Cheerio, Node and Coffee-Script

Foxx’ main purpose is to create a beautiful API for your AngularJS, EmberJS or Backbone.js front-end. However, sometimes you want to do more. We, for example, needed to parse some HTML files. ArangoDB is capable of using some Node.js modules, but unfortunately Cheerio was not one of those. One problem was that we did not support loading of JSON data modules. So, this was a good excuse to rewrite the module loader in ArangoDB to make it even more Node.js-friendly. With those improvements, that are currently available in ArangoDB’s devel branch. You can now also “require” a JSON data file. These files must have a filename ending with “.json”. If the filename ends with “.coffee” it is treated as coffee-script file and automatically compiled into JavaScript. A Foxx app can now contain its own “node_modules” directory to include Node modules which it requires. This makes it much easier to deploy a Foxx app.

Posted in Foxx, General, Javascript | 2 Comments

ArangoDB at FOSDEM 2014

FOSDEM is an absolutely open and free conference in Brussels, Belgium. The conference offers an impressive amount of developer rooms discussing a broad range of technical topics, including NoSQL and graphs. After a funny and productive ArangoDB hackathon weekend Frank and I arrived at FOSDEM on Sunday noon. We were looking forward to the talks in the graph devroom, but unfortunately for us it was not possible to enter the room (it was overfull, indicating a great quality of talks). At the next speakers change Frank and I managed to slip into the room and could enjoy two inspiring talks by Neo4J. Afterwards it was my turn to present the graph visualization interface in ArangoDB in a still crowded room (slides). After my presentation, we handed out all our ArangoDB t-shirts to our fans. All together it was a great experience and a really huge amount of people visiting the same conference which impressed me a lot. Thanks for the team at the Graph Processing devroom for giving me the opportunity to speak and for organizing such a great devroom. We will meet again next year. so long, Michael

Posted in General, Presentation | Leave a comment

ArangoDB’s Web Interface: A Screencast

With ArangoDB we ship a nice and useful web interface for administration. However we have not yet told you in a video what you can do with this interface. This screencast will give a comprehensive overview over the features offered in the interface.

Posted in General | Leave a comment

ArangoDB – Xmas Edition 1.4.4

We have released the bug-fix version 1.4.4 of ArangoDB. While this version only contains minor fixes, we have switched to a new build system for Windows. We are now using Visual Studio 2013 and CMAKE to build ArangoDB under Windows. This also includes a new installer (Nullsoft Scriptable Install System). ArangoDB can now be installed as a service under Windows. Unix The configuration is now called “arangod.conf” instead of “arangod-uid.conf” in order to avoid confusion. Windows The default installation directory is “c:\Program Files\ArangoDB-1.x.y”. During the installation process you may change this. In the following description we will assume that ArangoDB has been installed in the location ROOTDIR. You have to be careful when choosing an installation directory. You need either write permission to this directoy or you need to modify the config file for the server process. In the latter case the database directory and the Foxx directory should must be writable by the user. Installating for a single user Select a different directory during installation. For example “C:/Users//arangodb” or “C:/ArangoDB”. Installating for multiple users Keep the default directory. After the installation edit the file “ROOTDIR/etc/arangodb/arangod.conf”. Adjust the “directory” and “app-path” so that these paths point into your home directory. [database] directory = @HOMEDRIVE@/@HOMEPATH@/arangodb/databases [javascript] app-path = @HOMEDRIVE@/@HOMEPATH@/arangodb/apps Create the directories for each user that wants to use ArangoDB. Installating as Service Keep the default directory. After the installation open a command line as administrator (search for “cmd” and right click “run as administrator”) cmd> arangod –install-service INFO: adding service ‘ArangoDB – the multi-purpose database’ (internal ‘ArangoDB’) INFO: added service with command line ‘”C:\Program Files (x86)\ArangoDB 1.4.4\bin\arangod.exe” –start-service’ Open the service manager and start ArangoDB. In order to enable logging edit the file “/etc/arangodb/arangod.conf” and uncomment the file option. [log] file = @ROOTDIR@/var/log/arangodb/arangod.log

Posted in General, Releases | Leave a comment

ArangoDB at RubyConf 2013

RubyConf is a yearly conference in the USA with people coming from all over the world to discuss about Ruby, Rails and related topics. Every year a different city hosts this conference – this year the conference took place in sunny Miami Beach. This year Dirk Breuer – the other main developer behind Guacamole – and I went there to learn from the speakers talking about a wide range of topics. Apart from the great talks there was a lot of opportunity to talk to Rubyists from entirely different areas like social networks or banking backend systems, the problems they face and the solutions they found for them. Of course there were a lot of people catching a sight of our ArangoDB shirts and coming towards us to ask about ArangoDB and the Ruby support. The question ranged from basic questions (“What is ArangoDB?”) to more involved questions about AQL for example. As always we were happy to answer all of them! All videos from the conference are online now. The excellent keynote by Katie on the second day is not only interesting to Rubyists, but everyone enthusiastic about programming and especially teaching it. If you understand German and want to get more tips about which talks to watch, download episode 26 of Geekstammtisch where we discussed RubyConf.

Posted in General | Leave a comment

ArangoDB goes Barcelona – NoSQL matters 2013

The ArangoDB team traveled to Barcelona for the “NoSQL matters” – weekend. Day one was packed with a lot of NoSQL-trainings and Jan introduced the NoSQL landscape by explaining how to model your data in a non-relational world. Following the wish of many participants Jan had to repeat the morning session about the new and exciting possibilities of NoSQL in the afternoon. After an inspiring key-note by Nathan Marz, three tracks full of NoSQL, BigData and Searching explained the latest trends. Lucas talked about ArangoDB in general, Foxx and the advantages of multi-models. He explained “why relations — especially properties graphs — matter even in a NoSQL database” by Sarahs Mei’s example of social networks. After his talk, we had a lot of interesting and inspiring discussions at the ArangoDB booth in the entry hall.   NoSQL matters was a great experience for us, which gave the ArangoDB team the opportunity to meet a lot of interesting people to exchange and to develop new ideas.

Posted in General | Leave a comment