source: trunk/doc/src/docbook/developerdoc/core_ref.xml @ 3409

Last change on this file since 3409 was 3409, checked in by Nicklas Nordborg, 14 years ago

References #552, #553, #554: Added information about backwards compatibility and Public vs. Internal
API.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 8.1 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE chapter PUBLIC
3    "-//Dawid Weiss//DTD DocBook V3.1-Based Extension for XML and graphics inclusion//EN"
4    "../../../../lib/docbook/preprocess/dweiss-docbook-extensions.dtd">
5<!--
6  $Id: core_ref.xml 3409 2007-05-30 13:35:40Z nicklas $
7
8  Copyright (C) Authors contributing to this file.
9
10  This file is part of BASE - BioArray Software Environment.
11  Available at http://base.thep.lu.se/
12
13  BASE is free software; you can redistribute it and/or
14  modify it under the terms of the GNU General Public License
15  as published by the Free Software Foundation; either version 2
16  of the License, or (at your option) any later version.
17
18  BASE is distributed in the hope that it will be useful,
19  but WITHOUT ANY WARRANTY; without even the implied warranty of
20  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  GNU General Public License for more details.
22
23  You should have received a copy of the GNU General Public License
24  along with this program; if not, write to the Free Software
25  Foundation, Inc., 59 Temple Place - Suite 330,
26  Boston, MA  02111-1307, USA.
27-->
28
29<chapter id="core_ref" chunked="0">
30  <?dbhtml dir="core_ref"?>
31  <title>Core developer reference</title>
32
33  <sect1 id="core_ref.procedures">
34    <title>Important procedures</title>
35    <para>
36      This documentation is only available in the old format.
37      See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/index.html#rules"
38        >http://base.thep.lu.se/chrome/site/doc/development/index.html#rules</ulink>
39    </para>
40  </sect1>
41 
42  <sect1 id="core_ref.release">
43    <title>Publishing a new release</title>
44    <para>
45      This documentation is only available in the old format.
46      See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/index.html#newrelease"
47        >http://base.thep.lu.se/chrome/site/doc/development/index.html#newrelease</ulink>
48    </para>
49  </sect1>
50 
51  <sect1 id="core_ref.build">
52    <title>Subversion / building BASE</title>
53    <para>
54      This documentation is only available in the old format.
55      See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/build.html"
56        >http://base.thep.lu.se/chrome/site/doc/development/build.html</ulink>
57    </para>
58  </sect1>
59
60  <sect1 id="core_ref.rules">
61    <title>Coding rules and guidelines</title>
62   
63    <sect2 id="core_ref.rules.devprocess">
64      <title>Development process</title>
65      <para>
66        This documentation is only available in the old format.
67        See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/coding/process.html"
68          >http://base.thep.lu.se/chrome/site/doc/development/coding/process.html</ulink>
69      </para>
70    </sect2>
71    <sect2 id="core_ref.rules.style">
72      <title>General coding style guidelines</title>
73      <para>
74        This documentation is only available in the old format.
75        See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/coding/generic.html"
76          >http://base.thep.lu.se/chrome/site/doc/development/coding/generic.html</ulink>
77      </para>
78    </sect2>
79 
80    <sect2 id="core_ref.rules.compatibility">
81      <title>API changes and backwards compatibility</title>
82      <para>
83        The main rule is to don't introduce any changes that are
84        backwards incompatible. That is, existing client applications
85        and plug-ins should continue to run in the next release of BASE,
86        without the need to change them. It may sound easy but there are
87        many things to watch out for.
88      </para>
89     
90      <para>
91        There is a great article about this subject on <ulink 
92        url="http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs"
93          >http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs</ulink>.
94        This is what we will try to comply with.
95      </para>
96     
97      <sect3 id="core_ref.rules.compatibility.public_api">
98        <title>Does the changes affect the Public API?</title>
99       
100        <para>
101          See <xref linkend="api_overview.public_api" /> and
102          <ulink url="http://base.thep.lu.se/chrome/site/doc/api/index.html"
103          >the javadoc</ulink>for information
104          about the public API.
105        </para>
106       
107        <para>
108          Changes made to the non-public API doesn't have to follow the
109          same rules.
110        </para>
111      </sect3>
112     
113      <sect3 id="core_ref.rules.compatibility.contract">
114        <title>Contract compatibility</title>
115       
116        <para>
117          TODO
118        </para>
119       
120      </sect3>
121     
122      <sect3 id="core_ref.rules.compatibility.binary">
123        <title>Binary compatibility</title>
124       
125        <para>
126          TODO
127        </para>
128       
129      </sect3>
130     
131      <sect3 id="core_ref.rules.compatibility.data">
132        <title>Internal data structure compatibility</title>
133       
134        <para>
135          TODO
136        </para>
137       
138      </sect3>
139     
140      <sect3 id="core_ref.rules.compatibility.source">
141        <title>Source code compatibility</title>
142       
143        <para>
144          TODO
145        </para>
146       
147      </sect3>
148     
149    </sect2>
150   
151    <sect2 id="core_ref.rules.datalayer">
152      <title>Data-layer rules</title>
153      <para>
154        This documentation is only available in the old format.
155        See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/coding/data/index.html"
156          >http://base.thep.lu.se/chrome/site/doc/development/coding/data/index.html</ulink>
157      </para>
158    </sect2>   
159    <sect2 id="core_ref.rules.itemclass">
160      <title>Item-class rules</title>
161      <para>
162        This documentation is only available in the old format.
163        See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/coding/item/index.html"
164          >http://base.thep.lu.se/chrome/site/doc/development/coding/item/index.html</ulink>
165      </para>
166    </sect2>   
167    <sect2 id="core_ref.rules.batchclass">
168      <title>Batch-class rules</title>
169      <para>
170        TODO
171      </para>
172    </sect2>   
173    <sect2 id="core_ref.rules.testclass">
174      <title>Test-class rules</title>
175      <para>
176        TODO
177      </para>
178    </sect2>   
179  </sect1>
180 
181  <sect1 id="core_ref.coreinternals">
182    <title>Internals of the Core API</title>
183    <para>
184      This documentation is only available in the old format.
185      See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/overview/core/index.html"
186        >http://base.thep.lu.se/chrome/site/doc/development/overview/core/index.html</ulink>
187    </para>
188    <sect2 id="core_ref.authentication">
189      <title>Authentication and sessions</title>
190      <para>
191        This documentation is only available in the old format.
192        See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/overview/core/authentication.html"
193          >http://base.thep.lu.se/chrome/site/doc/development/overview/core/authentication.html</ulink>
194      </para>
195    </sect2>   
196    <sect2 id="core_ref.accesspermissions">
197      <title>Access permissions</title>
198      <para>
199        This documentation is only available in the old format.
200        See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/overview/core/accesspermissions.html"
201          >http://base.thep.lu.se/chrome/site/doc/development/overview/core/accesspermissions.html</ulink>
202      </para>
203    </sect2>   
204    <sect2 id="core_ref.datavalidation">
205      <title>Data validation</title>
206      <para>
207        TODO
208      </para>
209    </sect2>   
210    <sect2 id="core_ref.transactions">
211      <title>Transaction handling</title>
212      <para>
213        TODO
214      </para>
215    </sect2>   
216    <sect2 id="core_ref.crwd">
217      <title>Create/read/write/delete operations</title>
218      <para>
219        This documentation is only available in the old format.
220        See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/overview/core/itemhandling.html"
221          >http://base.thep.lu.se/chrome/site/doc/development/overview/core/itemhandling.html</ulink>
222      </para>
223    </sect2>   
224    <sect2 id="core_ref.batch">
225      <title>Batch operations</title>
226      <para>
227        This documentation is only available in the old format.
228        See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/overview/core/batchprocessing.html"
229          >http://base.thep.lu.se/chrome/site/doc/development/overview/core/batchprocessing.html</ulink>
230      </para>
231    </sect2>   
232    <sect2 id="core_ref.quota">
233      <title>Quota</title>
234      <para>
235        TODO
236      </para>
237    </sect2>   
238    <sect2 id="core_ref.pluginexecution">
239      <title>Plugin execution / job queue</title>
240      <para>
241        This documentation is only available in the old format.
242        See <ulink url="http://base.thep.lu.se/chrome/site/doc/development/overview/core/plugins.html"
243          >http://base.thep.lu.se/chrome/site/doc/development/overview/core/plugins.html</ulink>
244      </para>
245    </sect2>   
246  </sect1>
247
248</chapter>
Note: See TracBrowser for help on using the repository browser.