Why we chose API-Based CMS System
In our last post we summarized what we need in our new content management system (CMS). After careful considerations and analysis we selected a new interesting CMS system. It is called prismic.io. And it’s cool not only because it’s name ends with .io (which is actually a top level domain for British Indian Ocean Territory) but also because it satisfy (almost) all of our important selection criterias.
5 Must-Have Features we need in our Content Management System
Dear startups of the world, how do you do your web-sites? How do you maintain and keep information on your website up to date?
Our website so far is build on top of a Twitter Bootstrap Theme we bought from wrapbootstrap.com. We took the theme, adjusted the content, put it inside the simple node.js express application and pushed it to Heroku. That’s it (how our blog works is a topic of another post).
With this approach we have maximum simplicity and control over how our web-site looks and how it works, however one drawback is - all people editing the website should speak Boostrapish, HTMLish and CSSish (LESSish).This wasn’t an issue before as our team was small (do things that does not scale) but as we grow as a company we need to find a better solution - we need a proper Content Management System (CMS).
I have to say there are many CMS out there, the most prominent/well-known are Wordpress, Typo3, Joomla, etc. Before we could make a choice (to be honest we already have a winner) here is my line-up of the 5 must-have features we look for in our new Content Management Systems.
Feature 1 - No Pages, please.
Content is no longer a number of pages - the page structure, navigation, composition should be orthogonal to the ideal CMS structure. We need content pieces that can be placed everywhere, a page, an app, an e-mail. CMS should take care about the content and designers should take care about content composition - pages/navigation/etc.
Feature 2 - Collaboration and Version Control
We use Git everywhere. Non-colaborative, non-versioned way of working is not acceptable. CMS system should support strict versioning and proper release management.
Feature 3 - Clean HTML
You saw it before - WYSIWYG editors that do not produce a proper HTML. I mean HTML which is not renders ok but also semantically correct. One of our preferred solutions right now is a Markdown, just like Github did it.
Feature 4 -
Another important feature. Content is the king. We have to make sure Google can read it.
Feature 5 - Availability, Scalability and Speed
As you might already know that Amazon have found that every 100ms of latency cost them 1% in sales revenues. The CMS we want shall not only be available and scalable, it should also be very fast (or at least have a good caching architecture).
Apart from the 5 Top Features above there are many other important aspects, like price, i18n, extensibility/hackability, programming platform and programming language support, etc. Read the next blog post where you can see what we found.
Yet another Heartbleed update
If you are like me you already seen many e-mails and blog posts about OpenSSL Security Issue (aka. Heartbleed). We took all necessary steps to protect our servers.
It is important to note that none of our systems handling HTTPS/SSL connections directly. We are using Heroku PaaS which is in turn is hosted on Amazon AWS, SSL connections are handled by Heroku’s SSL Endpoint which is nothing else but SSL Termination Proxy.
Immediately after Amazon and Heroku fixed the issues we updated our certificates, passwords and authentication tokens.
It’s important to note that we are not storing data that we transport between SaaS applications, as well as we never store (unhashed) passwords.
We do not have any evidence that passwords or any other private information has been compromised. However, as that Security Issue existed for such a long time, it is possible that an attackers could have stolen OAuth keys without our knowledge. We recommend that all our users reset your password (you can do it via this form) and reset credentials/accounts information.
Announcing elastic.io Integration Widget
Integration is not a new problem. There are many different ways to solve it, but most of the time it’s the end-user’s problem.
For example if you are using CRM X and you would like to push your leads to billing/invoicing/marketing system Y - it’s usually your problem. You can expect Y and X to give your APIs with keys and secrets, however programming and maintaining integration between them is still very complicated and error-prone process that can only be understood by 1% of internet users.
We believe that there should be another way to achieve this. Integration is not an end-user’s problem it is actually the the software vendor’s problem. Software vendors should give a simple one-click integration solutions to their end-users that can be used by 99% of us.
That’s why we created elastic.io Integration Widget.
Another great feature of our one-click integration widget is file export. The main goal of it is to export (and in future import) files into different cloud storages - you may think about it like a universal gateway to Dropbox, Google Drive and Box.com cloud storages. It works the same way as contact importer - it will guide your users through the OAuth authentication flow and selection of the target storage, once it is done you will get a user-specific WebHook URL - every file you will push there will be placed into the end-user selected storage system. It works as simple as an HTTP POST request and require only a one authentication header from your side (we will handle different authentication for different cloud storages on your behalf). Want to give it a try - check it on our website or go in documentation.
We hope you will like our integration widgets and how simple it is for you to provide the best-of-breed API integration for your end-users. The APIs that we have right now is only the beginning, we are currently working on integrating more of the contact data sources like CRMs (e.g. Salesforce or Capsule CRM), File formats (e.g. CSV, VCard) and many others. We will be happy to hear what you think about it, just drop us a line at info - at - elastic.io or in the chat window below.
Let’s meet on CeBIT
Today we would like to invite you meet Renat, Igor and Yvonne from our team at our booth at the world-biggest IT exhibition CeBIT in Hanover, Germany.
- 3500 companies from 70 countries that will present their products
- Around 300,000 visitors
- 1000 international speakers presenting from 20 different stages
All of it only in 5 days from 10th to 14th of March!
You can find our booth as part of code_n area at Hall 16, Stand D30. You will get a unique chance to see our new products in action and talk to elastic.io founders!
Ah, and by the way, if you need a ticket to visit us just tweet this:
I’m going to meet @elasticio at #CeBIT - Hall 16, Stand D30
And we will DM you the code for your CeBIT ticket.
We closed a seed investment round.
It’s been a long time we haven’t posted on our blog. Now this time is over and we are opening a new page in elastic.io history. This is an important announcement we were working for last couple of month.
We would like to announce that we have closed a significant seed investment round with a group of private investors in Germany.
We will use these resources to significantly speed up the product development, sales and marketing efforts. We will have more power to innovate and iterate quickly, and we already have two new products which will be released very soon.
Improved CSV Writer
In our last blog post we covered updates and improvements in CSV Reader, this one will show you our new CSV Writer.
Introducing CSV Reader
Today we introduce a significant update to our CSV Connector. We had an ability to write out CSV files before but over the last couple of weeks we made a significant enhancements to CSV Write and added CSV Read action.
elastic.io build and deployment pipline
This blog post will shortly describe how are building and delivering our product every day. When we started with this automation we tried many different tools our there. Our goal was to implement a automated best-of-breed build and deployment pipeline without installing and maintaining our-own development, continuous integration or version control servers.