Author Archives: Michael Hackstein

Michael Hackstein

About Michael Hackstein

Michael is a JavaScript and NoSQL enthusiast. In his spare time he is organising colognejs, the JavaScript user group in Cologne Germany scheduled every second month. In his professional life Michael holds a master degree in Computer Science. As Front End Specialist he is member of the ArangoDB core team, developing the web frontend and graph visualisation for this project. He is conference and user group addicted.

Securing your Foxx with API Keys

ArangoDB’s Foxx allows you to easily build an API to access your data sources. But now this API is either public or restricted to users having an account, but those still get unlimited access.

In many use cases you do not want to expose your data in this fashion, but you want to expose it with a more controllable access pattern and want to restrict the requests one user could issue in a certain time period. Popular examples for these API restrictions are Twitter or Facebook. This allows you to offer all of your data but only in limited chunks, and then possibly charge your customers to increase the chunk limit they can request.

All this is done via API keys, which are bound to a user and has become a common pattern to monetize the data you have collected. (more…)

Posted in API, Foxx, Security | Leave a comment

New Foxx debugging preview

We are working hard to improve usability and simplify the usage of Foxx which will be shipped with version 2.5. of ArangoDB.

We have learned from the past and collected a lot of feedback, thanks to all people using Foxx already. It helped us to identify the following three important areas of Foxx that should be improved:

  1. Debugging of Foxx apps
  2. Getting started with Foxx
  3. Development Mode
Posted in Foxx | Leave a comment

FullStack London

I recently had the chance to visit FullStack London, a well organized conference. Thanks a lot to Skills Matter. FullStack was opened by Douglas Crockford about “The Better Parts” of ES6. I cannot wait to start using them. Douglas was followed by Isaac Schlueter talking about open source in companies. Although this talk was not technical I learned a lot and it was very inspiring.

The remainder of the conference was all about using JavaScript mostly on server-side using Node.js or in robotics. As robotics is not my kind of topic I visited the talks about server-side JS. They confirmed my impression where JS development is heading to: Microservices. (more…)

Posted in Architecture, Conferences, Foxx, General, nodejs | Tagged , , | Leave a comment

New feature: Multi Collection Graphs

This version is deprecated. Download the new version of ArangoDB

With the 2.2 release we proudly announce that we now offer the feature of multi collection graphs. This allows you to group an arbitrary set of ArangoDB collections into one graph. In order to do this grouping you execute the following steps in arangosh or Foxx: 1. Require the general-graph module and create a graph.

  1. Add collections to be used as vertex collections. If the collections are not yet created, ArangoDB will create them for you.

  1. Create edge definitions between your vertex collections. These definitions create edge collections and allow you to store edges where source and target vertices come from the collections written in the definition. If you give vertex collections unknown to the graph they will be added to the graph. (more…)

Posted in General | 1 Comment

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.

Michael handing out T-Shirts to the audience

Michael handing out T-Shirts to the audience

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,

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

Visualize your graphs

Using ArangoDB as your graph database?

you now have the opportunity to visualize your data graphically, using the “Graphs” tab in the admin interface.
In this post i will explain you how to do this:

Step 1) Configure the Interface
At first you have to configure the interface to display exactly the data you desire.
For the dataset you have two options:

  1. Select one vertex and one edge collection directly
  2. Select the graph by name created using the graphs api
  3. Manage your graphs

Then the interface offers you several advanced options:

  1. Decide if the graph is directed (only outbound edges are followed) or undirected (all edges are followed). By default we treat your graphs as undirected
  2. Define if you want to start at a random vertex in the graph. By default we will do that.
  3. Then you can define which of your attributes should be used as the label on the verticies. By default we will use the _key for this.
  4. Now lets bring in some colour. You can either use the same attribute for colouring as for labeling, but you can also use a different one
  5. Finally you can define a grouping of new nodes. This is useful to speed up the performance of the interface and to increase the usability. You can define a priority list of attributes here, which is elaborated from top to bottom: All vertices having the first attribute defined are grouped by its value. All other nodes are grouped by the second attribute if present etc.
configuration of the graph viewer

Configuration of GraphViewer


Posted in General | Leave a comment

Visualize your graphs: A Screencast

In the latest version of ArangoDB (1.4) we have introduced a new tab in the Admin Interface: Graphs.

You can use this tab to view and modify your graphs stored in ArangoDB.
In this screencast you will get a short introduction on how to use the new system.


Posted in General | Leave a comment

Ideas and Facts from scotland.js in Edinburgh

Test Driven Development

I have been one of the lucky attendants of scotland.js in Edinburgh recently.
It was a really nice & informative conference, thanks to all people that made it possible.
I did really like to see that TDD is reaching the front-end developers finally.
A lot of useful tools for this have been presented by James Shore, Bernard Kobos and Sebastian Golasch.
In ArangoDB, TDD is in action all day and I am looking forward to improving our front-end testing even further using these awesome tools.


Front-end Development meets NoSQL

Furthermore several talks focussing on front-end development have been given, e.g. by Gregor Martynus presenting Hoodie.js.
These front-end talks and my discussions with other attendees gave me the impression that front-end developers spend a lot of time deciding which database they should use. (more…)

Posted in Community, Foxx, General, Javascript | Leave a comment