(This page is a mock up of a proposed developer outreach program to university students and other potential Tuscany contributors)



Welcome!

Welcome to Tuscany Tune Up, an easy way for university students, software developers, and web enthusiasts to try out open source development on one of the hottest technologies around - Apache Tuscany. Tuscany is a Service Oriented Architecture, an enabling technology for all sorts of business services to talk to each other and share business information. What's interesting is that Tuscany allows all sorts of underlying technology to talk over many protocols (HTTP, Atom, web services, JMS) in a seemless way, whether implemented in Java, BPEL, SCA, Java or scripting languages such as Groovy or JScript. Tuscany is used by many top corporations on many state-of-the art web sites. Swap out pieces in building block fashion. Make changes in a hurry. Respond to new requirements quickly.

How does Tuscany Tune-Up work? In exchange for less than 8 hours of your time, you will be able to experience open source development and contribute to an actual product. You will be helping the Tuscany project improve by solving actual issues known as Jiras. See whether you like web development. Learn a new technology. Gain valuable experience for your resume. Get in touch with the world-wide development team. Meet and discuss issues with student mentors. Just follow the numbered steps below, marking off the steps as you complete them. If you get stuck, each section lists a live person that you can talk to via chat, email, or web cam. It's an easy way to pick up a valuable new skill. In the end we will reward you with a prize such as a commemorative pin, T-shirt, or movie tickets (NOTE: This page is a mock up. There are no prizes at this point!)

Step 1. - Get Connected

Come join the Tuscany development team. By completing this step you become a true Tuscany contributor. You gain access to the open source world of software development. This gives you access to mailing lists and our issues lists which are known as Jiras. You can think of Jiras as bugs, feature requests, or areas for improvement.

Estimated time for this step: 1 hour

A. Sign up for an Apache developer account

Complete and submit the form at https://issues.apache.org/jira/secure/Signup\!default.jspa .

This account gives you access to browse lists of Jiras, comment on them, and contribute patches. Check here when you are done:

B. Sign up for the Apache Tuscany developer list

These lists will give you access to the latest discussions. Follow the latest issues that are being solved by the developers. Point your feed reader to http://mail-archives.apache.org/mod_mbox/tuscany-dev/?format=atom. Or send a subscription email to dev-subscribe@tuscany.apache.org and receive information in your email.

Check here when you are done:

C. Join the Tuscany Chat Channel

Point your chat tool (such as Chatzilla) to irc://irc.freenode.net/tuscany. Talk live with developers from around the world.

Check here when you are done:

Trouble with this Step?

Contact these Mentors:

  • Haleh Mahbod (haleh@......)
  • Luciano Resende (luciano@......)
  • Raymond Feng (raymond@.....)
  • Dan Becker (dan.becker@......)
  • ...

Step 2. - Try Out Tuscany

Still don't have a good idea what Tuscany is? Let's give it a test run. First we will set up your development environment. Then we will give Tuscany a test run. Then we will bring up Tuscany in a debugger.

Estimated time for this step: 2 hours

A. Download Tuscany

Download the latest release of Tuscany to your computer. You can run Tuscany on any system that supports the programming language Java and the Java developer toolkit - Linux, MacOS, or Windows. Make a fresh directory such as Tuscany. Down load and unzip this Tuscany binary to that directory.

http://tuscany.apache.org/tuscany-downloads-documentations.html

Check here when you are done:

B. Download a Java Development Kit

If your system does not have Java installed, you will need to install it. You can use any version of Java, but here we are using the version from Sun.

 http://java.sun.com/javase/downloads/index.jsp

Open a command window and test if your Java has installed correctly. When you type "java -version" you should see a Java version number.

Check here when you are done:

C. Download Development Tools

Tuscany requires Java to run. However Tuscany Tune Up is geared towards developers. So we are going to install some state of the art development tools. You will need the Maven tool to build Tuscany, the Subversion tool to check out code, and the Eclipse tool to debug Java. This step we will install these tools.

Download and install Apache Maven for your operating system

http://maven.apache.org/

Test that Maven works by running the command "mvn -?" at the command line.

Download and install  Tigris Subversion for your operating system

http://subversion.tigris.org/

Test that subversion works by running the command "svn help" at the command line.

Download and install Eclipse for your operating system.

