Websites/Processes/New Website: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(39 intermediate revisions by 8 users not shown)
Line 1: Line 1:
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 Driver will execute all of the tasks on this list.
[[Category:Webdev/Processes|New Website]]
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 =
= New Website Process =


* Create a wiki page for this website, if not already available.
(Note: if you have a static html project (needing a proper url) or other simple site, consider the alternate workflow below.)
 
* Create a wiki page for this website, if not already available, using the [[Websites/Processes/Website_Template|Website Wiki Template]].
** https://wiki.mozilla.org/Websites/Website_Name
** https://wiki.mozilla.org/Websites/Website_Name
* Create a new [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Bugzilla:%20Keywords%20&%20Components Component in Bugzilla]
* Create a new [https://bugzilla.mozilla.org/enter_bug.cgi?product=bugzilla.mozilla.org&component=Administration Component in Bugzilla]
* If we are hiring a third party vendor for UX, creative and/or development, please follow the process for [[Websites/Processes/New_Website/Creating_a_SOW|Creating a SOW]].
* Define primary and secondary individuals for [[Websites/Processes/Terminology#Roles|project roles]].
* Define primary and secondary individuals for [[Websites/Processes/Terminology#Roles|project roles]].
* Create a new [https://mana.mozilla.org/wiki/display/websites/Home Mana Wiki page] for the Website - this will be used for IT infrastructure requirements.
** Add New Page > Select from page template > Website Template. Include The filled out Mana wiki page with the IT server Bugzilla tickets.
* Create a [[Websites/Processes/New_Website#Github|Github repository]].
* Create a [[Websites/Processes/New_Website#Github|Github repository]].
* Create the [[Websites/Processes/New_Website#Bugzilla_Tickets|Bugzilla Tickets]] for this project.  
* Create the [[Websites/Processes/New_Website#Bugzilla_Tickets|Bugzilla Tickets]] for this project.  
* Schedule the [[Websites/Processes/New_Website#Kickoff_Meeting|Kickoff Meeting]].
* Schedule the [[Websites/Processes/New_Website#Kickoff_Meeting|Kickoff Meeting]].
* Schedule the [[Websites/Processes/New_Website#Weekly_Meeting|Weekly Meeting]].
* Schedule the [[Websites/Processes/New_Website#Weekly_Meeting|Weekly Meeting]].
* Add site info to [[Webdev:WhoWorksOnWhat|WhoWorksOnWhat]]
* Add site info to [[Websites/Active_List|WhoWorksOnWhat]]
** Place HTTP Auth password (if available) on [https://intranet.mozilla.org/Websites/Stage_Passwords Stage Credentials] page.
** Place HTTP Auth password (if available) on [https://intranet.mozilla.org/Websites/Stage_Passwords Stage Credentials] page.
== Creative ==
Email Tara Shahian and CC Mike Alexis. The creative team will initiate Copy and Design.


== Bugzilla Tickets ==
== Bugzilla Tickets ==
Line 19: Line 28:


* Create the [[Websites/Processes/New_Website#Project_Tracking_Ticket|Project Tracking Ticket]].
* Create the [[Websites/Processes/New_Website#Project_Tracking_Ticket|Project Tracking Ticket]].
* Create the [[Websites/Processes/New_Website#Webtrends_Ticket|Webtrends Ticket]].
* Create the [[Websites/Processes/New_Website#Webtrends_Ticket|Webtrends Tickets]].
* Create the [[Websites/Processes/New_Website#Goals_and_Measurements_Ticket|Goals and Measurements Ticket]].
* Create the [[Websites/Processes/New_Website#Goals_and_Measurements_Ticket|Goals and Measurements Ticket]].
* Create the [[Websites/Processes/New_Website#End_of_Life_Ticket|End of Life Ticket]].
* Create the [[Websites/Processes/New_Website#End_of_Life_Ticket|End of Life Ticket]].
* Create the [[WebAppSec/Security_Review_Request|Security Ticket]].
* Fill out the [[Websites/Processes/New_Website#Combined_Form_Data_Safety_Legal_Privacy_Security_Finance|Data Safety, Legal, Privacy, Security, Finance Combined Form]].
* Create the [[Websites/Processes/New_Website#Privacy_and_Legal_Ticket|Privacy and Legal Ticket]].
* Create the [[Websites/Processes/New_Website#QA_Review_Tracking_Ticket|QA Review Tracking Ticket]].
* Create the [[Websites/Processes/New_Website#Stage_Server_Ticket|Stage Server Ticket]].
* Create the [[Websites/Processes/New_Website#Dev_or_Stage_Server_Ticket|Dev Server Ticket]].
* Create the [[Websites/Processes/New_Website#Dev_or_Stage_Server_Ticket|Stage Server Ticket]].
* Create the [[Websites/Processes/New_Website#Production_Server_Ticket|Production Server Ticket]].
* Create the [[Websites/Processes/New_Website#Production_Server_Ticket|Production Server Ticket]].
* Create the [[Websites/Processes/Tickets/Mailing_List|Mailing List Ticket]] for long (>2 month) projects.


== Github ==
== Github ==
Line 34: Line 45:
* Create Github lib repository at https://github.com/mozilla/app_name-lib (when applicable).
* Create Github lib repository at https://github.com/mozilla/app_name-lib (when applicable).
* Grant access to repositories to team members.
* Grant access to repositories to team members.
* Make public repository unless it's a sekrit project
* Make public repository unless it's a secret project
** For private repos Give IT, l10n, and other teams access  
** For private repos Give IT, l10n, and other teams access  


Line 45: Line 56:
  A new website project has been started.  You have been identified as a core
  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:  
  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:
  Project Title:
Line 61: Line 78:
  {URL}
  {URL}
  </nowiki>
  </nowiki>
== 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:
<nowiki>
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}
</nowiki>


== Project Tracking Ticket ==
== Project Tracking Ticket ==


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


* Create a new [https://bugzilla.mozilla.org/enter_bug.cgi?product=Websites Bugzilla ticket].
* Submit the project through [https://intranet.mozilla.org/webtools/ the project initiation form]
* Assign the bug to the Project Driver.
** this will create the bugzilla tracking ticket, assigned to Mike Alexis.
* Add [tracking] to the whiteboard to differentiate it from real bugs.


Title:
The form includes the following fields. Product owner should provide as much detail as possible.  
<nowiki>Project Tracking Ticket for {Website Name}.</nowiki>


Body:
Team members:
<nowiki>
*IT
This is the project tracking ticket for the launch of {Website Name}.
*Product/Driver (you?)
*l10n
*Marketing
*QA
*Security
*Webdev
* UX
*Other


Project Title:
Overview
{Title}


Elevator Pitch:
Dependencies
{Text}
*legal
*security (infra and/or client)
*analytics
*finance/payments
*app
*other


Estimated Launch Date:
Assumptions
{Date}


The wiki page describing this project:
Deliverables
{URL}
</nowiki>


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


== Webtrends Ticket ==
== Webtrends Ticket ==
Line 137: Line 187:
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.   
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 not be maintained externally (Twitter followers, Facebook fans, etc.) must be recorded before the site launches.
Starting numbers that will be maintained externally (Twitter followers, Facebook fans, etc.) must be recorded before the site launches.
</nowiki>
</nowiki>


Line 169: Line 219:




== Privacy and Legal Ticket ==
== 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


This ticket is required for all new websites.


* Create a new [https://bugzilla.mozilla.org/enter_bug.cgi?product=Legal&format=legal Bugzilla ticket].
== QA Review Tracking Ticket ==
* Make this bug a dependency for the tracking bug for this website's launch.
* Assign this bug to the Legal contact.


* Read through [[QA/Execution/Web_Testing#I_have_something_I_need_tested_--_now_what.3F]]
* Create new [https://bugzilla.mozilla.org/enter_bug.cgi?alias=&assigned_to=mozwebqa%40mozilla.org&blocked=&bug_file_loc=http%3A%2F%2F&bug_severity=normal&bug_status=NEW&cf_blocking_192=---&cf_crash_signature=&cf_status_192=---&cf_status_firefox10=---&cf_status_firefox11=---&cf_status_firefox12=---&cf_status_firefox9=---&cf_tracking_firefox10=---&cf_tracking_firefox11=---&cf_tracking_firefox12=---&cf_tracking_firefox9=---&comment=&component=WebQA&contenttypeentry=&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&data=&defined_groups=1&dependson=&description=&flag_type-37=X&flag_type-4=X&flag_type-607=X&flag_type-720=X&flag_type-721=X&flag_type-737=X&form_name=enter_bug&keywords=&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=All&priority=--&product=Testing&qa_contact=webqa%40testing.bugs&rep_platform=All&requestee_type-4=&requestee_type-607=&short_desc=&status_whiteboard=&target_milestone=---&version=unspecified Bugzilla Ticket]
Title:
Title:
  <nowiki>Perform Privacy and Legal Review for {Website Name}.</nowiki>
  <nowiki>QA Review {Website Name}.</nowiki>


Body:
Body:
  <nowiki>
  <nowiki>
This is a placeholder for the privacy and legal review of {Website Name}.
== Description ==
 
Current site documentation is available at:
{Wiki Page}
</nowiki>
 
== Security Ticket ==


This ticket is required for all new websites.
{Project Description}
{Link to wiki page}


* Create a new [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Infrastructure Security:%20Web%20Security Bugzilla ticket].
== Source Code ==
* Make this bug a dependency for the tracking bug for this website's launch.
* [https://wiki.mozilla.org/WebAppSec/Security_Review_Request Security Review Request]
** copy questions from the above wiki and answer inline in the bugzilla ticket


Title:
== Dev, Stage & Prod ==
<nowiki>Perform Security Review for {Website Name}.</nowiki>


Body:
== Bugzilla Info ==
<nowiki>
A quick intro to what this app does.


Where is the source code located?
Product / Compotent:
CC:


Is there a stage server running that we can also test against? If so, please indicate what machine the web server is running on.
== APIs & External Services ==


Where would you like the bugs filed in bugzilla? Please specify the product, component and if anyone specific should be copied on the bugs.
== Mobile Support / Responsive Design? ==


Please describe if this app will be connecting to any internal or external services or if it is able to interact with the OS.
== SSL Support Required? ==


Does this app support logins or multiple roles? If so, we'll need test accounts created for each available role.
== Traffic Expecations ==


What is the worst case scenario that could happen with this system, data or connected systems? (This is used to help understand the criticality of this server.)
== Support Level ==


Does this website contain an administration page? If so, have the admin page blockers (listed here) all been addressed?
== Timeline ==


This review will be scheduled amongst other requested reviews. What is the urgency or needed completion date of this review?.
</nowiki>


Current site documentation is available at:
[https://wiki.mozilla.org/WebAppSec/Security_Review_Request]
</nowiki>


== Stage Server Ticket ==
== Dev or Stage Server Ticket ==


This ticket is required for all new websites.
This ticket is required for all new websites.
Line 231: Line 268:
* Make this bug a dependency for the tracking bug for this website's launch.
* Make this bug a dependency for the tracking bug for this website's launch.
* Do not assign this bug to anyone.
* Do not assign this bug to anyone.
* Add the push time <nowiki>[2011-12-31 10:00AM]</nowiki> to the Whiteboard, if known.
* Copy the following text into the ticket and update accordingly.
* Copy the following text into the ticket and update accordingly.


Line 239: Line 277:
Body:
Body:
  <nowiki>
  <nowiki>
(This is a placeholder to create a stage instance for this project.)
(This is a placeholder to create a dev/stage instance for this project.)


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


== Date Needed By ==
== Date Needed By ==
Line 298: Line 336:
* Make this bug a dependency for the tracking bug for this website's launch.
* Make this bug a dependency for the tracking bug for this website's launch.
* Do not assign this bug to anyone.
* Do not assign this bug to anyone.
* Add the push time <nowiki>[2011-12-31 10:00AM]</nowiki> 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.
* Copy the following text into the ticket and update accordingly.


Line 345: Line 385:
* Please configure Django tracebacks to be sent to:
* Please configure Django tracebacks to be sent to:
** {email1}, {email2}, {email3}
** {email1}, {email2}, {email3}
</nowiki>
= 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:
<nowiki>
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.
</nowiki>
</nowiki>

Latest revision as of 00:50, 1 February 2013

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.