Getting Started - Developer: Difference between revisions

From Thunderforce
Jump to navigation Jump to search
No edit summary
No edit summary
Line 11: Line 11:
#[[Download and compile the Mozilla Thunderbird source code]]
#[[Download and compile the Mozilla Thunderbird source code]]
#*This is optional, but helps immensely with software development and debugging
#*This is optional, but helps immensely with software development and debugging
#[http://www.apexdevnet.com/events/regular/registration.php Sign up for a Salesforce.com Apex Developer Network (ADN) account] to get a developer edition organization if you haven't already done so
#*Your developer edition organization can be used to develop and test Thunderforce
#*Developer edition organizations have API access
#*You can develop and test Thunderforce even if you don't have API access in your Salesforce.com organization or if you don't use Salesforce.com at all
#[[Getting Started - Developer#Thunderforce testing profile in Thunderbird|Create and configure a Thunderforce testing profile in Thunderbird]]
#[[Getting Started - Developer#Thunderforce testing profile in Thunderbird|Create and configure a Thunderforce testing profile in Thunderbird]]
#Familiarlize yourself with [[Test framework|Thunderforce's test framework]]
#Familiarlize yourself with [[Test framework|Thunderforce's test framework]]

Revision as of 18:11, 10 August 2007

To get started as a developer, you will need to install and set up various programs. It's definitely possible to use alternatives for the proposed tools, though the tools listed below are the ones that I am accustomed to in case if you have any support questions for them.

The general process is outlined below:

  1. Install the latest Mozilla Thunderbird 2.0 version if you haven't already done so
  2. Install the Thunderforce development tools and extensions
  3. Download the Thunderforce source code into a new Eclipse project
  4. Download and compile the Mozilla Thunderbird source code
    • This is optional, but helps immensely with software development and debugging
  5. Sign up for a Salesforce.com Apex Developer Network (ADN) account to get a developer edition organization if you haven't already done so
    • Your developer edition organization can be used to develop and test Thunderforce
    • Developer edition organizations have API access
    • You can develop and test Thunderforce even if you don't have API access in your Salesforce.com organization or if you don't use Salesforce.com at all
  6. Create and configure a Thunderforce testing profile in Thunderbird
  7. Familiarlize yourself with Thunderforce's test framework
  8. Grab a module and develop it (module list is pending the architectural review's completion)
    • This project's process politely asks that you use a process of refinement from a design to the code along with test-driven development
    1. Create a design for your module on the wiki
    2. Implement your module in parallel with your unit tests
      • When possible, create your unit test before your code and use the test framework to verify your module's operation under those test cases

Development tools and extensions

Please install and set up the following:

  1. Eclipse IDE for C/C++ Developers
  2. Create and switch to a new Eclipse workspace for Thunderforce unless if you aren't using Eclipse for anything else
    • This can be accomplished through File -> "Switch Workspace..."
    • Optionally, you can create a shortcut to start the Thunderforce workspace directly by running eclipse or eclipse.exe with "-data" followed by your workspace folder path
      • Example: eclipse.exe -vmargs -Xmx512M -data d:\Devel\Thunderforce
  3. Eclipse Plug-Ins

Thunderforce Eclipse project

The following steps walk you through the process of importing the Thunderforce Eclipse project into your workspace:

  1. In your Thunderforce Eclipse profile, select "Import..." from the "File" menu to begin the process
  2. Within the "Other" group, select "Checkout Projects from SVN" and press the "Next >" button
  3. Create the https://www.moonlightdesign.org/thunderforce/svn repository location if it isn't already created. Press the "Next >" button
  4. When asked to select the folder to be checked out from SVN, select the "trunk" folder and press "Next >"
  5. Eclipse should automatically detect that the project is named Thunderforce. Press the "Finish" button to complete the project setup

The Thunderforce Eclipse project is presently split into three main folders:

  • architecture
    • The high-level architecture and any detailed design diagrams live in here
  • extension
  • tests
    • Integration and unit tests live in this folder, which is structured as a Thunderbird extension. Because these tests are designed to test Thunderforce, this extension requires that the Thunderforce extension is also installed in a Thunderforce profile

Thunderforce testing profile in Thunderbird

To separate your production email from Thunderforce testing, we suggest that you create a separate Thunderbird profile for Thunderforce testing. You can also use your main Thunderbird profile, but you then run the risk of damaging your email during Thunderforce development.

  1. Ensure that Thunderbird is not running by closing all Thunderbird windows
  2. Start the Thunderbird profile manager in the command line: thunderbird -no-remote -ProfileManager
  3. Create a new profile named ThunderforceTest and press the Exit button to close the profile manager
    • The Eclipse instructions refer to the ThunderforceTest name
  4. Optionally create a shortcut to launch the ThunderforceTest profile, which will work even when you have your default Thunderbird profile running
    • The Thunderbird command to run in this shortcut: thunderbird -no-remote -P ThunderforceTest
  5. In your ThunderforceTest profile's extensions subfolder, create the two following text files. The file names that you will need to use are in bold:
    • thunderforce@moonlightdesign.org
    • thunderforcetest@moonlightdesign.org
      • This file will contain the full absolute file path to the Thunderforce tests folder, such as d:\Devel\Thunderforce\Thunderforce\tests
    • Both of these files will contain one and only one line of text

Artifacts

Useful Development Links