ChronoZoom is an open source community project dedicated to visualizing Big History that has been funded and supported by Microsoft Research Connections in collaboration with University California at Berkeley and Moscow State University.
You can browse through history on ChronoZoom to find data in the form of articles, images, video, sound, and other multimedia. ChronoZoom links a wealth of information from five major regimes that unifies all historical knowledge collectively known as Big History.
This guide covers everything you need know to install the ChronoZoom development environment tools, use GitHub to get ChronoZoom source code, and deploy ChronoZoom to an Azure hosted website.
If you are new to GitHub, we recommend reading Learning to use GitHub for ChronoZoom development for more information on setting up your source code repository.
Install the ChronoZoom Development Environment Tools
Clone the ChronoZoom GitHub Repository
- Visual Studio 2012 Ultimate or Visual Studio Express for Web
- Visual Studio 2012 Update 3
- Visual Studio Tools for Git or Git for Windows (be sure to select 'Run Git from the Windows Command Prompt' during installation).
- Chutzpah Test Adapter for Visual Studio 2012
- Windows Identity Foundation (Install via: Control Panel, Programs and Features, Turn Windows Feature on or off, Turn on Windows Identity Foundation 3.5)
- Stylecop
- Beyond Compare
- Using Beyond Compare with Git
- MarkdownPad for Windows
- Web Essentials 2012
- Note: This now requires ASP.NET and Web Tools 2012.2.
- Jetbrains Resharper
- Free license for open source development
- Web Platform Installer
- Note: This is not supported on Visual Studio Express for Web. It is only supported on Visual Studio 2012 Ultimate.
- SQL Server Express 2012 SP1 with Tools (SQLEXPRWT)
- Use Mixed Mode Authentication, Azure doesn't support Integrated Mode security
- Internet Information Server
- Azure SDK for .NET
- TypeScript Visual Studio plugin
In order to get the source for ChronoZoom, you will need to install Git for Windows and clone the GitHub repository. This section shows you how.
-
If you have not already done so, sign up for GitHub.
-
Go to: https://github.com/alterm4nn/ChronoZoom. This is the master branch for the project.
-
Fork the repo by clicking Fork. For more information see Fork a Repo.
-
Clone the fork to your local computer by running the following command:
git clone https://github.com/[your-GitHub-ID]/ChronoZoom.git
You now have your own fork of the ChronoZoom project.
-
Add a remote for the master repository by running the following commands:
# Navigate to the newly cloned directory. cd ChronoZoom # Assign the original repo to a remote called "blessed". git remote add blessed https://github.com/alterm4nn/ChronoZoom.git # Get the latest changes from blessed: git checkout master git pull blessed master
-
In your GitHub repository, create a topic branch. Topic branches are typically lightweight branches that you create locally and that have a name that is meaningful for you. They are where you might do work for a bug fix or feature (they're also called feature branches). The following command shows using the git checkout command to create a topic branch:
git checkout -b branch_name
Make all of your changes in the topic branch, and consider the master branch to be an "untouched" master that can be updated to get the latest changes with
git pull
.
To test your changes, you will need to deploy ChronoZoom to Azure.
Login to Azure Management Portal.
At the bottom of the page, click the + NEW bar and select the following options:
Compute -> Web Site -> Custom Create
In the Create Web Site dialog, fill in the fields as follows:
- Url: Enter a name for your website (in this example the website name is mycz).
- Region: Leave the default value.
- Database: Select the Create New Sql Database option.
- DB Connection String Name: Enter "Storage" (omit quotation marks).
- Publish from Source Control: Checked
- Click the arrow icon to go to page 2.
Fill in the fields as follows:
- Server: Select New SQL Database server. It's okay to select a pre-existing database if you have already created one.
- Login name: Enter the user name for the database. In this example the user name is myDatabaseUsername.
- Password: Enter the password for the database. In this example the password is myDatabasePassword.
- Click the arrow icon to go to page 3.
- Source Control Type: Select GitHub.
- **Repository Location **: Select Local Repository.
- It is possible to set up continuous replication from GitHub here, however this example uses a local repository for simplicity. For more details about continuous replication, read this.
- Click the arrow icon to go to page 4.
- Username: Enter a user name for Git. In this example it is myGitUsername.
- Password: Enter a password for Git. In this example it is myGitPassword.
- Copy the Git Clone Url. It will be listed under quick glance in the right column, and will be something like: https://myGitUsername@mycz.scm.azurewebsites.net/mycz.git
- git remote add azure https://myGitUsername@mycz.scm.azurewebsites.net/mycz.git
Now you can make changes to the source code.
Open the Git command prompt and use the following command. You will be prompted for your Azure password.
- git push --set-upstream azure master
Browse to http://mycz.azurewebsites.net/ and behold your own copy of ChronoZoom! Your site URL is listed in the quick glance column of the Azure dashboard. For operational management details, see Chronozoom Operations Guide.
Bing search API is used in Authoring Tool, you need to provide Windows Azure Marketplace Account Key to be able to use it.
-
Login to [Windows Azure Marketplace] (https://datamarket.azure.com).
-
Subscribe to [Bing search API] (https://datamarket.azure.com/dataset/bing/search).
-
Go to [Account Keys] (https://datamarket.azure.com/account/keys) in [My Account] (https://datamarket.azure.com/account).
-
Create a new Account Key and copy it.
-
In web.config file of Chronozoom.UI find
<add key="AzureMarketplaceAccountKey" value="" />
and paste your copied Account Key in value field.