Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Changes that still need to be made before launch of the updates include:

...


Info

Recent additions to this section include:

  • New sites may not be developed in Drupal, and all new CMS development plans must be reviewed by PBS.
  • Sites must still function properly if their IP address and domain name change.
  • Sites hosted on Amazon must be repeatable.

Compatible Web Server Software

...

and

...

Info
titleDraft Document

This doc has been updated to link to the PBS Product Documentation and Producer Exchange where applicable.

  • The server software version have now also been moved to the Docs area
  • The DB compatibility section has also been moved.
  • The MovableType supported version list has also been updated.
  • A new load-testing and performance testing section has been added.
  • UUA is now a requirement for any site that requires registration and login

Compatible Web Server Software

...

Architecture

Producers are required to develop sites and databases that are compatible with PBS's existing Web server software and architecture. Specifications for sites and databases developed on PBS's dedicated Amazon servers is available at http://docs.pbs.org/x/fYCr, and specifications for sites and databases developed on PBS's internal servers is at http://docs.pbs.org/x/fQHB.

Support for Amazon EC2 Dedicated Hosting

In an effort to provide PBS producers greater flexibility to innovate as well as greater freedom to tackle emerging issues, PBS is providing selected producers with small high-performance dedicated servers. These dedicated servers provide content producers with greater technological freedom to innovate and experiment with new technologies. They also introduce isolation between producer sites, dramatically reducing the impact of adverse events.

With this additional freedom and flexibility the producer now has nearly complete control over their environment and the means to address all issues. This server is for the exclusive use of the producer to which it has been assigned. 

Technical support for Dedicated Hosts is limited to the following:

  • Operational environment. PBS provides an operational computing environment to third party developers and producers for PBS sponsored websites and applications. This operational computing environment is based on the LAMP (linux + apache + mysql + php/python/perl) technology stack. PBS provides Level 1 technical support necessary to insure that the services are "available" for use and as designed. 
  • PBS-sanctioned widgets, modules and applications. PBS has developed a suite of applications, widgets, modules, and scripts that may (and in some cases must) be used by third party developers. PBS provides Level 1 technical support regarding the use of these components.
  • PBS network services. PBS provides network access (e.g. FPT, SFTP, and/or SSH) to development, staging, or production computing resources where third party applications may reside.

PBS does not, however, provide technical support for issues regarding the use, development, application, tuning, or customization of development and scripting languages, application frameworks, or applications developed by third parties and/or the open source community. PBS relies upon its third party developers to be self-sufficient in these areas.

Content Management Systems

All Content Management System plans must be reviewed and approved by your Program Manager at the start of your project. Drupal is not allowed due to repeated performance issues with high-traffic sites.

IP Address

Sites may not assume that their IP addresses will not change. That is, if the IP address changes, the site must still function properly.

Domain Name

Sites should not assume that their domain names are fixed. That is, if the domain name needs to change, the site should still function.

Repeatable Amazon-hosted sites

Site should be “repeatable” on Amazon. That is, PBS should be able to back up the producers application directory and database, create a new machine, and the site should come up without any human intervention. All customizations must be automated using the boot.sh file which is run once upon server provisioning.

Content Distribution Network (CDN)

All third party developers and producers are expected to utilize the PBS Content Delivery Network which is currently hosted by AWS CloudFront.

Full use of the CDN is a launch requirement for the following media types:

  • All media files, including but not limited to Flash, video, GIF, JPEG, etc.
  • All javascript files greater than 10k (except those which are hosted by third parties such as Google or Yahoo).
  • All CSS files greater than 10k.

Memcached

All database intensive sites must implement object based and/or page level server side caching as necessary in order to maintain high performance.

  • Use of memcached is required for all “dynamic” pages that rely upon an internal database or third party services for real time data.  
  • PBS requires the use of memcached for all server-side object and page level caching. 
  • Implementation instructions can be found at http://docs.pbs.org/x/

...

WYSIWYG Editors

Site developers must be technically proficient and cannot rely solely on WYSIWYG — or "What You See Is What You Get" — development tools. Many WYSIWYG tools introduce proprietary code (code that will only work on some browsers) and can result in heavy and poorly constructed pages. If you are using a WYSIWYG tool, you must be able to "go under the hood" and fix improper scripting and coding as directed by PBS staff.

HTML Specifications

...

Performance and Load Testing

In order to maintain the highest level of user experience, PBS requires that all applications and sites developed by third party developers on PBS's Amazon hosting services undergo (and pass) performance and load testing.

Performing this testing is the sole responsibility of the third party producer or developer. The purpose of this load testing is to demonstrate that the application has been engineered to handle the high levels of traffic that the site may see at launch.

  • Using the small Amazon instance (LAMP stack) that has been provided by PBS, sites and applications must demonstrate that they are capable of achieving 50 requests per second from 10 simulated users. All performance testing must be performed with the copy of ApacheBench that is included on the instance provided.
  • Upon completion of load testing, producers will be required to submit a copy of the load testing results to PBS for review.
  • The maximum allowable latency for the loading of any single page is 5 seconds.

Documentation on how to perform load testing may be found at http://docs.pbs.org/x/UYPj

HTML Specifications

In order to reach the most users, sites should be developed using HTML specification 4.0 and cascading style sheet specification CSS1. Other HTML specifications may be used as long as the principals of Progressive Enhancement/Graceful Degradation are applied so that there is always a compelling and usable experience available for the site user. Compliance with The World Wide Web Consortium (W3C) guidelines and recommendations is required. HTML standards must be compliant for the doc-type it is declaring. If it is not, PBS

...

reserves the right to not publish

...

or to limit the site audience.

Supported Web Browsers

