hacienda.io - a new approach to content management

27
HAÇIENDA.IO A New Approach to Content Management Alina Băluşescu & Mircea Moise

Upload: thoughtworks

Post on 06-Aug-2015

387 views

Category:

Technology


2 download

TRANSCRIPT

HAÇIENDA.IO A New Approach to Content Management

Alina Băluşescu & Mircea Moise

WHO ARE WE?

2

Alina Băluşescu

Mircea Moise

THE PROBLEM With so many different forms of content, how do we (easily) manage it all?

3

THE SOLUTION? 4

A web content management system (WCMS) is a software system that provides website

authoring, collaboration, and administration tools designed to allow users with little

knowledge of web programming languages or markup languages to create and manage

website content with relative ease.

5

– Mike Johnston

CONTENT MANAGEMENT SYSTEMS

6

7

8

THE ALTERNATIVE –

9

BUILD OUR OWN!

OUR APPROACH

•  Content-as-a-Service

•  Good development practices

•  Avoid locking in a solution from the start

•  Easy for content editors and devs to use

10

11

haçienda.io

CONTENT MANAGEMENT != CONTENT EDITING

12

13

thoughtworks.com edit.thoughtworks.com

Read Write/Update/Delete

DEMO

THE DETAILS 15

HAÇIENDA.IO

Data is not Presentation

16

DATA IS NOT PRESENTATION

17 17

{  ”name”: “Aman Bhutani”,  ”job_name”: “SVP of Worldwide Engineering”,  ”job_description”: “Aman Bhutani leads the engineering team… ”}

HAÇIENDA.IO

RESTful Interface

18

RESTFUL INTERFACE

19

Action HTTP Verb URL Header Retrieve draft GET /:type(/:id) Accept-Language: :locale Retrieve public GET /:type(/:id)/public Accept-Language: :locale Create POST /:type/:locale - Publish POST /:type/:id/:locale - Update PUT /:type/:id/:locale - Delete DELETE /:type/:id/:locale -

HAÇIENDA.IO

Translations as

Content Negotiation

20

TRANSLATIONS AS CONTENT NEGOTIATION

21

Action HTTP Verb URL Header Retrieve draft GET /:type(/:id) Accept-Language: :locale Retrieve public GET /:type(/:id)/public Accept-Language: :locale Create POST /:type/:locale - Publish POST /:type/:id/:locale - Update PUT /:type/:id/:locale - Delete DELETE /:type/:id/:locale -

HAÇIENDA.IO

Authentication not Authorization

22

HAÇIENDA.IO

Git as

storage mechanism

23

GITHUB AS SINGLE SOURCE OF TRUTH

24

DEMO

THE FUTURE

•  Get to v1.0

•  Get to a stable API

•  Leverage more Git

•  More modular system •  translation logic can be swapped

•  user has more control over authentication

•  Want to get involved? Fork the repo 26

THANK YOU Further reading/sources:

http://hacienda.io/xconf.html

[email protected] [email protected]