Subversion Repositories tendra.SVN

Rev

Rev 6 | Blame | Compare with Previous | Last modification | View Log | RSS feed

Website
=======

Currently the focus of the website is as a development resource. In the
future, it can possibly also serve as a community resource for users,
point of advocacy, and of course, as a distribution site for the TenDRA
suite of software.

This document provides an overview of intended portions of the website,
and what they are to contain. This is likely to change as the focus of
of the site adjusts over time (for example, when marketing/propaganda
becomes relevant).

This is also the first port of call for recruiting new developers; see
the marketing/newdevelopers document for details.


About
-----

 - Project goals

   The aims of the project, from core principles to subsidiary
   interests.

 - Philosophy

   We have a fairly strong philosophy that informs our working
   practice, and influences our goals; this section is to convey
   what it is, and why we use it.

 - TenDRA history

   A brief history of how TenDRA came in to being, and the entities
   which have expressed interest - this includes a brief list of
   related projects, in an effort to avoid confusion.

 - Overview of forthcoming intentions

   What we intend to be doing over the next phase of development, and
   why. This covers splitting up the project and our refactoring aims
   from a user-facing perspective, to give a better overview of the
   project and how it differs from other projects.

 - Overview of projects

   A user-friendly list of our software projects.


Contact
-------

 - Mailing lists

   This is fairly self-explanatory: which lists are available, their
   purposes, how to sign up, and view the archives.

 - IRC

   Where we may be found and how to connect us.


User Documentation
------------------

See tendra-doc/user

 - Suite purpose overview

   The reasons for each program existing, and what they do from a
   user's perspective. This also includes how they'd fit in to an
   example work-flow, perhaps with some case examples.

 - Usage guides

   Details of how to use each program, rather than what the program
   is for. This includes man-page material, as well as the excellent
   guides we inherited.


Download
--------

 - Anonymous Subversion access

   A brief overview of what Subversion is, and details of how to get
   at the source.

 - Releases

   An archive of previous releases.


Developer Documentation
-----------------------

See tendra-doc/developer

 - Subversion organisation

   How our repository is laid out, and an overview of the protocol for
   branching and tagging.

 - Suite architecture

   A conceptual overview of how each piece of software relates to each
   other, from the point of view of working on the source. This does
   not deal with how information flows, rather how the source depends
   on various parts.

   For details of how each component is written, see the Component
   Guides.

 - High level design documents

   These design documents show block-level information flow within each
   program, and give as many conceptual orientation information as
   possible. This is the first port of call when approaching the
   system.

 - Developer Guides

   These are introductory task-orientated guides on how to go about
   common procedures, such as adding a new tspec API. See the
   developersguides document for details.

 - Component Guides

   Guides on the technical internals of each component. Each of these
   are roughly grouped into the interfaces implemented, and a tour of
   the implementation.

 - Source code browsing and implementation documentation

   Whilst this is no substitute for a high-level design or other design
   documentation, this serves sufficiently as implementation
   documentation.

   DoxyS, or some equivalent source-browsing system will suffice, as
   long as it is capable of showing dependency trees, call graphs, and
   is able to make sense of our helpful directory layout.

 - Implementation of forthcoming intentions

   Here we discuss the rationale for future intentions, and the
   details behind implementing them. This includes but is not limited
   to the process of splitting up the source, various refactorings, and
   library designs.

 - A "todo" list of relativley major items

   These would generally be too large for single tickets, and might make
   suitable candidates for Google's Summer of Code projects.

   See development/features for examples.

Papers and research articles
----------------------------

One of the longer-term intentions is for TenDRA to provide a platform
for research. This includes some of the more academic projects, and the
results of investigations making use of them.


Reference Documentation
-----------------------

Reference materials are the common protocols and APIs which bridge the
user and development documentation. This includes references for the
languages such as the TDF and PL_TDF specifications, but is not usage
references for any particular programs that deal with them.

 - TDF

 - PL_TDF


Development
-----------

 - Automated build-farm

   We're planning an automated build-farm system, in the style of
   PostgreSQL's farm. This will provide automated compilation on as
   many different platforms as we can find, and show their status.

   This section should also describe how to participate in the farm.

 - Trac components

   Trac provides a central point for several aspects of development.
   These include:

   - Timeline

   - Tickets

   - Source browser (to be modified to link to DoxyS)

   - Automated builds