Introduction
Welcome to the Distance developer’s guide.
Notations
Some compilers and other software store file locations using an absolute path, rather than a relative path. This means that, when moving Distance source code, project files etc. from one machine to another, either it must be placed in the same folder on the new machine or all the relevant source code, project files etc. must be updated. As the former is easier than the latter, we have converged upon the following locations for Distance’s files where “nnnn” is the major version number:
Location | Example | Short-hand in this guide |
---|---|---|
C:\Application Development\Distancennnn0 | C:\Application Development\Distance60 | %BASE% |
C:\Application Development\Distancennnn0Extras | C:\Application Development\Distance60Extras | %BASE%Extras |
The pages in this guide were written using Distance for Windows 6.2 release and the Distance virtual machine.
Developing Distance
Getting started:
- Required knowledge
- Set up development environment
- Set up Fortran development environment
- Set up R development environment
- File types and tools - files and directories and their corresponding tools.
Source code access and management:
Day-to-day development:
- How to build Fortran components
- How to build R components
- How to build Visual Basic components
- How to register components and generate licence keys
- How to build documents and images
Coding conventions:
Issue and bug management:
- Bugzilla
- distance-sampling GoogleGroup archive.
- distance-sampling JISCMail archive, for discussions up to June 2014.
- Known problems, restrictions and workarounds for specific releases:
Releasing Distance
- How to release a minor version of Distance for Windows
- Distance for Windows quick start setup: summary of commands to install Distance for Windows, Distance R packages, R and RStudio which can help when testing Distance for Windows installers.
- How to release MCDS on SourceForge
Architecture
Components:
- Component diagrams: diagrams of analysis and GUI components and their dependencies.
- Code components: code-based components.
- Non-code components: non-code components.
- Third-party components: third-party components written by others and which are needed to build Distance and/or are shipped with Distance.
- Upgrading
dsm
1.1.3 to 2.1.5
Folder structures:
- Source code and binaries: folder structure of sources of code and non-code components and scripts.
- Release structure: Distance for Windows folder and file structure.
Dependencies:
- Source code and binaries: summary of the sources of code and non-code components that make up Distance, and the tools used to create the Distance for Windows components.
- Visual Basic project dependencies: Visual Basic project inter-dependencies.
Interfaces:
- Visual Basic and Fortran: interface between Distance for Windows and MCDS.exe
- Visual Basic and R: interface between Distance for Windows and DSM and MRDS R packages
Managing infrastructure
Internal documentation
mrds
left truncationmrds
derivativesmrds
plottingmrds
fittingmrds
predictionsmrds
integralsmrds
variance
Reference
- DLL base addresses: DLL addresses used to date in Distance components.
- File extensions: Commonly-occurring file extensions.
- Site map