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 1.4.0 released

We are proud to announce that version 1.4.0 of ArangoDB has been released. The release is available for download here: https://www.arangodb.org/download Thanks to all contributors and testers for your enormous help! Features This release is a major milestone for us, because it contains two of the most wanted features: replication multi-database support It also comes with: Foxx, a lightweight framework for building APIs and applications, see https://www.arangodb.org/manuals/current/UserManualFoxx.html a new and much improved admin web interface, including an intuitive graph browser, see https://www.arangodb.org/manuals/current/NewFeatures14.html#NewFeatures14WebInterface full swagger API documentation, allowing you to easily test and play with the server API using a browser an easy to use import/export tool, see https://www.arangodb.org/manuals/current/NewFeatures14.html#NewFeatures14DumpReload an asynchronous request API (can be used for “fire-and-forget” requests and decrease client waiting time) and several other improvments The complete list of new features can be found here: https://www.arangodb.org/manuals/current/NewFeatures14.html

Posted in Foxx, General, Releases | 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.

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

ArangoDB 1.3.0 released

Features and Improvements The following list shows in detail which features have been added or improved in ArangoDB 1.3. ArangoDB 1.3 also contains several bugfixes that are not listed here. Changes to the Datafile Structure As the datafile structure has changed, please read the upgrade manual carefully. Rapid API Development with FOXX A preview of the forthcoming Foxx is contained in 1.3. Please note that this is not the final version, Foxx is still experimental. Foxx is a lightweight Javascript “micro framework” which allows you to build applications directly on top of ArangoDB and therefore skip the middleman (Rails, Django, Symfony or whatever your favorite web framework is). Inspired by frameworks like Sinatra Foxx is designed with simplicity and the specific use case of modern client-side MVC frameworks in mind. The screencast at http://foxx.arangodb.org explains how to use Foxx.

Posted in Foxx, General, Releases | 6 Comments

Foxx Screencast: Part 2

It has taken some time, but now part 2 of the Foxx Screencast is available. I talk about some more advanced topics of Foxx and also plans for the future.

Posted in Foxx, Javascript | Leave a comment

ArangoDB 1.3.alpha1 and the first Foxx Screencast

Starting today you can install the first Alpha of the upcoming release of ArangoDB version 1.3. Some of the new features are: ArangoDB Foxx: A lightweight way to define APIs directly on top of ArangoDB Traversals: Define traversals to explore your graphs stored in ArangoDB A new and improved Frontend: Featuring a new design and various improvements And more: Multi-Collection transaction support, user defined functions in AQL, more builtin AQL functions and AQL improvements, bug-fixes… ArangoDB Foxx: The first screencast If you want to get a first look at ArangoDB Foxx, you can now see our first screencast. Lucas talks about the motivation and goals of Foxx and introduces you to the basics. A second screencast will follow with more advanced techniques like our Repositories and Models: How to install it? If you are on a Mac and using Homebrew, you can install it now via brew install –devel arangodb. If you are compiling ArangoDB by yourself, checkout the branch 1.3 from github and compile it. if you are using Linux, we have create package for the usual distributions. You can download them from here.

Posted in Foxx, Javascript | Leave a comment

Foxx – a lightweight Javascript application framework for ArangoDB

Edit: From version 1.4 the ArangoDB user manual available online also includes the documentation for FOXX. For the last months we have been working on Foxx – a brand new Javascript framework on top of the upcoming version of the free and open source NoSQL database ArangoDB. Foxx allows you to build APIs directly on top of the database and therefore skip the middleman (Rails, Django, Symfony or whatever your favorite web framework is). Foxx is designed with simplicity and the specific use case of modern client-side MVC frameworks in mind. There are a couple of very interesting scenarios for Foxx: You want to build a Single Page Web Application: most of the business logic is in the Javascript frontend. The backend’s most important task is to persist the data and send data to the client plus a bit of auth, modify, validate logic.  In this case ArangoDB plus a Foxx application is all you need as a backend. Another use case is a mobile app either native or HTML5. Again you’ll have most of the logic already in the frontend (the app in this case). With Foxx you can create your API very easily. And as you don’t have a large full-size MVC stack included, your backend will be very, very fast. You might want to consider Foxx even as lightweight, easy-to-learn alternative to Node.js.

Posted in Foxx, Javascript | Leave a comment