Visallo is hosted at GitHub and uses Git for source control. In order to obtain the source code, you must first install Git on your system. GitHub provides instructions for installing and setting up Git.
To get started on Mac OS or Linux, clone the main repository using this command.
git clone git://github.com/visallo/visallo.git
On Windows, clone using the configuration:
core.symlinks. Visallo uses symlinks and will fail in strange ways if Git for Windows is not setup correctly (This clone will fail if symlinks aren't compiled/enabled or the user doesn't have privileges.) View the Windows Git documentation for more information.
git clone -c core.symlinks=true git://github.com/visallo/visallo.git
If you're planning on contributing to Visallo, then it's a good idea to fork the repository first. GitHub provides instructions for forking a repository. After forking the Visallo repository, you'll want to create a local clone of your fork in which to make changes before creating a pull request.
The Visallo directory and file structure is as follows. Within these directories and their children you'll often find
README.md files with more specific information.
common- common code shared among multiple Visallo components
config- configuration files for various Visallo components
core- core components used throughout Visallo
dev- components to facilitate Visallo development
docs- Visallo documentation, like the page you're reading now
examples- examples demonstrating the use of Visallo
graph-property-worker- all of Visallo's graph property worker related code
root- Maven root POM.
mvn installthis early and often
tools- command-line utilities
web- everything related to Visallo's webapp
client-api- generated Java API for interacting with Visallo
client-api-codegen- utility for generating the client API
plugins- optional webapp plugins, including authentication plugins (one required)
server- convenience classes for running webapp in-process (e.g. within IDE)
web-base- core route processing code
web-plugin-base- core web plugin classes used by web plugins