http://www.eclipse.org/

Start Eclipse from you desktop and check that you get a welcome screen.

Check here when you are done:

D. Run a Tuscany Sample

Now that we have all the tools in place, let's check that Tuscany actually runs. Switch to a command window and run the Tuscany calculator sample.

Let's first run the sample before we go about building it. It is easy!

  • Go to the directory ..\samples\calculatorant run

Alternatively if you want to run the sample directly from the command line try the following.

  • if you are using Windows issue the command:java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-calculator.jar calculator.CalculatorClient
  • if you are using *nix issue the command:java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-calculator.jar calculator.CalculatorClient

You should see the following result:

3 + 2=5.0
3 - 2=1.0
3 * 2=6.0
3 / 2=1.5

For more help, see the Tuscany Getting Started guide at http://tuscany.apache.org/getting-started-with-tuscany-using-the-command-line.html

Check here when you are done:

Trouble with this Step?

Contact these Mentors:

  • Haleh Mahbod (haleh@......)
  • Luciano Resende (luciano@......)
  • Raymond Feng (raymond@.....)
  • Dan Becker (dan.becker@......)
  • ...

Step 3 - Find a Tuscany Issue to Solve

Now that we can run Tuscany, it is time to find an true issue to solve. We need to set up a debugger and recreate the issue in order to solve it.

Estimated time for this step: 1 hour

A. Pick a Jira

Visit the Tuscany Tune Up issue list at http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&pid=12310210&status=1

These issues have been screened by the Tuscany development team to ensure that they can be recreated and fixed by an experienced developer in less than 4 hours. If it takes you longer, don't worry. You are cramming lots of learning and exploration into this process as well, so it is no problem if it takes longer.

Once you have selected a issue that interests you, put a comment on it to let other developers know you are investigating. Comment on each stage of your progress

1. I am investigating this Jira.

2. I have recreated this issue.

3. I have found the problem and am developing a patch.

Check here when you are done:

B. Recreate the Jira issue

Is the problem recreatable? Can you see the issue? Has the Jira originator left out steps? Contact the originator if you cannot see the problem. Ask questions in the developer list.

Check here when you are done:

Trouble with this Step?

Contact these Mentors:

  • Haleh Mahbod (haleh@......)
  • Luciano Resende (luciano@......)
  • Raymond Feng (raymond@.....)
  • Dan Becker (dan.becker@......)
  • ...

Step 4. Get Ready to Debug!

Let us set up a debugging environment to help fix the problem.

Estimated time for this step: 2 hours

A. Download the Tuscany Code Base

Show using subv=sersion to download the trunk or a recent branck.

Run maven on a sample to ensure the code builds

Check here when you are done:

B. Get the Debugger Ready

Show setting up Eclipse and debugging a sample or two in the debugger.

http://tuscany.apache.org/getting-started-with-tuscany-using-tuscany-eclipse-plugin.html 

Check here when you are done:

 C. Recreate Your Problem in the Debugger

Recreate your problem using the code in your debugger.

Check here when you are done:

Trouble with this Step?

Contact these Mentors:

  • Haleh Mahbod (haleh@......)
  • Luciano Resende (luciano@......)
  • Raymond Feng (raymond@.....)
  • Dan Becker (dan.becker@......)
  • ...

Step 5. Propose a Solution

 In this step you must develop and find code to fix the problem.

Estimated time for this step: 2 hours

A. Create a Patch

Show how to create and append a patch file to the Jira.

Check here when you are done:

B. Get a Review

One of the following mentors will review your patch and provide feedback. If the patch is not accepted, specific reasons why it could not be used are provided. If it can be used, it will be commited to that branch of the code.

Check here when you are done:

Trouble with this Step?

Contact these Mentors:

  • Haleh Mahbod (haleh@......)
  • Luciano Resende (luciano@......)
  • Raymond Feng (raymond@.....)
  • Dan Becker (dan.becker@......)
  • ...

Step 6.  Pick Up Your Tuscany Tune Up Prize

(NOTE: There are no prizes. This page is just a mock-up. No prizes are available.)

But this is not the end of the journey. Use your Tuscany Tune Up exerience to continue participation in the online community. Don't forget to include your experience on your resume. Tackle another Jira. Collaborate with other developers.