First, take a look at the Projects page to get a sense for the layout of the different projects and how they relate to each other. Building and installing the DS2 projects generally requires the following prerequisites:
- Some experience with the Mercurial Distributed Version Control System (DVCS), such as how to "clone" a repository (see "Mercurial: The Basics" at http://hgbook.red-bean.com for more information). For users who want to browse the source but don't have or don't want to use DVCS, a ZIP archive of the source can be downloaded from any of the source repositories (however, be aware that the top-level directory name in a downloaded ZIP archive will be different than what it would be if the repository were cloned with the DVCS).
- Familiarity with editing properties files and other configuration files as part of a build process.
- Some experience with a Java Application Server such as Glassfish or Tomcat
- A Windows, Linux, or Mac system with:
- Java (JDK) version 6 or version 7 (version 8 and higher is not compatible with Glassfish 3.1.2)
- A Mercurial DVCS client ("hg")
- Apache Maven, a software project management and build tool
- Glassfish version 3.1.2 (available at http://download.java.net/glassfish/126.96.36.199/release/glassfish-188.8.131.52.zip)
- Tools to download and manipulate test data sets using the DS2 Data Scripts project: SQLite; Perl with DBI module, SQLite DBD module, and Text CSV module; wget, tar, gzip, unzip
- Optionally, WEKA data mining software to create predicates other than the Naive Bayes predicate (information at the Software Used by DS2 page)
- Most of the above prerequisites (except Glassfish and WEKA) are easily obtainable via package managers such as yum or apt (Linux); Fink or Homebrew (OS X); Cygwin (Windows). For example:
- Fedora Linux version 19: sudo yum install perl-DBD-SQLite perl-Text-CSV hg maven java-1.7.0-openjdk-devel unzip
- CentOS version 6.5: sudo yum install perl-DBD-SQLite perl-Text-CSV hg java-1.7.0-openjdk-devel unzip wget dos2unix (maven will need to be downloaded and installed manually)
What Projects to Install, and in What Order
What projects you will want to install depends on what you want to do. Here are some common uses, with links to the appropriate installation instructions:
Also visit cdsframework.org for other CAT Plug-ins including the Rule Manager and CDS Data Manager.
Project Installation Documentation for CDA Web Service & CAT CDA Plug-in
Whether you are installing binaries or from a build - installation instructions are the same. Visit the project build page for build instructions for the different projects.
Project Installation Documentation for all other DS2 Projects
Visit the Project pages for installation instructions for other DS2 projects:
When building and installing software, sometimes it can be helpful to be able to see the "happy path" -- how a build process is expected to work -- even if it's not the exact same platform or configuration. For that reason we created the following short YouTube videos that walk through the build, from source, and installation of the the following DS2 projects on a newly provisioned server:
provisions a new server from a cloud hosting provider, and compiles from source and installs DS2 Data Scripts, NaiveBayesPredicate, RandomForestPredicate, and Inference Analyzer. Inference Analyzer Video
continues from where the Inference Analyzer Video left off and compiles from source and installs Predicate/Reducer, CDA Web Service, and CDA Predicate Reducer Web App. Predicate Reducer Video
Classifier Experimentation Video demonstrates how to download, install, and use WEKA, along with the DS2 Data Scripts project, to explore different classifiers for Decision Support for Data Segmentation. Users can follow along from their own desktop or create a cloud-based Linux desktop as used in the video and demonstrated in the Create a Cloud Desktop video.
All project source code is available for download at the DS2 Bitbucket Repository, https://bitbucket.org/sharps-ds2.
The projects listed here are under the BSD 3-Clause License.