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