Annotation of autoform/www/development.html, revision 1.10

1.3       kessler     1: <html>
                      2:     <head>
                      3:         <title>Autoform - Automatic Form Control</title>
                      4:         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                      5:         <meta http-equiv="Content-Script-Type" content="text/javascript" />
                      6:         <meta http-equiv="Content-Style-Type" content="text/css" />
                      7:         <meta name="robots" content="index, follow" />
                      8:         <meta name="description" content="Autoform - Automatic Form Control" lang="en" />
                      9:         <meta name="keywords" content="firefox, form, fill, automatic, control, password, encryption, context, virtual user" lang="en" />
                     10:         <meta name="author" content="Michael Kessler" />
                     11:         <meta name="content-language" content="en" />
                     12:         <meta name="revisit-after" content="10 days" />
                     13:         <link rel="stylesheet" href="/autoform.css" /> 
                     14:         <script language="JavaScript" type="application/x-javascript" src="/autoform.js" />               
                     15:     </head>
                     16:     <body>
                     17:         <table class="centered">
                     18:             <tr>
                     19:                 <td>
                     20:                     <h1>Autoform -  Automatic Form Control</h1>
                     21:                 </td>
                     22:             </tr>
                     23:         </table>
                     24:         <table class="content centered">
                     25:             <tr>
1.10    ! kessler    26:                 <td class="tab"><a href="/index.html" class="menu">Home</a></td>
1.3       kessler    27:                 <td>&nbsp;</td>
                     28:                 <td class="tab"><a href="/screenshots.html" class="menu">Screenshots</a></td>
                     29:                 <td>&nbsp;</td>
                     30:                 <td class="tab"><a href="/installation.html" class="menu">Installation</a></td>
                     31:                 <td>&nbsp;</td>
                     32:                 <td class="tab"><a href="/list.html" class="menu">Mailinglist</a></td>
                     33:                 <td>&nbsp;</td>
                     34:                 <td class="tab-selected"><a href="/development.html" class="menu-selected">Development</a></td>
                     35:             </tr>
                     36:             <tr>
                     37:                 <td class="dashed" colspan="9">
                     38:                     <p>If you are <i>really</i> interested in developing autoform, please read the following informations carefully. You should have
                     39:                     knowledge of html, javascript, XUL, XPCOM and RDF.</p>
1.7       kessler    40:                     <p>If you want to localise the extension, please wait until the new one has been released.</p>
1.4       kessler    41:                     <p>I'm using <a href="">Eclipse</a> as my IDE and I can strongly recommend it. It has built in support for <a href="">cvs</a> and <a href="">ant</a>
1.5       kessler    42:                     (which is used by autoform for packaging and deployment). There are also many plugins available to extend the standard functions. I'm
1.8       kessler    43:                     also using the <a href="">myeclipseide</a> plugin for eclipse to have a html and javascript editor. The generate the javascript doc, I use <a href="">JSDoc</a></p>
1.4       kessler    44:                     <p>I really appreciate every help to develop the extension, but please understand that I first must see some implementation before I
1.8       kessler    45:                     can give you write access to the cvs. Please contact <a href="">me</a> before starting to prevent collisions)</p>
1.6       kessler    46:                     <p><b>How to get started:</b>
1.4       kessler    47:                     <ol>
                     48:                         <li>Install eclipse.</li>
                     49:                         <li>Check out the source code from cvs</li>
                     50:                         <li>Configure the and copy to your home directory</li>
                     51:                         <li>Build and install the extension</li>
1.9       kessler    52:                         <li>Make you familiary with the existing code</li>
1.5       kessler    53:                         <li>Implement a feature on the todo list and send me the patch</li>
1.4       kessler    54:                     </ol>
                     55:                     </p>
                     56:                     <br />