Sites must be developed to support PBS-approved Web browsers across platforms. Although it is not assumed that all users will have the identical experiences when using different browsers, it is vital that every user be able to experience the same content and as much visual richness and interactivity as possible.

PBS currently supports

...

the following desktop browsers: 

Chrome **, Internet Explorer 9+, Firefox **, Safari **, Opera ** 

 ** Latest, or most widely used version http://

...

...

...

Mobile devices running: Apple iOS, Android 2.3, & Android 4 **

Google Analytics Tagging

...

PBS

...

uses

...

Google

...

Analytics

...

as

...

a

...

preferred

...

method

...

of

...

generating

...

detailed

...

statistics

...

about

...

visits

...

to

...

PBS.org

...

Web

...

sites.

...

It

...

is

...

the

...

producer's

...

responsibility

...

to

...

request

...

a

...

Google

...

Analytics

...

account

...

from

...

their

...

content

...

manager during

...

site

...

production;

...

metrics

...

will

...

be

...

unavailable

...

to

...

the

...

producer

...

otherwise.

...

To

...

function

...

properly,

...

every

...

page

...

of

...

a

...

Web

...

site

...

on

...

PBS.org

...

must

...

include

...

the

...

Google

...

Analytics

...

Tracking

...

Code

...

(GATC)

...

through

...

a

...

Server

...

Side

...

Include.

...

For

...

more

...

information

...

and

...

implementation

...

techniques,

...

...

]

...

PBS Code Widgets

Standard interactive features must be created using tried-and-true code available in the PBS code widget library. If a relevant code widget exists, PBS code must be used. The PBS Product Documentation area (http://docs.pbs.org/x/sYCy ) lists the current products and applications for you to use.

Registration and Authentication

Any project wishing to provide registration or authentication services to its viewers must utilize the PBS Universal Authentication Service. 

Additionally, by utilizing UUA you agree to abide by the UUA RP Agreement. Further information about PBS Interactive's data retention policy can be found

...

in the UUA FAQ.

Blog Publishing Platforms

PBS supports blogs developed with MovableType 4.3.4 publishing platform with Pro Pack, Perl version 5.6.1 as well as legacy versions 4.1 and 3.2.

  • If a project requires extensive customization,

...

  • third party producers may elect to install their own instance of Movable Type in their operational environment, or they may elect to select another blogging platform

...

  • .

...

  • Installation, customization, debugging, and support of any such blogging platform is the exclusive

...

  • responsibility of the

...

  • third party developer.
  • It is the developers responsibility to select a blogging platform that meets their product requirements as well as that will run using the technology stack and operational environment provided by PBS.

More information is available at:http://docs.pbs.org/x/fICr.

Database Compatibility Requirements

All databases developed for PBS.org sites must be compatible with PBS's current web server software and follow PBS database requirements which are detailed in the PBS Product Documentation area: http://docs.pbs.org/x/4oXj .

Plug-in Introductory Text

When a plug-in is required to view site content, the teaser must be accompanied by introduction text that:

  • Explains what the feature is
  • Lists the file size of the feature
  • Provides a link to the plug-in download page.

Cookies

Use of any cookies is subject to the oversight of the PBS technical staff and cookies that extend beyond a user session must be developed in partnership with PBS technical staff.

As a rule, always scope your cookies with the most specific path component you can. This will reduce the overhead of the number of cookies that need to be sent by the client on each browser request. Where possible, cookies must be set in JavaScript instead of CGI script. Always prefix your cookies with a unique tag (such as programname.nameofcookie) that can identify your application in order help to avoid conflict on the server.

NOLA Code

Use your show's unique NOLA code to access broadcast information from the TV Schedules database. This is a 4 character code, all in CAPS, which identifies your show within the TV Schedules database. NOLA codes are unique for each program or series, e.g. AMFA for American Family, or AMMS for American Masters. Your PBS Interactive Content manager will provide the code, usually assigned by PBS Program Management, about 3 months before the broadcast premiere.

Airdate Code on PBS.org

When providing broadcast information, you must use PBS's airdates code. PBS's airdates code is a simple server-side include which can be customized by CSS. It automatically displays the correct broadcast dates and times for local stations, using data provided by TV Guide and cross-referenced with the episode titles and descriptions the producer provides to PBS Traffic and Operations.

For more information, read the detailed implementation steps on the PBS Product Documentation site at http://docs.pbs.org/x/OICr.

...

Content Distribution Network (CDN)

All 3rd party developers and producers are expected to utilize the PBS Content Delivery Network which is currently hosted by Limelight.

Full use of the CDN is a launch requirement for the following media types:

  • All media files, including but not limited to Flash, video, GIF, JPEG, etc.
  • All javascript files greater than 10k (except those which are hosted by 3rd parties such as Google or Yahoo).
  • All CSS files greater than 10k.
    More information is available at: http://docs.pbs.org/x/F4HT.

Performance and Load Testing

In order to maintain the highest level of user experience, PBS requires that all applications and sites developed by 3rd party developers undergo (and pass) performance and load testing.

Performing this testing is the sole responsibility of the 3rd party producer or developer. The purpose of this load testing is to demonstrate that the application has been engineered to handle the high levels of traffic that the site may see at launch.

  • Using the small Amazon instance (LAMP stack) that has been provided by PBS, sites and applications must demonstrate that they are capable of achieving 50 requests per second from 10 simulated users. All performance testing must be performed with the copy of ApacheBench that is included on the instance provided.
  • Upon completion of load testing, producers will be required to submit a copy of the load testing results to PBS for review.
  • The maximum allowable latency for the loading of any single page is 5 seconds.

Documentation on how to perform load testing may be found at http://docs.pbs.org/x/foCr


Panel
titleQuestions?

Livesearch
placeholderSearch the documentation