This is the talk I gave at Breaking Development 2012 in Dallas. It discusses the Axilent Platform, and it's use in multi-channel publishing: to mobile devices, tablets and whatever else is on the horizon.
10. Just publishing
every piece of
content in the
repository is dumb.
11. Editorial Policy
• Editorial policy decides what, when and where to publish content.
• In the pre-Internet and WYSIWYG world, done with content selection and
layout decisions.
• However, in the multi-channel world, layout doesn’t make a lot of sense any
more.
12. Content Channels
• Automates editorial policy
• Any mix of content selection
algorithms
• Accessed through the API
• Change the mix at any time
without re-programming.
21. Structuring Content With Content Types
• Structure defined by
Auth
Title Fields
or
• Fields have data types
• Publishing channels can
rely on structure of
Article content
Catego
Body ry
22. Structuring Content With Content Types
• Fields have Saliency
Auth
Title
or
• How relevant is a
content item with a
matching field?
• Assists with content
Article selection algorithms
Catego
Body ry
28. Process Steps: Automated Content
Processing
• Shapes content in
preparation for
publishing
• Automatically applied to
content when it passes
through a Process Step.
29. Process Steps: Automated Content
Processing
• Truncate words
• Sanitize text
• Convert to slug
• Auto-tagging
• More to come!
31. Deploy Steps: Publishing Content
• On deployment, content
becomes available to the API
• Content published to
“Deployment Targets”:
availability zones for content
• A Deployment Step can publish
to any number of Deployment
Targets
34. Integration
• Content API retrieves deployed
content and Content Channels
• Library API pushes content into
the repository
• Integration with legacy CMS
possible
• WordPress plugin, more to
come!
- Good morning, I’m Loren Davie - CEO of Axilent - Talking today about publishing content on the Internet
The problem we used to have: - Get content onto the website, or maybe... - Get content into print and onto the website
- The solution: Content Management Systems - WYSIWYG: What You See Is What You Get - A nice bridge for people from print backgrounds - Based on the underlying assumption that the web is the only destination for the content
The problem we have now: - Get content onto the website, the mobile site, the mobile apps, the tablet apps, the retina display version... - What about devices that haven’t been launched yet?
- Should we make totally separate publishing workflows for separate channels? - It’s been tried, and it didn’t end well - Multiplies the effort and cost, per channel - won’t scale
- the way forward: NPR’s Create Once, Publish Everywhere - publishes content through an API, where it is then consumed by various apps etc. - controls production effort and cost, regardless of the number of devices showing NPR content
- Automated publishing via an API - A central repository of structured content - Central - so content changes are reflected everywhere the content is published - Structured - composed into significant fields (title, body etc), to be visually formatted by target publishing channel
- Automated publishing via an API - A central repository of structured content - A unified workflow
- Just pushing up every piece of content in the repository is dumb - Editorial policy: what / when / where? - Used to be controlled with layout (in a print / WYSIWYG world)
- Now done with Content Channels - any mix of curated or selection algorithms - Content Channel accessed via API - Change the mix without reprogramming
- Content Channel mix - Add curated item - Related by field - Publish channel to Deployment target - Pull content via REST console
- What if you need different versions of content for different purposes? - target devices: web, mobile, tablet - i18n: languages and locales
- What if you need different versions of content for different purposes? - target devices: web, mobile, tablet - i18n: languages and locales
- Content Flavors offer parallel versions of content
- “Flavors” of content are comprised of fields appropriate to their Flavor
- Flavors and Channels work together - Set a Channel to a specific Flavor, or pass in a Flavor as an argument to the Channel - Once set to a Flavor, the content items from that Channel will only contain the fields associated with that Content Flavor
- Set a Flavor on a Channel, republish - Pull content via REST console, show how only flavor fields have been returned
- Content structure defined by the Fields of Content Types - Fields have data types - provides content integrity - publishing channels can rely on format of content coming from the system - Salience - answers question What is Relevant? - is how we can determine relevance between content items - assists with content selection algorithms
- Content structure defined by the Fields of Content Types - Fields have data types - provides content integrity - publishing channels can rely on format of content coming from the system - Salience - answers question What is Relevant? - is how we can determine relevance between content items - assists with content selection algorithms
- Each content type has a workflow with steps that define - Editing and review of content - Automated processing of content - Deployment of content - A single workflow can manage the entire publishing lifecycle for content, regardless of the number of target publishing formats
- The Inbox: where you go to edit content - Workflow determines what’s in your inbox - The Content Type controls editing forms - At the conclusion of editing, user can move content forwards / backwards in workflow
- The Inbox: where you go to edit content - Workflow determines what’s in your inbox - The Content Type controls editing forms - At the conclusion of editing, user can move content forwards / backwards in workflow
- Automatically process content with a workflow step - truncate words - sanitize text for web - convert to slug - more to come! - Processing pipes control the flow of processing - Usage example: use Truncate Words in conjunction with Content Flavors to solve the mobile summary problem
- Automatically process content with a workflow step - truncate words - sanitize text for web - convert to slug - more to come! - Processing pipes control the flow of processing - Usage example: use Truncate Words in conjunction with Content Flavors to solve the mobile summary problem
- Create a process workflow step - Show processing pipes - Apply Truncate Words process to content
- When content is deployed it becomes available to the API - Deployment Targets: content “availability zones” for the API - Deploy Steps in workflow can specify as many Deployment Targets as you want. When content items hit the deployment step, they are deployed.
- Set up a deployment step
- RESTful APIs - content is serialized as either JSON or XML - Library API - Lets you push content into the Axilent repo - Enables integration with legacy CMS’s. - Wordpress plugin exists, more to come! - Web Hook workflow step lets you integrate external processes into the workflow. - Content API lets you get content out of Axilent - API is secure: API key + HTTPS
- RESTful APIs - content is serialized as either JSON or XML - Library API - Lets you push content into the Axilent repo - Enables integration with legacy CMS’s. - Wordpress plugin exists, more to come! - Web Hook workflow step lets you integrate external processes into the workflow. - Content API lets you get content out of Axilent - API is secure: API key + HTTPS
- Main documentation site: docs.axilent.com - API reference documentation: www.axilent.net/api/dir
- Provides - Automated publishing via an API - Central repository of structured content - Unified publishing workflow - Free to open an account - No credit card required to open an account - Free for developer use - Pay for production deployment - prices based on API usage
- Provides - Automated publishing via an API - Central repository of structured content - Unified publishing workflow - Free to open an account - No credit card required to open an account - Free for developer use - Pay for production deployment - prices based on API usage