Websites/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.
Contents
- 1 New Website Process
- 1.1 Creative
- 1.2 Bugzilla Tickets
- 1.3 Github
- 1.4 Kickoff Meeting
- 1.5 Weekly Meeting
- 1.6 Project Tracking Ticket
- 1.7 Webtrends Ticket
- 1.8 Goals and Measurements Ticket
- 1.9 End of Life Ticket
- 1.10 Combined Form Data Safety Legal Privacy Security Finance
- 1.11 QA Review Tracking Ticket
- 1.12 Dev or Stage Server Ticket
- 1.13 Production Server Ticket
- 2 Alternate, Simplified Process for Simple Websites
New Website Process
(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 Website Wiki Template.
- Create a new Component in Bugzilla
- If we are hiring a third party vendor for UX, creative and/or development, please follow the process for Creating a SOW.
- Define primary and secondary individuals for project roles.
- Create a new 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 Github repository.
- Create the Bugzilla Tickets for this project.
- Schedule the Kickoff Meeting.
- Schedule the Weekly Meeting.
- Add site info to WhoWorksOnWhat
- Place HTTP Auth password (if available) on Stage Credentials page.
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:
- Create the Project Tracking Ticket.
- Create the Webtrends Tickets.
- Create the Goals and Measurements Ticket.
- Create the End of Life Ticket.
- Fill out the Data Safety, Legal, Privacy, Security, Finance Combined Form.
- Create the QA Review Tracking Ticket.
- Create the Dev Server Ticket.
- Create the Stage Server Ticket.
- Create the Production Server Ticket.
- Create the Mailing List Ticket for long (>2 month) projects.
Github
Create a Github repository for this project.
- Create Github repository at https://github.com/mozilla/app_name
- Create Github lib repository at https://github.com/mozilla/app_name-lib (when applicable).
- Grant access to repositories to team members.
- Make public repository unless it's a secret project
- For private repos Give IT, l10n, and other teams access
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
- Read through QA/Execution/Web_Testing#I_have_something_I_need_tested_--_now_what.3F
- Create new Bugzilla 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.