[ http://issues.apache.org/jira/browse/DERBY-257?page=all ]

Jean T. Anderson updated DERBY-257:
-----------------------------------

    Fix Version:     (was: 10.1.0.0)
    Description: 
Format the document below for the website. 


It will have to be a living document so things get removed as they are 
fixed and new ones get added.   It would also be nice to have a volunteer to 
keep it maintained and pester derby-dev from time to get suggestions for new 
items for the list.

If there is a good, "How to Get Started in Open Source Development" article.
That might be nice to add too.


Whomever volunteers to do it can post the page to the Jira issue. Options for 
formatting content for the web site are at 
http://incubator.apache.org/derby/papers/index.html#How+to+Contribute+Papers

This was filed 5/1/2005. Check listed bugs for current status whenever this 
document gets formatted for the website.
--------------------------------------------------------

Contributing to Derby, Tips and Tasks To Get You Started

So you are new to Derby and want to contribute right away.  Here  are some 
ideas to get you started. 


Ongoing Projects

Below are some ongoing projects, which are great starting places and always 
available.

Test the Documentation
              
Pick a manual, review it carefully and test all the examples.  If you find 
something that looks wrong post a question to [EMAIL PROTECTED]  If the 
community confirms it as a  documentation bug, file a Jira entry.


Answer User Questions

Answer user questions as they come in to [EMAIL PROTECTED] Make sure bugs get 
filed properly when they come up. File bugs for documentation corrections and 
update FAQ's.


Add Functional Tests

Until we have 100% code coverage we know there are still opportunities to 
enhance functional testing.   See 
https://svn.apache.org/viewcvs.cgi/*checkout*/incubator/derby/code/trunk/java/testing/README.htm
 for information on writing tests.  Write the tests and if you hit something 
that doesn't work, post a question to [EMAIL PROTECTED] for confirmation.   If 
the community confirms it as a  bug, file a Jira entry.  


Add More Existing Tests To the Network Server Suite.

This is entered as Derby-209.   Choosing this as an initial task will help you 
come up to speed on the test harness and network server.

Add Stress and Scalability Tests

Choose something that Derby does and push it to the limit. Some of these kinds 
of tests can be incorporated into the functional test framework. For example 
Derby 216 is a task to expand on the test case for Derby-176 related to cases 
where large amounts of byte code are generated.


Provide Benchmark / Performance Examples:

Derby could use some contributions in the benchmark/performance example area.  
This is a good area for someone who wants to learn any of java, jdbc, sql 
and/or derby.  It would be nice to have some public examples applications/code 
which runs well in the derby embedded server domain.
Extra credit:
      o compare/contrast performance of same application with other dbs.
      o implement public domain standard benchmark.


Write Tests for an Upcoming Feature

You may ask how you can do this, but because Derby is standards based, you can 
often install your second favorite relational database software, one that has 
the feature already implemented and run your tests against that.  Then you can 
post your test to the Jira entry. This will facilitate implementation and 
improve quality.

Apply, Test and Review  Patches 

Apply, review and test patches that have been posted for review.  Really make a 
careful detailed review, try to understand all the code and if you don't, ask 
questions about it.  Look at the functional tests supplied and see if you can 
think of additional cases that could be added.  This is a highly valuable task. 
If the committers don't have community members doing this, they spend all their 
time reviewing and committing and never contributing themselves.  This task 
will  help preserve the quality of Derby.

Cleanup and Expand Javadoc

In addition to Derby-204, to cleanup the javadoc warnings.  Much of the javadoc 
could be expanded and improved upon. package.html files can be created to give 
a package overview.   Committers are always happy to assist, review and 
expedite these kinds of contributions because they enhance  the overall 
competency of the community.


First Code Changes

For your first code change choose something that looks really easy. Something 
you can do and do well. This will be something different for different people. 
The point of your first change should be to go through the whole process and be 
comfortable with it before taking on major coding projects.  

A  "Do no harm" mantra is always important if you are considering changing 
Derby. Your first priority in introducing any new functionality should be to 
not introduce a regression in functionality or performance.

Reference Materials

For general process and guidelines see:
    http://db.apache.org/guidelines.html
    http://www.apache.org/foundation/how-it-works.html
   
For the mechanics of building Derby and submitting a patch see
    http://incubator.apache.org/derby/derby_downloads.html
    http://incubator.apache.org/derby/derby_comm.html

For Derby Internals
    http://incubator.apache.org/derby/papers/index.html
    Read the javadoc.


Below are some tasks that are may be good candidates for first changes.

Derby-204
Cleanup  Derby javadoc warnings.  Take a tour of the code and add great value. 
Feel free to take a subset of the javadoc in an area that interests you.

Derby-209 
Add more tests to Network Server.
Learn about Network Server, the test harness, and help improve network server 
quality.


Derby-205
Rename org.apache.derby.impl.drda.DB2jServerImpl to NetworkServerControlImpl. A 
useful cleanup project to take you through the change cycle.

Derby-243
connection toString() doesn't give enough information

Derby-216
Derby-176 test case. Try to identify cases where Derby generates byte code that 
exceeds the JVM Specification limits. This is an interesting white box testing 
task that can be a good entry point if you are interested in code generation or 
code paths for different types of queries.
 

Derby-180
XCL47 SQL State duplicated in messages_en.properties.  Go through the code 
change process and learn about how Derby Handles SQLStates


Derby-212
Optimize some specific methods in Network Server. A targeted place to get 
started in Network Server and improve Network Server performance.


Derby-211
Network Server returns no result sets for a procedure call that returns no 
result. A protocol fix that will help us work toward network server/ embedded 
compatibility

Derby-51

Need NetworkServerControl shutdown API method that does not shutdown derby 
embedded.  This will allow applications that embed network server to shut down 
the server and continue with embedded access.

Derby-17
Network Server Needs to generate CRRTKN on ACCRDB if client does not send it


Derby 104
Get rid of the Max length of 18 for constraint names.  Help Jira and other 
applications migrate to Derby easily.

Derby 223
Change programs under demo directory to use consistent package names so IDEs do 
not report errors

Derby-197

Add tip for Windows users in BUILDING.txt file regarding file paths in the 
ant.properties file. Save new folks a lot of time.

Derby-117

Try out patch for Derby 117 and verify changes. Good introduction to the 
Network Server Servlet


Derby 213
ResultSet.next() after last row of FORWARD_ONLY cursor throws an SQL Exception 
with Network Server


DERBY-229       
Column names on ResultSet.updateXXX and getXXX methods are handled incorrectly 

DERBY-203       
setNull(x,JDBCType.DATE) does not work when batching is turned on

DERBY-195       
isSearchable() returns true for a calculated field 

DERBY-194       
getPrecision() on TIME and TIMESTAMP is zero 

DERBY-163       
Timestamp formatting 

DERBY-39        
Strange error in JOIN ON clause 



Derby client Tasks

There are some very time critical Derby client tasks that are fairly large but  
great starters in terms of difficulty. There is no component for Derby client 
in Jira yet.  So they don't have JIRA numbers.

Match embedded SQL States wherever possible. 
The client tends to throw errors with null SQLStates or SQLStates that don't 
match embedded.  It would be great to get them matched up before release.

Document areas of embedded incompatibility and file  JIRA entries
In addition to the SQLStates, there may be additional incompatibilities with 
the embedded driver. These could be indicated in the documentation as areas 
that may change, so we don't get locked into any incompatibilities.  This task 
could be done in conjunction with Derby-209.  




  was:
Format the document below for the website. 


It will have to be a living document so things get removed as they are 
fixed and new ones get added.   It would also be nice to have a volunteer to 
keep it maintained and pester derby-dev from time to get suggestions for new 
items for the list.

If there is a good, "How to Get Started in Open Source Development" article.
That might be nice to add too.


Whomever volunteers to do it can post the page to the Jira issue. Options for 
formatting content for the web site are at 
http://incubator.apache.org/derby/papers/index.html#How+to+Contribute+Papers

This was filed 5/1/2005. Check listed bugs for current status whenever this 
document gets formatted for the website.
--------------------------------------------------------

Contributing to Derby, Tips and Tasks To Get You Started

So you are new to Derby and want to contribute right away.  Here  are some 
ideas to get you started. 


Ongoing Projects

Below are some ongoing projects, which are great starting places and always 
available.

Test the Documentation
              
Pick a manual, review it carefully and test all the examples.  If you find 
something that looks wrong post a question to [EMAIL PROTECTED]  If the 
community confirms it as a  documentation bug, file a Jira entry.


Answer User Questions

Answer user questions as they come in to [EMAIL PROTECTED] Make sure bugs get 
filed properly when they come up. File bugs for documentation corrections and 
update FAQ's.


Add Functional Tests

Until we have 100% code coverage we know there are still opportunities to 
enhance functional testing.   See 
https://svn.apache.org/viewcvs.cgi/*checkout*/incubator/derby/code/trunk/java/testing/README.htm
 for information on writing tests.  Write the tests and if you hit something 
that doesn't work, post a question to [EMAIL PROTECTED] for confirmation.   If 
the community confirms it as a  bug, file a Jira entry.  


Add More Existing Tests To the Network Server Suite.

This is entered as Derby-209.   Choosing this as an initial task will help you 
come up to speed on the test harness and network server.

Add Stress and Scalability Tests

Choose something that Derby does and push it to the limit. Some of these kinds 
of tests can be incorporated into the functional test framework. For example 
Derby 216 is a task to expand on the test case for Derby-176 related to cases 
where large amounts of byte code are generated.


Provide Benchmark / Performance Examples:

Derby could use some contributions in the benchmark/performance example area.  
This is a good area for someone who wants to learn any of java, jdbc, sql 
and/or derby.  It would be nice to have some public examples applications/code 
which runs well in the derby embedded server domain.
Extra credit:
      o compare/contrast performance of same application with other dbs.
      o implement public domain standard benchmark.


Write Tests for an Upcoming Feature

You may ask how you can do this, but because Derby is standards based, you can 
often install your second favorite relational database software, one that has 
the feature already implemented and run your tests against that.  Then you can 
post your test to the Jira entry. This will facilitate implementation and 
improve quality.

Apply, Test and Review  Patches 

Apply, review and test patches that have been posted for review.  Really make a 
careful detailed review, try to understand all the code and if you don't, ask 
questions about it.  Look at the functional tests supplied and see if you can 
think of additional cases that could be added.  This is a highly valuable task. 
If the committers don't have community members doing this, they spend all their 
time reviewing and committing and never contributing themselves.  This task 
will  help preserve the quality of Derby.

Cleanup and Expand Javadoc

In addition to Derby-204, to cleanup the javadoc warnings.  Much of the javadoc 
could be expanded and improved upon. package.html files can be created to give 
a package overview.   Committers are always happy to assist, review and 
expedite these kinds of contributions because they enhance  the overall 
competency of the community.


First Code Changes

For your first code change choose something that looks really easy. Something 
you can do and do well. This will be something different for different people. 
The point of your first change should be to go through the whole process and be 
comfortable with it before taking on major coding projects.  

A  "Do no harm" mantra is always important if you are considering changing 
Derby. Your first priority in introducing any new functionality should be to 
not introduce a regression in functionality or performance.

Reference Materials

For general process and guidelines see:
    http://db.apache.org/guidelines.html
    http://www.apache.org/foundation/how-it-works.html
   
For the mechanics of building Derby and submitting a patch see
    http://incubator.apache.org/derby/derby_downloads.html
    http://incubator.apache.org/derby/derby_comm.html

For Derby Internals
    http://incubator.apache.org/derby/papers/index.html
    Read the javadoc.


Below are some tasks that are may be good candidates for first changes.

Derby-204
Cleanup  Derby javadoc warnings.  Take a tour of the code and add great value. 
Feel free to take a subset of the javadoc in an area that interests you.

Derby-209 
Add more tests to Network Server.
Learn about Network Server, the test harness, and help improve network server 
quality.


Derby-205
Rename org.apache.derby.impl.drda.DB2jServerImpl to NetworkServerControlImpl. A 
useful cleanup project to take you through the change cycle.

Derby-243
connection toString() doesn't give enough information

Derby-216
Derby-176 test case. Try to identify cases where Derby generates byte code that 
exceeds the JVM Specification limits. This is an interesting white box testing 
task that can be a good entry point if you are interested in code generation or 
code paths for different types of queries.
 

Derby-180
XCL47 SQL State duplicated in messages_en.properties.  Go through the code 
change process and learn about how Derby Handles SQLStates


Derby-212
Optimize some specific methods in Network Server. A targeted place to get 
started in Network Server and improve Network Server performance.


Derby-211
Network Server returns no result sets for a procedure call that returns no 
result. A protocol fix that will help us work toward network server/ embedded 
compatibility

Derby-51

Need NetworkServerControl shutdown API method that does not shutdown derby 
embedded.  This will allow applications that embed network server to shut down 
the server and continue with embedded access.

Derby-17
Network Server Needs to generate CRRTKN on ACCRDB if client does not send it


Derby 104
Get rid of the Max length of 18 for constraint names.  Help Jira and other 
applications migrate to Derby easily.

Derby 223
Change programs under demo directory to use consistent package names so IDEs do 
not report errors

Derby-197

Add tip for Windows users in BUILDING.txt file regarding file paths in the 
ant.properties file. Save new folks a lot of time.

Derby-117

Try out patch for Derby 117 and verify changes. Good introduction to the 
Network Server Servlet


Derby 213
ResultSet.next() after last row of FORWARD_ONLY cursor throws an SQL Exception 
with Network Server


DERBY-229       
Column names on ResultSet.updateXXX and getXXX methods are handled incorrectly 

DERBY-203       
setNull(x,JDBCType.DATE) does not work when batching is turned on

DERBY-195       
isSearchable() returns true for a calculated field 

DERBY-194       
getPrecision() on TIME and TIMESTAMP is zero 

DERBY-163       
Timestamp formatting 

DERBY-39        
Strange error in JOIN ON clause 



Derby client Tasks

There are some very time critical Derby client tasks that are fairly large but  
great starters in terms of difficulty. There is no component for Derby client 
in Jira yet.  So they don't have JIRA numbers.

Match embedded SQL States wherever possible. 
The client tends to throw errors with null SQLStates or SQLStates that don't 
match embedded.  It would be great to get them matched up before release.

Document areas of embedded incompatibility and file  JIRA entries
In addition to the SQLStates, there may be additional incompatibilities with 
the embedded driver. These could be indicated in the documentation as areas 
that may change, so we don't get locked into any incompatibilities.  This task 
could be done in conjunction with Derby-209.  




        Version:     (was: 10.1.0.0)
    Environment: 

> Format Contributing to Derby, Tips and Tasks To Get You Started Document for 
> the website
> ----------------------------------------------------------------------------------------
>
>          Key: DERBY-257
>          URL: http://issues.apache.org/jira/browse/DERBY-257
>      Project: Derby
>         Type: Task
>   Components: Web Site
>     Reporter: Kathey Marsden
>     Priority: Trivial

>
> Format the document below for the website. 
> It will have to be a living document so things get removed as they are 
> fixed and new ones get added.   It would also be nice to have a volunteer to 
> keep it maintained and pester derby-dev from time to get suggestions for new 
> items for the list.
> If there is a good, "How to Get Started in Open Source Development" article.
> That might be nice to add too.
> Whomever volunteers to do it can post the page to the Jira issue. Options for 
> formatting content for the web site are at 
> http://incubator.apache.org/derby/papers/index.html#How+to+Contribute+Papers
> This was filed 5/1/2005. Check listed bugs for current status whenever this 
> document gets formatted for the website.
> --------------------------------------------------------
> Contributing to Derby, Tips and Tasks To Get You Started
> So you are new to Derby and want to contribute right away.  Here  are some 
> ideas to get you started. 
> Ongoing Projects
> Below are some ongoing projects, which are great starting places and always 
> available.
> Test the Documentation
>             
> Pick a manual, review it carefully and test all the examples.  If you find 
> something that looks wrong post a question to [EMAIL PROTECTED]  If the 
> community confirms it as a  documentation bug, file a Jira entry.
> Answer User Questions
> Answer user questions as they come in to [EMAIL PROTECTED] Make sure bugs get 
> filed properly when they come up. File bugs for documentation corrections and 
> update FAQ's.
> Add Functional Tests
> Until we have 100% code coverage we know there are still opportunities to 
> enhance functional testing.   See 
> https://svn.apache.org/viewcvs.cgi/*checkout*/incubator/derby/code/trunk/java/testing/README.htm
>  for information on writing tests.  Write the tests and if you hit something 
> that doesn't work, post a question to [EMAIL PROTECTED] for confirmation.   
> If the community confirms it as a  bug, file a Jira entry.  
> Add More Existing Tests To the Network Server Suite.
> This is entered as Derby-209.   Choosing this as an initial task will help 
> you come up to speed on the test harness and network server.
> Add Stress and Scalability Tests
> Choose something that Derby does and push it to the limit. Some of these 
> kinds of tests can be incorporated into the functional test framework. For 
> example Derby 216 is a task to expand on the test case for Derby-176 related 
> to cases where large amounts of byte code are generated.
> Provide Benchmark / Performance Examples:
> Derby could use some contributions in the benchmark/performance example area. 
>  This is a good area for someone who wants to learn any of java, jdbc, sql 
> and/or derby.  It would be nice to have some public examples 
> applications/code which runs well in the derby embedded server domain.
> Extra credit:
>       o compare/contrast performance of same application with other dbs.
>       o implement public domain standard benchmark.
> Write Tests for an Upcoming Feature
> You may ask how you can do this, but because Derby is standards based, you 
> can often install your second favorite relational database software, one that 
> has the feature already implemented and run your tests against that.  Then 
> you can post your test to the Jira entry. This will facilitate implementation 
> and improve quality.
> Apply, Test and Review  Patches 
> Apply, review and test patches that have been posted for review.  Really make 
> a careful detailed review, try to understand all the code and if you don't, 
> ask questions about it.  Look at the functional tests supplied and see if you 
> can think of additional cases that could be added.  This is a highly valuable 
> task. If the committers don't have community members doing this, they spend 
> all their time reviewing and committing and never contributing themselves.  
> This task will  help preserve the quality of Derby.
> Cleanup and Expand Javadoc
> In addition to Derby-204, to cleanup the javadoc warnings.  Much of the 
> javadoc could be expanded and improved upon. package.html files can be 
> created to give a package overview.   Committers are always happy to assist, 
> review and expedite these kinds of contributions because they enhance  the 
> overall competency of the community.
> First Code Changes
> For your first code change choose something that looks really easy. Something 
> you can do and do well. This will be something different for different 
> people. The point of your first change should be to go through the whole 
> process and be comfortable with it before taking on major coding projects.  
> A  "Do no harm" mantra is always important if you are considering changing 
> Derby. Your first priority in introducing any new functionality should be to 
> not introduce a regression in functionality or performance.
> Reference Materials
> For general process and guidelines see:
>     http://db.apache.org/guidelines.html
>     http://www.apache.org/foundation/how-it-works.html
>    
> For the mechanics of building Derby and submitting a patch see
>     http://incubator.apache.org/derby/derby_downloads.html
>     http://incubator.apache.org/derby/derby_comm.html
> For Derby Internals
>     http://incubator.apache.org/derby/papers/index.html
>     Read the javadoc.
> Below are some tasks that are may be good candidates for first changes.
> Derby-204
> Cleanup  Derby javadoc warnings.  Take a tour of the code and add great 
> value. Feel free to take a subset of the javadoc in an area that interests 
> you.
> Derby-209 
> Add more tests to Network Server.
> Learn about Network Server, the test harness, and help improve network server 
> quality.
> Derby-205
> Rename org.apache.derby.impl.drda.DB2jServerImpl to NetworkServerControlImpl. 
> A useful cleanup project to take you through the change cycle.
> Derby-243
> connection toString() doesn't give enough information
> Derby-216
> Derby-176 test case. Try to identify cases where Derby generates byte code 
> that exceeds the JVM Specification limits. This is an interesting white box 
> testing task that can be a good entry point if you are interested in code 
> generation or code paths for different types of queries.
>  
> Derby-180
> XCL47 SQL State duplicated in messages_en.properties.  Go through the code 
> change process and learn about how Derby Handles SQLStates
> Derby-212
> Optimize some specific methods in Network Server. A targeted place to get 
> started in Network Server and improve Network Server performance.
> Derby-211
> Network Server returns no result sets for a procedure call that returns no 
> result. A protocol fix that will help us work toward network server/ embedded 
> compatibility
> Derby-51
> Need NetworkServerControl shutdown API method that does not shutdown derby 
> embedded.  This will allow applications that embed network server to shut 
> down the server and continue with embedded access.
> Derby-17
> Network Server Needs to generate CRRTKN on ACCRDB if client does not send it
> Derby 104
> Get rid of the Max length of 18 for constraint names.  Help Jira and other 
> applications migrate to Derby easily.
> Derby 223
> Change programs under demo directory to use consistent package names so IDEs 
> do not report errors
> Derby-197
> Add tip for Windows users in BUILDING.txt file regarding file paths in the 
> ant.properties file. Save new folks a lot of time.
> Derby-117
> Try out patch for Derby 117 and verify changes. Good introduction to the 
> Network Server Servlet
> Derby 213
> ResultSet.next() after last row of FORWARD_ONLY cursor throws an SQL 
> Exception with Network Server
> DERBY-229     
> Column names on ResultSet.updateXXX and getXXX methods are handled 
> incorrectly 
> DERBY-203     
> setNull(x,JDBCType.DATE) does not work when batching is turned on
> DERBY-195     
> isSearchable() returns true for a calculated field 
> DERBY-194     
> getPrecision() on TIME and TIMESTAMP is zero 
> DERBY-163     
> Timestamp formatting 
> DERBY-39      
> Strange error in JOIN ON clause 
> Derby client Tasks
> There are some very time critical Derby client tasks that are fairly large 
> but  great starters in terms of difficulty. There is no component for Derby 
> client in Jira yet.  So they don't have JIRA numbers.
> Match embedded SQL States wherever possible. 
> The client tends to throw errors with null SQLStates or SQLStates that don't 
> match embedded.  It would be great to get them matched up before release.
> Document areas of embedded incompatibility and file  JIRA entries
> In addition to the SQLStates, there may be additional incompatibilities with 
> the embedded driver. These could be indicated in the documentation as areas 
> that may change, so we don't get locked into any incompatibilities.  This 
> task could be done in conjunction with Derby-209.  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to