Upload
phase2
View
363
Download
1
Embed Size (px)
Citation preview
AL JAZEERA
TIAN CHEN | MAI IRIESite Building Track
MEDIA
NETWORKA FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
OVERVIEWGoals of the digital platform
Why Drupal 8?
Digital Strategy
Site functionality highlights
Perspective and Learnings
THE DIGITALLANDSCAPE
Al J
azee
ra M
edia
Net
wor
k:
A Fu
ture
-Foc
used
Dig
ital P
latfo
rm w
ith D
rupa
l 8 → 7 Live Broadcast Channels
→ 80+ Bureaus Worldwide
→ 90+MM Monthly Pageviews
→ 25+MM Monthly Active Users
→ 50+ Digital Products
→ 70+MM Followers
→ 5 Languages
AL J
AZEE
RA M
EDIA
NET
WO
RK:
A FU
TURE
-FO
CUSE
D DI
GITA
L PL
ATFO
RM W
ITH
DRU
PAL
8 Al Jazeera Digital OptimizationADO
In alignment with AJMN Digital Strategy, ADO is direct or indirect optimization of all processes, platforms, people, partners and other enablers that are pivotal to the success of AJMN’s digital presence.
PEOPLE
Stakeholders, MarCom Experts, Researchers, Editors, Platforms Producers, Architects, Analysts, Engineers, etc.
PROCESSES
Strategy, Policies, Planning, Workplace transformation, Convergence, Workflows, SDLC, Delivery, SLAs, Procurement, etc.
TECHNOLOGY
Platforms, CMS, DAM, APIS, Infrastructure, CDN, Cloud services, Social media, Ads management, Analytics, etc.
ADO
HD Live Streaming
Mobility Platforms
Social Engagement
Video Monitoring
Digital Asset Management
Digital Analytics
APIs, BaaS & M/ESB
Unified Content Management
Assessment Services
ADO TRACKS
CONTENT MANAGEMENT
TRACK
PLATFORMS & PRODUCTS
CONTENT
MEDIA
DISTRIBUTION
AUDIENCE
PARTNERS
INTEGRATION
PROCESS
ENABLERS
PEOPLE
→ Multiple CMS platforms
→ Overstretched support, operations and maintenance
→ Fragmented technology investments
→ Multi-skilled resource hunt
→ Difficult editor-exchange arrangements
→ Multilingual
CURRENT CHALLENGES Al Jazeera Content Management
AL J
AZEE
RA M
EDIA
NET
WO
RK:
A FU
TURE
-FO
CUSE
D DI
GITA
L PL
ATFO
RM W
ITH
DRU
PAL
8
REVIEWENGAGE DISTRIBUTEORGANIZECAPTUREDISCOVER
SourcesCorrespondentsChannels Wires Partners
FormatsText & imagesAudio, videos & live streamsEmbedsDucuments
DashboardContentMediaRecommendations
BusinessEditors/peopleWorkflows/processes
PlatformsWebMobileEmailAuto importers
Packaging Semantics & metadataTag & geo-tagRelate & packageContextualizeRecommendations
TypesNews & breaking newsPolls & galleriesInfographics & blogsTimelines & playlistsSchedules & EPGWeather & results
PlatformsWeb MobileConnected devicesAPIs
PartnersCommercialCloud services
PromoteAdvertiseCampaignsGeo-targeting
TechnologyDomain names/URLsInfrastructureCDN/Multi-CDNResponsive & W3C
SocialSharesRecommendationsLikes Comments
InteractionEngage PersonalizeAd click-throughFeedback
AnalyticsHistoricalReal-time
BIDrill downsTrendsComparisonsForecasts
THE PROCESS
Requirements:
→ A flexible platform
→ Control over all content streams
→ An architecture that accommodates structured content
→ An interface for multiple content editors
A UNIFIED CMS Across All Digital Properties
1 Acquia Lightning
2 Internationalization
3 Media Management
4 Editorial Workflow
5 Content Distribution
OF THE PLATFORM
KEY FEATURES
• A lightweight Drupal distribution maintained by Acquia
• Serves as a starting point
• Covers 20% of the baseline functionality typically needed on sites:
1. Page Layout2. Preview3. Editorial Workflow4. Asset management
Image source = https://www.drupal.org/project/lightning
WHAT IS LIGHTNING?
Image source: www.drupal.org/project/lightning
• Provided a great baseline for the platform:
– Page Layout– Content Workflow– Media Management
• Reliable and transparent roadmap:
Image source: www.drupal.org/project/lightning
WHY DID WE CHOOSE LIGHTNING?
drupal.org/node/2670686
AL J
AZEE
RA M
EDIA
NET
WO
RK:
A FU
TURE
-FO
CUSE
D DI
GITA
L PL
ATFO
RM W
ITH
DRU
PAL
8
THERE ARE THREE WAYS:
1. Install Lightning and just build from there.
2. Use an extend.yml file
● Example Implementation = Acme Lightning Extend
3. Use the patch for extending a profile.
HOW TO EXTEND LIGHTNING?
github.com/balsama/acme-lightning-extend
www.drupal.org/node/1356276
MULTILINGUAL CAPABILITIES
OF THE PLATFORMAl Jazeera produces content in 5 languages within its external web pages & admin interface. Fast, efficient multilingual functionality is crucial.
• So many modules needed!
– Not all of the modules work well together
– Inconsistent handling across modules
– Must apply patches in order to survive!
• Complex admin interfaces that required multiple clicks
• Manual process for updating locales
THE PAST
INTERNATIONALIZATION IN DRUPAL 7
AL J
AZEE
RA M
EDIA
NET
WO
RK:
A FU
TURE
-FO
CUSE
D DI
GITA
L PL
ATFO
RM W
ITH
DRU
PAL
8 As you can imagine...Im
age
sour
ce: w
ww
.qui
ckm
eme.
com
/mem
e/3t
im8v
INTERNATIONALIZATION IN DRUPAL 8 Thanks to the D8 Multiligual Initiative:
we’ve got lots of goodies in Core!
Imag
e so
urce
: tw
itter
.com
/d8m
i/med
ia
TODAY’S
AWESOMENESS:
PUTTING LANGUAGE FIRST
Image source: www.drupal8multilingual.org
LANGUAGE HANDLING• Natively install in 94 languages• Assign language to everything• Language dependent blocks
INTERFACE TRANSLATION• Automated downloads & updates• Protected local translations• English customizable/removable
SOME OF THE FEATURES OF D8MI
Image source: www.drupal8multilingual.org
CONTENT TRANSLATION• Field-level configurability• Applies to all content• Views integrated
CONFIGURATION• All translatable• Built-in translation interface• All shipped are pre-translatable
SOME OF THE FEATURES OF D8MI
Image/Tweet Source: twitter.com/d8mi/status/620944418493833216
“It is a world of difference. What would take 22 or more
modules in Drupal 7 you would do with 4 in Drupal 8. And all in core.”
Kristen Pol
• Groups.drupal.org: – groups.drupal.org/internationalization
– groups.drupal.org/translations
• IRC: #drupal-i18n
• Drupal.org docs: drupal.org/docs/8/multilingual
• D8MI:– drupal.org/project/multilingual_demo
– drupal8multilingual.org
• Twitter: @d8mi
For more information on the:
Image source: twitter.com/d8mi/media
MULTILINGUAL INITIATIVE
AL J
AZEE
RA M
EDIA
NET
WO
RK:
A FU
TURE
-FO
CUSE
D DI
GITA
L PL
ATFO
RM W
ITH
DRU
PAL
8 WELL…
MANY OF US RELIED ON THE MEDIA MODULE & FRIENDS
Image source: www.drupal.org/project/media
...Or maybe you used: → Scald→ Asset→ MediaBox
The good ol’ Media Browser!
30
FILE ENTITY MODULE− Make File entities fieldable− View modes for files
CTOOLS MODULE
VIEWS MODULE
− Stream wrappers− File Entities− File and image fields
MEDIA MODULE :− Field widgets− Media Browser− Views integration
MODULES THAT INTEGRATE WITH THE MEDIA MODULE
DRUPAL 7
MEDIA ENTITY
MORE INFORMATION ON DISCUSSION AT:
FILE ENTITY
vs
groups.drupal.org/node/384813
• Extends Drupal Core File Entity
• Provides an API and UI for:
– Configuring fields and their display on File types
– Managing the File entities (view, create, edit, delete)→ /file/1→ /file/1/edit→ /file/1/delete
• File entity basically treats everything as a file. Works with custom stream wrappers to bring remote media to a Drupal siteFILE ENTITY
FILE ENTITY: drupal.org/project/file_entity
• Does not directly extend Drupal Core File Entity
• Non file-centric storage - does not assume that the media asset is a file, or even just a single asset
• Creates a new entity type: Media
MEDIA
ENTITY
MEDIA ENTITY: drupal.org/project/media_entity
• Allows you to browse, create and select entities on the system (not Media Entity-specific)
• Can be used in different contexts (for a field or with an Entity Embed button)
• Uses CTools form wizard for a multi-step workflow of selecting the image(s)
ENTITY
drupal.org/project/entity_browserBROWSER
• Allows any entity to be embedded within a text area using a WYSIWYG editor.
• Enable the entity-embed filter: Display embedded entities for the desired text formats
• If the Limit allowed HTML tags filter is enabled, add <drupal-entity data-*> to the Allowed HTML tags.
• To enable the WYSIWYG plugin, move the entity-embed E button into the Active toolbar for the desired text formats.
• Dependency on Embed module: drupal.org/project/embed
ENTITY
drupal.org/project/entity_embed EMBED
drupal.org/project/brightcove
Image source: drupal.org/project/brightcove
BRIGHTCOVE VIDEO CONNECT
MODULE
to Pronovix as well
Image source: pronovix.com
SHOUTOUT
Brightcove Video Connect for Drupal 8: Parts 1 – 4:pronovix.com/blog/brightcove-video-connect-drupal-8-part-1
-architecture-summary-and-technical-approach
AL J
AZEE
RA M
EDIA
NET
WO
RK:
A FU
TURE
-FO
CUSE
D DI
GITA
L PL
ATFO
RM W
ITH
DRU
PAL
8MODULES ENABLED IN LIGHTNING FOR WORKFLOW
AL J
AZEE
RA M
EDIA
NET
WO
RK:
A FU
TURE
-FO
CUSE
D DI
GITA
L PL
ATFO
RM W
ITH
DRU
PAL
8
AJMN WORKFLOW MODULE: MODERATION HISTORY TAB
Image source: docs.behat.org/en/v3.0
• Lightning comes with a ton of Behat tests!
• We also wrote some Behat tests for the platform. We targeted:
a. Workflow: new moderation state and transitions
b. User Permissions
BEHAT TESTS
AL J
AZEE
RA M
EDIA
NET
WO
RK:
A FU
TURE
-FO
CUSE
D DI
GITA
L PL
ATFO
RM W
ITH
DRU
PAL
8
REVIEWENGAGE DISTRIBUTEORGANIZECAPTUREDISCOVER
DISTRIBUTING CONTENT FROM PLATFORM TO SITES
WWW
Recent Content from
ContentRepository
Recent Content (B)
My Recent Content (B)
Recent Content from
ContentRepository
Recent Content (A)
My Recent Content (A)
CMS A
CMS A Content-
CMS B Content
CONTENT REPOSITORY
CMS B
WHAT DOES THIS LOOK LIKE?
• We implemented a Panel Page that has 3 blocks listing recent content:
a. Recent content (current instance)b. My recent content (current instance)c. Recent content (Content Repository)
EDITOR DISCOVERY DASHBOARD
REVIEWENGAGE DISTRIBUTEORGANIZECAPTUREDISCOVER
• CMS instances pushed content on creation, update, and deletion to the Content Repository instance
• On connected CMS instances we have a custom block on the Editor Discovery Dashboard that displays recent content on the Content Repository:
a. Leverages Core Rest and Basic Authb. Connected to a View REST Export on the
Content Repository
CONTENT REPOSITORY
REVIEWENGAGE DISTRIBUTEORGANIZECAPTUREDISCOVER
• Allows users to easily stage content from one Drupal site to another
• Use Multiversion and RELAXed Web Services to stage content from source to destination endpoints
• Involves
1. Multiversion2. Replication3. Workspace4. RELAXed Web Services
WHAT IS DEPLOY?
Image source: drupaldeploy.org
REVISIONS & REPLICATION OF
CONTENT
Image source: drupaldeploy.org
MULTIVERSION● Converts all content entities (nodes, terms,
comments, blocks, users, etc) to be revisionable.
● Deleted content can be restored.
REPLICATIONReplicate content between workspaces:
● On a single site (with the Workspace module)● Across different sites (with the RELAXed Web
Services module)
WORKSPACE
● You can have different versions of your site (with Multiversion) – these are workspaces
● Replicate content with Deploy and RELAXed Web Services across external sites
RELAXED Web Services
● Provides a REST API for sharing and replicating content
● API uses same protocol as CouchDB
VERSIONING AND REST API
Image source: drupaldeploy.org
Again, another great baseline solution for the platform:
• Ability to restore deleted content
• Push changes from a CMS instance to the Content Repository
• Many of these pieces are moving into Core as part of the Workflow Initiative
Image source: drupaldeploy.org
WHY DID WE CHOOSE DEPLOY?
A RECAP OF THE SETUP USING DEPLOY SUITECMS A
Multiversion Replication
RELAXed Web Services
Workspaces
Workspace A
MultiversionReplication
RELAXed Web Services
Workspaces
Workspace A
CONTENT REPOSITORY
THE WORKFLOW
INITIATIVEImprove content workflow, preview and content staging by extending and improving Entity API
Takes inspiration from Entity, Multiversion, Workspace, Deploy, and Workbench Moderation
Workflow Initiative drupal.org/node/2721129
Improving Drupal's content workflowbuytaert.net/improving-drupal-content-workflow
Core conversation from DrupalCon New Orleansyoutube.com/watch?v=_rAB8DJnc8Y
Kanban boardcontribkanban.com/sprint/WorkflowInitiative
MORE INFORMATION
AL J
AZEE
RA M
EDIA
NET
WO
RK:
A FU
TURE
-FO
CUSE
D DI
GITA
L PL
ATFO
RM W
ITH
DRU
PAL
8
Extending the functionality :
● Taxonomy Manager
● Mobile specific features
● PersonalizationNEXT STEPS
JOIN US FORCONTRIBUTION SPRINTS
First Time Sprinter Workshop - 9:00-12:00 - Room Wicklow2AMentored Core Sprint - 9:00-18:00 - Wicklow Hall 2BGeneral Sprints - 9:00 - 18:00 - Wicklow Hall 2A