Jason Saroyan, Director NA Partnerships Evan Witte, Strategic Partner Manager Ethan Lewis, Strategic Partner Manager Sam Gentry, Sr. Field Marketing Manager Content infrastructure enables digital teams to power content in modern websites, apps, and devices
with their customers wherever they are: modern websites, mobile apps, on-site, in-home, and beyond. We are in the middle of a massive market shift 9 Now, all companies are digital product companies
Prevents reusability and creates content silos Requires heavy customization and specific tools Monolithic suites Legacy workflows Templating Editor Database Does not fit modern software delivery pipelines
forever Cloud-based, modular architectures have become the standard for building digital products 11 Customization Interoperability Cloud-based stacks MICROSERVICES
Structured content Reuse and repurpose content, independent of channel or language Composable stack, connected to other platforms, at cloud scale Integrate with digital delivery workflows for launch & optimization Decoupled architecture Agile workflows
and experiment with new digital products more rapidly 5x faster to launch new customer touch points Modern Stack Websites 3x faster to launch new event and campaign microsites Personalized Experiences 14% increase in conversion rate with personalization integrations Agile eCommerce 66% decrease in unit cost of new digital products across business teams Digital Delivery Platforms
and repetitive content updates to agile product releases for 12M customers Before Siloed content Slow to market Technical debt 7 content sources across 5 business units, powering 30+ digital products/properties After Fast time-to-value: reference architecture Low risk: more experiments & iteration Improved agility: 11 deploys per day One content infrastructure to rule them all, across business units and digital products 4x faster
Support I N D U S T R Y Technology R E S U L T S • Single source of truth to manage content for a growing list of support services: help & technical documentation, FAQs, help articles, product documentation and evaluative resources. • Reusing content for in context JIRA platform help in the product itself • Governance such as teams, tasks, and roles & permissions support their collaborative workflows Replatform help & support to purpose built, modern stack From 2 weeks to 5 minutes to change the capitalization of JIRA to Jira across 20,000 pages of content ↓
I N D U S T R Y Transportation R E S U L T S • Web and mobile Help Centers for all major markets powered by Contentful • Reusability of content across audiences: driver, rider, and call center support • Easily manageable content: all articles for drivers and riders to find commonly asked questions in a single repository • Advanced keyword search capabilities Consistent self-serve, omnichannel experiences ↓ Drastic reduction in time and resources spent updating and maintaining consistent answers across audiences
I N D U S T R Y Financial Services R E S U L T S • From completely hard coded Help Center and .com to easily searchable answers with Algolia including FAQs with setup instructions, product walkthroughs and more • Integration with Zendesk allows for easy triage and ticketing workflows minus the context switching • Increased innovation & sophistication: now teams can test and experiment on visuals, without wasting dev hours Seamless & extensible customer support experiences Decreased time on content changes; went from one month to just minutes ↓
delete content and content model Content Preview API Read-only Retrieve draft and updated content in addition to published content Content Delivery API Read-only Retrieve published content to display in an app or website Images API Read-only Retrieve and apply transformations to images stored in Contentful Contentful has 4 Core REST APIs
Web App Content Management API SDK SDK SDK Apps & Websites Conversational & Wearables Apps & AR/VR Powerful CLI and tooling to integrate into existing developer workflows or to help define brand new workflows The APIs, webhooks and SDK’s developers need to power content in any digital product. Content Preview API Customizable web app for marketers and publishers to collaborate and create content. Developer Images API
never have to pause content creation to wait for developers to make website changes Editors never have to wait for developers to deploy new or changed content Developers can run a full “code-like” change management process with version control, QA and CI/CD using the tools they are familiar with. Developers won’t get bogged down with ad hoc requests to update content
a company. Users A User can have access to all or limited access to certain spaces based on roles & permissions. Spaces A child entity of an organization. A container for content, assets and UI extensions. Environments Are entities belonging to a space, they contain an isolated copy of content and assets. Implications for content modeling 30
1. Fast implementation. Fast performance. - Cloud-native SaaS with CDN - Use the development tools you know - Fast, scalable content migration and transformation using code 2. Build any user experience for any device (anywhere). ‐ A large collection of SDKs ‐ Flexible content models ‐ Designed for easy localization 3. Take advantage of the “modern stack” architecture. - Combine best-of-breed, single purpose apps (micro-services) - Built-in integrations with popular platforms - Connect platforms easily using webhooks and UI extensions
on Server Static Site Generator Dynamic on Device A client-side app using the Contentful SDKs requests content from the Contentful APIs and renders the content on the device. A server-side app receives a request from an end user, retrieves content from Contentful (and possibly other data sources), renders the content, and sends it back in response. A static site generator fetches content from Contentful at timed intervals or on content change webhook then builds the rendered HTML pages and stores them on a static web host.
– no stale data • Easier SEO • Secure secrets (API tokens not exposed to end-users) Cons • Server-related scalability ($$$) • Higher page latency • Requires external caching or CDN • Potential single point of failure Dynamic on Server
is fast and simple to serve • Secure secrets (API tokens not exposed to end-users) Cons • No immediate preview/potential for stale data • Web page-centric • Generation time can be problematic for frequent content changes • Requires external hosting, caching, and CDN Static Site Generator (SSG)
on Device JavaScript framework takes over user interaction and hydrates page Page initially built server-side on Node.js with JavaScript framework that supports isomorphic execution (e.g. React)
delete content and content model Content Preview API Read-only Retrieve draft and updated content in addition to published content Content Delivery API Read-only Retrieve published content to display in an app or website Images API Read-only Retrieve and apply transformations to images stored in Contentful Contentful Core APIs
Web App Content Management API SDK SDK SDK Apps & Websites Conversational & Wearables Apps & AR/VR Powerful CLI and tooling to integrate into existing developer workflows or to help define brand new workflows The APIs, webhooks and SDK’s developers need to power content in any digital product. Content Preview API Customizable web app for marketers and publishers to collaborate and create content. Developer Images API
You can modify content programmatically and refactor the content model • Enables CI/CD – Allows you to easily move content between spaces and environments using scripts • No CDN – Calls to this API are not cached, so you get and edit the most up-to-date content Content Management API
changes made to content, so when updating content, you need to send the entire body of an entry. If you update content with a subset of properties, you will lose all existing properties not included in that update. You should always update resources in the following order: - Fetch current resource. - Make changes to the current resource. - Update the resource by passing the changed resource along with current version number. Content Management API
access to both published and unpublished content • Editorial Preview – powers a preview deploy/version of your frontend to allow content editors to see their content exactly as it will look when published • Read Only – You can’t accidently change content • No CDN – Calls to this API are not cached so preview will always have the most up-to-date content Content Preview API
API (CDA) for published content, the Preview API is for previewing unpublished content as though it were published. It maintains the same endpoints and parameters as the CDA, but delivers the latest draft, updated, and published entries and assets. This is a read-only API API Base URL https://preview.contentful.com Learn more about the Preview API
• Read Only – You can’t accidently change content • Published Only – You can’t accidentally reveal unpublished content • CDN – Calls to this API take advantage of the Contentful CDN Content Delivery API
highly scalable, read-only API for delivering content to apps, websites, and other channels. This API is available via a globally distributed content delivery network (CDN) API Base URL https://cdn.contentful.com Content Delivery API
ea69ebac5e282b9e44d28fb340f778a4f5e788625a61abe - Parameters - space_id yadj1kx9rmg0 - environment_id staging - entry_id 5KsDBWseXY6QegucYAoacS - access_token fdb4e7a3102747a02ea69ebac5e282b9e44 d28fb340f778a4f5e788625a61abe Content Delivery API More details Get a single entry
Contentful and resize or transform it at delivery time to match the size & quality needed for the requesting device • Read Only – You can’t accidently change content • CDN – Calls to this API take advantage of the Contentful CDN Images API
and manipulation of image files referenced from assets. In other words, the Images API allows you to resize and crop images, change their background color and convert them to different formats Upload high-quality assets, deliver exactly what your app needs and still get all the benefits of our caching CDN API Base URL https://images.ctfassets.net
and manipulation language for APIs, and a runtime for fulfilling queries with existing data • It allows clients to define the structure of the data required, and exactly the same structure of the data is returned from the server, therefore preventing excessively large amounts of data from being returned • GraphQL schemas are strongly typed - reliably know what type of data is where
Contentful. • Each space has a GraphQL schema based on its content model. The schema is generated at request time so it is always current. • You can use this API to consume both published and unpublished content. • There is query complexity limit currently set to allow retrieval of 11,000 entities in one request • This API supports schema stitching which allows two or more GraphQL APIs to be combined into a single schema that can be presented to a client application GraphQL Content API
to a company. Users A User can have access to all or limited access to certain spaces based on roles & permissions. Spaces A child entity of an organization. A container for content, assets and UI extensions. Environments Are entities belonging to a space, they contain an isolated copy of content and assets. Implications for content modeling 78
Type (reference) Shoe Size Sole type Heel type Pants Waist Length Type (formal, casual) Shirt Sleeve length Collar Fabric weight You can add or change fields that apply to every product without duplicating the change for every product type
Field Level Localization Entry Level Localization using Localization Objects Title Slug Text (EN) Text (FR) ... Title Slug Ref 1 Ref 2 ... Title Text (EN) 90
• Conduct an audit of existing content • Create prototypes of future content • Assemble screen shots into a slide deck Create a draft model based on visible fields • Create a list of visible fields from instances of each content type • Reconcile similar fields to create a master list • Group fields into content types of appropriate size & define relationships Revise model for functionality & best practices • Add invisible “meta” fields (for queries, workflow, webhooks, etc.) • Optimize for content creators • Optimize for developers • Implement naming conventions QA: Validate with actual content • Try to “break” the content model by using it to build diverse instances or real world content Test with Content Creators • Watch authors use the content model (usability test) • Create documentation, help and job aids Test with Developers • Have developers QA the model against front-end, migration scripts, etc. Test with Designers • Have designers test the content model by creating a variety of designs Assemble key stakeholders to define strategy • Clarify business objectives • Agree on required functionality • Make strategic content architecture decisions STEP 1 STEP 2 STEP 3 STEP 4 STEP 5 STEP 6 STEP 7 STEP 8 94
everywhere 2. Customizable workflow—build the approval process you need 3. Independence—add or change content instantly without the assistance of technical teams 4. Version control—see earlier versions of content and roll back instantly 5. Flexible localization—easily manage country-specific or audience-specific text and images So, what’s in it for Content Authors? Demo 96
them into new content instantly (no fussing with multiple browser tabs, copy and paste, or human errors). Custom UI for Spotify Artists content creators
Separate central content from experimentation • Deliver experiences fast • Minimize context switching/cognitive drain • Eliminate mistakes (less manual, less error prone) Why did we build it? Business problems 110
SDK Optimizely SDK Cache: Datafile Invalidate when experiment changes Content Delivery API: Data holds variations of content Tracking Presentation Layer Content Delivery API: Flattened data with selected variation of content
to a company. Users A User can have access to all or limited access to certain spaces based on roles & permissions. Spaces A child entity of an organization. A container for content, assets and UI extensions. Environments Are entities belonging to a space, they contain an isolated copy of content and assets.
or different use cases unless they need to share content • For large scale implementations, consider putting global shared content, team shared content and project-specific content in separate spaces • Roles are specific to a space—use separate spaces if the same users need different permissions Tips for getting the most out of spaces
microservice 1 all projects at org Project Spaces Content consists of Assemblies, Topics, and Media Best pattern for use cases where all of the following are true: • Content types and/or content entries are reusable across projects. • Projects all have the same localization needs. • Roles & Permissions provide sufficient access controls across all projects. • Content is intended to be used for multi-channel delivery. • Multiple teams or business units want to collaborate together across projects.
specific content Space 2 Used for microservice 2 specific content Space N Used for microservice N specific content ... Project Spaces Content consists of Assemblies, Topics, and Media Best pattern for use cases where one or more of the following is true: • Content types are not reusable across projects. • Projects have different localization needs. • Roles & permissions cannot be effectively used to create granular access controls. • Business units have a regulatory or legal requirement to keep their project and content separate.
content Space 2 Used for microservice 2 specific content Space N Used for microservice N specific content ... Shared Space Used for highly reusable content across org Global Shared Spaces Project Spaces Shared Space 1 Used for reusable content for line of business 1 BU/Team Shared Spaces Shared Space K Used for reusable content for line of business K ... Content consists of Assemblies, Topics, and Media Requires UI Extension for cross space referencing
• Will governance rules (i.e. user roles and access permissions) be the same or different among the teams and projects? • Will content types be the same and/or shared across projects? • Will projects have the same localization requirements? Same or different set of locales? • Is there a legal or regulatory requirement for projects and their content to be isolated? Things to think about
Microservice Spaces could be defined based on: – Business Units – Business Functions – Projects – Content/Dev Teams • Goals: – Reduce dependencies and time-to-market – Improve release/publish lifecycle Space Planning Strategy
compiles as expected. 2. Test Run automated tests; unit tests; integration tests. 3. Migrate Run your migration scripts to update your content model for the space/environment you will next deploy to. 4. Deploy Deploy the application to a number of environments. Often to a staging or pre-production environment manually test before deploying to production. 5. Test Run automated end-to-end tests against the environments you deployed your application to in the previous step. CI/CD Best Practice
promotion or rollback is achieved by retargeting the alias to another environment – which happens instantly • Production content is served from unscoped/master API routes through the master alias • Currently only master can be an environment alias Environment Aliases In a nutshell
longer a stand-alone environment but acts as an alias targeting another environment Production content is served from release-1 environment Execute migration scripts Production content is now served from release-2 environment Release 2 release-1 release-2 Environment aliases Change master alias to target release-2 environment master Release 3 release-3 Optional: Delete release-1 environment Production content is now served from release-3 environment Change master alias to target release-3 environment
a stand-alone environment but acts as an alias targeting another environment Production content is served from release-1 environment Execute migration scripts Change master alias to target release-2 environment Production content is now served from release-2 environment Promote Problem discovered! Rollback is required Rollback Rollback master to target release-1 environment release-1 release-2 Use case: Promote an environment to master master
environment but acts as an alias targeting another environment Content is served from prod environment Run migration scripts Restore by changing master alias to target prod-backup environment Backup Problem discovered! Rollback is required Restore prod prod-backup Use case: Backup and restore master Optional: Delete prod environment prod Optional: Recreate prod from prod-backup Change master alias to target prod environment
where you can see JSON output 2. Create the environments you need for CI/CD. Optionally use scripts to clone the master environment. 3. Create a script to programmatically build the full content model 4. Create migration scripts to move content into and out of the content model 5. After testing, propagate your changes into the Prod environment 5 Steps
JSON to speed your future script writing. Experiment with different data models. Try to add complex relationships in your model, how is that represented in JSON? 1. Create content types in the web app
is a full isolated clone of the master environment. Includes a full copy of all the content types, entries, assets, locales and webhooks. You can setup as many environments as your workflow requires. 2. Set up your initial environments
File: content-model-v1.js Write a script to execute your content model. File: create-model.js Invoke with Contentful CLI against one of the test environment. contentful space migration --space-id abcedef --environment-id feature-wow create-model.js 3. Create a script to build the content model
an existing content model, i.e. migrate your content model. File: content-model-animal-v2.js Execute with same script, except use new file: contentful space migration --space-id abcedef --environment-id feature-wow create-model.js Note when you execute a content migration, both the content type and all content entries (records) based on that content type are updated!
tested and verified your changes in sandbox environment, apply the content model migration to production by simply executing the same script but specifying master as target environment. contentful space migration --space-id abcedef --environment-id master create-model.js
do not prevent the currently released version of the software from running New fields and content types By leaving the existing content in place, while augmenting the content types and content such the new version of the software can also run. The content model can now support both the current version and the new version of your software in parallel. Add Transform
tailored to the requirements and objectives of your organization. A space is a content repository serving a single project / team. Guaranteed levels of service uptime and customer support responses for running business-critical websites, apps, and digital properties. The number of users included in the subscription. API calls and asset bandwidth amount included in the subscription and the fees for consuming additional units. Spaces Platform SLA Users Utility limits Platform Spc 1 Spc 2 Spc 3 Spc 4 Spc 5 Spc 6 SLA + +
Severity 1 (Critical) 8 biz hrs 4 hrs 1 hr 1 hr Severity 2 (High) 16 biz hrs 8 hrs 2 hrs 2 hrs Severity 3 (Standard) 24 biz hrs 8 biz hrs 4 biz hrs 4 biz hrs Service availability Content Delivery API 99.5% 99.7% 99.9% 99.99% Content Management API 99.5% 99.5% 99.5% 99.5% Asset CDN 99.5% 99.7% 99.9% 99.99% **When the customer is on the High Availability platform
terabytes/ month Enterprise Space 7,000,000/ month 2 terabytes/ month Overages API Calls Bandwidth Standard Space $5/Million api calls $65/ 1 terabyte Enterprise Space $5/Million api calls $65/ 1 terabyte
Digital Products Content Platform Digital Organization Speed or cost-driven Value-driven High performance, high velocity, multi-channel delivery Modern stack site or app Campaign optimization Cross-channel customer journey Innovation hub Non-web interface Global marketing & localization SEO landing pages at scale Digital workforce applications Knowledge portals The path to value What are you building now? What do you aspire to? Agile eCommerce
Mobile phone marketing Contentful facilitates highly reusable architectures Example: a 3-tier content architecture covering the org, teams, and individual applications ← Line-of-business domains GLOBAL Tier 1 spaces for teams focused on highly reusable content APPLICATION Tier 3 spaces for teams focused on app-specific content BUSINESS UNIT Tier 2 spaces for teams focused on line-of-business content ← Org-wide components ← Specific content services Mobile accessories Mobile deals Employee phone program Mobile overview
content repositories. Use your favorite tools and preferred technology to build your digital architecture. Select the components you need to get started fast, and grow to enterprise scale. Interoperability Composability Structured Content Empower your digital teams to work together to ship products faster. Staying true to our beliefs
content across channels and campaigns using agile iterative processes. • Content planning • Content creation & curation • Content delivery pipelines • Growth and execution Content operations at scale Modern experience stack A modern experience management stack enabling teams to build use-case specific solutions through rapid iteration and integration of best-of-breed tools and services. • Open, modular stacks • Seamless orchestration • Cloud performance • Security & compliance
of services. Integrating these stacks with Contentful is possible but it requires significant time and resource investments. Benefits We allow customers to work with their favorite services easily and in an adaptable, encapsulated way. We are lowering the entry barrier to integrated solutions without re-inventing the wheel. The best way to do that is through a powerful Contentful Apps offering. Next Milestone The team is looking into several tracks across Q4 and Q1: • Enabling first customers to build their own Contentful Apps • Release a set of reference Contentful Apps which enable more advanced use cases for Apps Apps framework and reference apps Q4
leverage our SSO offering have to follow a multi-step workflow to get new users set up with the right roles & permissions. Because this process is manual and typically involves multiple different teams, it is error-prone and doesn’t scale well for the needs of larger organisations. Benefits SCIM makes it very easy to add and manage access for users. It also adds to our security and compliance offering by following best practices for identity and access management. Next Milestone In Q4, we are completing the foundational work needed in order to make the user creation process on our platform compliant with the SCIM schema. We are also preparing an early access program for 1-2 customers to get access to SCIM before we release it in Q1 2020. Please let us know if you are interested! Q1
their organization did not have the ability to enable two-factor authentication to protect access to the Contentful web app. Benefits Non-SSO customers will now be able to enable two-factor authentication for their user account. SSO customers will still be able to enable 2FA through their SSO provider which will continue to work with the Contentful authentication workflow. Next Milestone The team will be looking for early adopter customers to try out enabling 2FA soon. The first release will be available in 2019 Q4. Q4
ensure deleted assets are permanently removed from the Contentful platform • Customers need to comply with regulation / legislation requirements Benefits • Enable new uses cases that allow Contentful to manage and deliver sensitive content • Enable customers to comply with specific governance / regulatory / legislative requirements Next Milestone • New assets management service layer that invalidates and purges asset files on the CDN • Working on the solution proposal for Milestone 2 - Asset Authentication Q4
of content. They have linked structured content that needs to be published together, such as topics and assemblies. They also have unlinked but otherwise-related content that needs to be published at the same time, such as embargoed product releases and website updates. Benefits Practitioners are able to group batches of content, related or unrelated and release them together. This enables them to easily launch embargoed releases at specific times and coordinate site-wide updates. They have more confidence that they will have a successful launch without missing any references or other structured content components. Next Milestone Working on design and discovery. Have some initial designs created and we are conducting research.
change over time. In the US, for example, many stores (online and off) run campaigns around US thanksgiving for Black Friday and Cyber Monday. These campaigns run over a four-day holiday weekend. They need to update specific content entries multiple times over that time period but currently have no way to have multiple versions of an entry in Contentful. They need to modify the entry, publish, modify again, etc. A single entry is involved in that process, which prevents them from using multiple entries to achieve this. Benefits Practitioners and campaign managers will have the ability to manage multiple variants of the content and schedule these versions to go live at different times. In the above example the Black Friday and Cyber Monday campaign banners would be planned in advance then released sequentially. Next Milestone Currently in early design and discovery phase.
to be able to define and enforce content permissions to ensure that each team can only manage the specific subset of entries that belong to their domain (business unit/function, region, product line or brand). Part of such collaboration also requires defining further what kind of content permissions need to apply within a space environment. Benefits Providing more flexibility to define permissions on an entry- and environment-level will allow practitioners and developers to efficiently collaborate on a larger scale. The improved governance model will increase productivity by limiting access to relevant content and environments and help streamline processes for content and development operations. Next Milestone We are researching and testing possible solution approaches, and are planning to get some prototypes available for testing with customers within the course of Q4. Roles and permissions improvements
to intranet/gated/membership/paid assets, and other forms of protected assets • Customers need to comply with regulation / legislation requirements Benefits • Enable new uses cases that allow Contentful to manage and deliver sensitive content • Enable customers to comply with specific governance / regulatory / legislative requirements Next Milestone • Researching and validating possible solutions with customers through Q4 • Propose a solution for Milestone 2 - Asset Authentication to implement Q1 and onwards
Structured content Reuse and repurpose content, independent of channel or language Composable stack, connected to other platforms, at cloud scale Integrate with digital delivery workflows for launch & optimization Decoupled architecture Agile workflows
Documentation • Developer Portal • Join our Meetups & Webinars (Gatsby,..) Keep track of new things • Changelog • What’s New Enjoy building with Contentful!
creation flows for environments • Space backups: offer options to backup spaces to enable disaster recovery for customers • Developer tooling: support of more advanced developer workflows Developer workflows
roles/permissions via SSO/IDP • Usage reporting enhancements: add support for GraphQL usage reporting and asset bandwidth historical view Org management