Websites/Processes/New Website

From MozillaWiki
Jump to: navigation, search

This lists all of the tasks necessary to get a new website started. After receiving a project from a Product Owner and agreeing to move forward, the Project Manager will execute all of the tasks on this list.

New Website Process

(Note: if you have a static html project (needing a proper url) or other simple site, consider the alternate workflow below.)

Creative

Email Tara Shahian and CC Mike Alexis. The creative team will initiate Copy and Design.

Bugzilla Tickets

Create the following bugs for a new website project:

Github

Create a Github repository for this project.

Kickoff Meeting

Schedule a kickoff meeting to bring the people defined as having roles to help prepare this website for launch.

Text to attach to the meeting details for the kickoff meeting:

 A new website project has been started.  You have been identified as a core
 member who will help bring this website to fruition.  The details: 

 Where:
 {Room}; +1-800-707-2533, pin 369, x.{Extension}

 Driver:
 {Name}

 Project Title:
 {Title}

 Elevator Pitch:
 {Text}

 Estimated Launch Date:
 {Date}

 The wiki page describing this project:
 {URL}

 The tracking bug for this project:
 {URL}
 

Weekly Meeting

Schedule a weekly meeting to bring the people defined as having roles to help prepare this website for launch.

Text to attach to the meeting details for the weekly meeting:

This is a weekly meeting to drive the development of {Website Name} though its launch. You have been identified as a core member who will help bring this website to fruition.  The details: 

 Where:
 {Room}; +1-800-707-2533, pin 369, x.{Extension}

 Driver:
 {Name}

 Meeting Agenda:
 {URL}

 The wiki page describing this project:
 {URL}

 The tracking bug for this project:
 {URL}

Project Tracking Ticket

This ticket is required for all new websites. Workflow is as follows

  • Submit the project through the project initiation form
    • this will create the bugzilla tracking ticket, assigned to Mike Alexis.
  • Add [tracking] to the whiteboard to differentiate it from real bugs.

The form includes the following fields. Product owner should provide as much detail as possible.

Team members:

  • IT
  • Product/Driver (you?)
  • l10n
  • Marketing
  • QA
  • Security
  • Webdev
  • UX
  • Other

Overview

Dependencies

  • legal
  • security (infra and/or client)
  • analytics
  • finance/payments
  • app
  • other

Assumptions

Deliverables

The Web production team will review bugzilla ticket and schedule a meeting to discuss requirements, scope and timeline.

Webtrends Ticket

This ticket is required for all new websites.

  • Create a new Bugzilla ticket.
  • Make this bug a dependency for the tracking bug for this website's launch.
  • Assign the bug to the Developer.

Title:

Add Webtrends Tracking for {Website Name}

Body:

Add Webtrends Tracking code to this website per the instructions in:
https://intranet.mozilla.org/Webanalytics#Track_a_New_Domain

Goals and Measurements Ticket

This ticket is required for all new websites.

  • Create a new Bugzilla ticket.
  • Make this bug a dependency for the tracking bug for this website's launch.
  • Assign the bug to the Product Owner.

Title:

Define Goals and Measurements for {Website Name}

Body:

Before this campaign launches, let's document how we will measure the
campaign.

Create a wiki page to document these numbers at:
http://wiki.mozilla.org/Websites/Website_Name/Goals

Please record:
* What are the goals for this campaign?
* How do we plan to measure this campaign?
** Which goals will be measured in Webtrends?
** Which goals need to have a stats area in the app's admin panel?
*** Create tickets for stats area in admin panel as needed
* How will we determine whether this campaign was a success?
* When do we need to schedule a post-mortem for this project?

Each of these goals should be measurable.  Provide a start date and an end date by which to measure each goal.  Each goal will need to have a documented way of how of that data will be tracked and measured.  

Starting numbers that will be maintained externally (Twitter followers, Facebook fans, etc.) must be recorded before the site launches.

End of Life Ticket

This ticket is only required for websites that have a known end of life, such as a marketing campaign.

  • Create a new Bugzilla ticket.
  • Make this bug a dependency for the tracking bug for this website's launch.
  • Assign the bug to the Product Owner.

Title:

Document End of Life Plan for {Website Name}

Body:

Before this campaign launches, let's document the end of life plans.

Create a wiki page to document these numbers at:
http://wiki.mozilla.org/Websites/{Website_Name}/End_Of_Life

Please record:
* When will the campaign end?
* When is the estimated date that we will retire this website?
* What are the privacy concerns for this website?
* Identify where are we collecting and storing:
** Name
** Email address
** IP Address


