Difference between revisions of "Developer documentation"

From The Open Source Backup Wiki (Amanda, MySQL Backup, BackupPC)
Jump to navigationJump to search
m (change case)
 
(32 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
__NOEDITSECTION__ __NOTOC__
 
__NOEDITSECTION__ __NOTOC__
 
<table style="width: 100%;" cellspacing="5">
 
<table style="width: 100%;" cellspacing="5">
<!-- Full-width header text -->
+
<tr><td width="45%" valign="top">
<tr><td rowspan="2" valign="top" style="width: 55%; border: 1px solid gray; padding-left:1em; font-size: 95%">
+
<div style="left: 0px; right: 0px; border: 1px solid gray; padding-left:1em; padding-right: 0.5em; font-size: 95%; margin-bottom: 5px;">
 
==Introduction==
 
==Introduction==
 
* [[How To Help]] - How can you get involved?
 
* [[How To Help]] - How can you get involved?
 
** [[Tasks|Development Tasks]] - Stuff that needs doing.
 
** [[Tasks|Development Tasks]] - Stuff that needs doing.
 +
** [[Fork Amanda on Github]] - Easiest way to start hacking
 +
* [[Development Dependencies]] - The tools you'll need to develop.
 +
* [[Testing]] - How to test Amanda
 +
* [[Software architecture]] - How Amanda fits together
 
* [[Coding Guidelines]] - Things every developer should know
 
* [[Coding Guidelines]] - Things every developer should know
* [[Software architecture]] - How Amanda fits together
 
 
* [[Perl Interface]] - Amanda's being rewritten in Perl!
 
* [[Perl Interface]] - Amanda's being rewritten in Perl!
* [[Testing]] - How we keep Amanda functioning correctly.
+
* [[Licensing your Contribution]]
* [[Minimum Versions]] - The tools you'll need to develop.
+
</div>
* [http://wiki.zmanda.com/pod/ Perl module documentation] for the development version (or [http://wiki.zmanda.com/pod/2.6.0 2.6.0])
+
<div style="left: 0px; right: 0px; border: thin solid gray; padding-left:1em; padding-right: 0.5em; font-size: 95%; margin-bottom: 5px;">
== APIs, Protocols, Formats ==
 
* [[Transfer Architecture]] (XFA)
 
* [[Device API]]
 
* [[Application API]] (under development)
 
* [[Script API]]
 
* Server/Client communication
 
** [[Security API]]
 
** [[TCP/UDP ports]]
 
** [[Firewalls & NAT]]
 
* [[Driver-Taper protocol]]
 
* [[Reading amanda configuration]]
 
* [[REQ packet format update]]
 
* [[amindexd protocol]]
 
* [[Changer API]]
 
* [[Log Files]]
 
* [[Planner Notes]]
 
</td>
 
<td valign="top" style="width: 45%; border: thin solid gray; padding-left:1em; font-size: 90%">
 
 
== Developer Resources ==
 
== Developer Resources ==
 
=== Community ===
 
=== Community ===
Line 35: Line 20:
 
* [http://sourceforge.net/projects/amanda sourceforge project page]
 
* [http://sourceforge.net/projects/amanda sourceforge project page]
 
* [[Platform Experts]]
 
* [[Platform Experts]]
 +
* [http://code.v.igoro.us/categories/6-amanda Developer's Blog]
 
=== Tools ===
 
=== Tools ===
 
* [[Lint]]
 
* [[Lint]]
 
* [[Valgrind]]
 
* [[Valgrind]]
 +
* [http://wiki.zmanda.com/glib-docs/ Glib-2.2.0 documentation]
 
=== Presentations ===
 
=== Presentations ===
 
* [[Presentations/Perl in the Amanda Core|Perl in the Amanda Core]] (2008-01-18, Dustin J. Mitchell)
 
* [[Presentations/Perl in the Amanda Core|Perl in the Amanda Core]] (2008-01-18, Dustin J. Mitchell)
 
* [[Presentations/Amanda Development (UM-LUG)|Amanda Development (UM-LUG)]] (2008-03-26, Dustin J. Mitchell)
 
* [[Presentations/Amanda Development (UM-LUG)|Amanda Development (UM-LUG)]] (2008-03-26, Dustin J. Mitchell)
</td>
+
</div>
</tr><tr>
+
<div style="left: 0px; right: 0px; border: thin solid gray; padding-left:1em; padding-right: 0.5em; font-size: 90%; margin-bottom: 5px;">
<td valign="top" style="width: 45%; border: thin solid gray; padding-left:1em; font-size: 90%">
 
 
== Static source code analysis ==
 
== Static source code analysis ==
  
Line 50: Line 36:
 
* In collaboration with Stanford University, [http://scan.coverity.com Coverity] is establishing a new baseline for software quality and security in open source. Under a contract with the Department of Homeland Security, Coverity applies the latest innovations in automated defect detection to uncover some of the most critical types of bugs found in software.
 
* In collaboration with Stanford University, [http://scan.coverity.com Coverity] is establishing a new baseline for software quality and security in open source. Under a contract with the Department of Homeland Security, Coverity applies the latest innovations in automated defect detection to uncover some of the most critical types of bugs found in software.
 
* Amanda has been analyzed with [http://www.klocwork.com Klocwork source code analysis], the most accurate and comprehensive tool for finding critical programming errors and security vulnerabilities.
 
* Amanda has been analyzed with [http://www.klocwork.com Klocwork source code analysis], the most accurate and comprehensive tool for finding critical programming errors and security vulnerabilities.
 +
</div>
 +
</td><td width="55%" valign="top"> <!-- SECOND COLUMN -->
 +
<div style="left: 0px; right: 0px;  border: 1px solid gray; padding-left:1em; padding-right: 0.5em; font-size: 95%; margin-bottom: 5px;">
 +
== Documentation ==
 +
* Perl Module Documentation for [http://wiki.zmanda.com/pod/ HEAD] ([http://wiki.zmanda.com/pod/2.6.0 2.6.0], [http://wiki.zmanda.com/pod/2.6.1 2.6.1], [http://wiki.zmanda.com/pod/3.1 3.1])
 +
=== Overviews ===
 +
* [[Taper Process Overview]] (bug Dustin to finish this!)
 +
* [[Recovery Process Overview]]
 +
=== APIs ===
 +
* [[Changer API]]
 +
* [[Transfer Architecture]] (XFA)
 +
* [[Device API]]
 +
* [[Application API]] (under development)
 +
* [[Script API]]
 +
* [[Configuration API]]
 +
* [[Security API]]
 +
=== Protocols, Formats, etc. ===
 +
* [[Driver-Taper protocol]]
 +
* [[Driver-Chunker protocol]]
 +
* [[Amanda Protocol]] - protocol for invoking services via amandad
 +
* [[Amandad Service Protocol]] - how amandad communicates with services
 +
* [[amindexd protocol]]
 +
* [[amidxtaped protocol]]
 +
* [[amdumpd protocol]]
 +
* [[DirectTCP]]
 +
* [[Log Files]]
 +
** [[Amanda log files/Trace Logs|Trace Logs]]
 +
** [[Amanda log files/Debug Logs|Debug Logs]]
 +
** [[Amanda log files/Amdump Logs|Amdump Logs]]
 +
* [[Tapespec]]
 +
=== Notes ===
 +
These are notes from development conversations in the past; they can help figure out why things are the way they are, but they are not designed as documentation.
 +
* [[REQ packet format update]]
 +
* [[Planner Notes]]
 +
* [[Tape Driver Semantics]]
 +
* [[GNU Tar Include and Exclude Behavior]]
 +
* [[Splitting Configuration Parameters and Behavior]]
 +
</div>
 
</td></tr>
 
</td></tr>
 
</table>
 
</table>

Latest revision as of 13:47, 22 January 2011

Introduction

Developer Resources

Community

Tools

Presentations

Static source code analysis

Coverity and Klocwork have been running their static analysis tools on the latest Amanda source code and making the results available for the Amanda developers to analyse and fix the defects. The Amanda hackers are thankful to these companies for making these tools available and in general, helping to improve quality of open source projects.

  • In collaboration with Stanford University, Coverity is establishing a new baseline for software quality and security in open source. Under a contract with the Department of Homeland Security, Coverity applies the latest innovations in automated defect detection to uncover some of the most critical types of bugs found in software.
  • Amanda has been analyzed with Klocwork source code analysis, the most accurate and comprehensive tool for finding critical programming errors and security vulnerabilities.

Documentation

Overviews

APIs

Protocols, Formats, etc.

Notes

These are notes from development conversations in the past; they can help figure out why things are the way they are, but they are not designed as documentation.