Insights into what moves us. Contributions from the Structr team and guests. The Structr Blog

Christian Morgner
06. October 2014

4 Exciting New Structr Hosting Features

We put a lot of work into our hosting platform recently to improve on the existing features and make it even more useful for you! Now that Structr 1.0 is released, our hosting left the beta phase, too. Expect more cool features and exciting news to come! We added a shiny new demo page The first new feature I'd like to introduce today is a shiny new demo page that is pre-installed in each new hosted instance from now on. The demo page contains examples for many of Structr's most important…

Read more

Christian Morgner
03. October 2014

Our documentation is now hosted on GitHub!

As a part of the release of Structr 1.0 about a week ago, we have finally moved our documentation where it belongs: close to the code. http://docs.structr.org now serves content from GitHub, which has several advantages: the docs are now versioned along with the code the documentation can be updated easily users can contribute via GitHub pull requests Technical aspects The following simple set of template expressions allows us to fetch raw markdown content from GitHub and render it into…

Read more

Axel Morgner
27. September 2014

Restropective of the 1.0 GA Release and Website Relaunch

A few days ago, we released our first GA version 1.0.0 and relaunched the project's website at http://structr.org. The resonance was very good, we were featured on JAXenter, listed on the hacker news front page for a full day (best rank: #5), there was an entry on Reddit, and a day later an article in the german Heise Developer news. This resulted in a spike in visitors and page hits, but we were a bit disappointed as it was not really a stress test for Structr. Not really a stress test At…

Read more

Axel Morgner
20. September 2014

The Hidden Gem: Structr's new Template Engine

The recent release 1.0 has a hidden gem: A brand-new template engine. The reason why it's hidden is that we simply didn't find enough time to document all new components before the launch 1.0, but it's already in use on structr.org and some customer sites. We'll update the docs and provide a how-to screencast soon. We use the opportunity to explain the existing and new functionality, and how to get the best out of both. Existing Templating Mechanisms in Structr To understand the changes we…

Read more

Axel Morgner
17. September 2014

Structr 1.0 - the Next-Generation Data-CMS on Neo4j released

We're a bit exhausted but extremlely happy after the launch of Structr 1.0 GA! After four exciting and challenging years, we can now say: This is the best version ever, but it's also just the beginning. We really took the time to put into the release what we thought is important for a 1.0, and thanks to everyone supporting us, especially the great folks of the Structr and Neo4j community and the Neo Technology team! And btw, the new structr.org site already runs on 1.0.0. Axel - for the…

Read more

Christian Morgner
27. June 2014

Using the "Range" HTTP header to enable paging of nested collections in REST resources

While working on a customer project, I recently imported a database that was actively used for over 20 years into Structr. Real-life data is often very different from your average testing data, both in size and complexity (unless you put a large amount of effort in the creation of your test data), so I quickly found out that the data editing components in the Structr UI were not able to handle thousands of relationships originating from a single node.In order to fix this problem, we needed a…

Read more

Axel Morgner
16. May 2014

About the Robustness of Neo4j

TL;DR In my 4-year-experience using and developing apps with it, I can state that Neo4j is a very reliable database with an impressively robust crash recovery, and even in the rare case of invalid records, you can easily fix it.The DetailsThis is a topic I wanted to blog about for a long time. I started playing around with Neo4j in 2010, shortly after the 1.0 release in Feb. 2010, created first applications and started the development of Structr.The first project, a hotel database site, went…

Read more

Christian Morgner
18. March 2014

Automatic property-based schema and inheritance detection in Structr

A little more than two weeks have passed since we introduced the GraphGist importer as our contribution to the Neo4j Graph Gist Challenge. You can read all about that in Axel's previous blog post which you can find here.We received a lot of positive feedback, and many people have since experimented with the new feature, including ourselves of course. But, one thing that was noted by many people who tried to import their existing domain models into Structr, was the lack of type inheritance.So,…

Read more

Axel Morgner
28. February 2014

The Structr GraphGist Importer

tl;dr: Our contribution to Neo4j's GraphGist winter challenge: A tool to import and parse a GraphGist and create a schema meta graph for self-describing Neo4j databases in Structr.Here's the full story:Neo4j's GraphGist ChallengeWhen the Neo4j team announced their recent GraphGist challenge we asked ourselves "what can we contribute?". As very committed, long-term Neo4j community members, we really wanted to add something cool and non-trivial.In the beginning, we had no real idea what to do.…

Read more

Axel Morgner
10. December 2013

Neo4j Write Throughput on Linux ext4 Filesystems

Do you experience poor write performance with Neo4j on your Linux box, especially when it comes to small transactions?I did, and after some investigations, I could increase write performance by a factor of 15-17x.To find out what caused the poor performance I created a test which basically measures the creation of a node, a relationship and some properties.The system is a standard PC, Core i7 2.93 GHz, 8 GB RAM, Linux kernel 3.8, ext4 filesystem on two partitions, HDDs are ST31500341AS (Seagate…

Read more