Combined Form Data Safety Legal Privacy Security Finance

Fill out the combined kick off form as described here https://wiki.mozilla.org/Websites/Kick-Off_Form


QA Review Tracking Ticket

Title:

QA Review {Website Name}.

Body:

== Description ==

{Project Description}
{Link to wiki page}

== Source Code ==

== Dev, Stage & Prod == 

== Bugzilla Info ==

Product / Compotent: 
CC: 

== APIs & External Services ==

== Mobile Support / Responsive Design? ==

== SSL Support Required? ==

== Traffic Expecations == 

== Support Level == 

== Timeline ==

 


Dev or Stage Server Ticket

This ticket is required for all new websites.

  • Create a new Bugzilla ticket.
  • Make this bug a dependency for the tracking bug for this website's launch.
  • Do not assign this bug to anyone.
  • Add the push time [2011-12-31 10:00AM] to the Whiteboard, if known.
  • Copy the following text into the ticket and update accordingly.

Title:

Create Stage Instance for {Website Name}.


Body:

(This is a placeholder to create a dev/stage instance for this project.)

Please create a {dev|stage} instance for {Website Name}.

== Date Needed By ==
* 2011/01/01

== Language ==
* Language: Python
* Framework: Django
* Base: Playdoh

== URL ==
* Production URL: {URL}
* Stage URL: {URL}

== HTTP Auth ==
* HTTP Auth is required to access this site.
* Please record username / password in this ticket.
 
== HTTP / HTTPS ==
* Both HTTP and HTTPS are required this site.

== Code Repository ==
* Github Repo: {URL}
* Github Vendor Repo: {URL}
** Setup Github to auto-update every 5 minutes.
* SVN Localization Repo: {URL}
** Setup SVN to auto-update every 15 minutes.

== Database ==
* This site requires a MySQL database.

== Other Services ==
* Note Any other dependencies and to look in settings_local.py-dist.
** Responsys
** Memcache

== Settings ==
* cp settings_local.py-dist settings_local.py
* Update settings values accordingly.
* Set DEBUG to False in settings_local.py.

== Cron ==
* bin/update_site.py -e stage
** frequency?

== Tracebacks ==
* Please configure Django tracebacks to be sent to:
** {email1}, {email2}, {email3}

Production Server Ticket

This ticket is required for all new websites.

  • Create a new Bugzilla ticket.
  • Make this bug a dependency for the tracking bug for this website's launch.
  • Do not assign this bug to anyone.
  • Add the push time [2011-12-31 10:00AM] to the Whiteboard, if known.
  • Add the push to the IT Calendar in Zimbra, linking back to this ticket.
  • Copy the following text into the ticket and update accordingly.

Title:

Create Production Instance for {Website Name}

Body:

(This is a placeholder to create a production instance for this project.)

Please create a production instance for {Website Name}.

== Date Needed By ==
* 2011/01/01

== Language ==
* Language: Python
* Framework: Django

== URL ==
* Production URL: {URL}

== HTTP / HTTPS ==
* Both HTTP and HTTPS are required this site.

== VPN ==
* The /admin section should be accessible only via SSL VPN.

== Code Repository ==
* Github Repo: {URL}
* Github Vendor Repo: {URL}
* SVN Localization Repo: {URL}

== Database ==
* This site requires a MySQL database.

== Settings ==
* cp settings_local.py-dist settings_local.py
* Update settings values accordingly.
* Set DEBUG to False in settings_local.py.

== Cron ==
* bin/update_site.py -e prod
** frequency?

== Tracebacks ==
* Please configure Django tracebacks to be sent to:
** {email1}, {email2}, {email3}


Alternate, Simplified Process for Simple Websites

For a static html site that needs Mozilla-sized traffic handling and a url/subdomain, file a ticket based on:

Please create a {developer/staging/production} instance for LindAppFantastico.

== Date Needed By ==
* June 22 (Change if impatient)

== Language ==
* Language: HTML; no code needed

== URL ==
* Production URL: {LindAppFantastico.com}

== HTTP / HTTPS ==
* HTTPS is required; HTTP should redirect to the HTTPS version this site.

== Code Repository ==
* Github Repo: {github.com/mozilla/LindAppFantastico} (There should be a repo of some kind, just tell them how to pull and from where)
* SVN Localization Repo: {URL} (OPTIONAL: Fill this out if you need it; maybe not)

== Database ==
* No DB required! 

== Settings ==
* None required!

== Cron ==
* Just do a git pull every once in awhile in cron (submodules?)

== Other ==
Throw some Mozilla LDAP password protect in front of this.