File:  [mozdev] / autoform / www / development.html
Revision 1.10: download - view: text, annotated - select for diffs - revision graph
Tue Apr 12 12:24:13 2005 UTC (14 years, 6 months ago) by kessler
Branches: MAIN
CVS tags: HEAD
index2 -> index

    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>
   26:                 <td class="tab"><a href="/index.html" class="menu">Home</a></td>
   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>
   40:                     <p>If you want to localise the extension, please wait until the new one has been released.</p>
   41:                     <p>I'm using <a href="http://www.eclipse.org">Eclipse</a> as my IDE and I can strongly recommend it. It has built in support for <a href="http://www.cvshome.org">cvs</a> and <a href="http://ant.apache.org">ant</a>
   42:                     (which is used by autoform for packaging and deployment). There are also many plugins available to extend the standard functions. I'm
   43:                     also using the <a href="http://www.myeclipseide.com/">myeclipseide</a> plugin for eclipse to have a html and javascript editor. The generate the javascript doc, I use <a href="http://jsdoc.sourceforge.net/">JSDoc</a></p>
   44:                     <p>I really appreciate every help to develop the extension, but please understand that I first must see some implementation before I
   45:                     can give you write access to the cvs. Please contact <a href="mailto:michael.kessler@swisscom.com">me</a> before starting to prevent collisions)</p>
   46:                     <p><b>How to get started:</b>
   47:                     <ol>
   48:                         <li>Install eclipse.</li>
   49:                         <li>Check out the source code from cvs</li>
   50:                         <li>Configure the build.properties and copy to your home directory</li>
   51:                         <li>Build and install the extension</li>
   52:                         <li>Make you familiary with the existing code</li>
   53:                         <li>Implement a feature on the todo list and send me the patch</li>
   54:                     </ol>
   55:                     </p>
   56:                     <br />
   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="http://www.mozdev.org/source/browse/<?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 :pserver:guest@mozdev.org:/cvs login
   66:                             cvs -d :pserver:guest@mozdev.org:/cvs co <?php echo $project; ?>
   67:                             </pre>
   68:                         </li>
   69:                     </ul>
   70:                     <p>There is also a jsdoc online <a href="/jsdoc/index.html">here</a>.
   71:                     <br />
   72:                     <hr />
   73:                     <h3>Development guide</h3>
   74:                     <hr />
   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="http://jsdoc.sourceforge.net/">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>
   97:                     <br />
   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="http://mozdev.org/bugs/buglist.cgi?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">all bugs</a></li> 
  105:                         <li>See all <a href="http://mozdev.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&amp;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>
  116:                 <td colspan="9"><i class="footer">Maintained by the Autoform team - please contact us through the mailing list. | Infrastructure by <a href="http://www.mozdev.org">Mozdev.org</a></i></td>
  117:             </tr>            
  118:         </table>
  119:     </body>
  120: </html>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>