Technology of the New News Workflow

Post on 27-Jan-2015

119 Views

Category:

Technology

9 Downloads

Preview:

Click to see full reader

DESCRIPTION

My presentation at WordCamp Miami - Feb 20, 2010. Covering True/Slant's enhancements to WordPress MU - Editorial and cross-network / multi-site. Get more details on this topic at http://trueslant.com/rogertheriault/

Transcript

Technology of Technology of the New News the New News

Workflow*Workflow*Roger TheriaultRoger Theriault

True/SlantTrue/Slant

*featuring WordPress MU*featuring WordPress MU

True/SlantTrue/Slant

Contributors - TaibbiContributors - Taibbi

Contributors – Colin Contributors – Colin HorganHorgan

Contributors – Miles Contributors – Miles ObrienObrien

Content surfaces on Content surfaces on main sitemain site

Inbound Inbound TrafficTraffic

>80% of >80% of inbound traffic inbound traffic is to individual is to individual postsposts

We also need to We also need to expose these expose these users to users to True/Slant via True/Slant via the single page the single page templatetemplate

WidgetsWidgets

Related Posts and Related Posts and StreamsStreams

Topic StreamsTopic StreamsHow to combine?How to combine?

Every author has a different way to Every author has a different way to organize categories, and a different organize categories, and a different opinion of what belongsopinion of what belongs

We devised a ½ editorial, ½ We devised a ½ editorial, ½ automated Topicautomated Topic

Fed by designating categories from Fed by designating categories from specific contributorsspecific contributors

Fine tuned by manipulating on a post Fine tuned by manipulating on a post by post basisby post basis

StreamsStreams

StreamsStreams

Editorial Editorial overridesoverrides

Default Default based on based on post post categoriescategories

AJAX of AJAX of coursecourse

FollowingFollowing

FollowingFollowing Simple list of Simple list of

contributor ids contributor ids (and topics) (and topics) stored for each stored for each useruser

AJAX controlsAJAX controls Other modules Other modules

use the follow use the follow data (eg: email data (eg: email alerts, alerts, Facebook)Facebook)

User Activity User Activity FeedFeed

Constant stream of Constant stream of user activity on the user activity on the sitesite

PostsPosts Comments by userComments by user Comments on user’s Comments on user’s

postpost Headline GrabsHeadline Grabs New followsNew follows Etc.Etc.

User Activity User Activity FeedFeed

Master activity tableMaster activity table Multiple unique indexesMultiple unique indexes

Event typeEvent type Acting userActing user Receiving userReceiving user TimestampTimestamp Blog idBlog id Post id or Link idPost id or Link id Comment idComment id

Reciprocal events for Reciprocal events for receiverreceiver

EditorialEditorial

Surface Surface compelling compelling contentcontent

Leverage Leverage existing existing informationinformation

Simple interfaceSimple interface Don’t get in Don’t get in

anyone’s wayanyone’s way

Comment Comment CurationCuration

Surface the best Surface the best commentscomments

But permit the But permit the entire thread to entire thread to be seenbe seen

Show in streams Show in streams and activity feedsand activity feeds

Keeps Keeps conversations conversations civilizedcivilized

CommentComment Curation Curation

Simple AJAX Simple AJAX controls to controls to “Call Out” a “Call Out” a commentcomment

Alerts hook into Alerts hook into it to send user it to send user notificationsnotifications

Rest is Rest is templatestemplates

Comment CurationComment Curation

News NowNews Now

Network HeaderNetwork Header

SearchSearch

Contributor ToolsContributor Tools

Technical ChallengesTechnical Challenges

How to integrate so many blogs?How to integrate so many blogs? Consistent experienceConsistent experience Fast performanceFast performance

Caveat – what we are Caveat – what we are doing is OKdoing is OK

No need to write everything as a No need to write everything as a separate pluginseparate plugin

Need flexibilityNeed flexibility For easy scalability and maintenance, For easy scalability and maintenance,

build hooks and filters inbuild hooks and filters in Be ready to throw a bunch of code Be ready to throw a bunch of code

awayaway Don’t hack core! Copy and change Don’t hack core! Copy and change

functions if needed.functions if needed.

Editorial - AJAXEditorial - AJAX

Editors can’t always remember which tab in Editors can’t always remember which tab in Admin to go to, so we put everything right in Admin to go to, so we put everything right in front of themfront of them

Lots of hover – click elements for editorsLots of hover – click elements for editors Some even for contributors Some even for contributors

Curate CommentsCurate Comments On backend, simple option storage usually is On backend, simple option storage usually is

sufficient for editorial datasufficient for editorial data Consistent UI elements eliminate complexityConsistent UI elements eliminate complexity Conditional loading of editor elements and Conditional loading of editor elements and

scriptsscripts

RSS – noRSS – no

WordPress tablesWordPress tables

PostsTable

WordPress MU tablesWordPress MU tables

PostsTablePosts

Table

PostsTable

WordPress MU tablesWordPress MU tables

PostsTablePostsTablePosts

Table

X 300

?

PostsTable

Shadow tablesShadow tables

PostsTablePostsTablePosts

Table

X 300

MasterPostsTable

Shadow TablesShadow Tables

Topic StreamsTopic Streams SearchSearch Related PostsRelated Posts Activity Feed dataActivity Feed data Stats dataStats data

not individual blog not individual blog postsposts

Thank YouThank You

Roger Theriault Roger Theriault roger@rogertheriault.comroger@rogertheriault.com

http://trueslant.com/rogertheriault/http://trueslant.com/rogertheriault/

True/SlantTrue/Slant http://trueslant.com/http://trueslant.com/

““News is more than what happens”News is more than what happens”

top related