1.3       kessler    57:                     <hr />
                     58:                     <h3>Source code</h3>
                     59:                     <hr />
                     60:                     <p>The autoform source code can be accessed in either of the following ways:</p>
                     61:                     <ul>
                     62:                         <li>View the source using the CVS <a href="<?php echo $project; ?>/">web interface</a></li>
                     63:                         <li>Check out the source using anonymous CVS with the following commands (password is guest):
                     64:                             <pre>
                     65:                             cvs -d login
                     66:                             cvs -d co <?php echo $project; ?>
                     67:                             </pre>
                     68:                         </li>
                     69:                     </ul>
1.8       kessler    70:                     <p>There is also a jsdoc online <a href="/jsdoc/index.html">here</a>.
1.4       kessler    71:                     <br />
                     72:                     <hr />
1.9       kessler    73:                     <h3>Development guide</h3>
1.4       kessler    74:                     <hr />
1.9       kessler    75:                     <p>To avoid mistakes made in the first version and have a maintainable clean code, follow the following simple rules:
                     76:                         <ul>
                     77:                             <li>Make small js file with clear responsibility (no all mighty js files)</li>
                     78:                             <li>Make packages (folders) to separate the js files</li>
                     79:                             <li>Descibe every 'class' and function with the <a href="">jsdoc</a> tags</li>
                     80:                             <li>Use self-describing names for functions and variables (not cryptic)</li>
                     81:                         </ul>
                     82:                     </p>
                     83:                     <p>The whole plugin configuration with virtual users, configurable toolbar has already been rewritten in this style. Please have a look at it, there isn't any big js file, everying is separated very clearly.</p>
                     84:                     <p><b>TODO</b>
                     85:                         <ol>
                     86:                             <li>Formdata store - The old version uses the preference store, which is really a bad idea. It is hard to manage, import and export.
                     87:                             When it grows it slows down firefox. The idea to rewrite it is that each virtual user has a own RDF file with the form data. 
                     88:                             This makes it more simpler to display in a XUL Treeview, since it can be used as a datasource and import/export is only a matter of
                     89:                             copy files. It should be implemented like the preferences, a RDFService parent class which handles the storage of the data. Every
                     90:                             form element should have a own js class which inherits from the RDFService.</li>
                     91:                             <li>Autoload/Autosave/Exclude Parameters logic</li>
                     92:                             <li>Optional encryption of all form data. Add a configurable timeout for the masterpassword and a unset button.</li>
                     93:                             <li>Edit/Export/Import stored form data</li>
                     94:                         </ol>
                     95:                     </p>
                     96:                     <p>The TODO implementation techniques are only a proposal, feel free to discuss it on the mailing list.</p>
1.4       kessler    97:                     <br />
1.3       kessler    98:                     <hr />
                     99:                     <h3>Report bugs</h3>
                    100:                     <hr />
                    101:                     <p>Please do not report bugs concerning the old autoform version version &lt; 6.0!</p>
                    102:                     <ul>
                    103:                         <li>Enter a <a href="http://<?php echo HOST; ?>/bugs/enter_bug.cgi?product=<?php echo $project; ?>">new bug</a> for autoform</li>
                    104:                         <li>View <a href=";emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=<?php echo $project; ?>&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=Bug+Number">all bugs</a></li> 
                    105:                         <li>See all <a href=";bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=<?php echo $project; ?>&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=Bug+Number">open bugs</a></li>
                    106:                         <li>Search by Bug Number
                    107:                             <br />
                    108:                                 <form action="http://<?php echo HOST; ?>/bugs/show_bug.cgi" method="get">
                    109:                                 <p><input type="submit" value="Find"><input size="6" name="id"></p>
                    110:                             </form>
                    111:                         </li>
                    112:                     </ul>
                    113:                  </td>
                    114:             </tr>
                    115:             <tr>
1.5       kessler   116:                 <td colspan="9"><i class="footer">Maintained by the Autoform team - please contact us through the mailing list. | Infrastructure by <a href=""></a></i></td>
1.3       kessler   117:             </tr>            
                    118:         </table>
                    119:     </body>
                    120: </html>

FreeBSD-CVSweb <>