-
Notifications
You must be signed in to change notification settings - Fork 28
Developer's Guide
CLIMSOFT 4.x development has the following required software dependencies:
- Microsoft Windows 7 service pack 1 or above
- Visual Studio Community
- MySQL Community Server (or MariaDB Server 10.0+)
The following dependencies are already included in the Climsoft code on GitHub
- MySQL for Visual Studio
- R.Net Community 1.6
The following dependencies may be required for working on Climsoft Products.
- R (+ additional packages, see below)
- R-Instat
Depending on the development activities you are undertaking, the following software may be required or useful:
- Multilingual App Toolkit
- HelpMaker
- RStudio
The following software is currently used by the core developers, but you may have alternative tools that you prefer to use instead:
- MySQL Workbench / HeidiSQL
- GitHub extension for Visual Studio
Note: all installations should use default options unless otherwise stated.
All developers are currently using Windows 7 service pack 1 or above for software development. Microsoft provide free versions of the different versions of Windows for developers to use to test software on a clean installation in a virtual machine. Note that these free installations are time limited to a 30 day period (but it may be possible to extend this).
http://dev.modern.ie/tools/vms/
Visual Studio Community
https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx. When installing Visual Studio 2015 or above select the option to install the GitHub extension for Visual Studio.
The MySQL Installer provides an easy to use, wizard-based installation for all MySQL software on Windows. This included MySQL Server, MySQL for Visual Studio and also MySQL Workbench. When installing we chose the Developer Default option.
http://dev.mysql.com/downloads/windows/
e.g. mysql-installer-web-community-5.6.25.0.msi
Note: Both the 32-bit (x86) and 64-bit (x64) versions of MySQL Server appear to need the 32-bit (x86) version of Visual C++ Redistributable Packages for Visual Studio 2013.
Note: If MySQL for Visual Studio will not install through MySQL Installer (because it cannot detect your copy of Visual Studio) try installing it separately.
Note: If the installion for MySQL server hangs at "Starting MySQL as a service" then try the solution here.
Update: It is also possible to use MariaDB in place of MySQL, and to continue to use MySQL for Visual Studio to connect to MariaDB.
Note: MySQL for Visual Studio is currently not installed and managed using Visual Studio's NuGet package manager, instead the required
MySql.Data.dll
file has been manually included in the project's resources.
The R programming language is used by CLIMSOFT 4.1+ to create some products at run time. CLIMSOFT will automatically find the R software if it is installed to the default location.
e.g. R-3.2.0-win.exe
Note: The expected location of R is currenly hard-coded in the CLIMSOFT codebase as
C:\Program Files\R\R-3.2.1
The following additional packages, along with their respective dependencies, are also required:
- reshape
- Reshape2
- lubridate
- rtf
- (ggplot2)
- RMySQL
- SweaveListingUtils
Packages can be installed from the R command prompt ...
install.packages(c("reshape2", "lubridate", "rtf", "ggplot2"))
or in RStudio by navigating to Tools > Install Packages ...
If you receive the following error installing packages then see the solution here: http://stackoverflow.com/a/23167680
Unable to install packages (default library 'C:/Program Files/R/R-3.2.0/library' is not writable)
R.Net Community is part of the CLIMSOFT 4 visual studio project and therefore should be retrieved automatically by the NuGet package manager as necessary. If you need to install R.Net manually, the open the CLIMSOFT 4 project in Visual Studio and navigate to Tools > NuGet Package Manager > Manage NuGet Packages for Solution.
Note: The R.Net package also installs a dependancy (Dynamic Interop)
The reference documentation for R.Net can be found via https://rdotnet.codeplex.com/
The R ClimateObject is used to create products from CLIMSOFT data. Developers are currently using different versions of the ClimateObject depending on the date on which the code is checked out
Clone a copy of the ClimateObject from: https://github.com/StatisticalServicesCentre/ClimateObject
Note: Currently CLIMSOFT 4 expects the ClimateObject repository to be located in C:/ClimateObject/ This path is hard-coded in the clsRInterface.vb file. See: https://github.com/opencdms/Climsoft/blob/master/ClimsoftVer4/ClimsoftVer4/clsRInterface.vb#L26
An extension for Visual Studio to enable simpler translations.
https://visualstudiogallery.msdn.microsoft.com/6dab9154-a7e1-46e4-bbfa-18b5e81df520
Instructions for installing HelpMaker will be added here. Alternatively, a modern free/open source alternative will be suggested, see list of possible alternatives here: http://alternativeto.net/software/win-chm/?license=free
To develop R software, RStudio is recommended
http://www.rstudio.com/products/rstudio/download/
e.g. RStudio-0.99.441.exe
See MySQL Installer above
The core developers are currenly using either GitHub Desktop or the GitHub extension for Visual Studio.
https://windows.github.com/ or https://visualstudio.github.com/
Note: GitHub extension for Visual Studio is an option when installing Visual Studio 2015+. If the download above does not install the software successfully then it can be installed from within Visual Studio 2015 by selecting Tools - Extensions and Updates - Online. You may need to restart VS after installing.
The following steps will be automated by the future CLIMSOFT install process. However, currently developers must perform these installation steps manually.
Currently the CLIMSOFT 4 software does not create a corresponding CLIMSOFT database (but this is created if to run the Climsoft installer). Follow the instructions at https://github.com/opencdms/Climsoft/tree/master/Climsoft_V4_dbase
In addition a minimal set of sample data is provided for testing forms and products. To import the sample data follow the instructions at https://github.com/opencdms/Climsoft/tree/master/Climsoft_V4_dbase/climsoft_v4_sample_data