Spreadthunderbird: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(59 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Background ==  
== Background ==  
* http://www.spreadthunderbird.com
* http://spreadthunderbird.com
* Community website for Thunderbird
* The Official Mozilla Thunderbird Marketing Site Powered by You!


== People ==
== People ==
* Rafael Ebron (Project leader)
* [[User:Rebron@meer.net|Rafael Ebron]] (Project leader)
* [https://wiki.mozilla.org/User:Graphicsguru Jamey Boje] (Marketing,Creative Director)
* [[User:Graphicsguru|Jamey Boje]] (Marketing,Creative Director)
* [https://wiki.mozilla.org/User:Ken_Saunders Ken Saunders]
* [[User:Gozer|Philippe M. Chiasson]] (Server Operations | Wiki page maintainer)
* [https://wiki.mozilla.org/User:Paulbooker Paul Booker] (Drupal Developer | Wiki page maintainer)
* [http://www.ianhayward.com Ian Hayward] (Mozilla sponsor | Entrepreneur | Appcoast Director )
* [http://www.ianhayward.com Ian Hayward]
* [[User:Paulbooker|Paul Booker]] (Drupal Developer | Wiki maintainer | Patch reviewer | Site administrator ) (Sponsored by Ian Hayward @ Appcoast)
* [https://wiki.mozilla.org/User:Gozer Philippe M. Chiasson] (Server Operations)
* [[User:LouCypher|Zulkarnain Kencana]] (Moderator)


== Milestones ==  
== Bugs ==  
* Current Bugs (Coming soon :-))
* [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Websites&component=spreadthunderbird.com&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=VERIFIED&resolution=---&emailassigned_to1=1&emailtype1=exact&email1=&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailtype2=exact&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= Bug List]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=websites&component=spreadthunderbird.com Submit a New Bug]


== Bespoke modules and derivative theme ==
== Bespoke modules and derivative theme ==
* SVN: http://svn.mozilla.org/mozillamessaging.com/sites/spreadthunderbird.com/trunk/sites/all/modules/stb
* SVN: http://svn.mozilla.org/mozillamessaging.com/sites/spreadthunderbird.com/trunk/sites/all/modules/spreadthunderbird
* SVN: http://svn.mozilla.org/mozillamessaging.com/sites/spreadthunderbird.com/trunk/sites/all/themes/acquia_marina/stb
* SVN: http://svn.mozilla.org/mozillamessaging.com/sites/spreadthunderbird.com/trunk/sites/all/themes/spreadthunderbird


== Contributed modules and themes ==
Notes: External checkout of a subversion repository can be done as follows ..
* http://drupal.org/project/cck 6.x-2.0-rc10
* svn checkout <PROTOCOL>://<USER>@<IP|DOMAIN>/subversion/<REPOSITORY>/trunk .
* http://drupal.org/project/views 6.x-2.0-rc5
** protocol could be svn+ssh (READ / WRITE) , http (READ ONLY) , https (READ / WRITE)
* http://drupal.org/project/simpleviews 6.x-1.x-dev
* http://drupal.org/project/upload_image 6.x-1.x-dev
* http://drupal.org/project/image 6.x-1.0-alpha3
* http://drupal.org/project/imagecache
* http://drupal.org/project/service_links 6.x-1.0
* http://drupal.org/project/simplefeed 6.x-1.x-dev
* http://drupal.org/project/webform 6.x-2.2
* http://drupal.org/project/simplemenu 6.x-1.0
* http://drupal.org/project/captcha 6.x-1.0-rc2
* http://drupal.org/project/votingapi 6.x-2.0-rc1
* http://drupal.org/project/fivestar 6.x-1.13
* http://drupal.org/project/mollom 6.x-1.5
* http://drupal.org/project/devel
* http://drupal.org/project/acquia_marina 6.x-1.1
* http://drupal.org/project/affiliates 6.x-1.x-dev


== Meetings ==
== Meetings ==
Every Thursday on irc.mozilla.com #marketing
Every Thursday on irc.mozilla.com #marketing or on mozillaca.com !spreadthunderbird


== Getting Started ==
== Getting Started ==


# Get drupal core
# Download the drupal core
# Get the list of contributed modules
# Download the list of contributed modules
# Checkout our bespoke modules and our acquia derivate theme
# Checkout from SVN our bespoke modules and our acquia derivative theme
# Test the code ...
# Test the code ...


Coming soon a spreadthunderbird distribution which will include the latest core and contributed modules from D.o and installation profile for easy installation
on your local server)


For more specific detailed instructions on how to setup a local MAMP server for development , please click [https://wiki.mozilla.org/Local_development_with_mamp here] For generic instructions on setting up a local server on different OS's please click [http://drupal.org/node/157602 here]
For more specific detailed instructions on how to setup a local MAMP server for development , please click [https://wiki.mozilla.org/Local_development_with_mamp here] to read our tutorial. For generic instructions on setting up a local server on different OS's please click [http://drupal.org/node/157602 here]


== How to develop STB ==
== How to develop STB ==
# Get [[SVN|svn access]] if you don't already
# Request [[SVN|svn access]] if you don't already
# Get a bug to work on
# Find a bug to work on
# Write code for the bug
# Fix the bug
# If the bug fixes a problem with a contributed module on drupal.org then create a patch and submit for review on drupal.org by the module maintainer. As soon as the patch is accepted and the module updated then update the ticket so that the module can be updated on STB. If the bug fixes a problem with bespoke code that is in SVN then create a patch upload to Bugzilla and request a review.Once the patch is accepted, commit to SVN with the bug # in the commit message and a brief description of what the patch does or the bug title. Add a comment to Bugzilla with the revision number of the commit: 'rXXXX'.  
# If the bug fixes a problem with a contributed module on drupal.org then create a patch and submit to the module maintainer for review on its project page on drupal.org. As soon as the patch is accepted and the module updated on drupal.org then update the bug on mozilla.org with the name of the module and the tag attached to the new release so that the module can be updated on Spreadthunderbird. If the bug fixes a problem with bespoke code that is in SVN on mozilla.org then create a patch upload to Bugzilla and request a review by Paul. Once the patch has been reviewed/accepted, commit to SVN with the bug # in the commit message and a brief description of what the patch does or the bug title. Add a comment to Bugzilla with the revision number of the commit: 'rXXXX'.  
# Mark the bug as fixed
# Mark the bug as fixed
# QA verifies bug and marks as VERIFIED if it's really been fixed
# QA verifies bug and marks as VERIFIED if it's really been fixed
Line 64: Line 52:
== Do's and Don'ts ==
== Do's and Don'ts ==


* Use [http://pear.php.net/manual/en/pear2cs.php PEAR coding style]
* Use [http://drupal.org/coding-standards PEAR coding style]
* Always comment your code.   
* Always comment your code.   
** Function definition blocks at the least
** Function definition blocks at the least
Line 71: Line 59:
* Don't embed HTML code in module files.
* Don't embed HTML code in module files.
** Define templates and keep presentation separate from logic code.
** Define templates and keep presentation separate from logic code.
* Don't touch the Drupal core. If you think you absolutely have to, ok it with another developer and document where and why you did so.
* Don't touch the Drupal core. .
* Don't push on Fridays or when you won't be around to verify the changes.
* Don't push on Fridays or when you won't be around to verify the changes.


== Staging Server ==
== Staging Server ==
* http://stage.d6.spreadthunderbird.com/
*http://stage.spreadthunderbird.com/
* https://stage.d6.spreadthunderbird.com/
*https://stage.spreadthunderbird.com/ (points to the same location)
* Updated automatically from trunk every 10 minutes (To be confirmed)
*Bespoke code commited to SVN will automatically be pulled onto stage server  from trunk every 10 minutes (To be confirmed)
* All pages are served behind a caching reverse-proxy
*Updates to drupal core and contributed modules will be pulled directly from drupal.org CVS servers
*All pages are served behind a caching reverse-proxy which sometimes gives rise to problems accessing the site


== Deployment ==
== Deployment ==
* File an IT bug requesting that changes on stage be synchronised with production  
* File an IT bug requesting that changes on stage be synchronised with production  
* When IT closes the bug, verify the fixes/features are working.
* When IT closes the bug, verify the fixes/features are working.
== Scheduled work to be completed by the end of Q2 ==
* Upgrade Spreadthunderbird to D7
** Modules that need to be upgraded affiliates (RELEASED DEV), addtoany (RELEASED DEV), date (HEAD - D7CX), calendar (HEAD), fckeditor (?), google_analytics (DEV), mollom (DEV D7CX), Views (DEV),  cacherouter (beta1 - D7CX), securepages (TODO?), microblog (TODO)
* Other ideas for discussion
** How to sanitize the database for development on a local server
** Allow a user to provide their geographic location via an interactive google map and have all users visible on a google map. This can be done via the Location / Gmap contributed modules.
** Allow users to vote on content. This can be done via the Fivestar / Voting API modules.

Latest revision as of 15:18, 23 June 2011

Background

People

Bugs

Bespoke modules and derivative theme

Notes: External checkout of a subversion repository can be done as follows ..

  • svn checkout <PROTOCOL>://<USER>@<IP|DOMAIN>/subversion/<REPOSITORY>/trunk .
    • protocol could be svn+ssh (READ / WRITE) , http (READ ONLY) , https (READ / WRITE)

Meetings

Every Thursday on irc.mozilla.com #marketing or on mozillaca.com !spreadthunderbird

Getting Started

  1. Download the drupal core
  2. Download the list of contributed modules
  3. Checkout from SVN our bespoke modules and our acquia derivative theme
  4. Test the code ...

Coming soon a spreadthunderbird distribution which will include the latest core and contributed modules from D.o and installation profile for easy installation on your local server)

For more specific detailed instructions on how to setup a local MAMP server for development , please click here to read our tutorial. For generic instructions on setting up a local server on different OS's please click here

How to develop STB

  1. Request svn access if you don't already
  2. Find a bug to work on
  3. Fix the bug
  4. If the bug fixes a problem with a contributed module on drupal.org then create a patch and submit to the module maintainer for review on its project page on drupal.org. As soon as the patch is accepted and the module updated on drupal.org then update the bug on mozilla.org with the name of the module and the tag attached to the new release so that the module can be updated on Spreadthunderbird. If the bug fixes a problem with bespoke code that is in SVN on mozilla.org then create a patch upload to Bugzilla and request a review by Paul. Once the patch has been reviewed/accepted, commit to SVN with the bug # in the commit message and a brief description of what the patch does or the bug title. Add a comment to Bugzilla with the revision number of the commit: 'rXXXX'.
  5. Mark the bug as fixed
  6. QA verifies bug and marks as VERIFIED if it's really been fixed
  7. Please commit changes back to drupal.org wherever possible as it's important that we don't fork our distribution

Basic Functionality Testing

(Coming soon)

Do's and Don'ts

  • Use PEAR coding style
  • Always comment your code.
    • Function definition blocks at the least
    • Inline comments for complex code, use your best judgment
  • Always put a bug # and comment in your commit messages.
  • Don't embed HTML code in module files.
    • Define templates and keep presentation separate from logic code.
  • Don't touch the Drupal core. .
  • Don't push on Fridays or when you won't be around to verify the changes.

Staging Server

  • http://stage.spreadthunderbird.com/
  • https://stage.spreadthunderbird.com/ (points to the same location)
  • Bespoke code commited to SVN will automatically be pulled onto stage server from trunk every 10 minutes (To be confirmed)
  • Updates to drupal core and contributed modules will be pulled directly from drupal.org CVS servers
  • All pages are served behind a caching reverse-proxy which sometimes gives rise to problems accessing the site

Deployment

  • File an IT bug requesting that changes on stage be synchronised with production
  • When IT closes the bug, verify the fixes/features are working.


Scheduled work to be completed by the end of Q2

  • Upgrade Spreadthunderbird to D7
    • Modules that need to be upgraded affiliates (RELEASED DEV), addtoany (RELEASED DEV), date (HEAD - D7CX), calendar (HEAD), fckeditor (?), google_analytics (DEV), mollom (DEV D7CX), Views (DEV), cacherouter (beta1 - D7CX), securepages (TODO?), microblog (TODO)
  • Other ideas for discussion
    • How to sanitize the database for development on a local server
    • Allow a user to provide their geographic location via an interactive google map and have all users visible on a google map. This can be done via the Location / Gmap contributed modules.
    • Allow users to vote on content. This can be done via the Fivestar / Voting API modules.