Slate is a free and open online foundation for schools. It is designed to empower students, teachers, and administrators to craft the digital commons of their learning environment from the ground up.
Inspired by Science Leadership Academy founding principal Chris Lehmann's belief that technology [in schools] needs to be like oxygen: ubiquitous, necessary, and invisible, the first version of Slate was launched there in 2010. Since then, dozens of schools and networks of schools have contributed to and built on top of Slate.
Slate isn't a hot new startup or the next tool that does everything. It's an online home base that anchors the shared experience and evolves in place while your learners and educators explore new tools and practices. It's the glue that frees you to plug in and unplug new things others have built, and even build things yourself when you are ready. It's the operating system for your school that belongs to your school and serves no interest but your community's.
There are three ways to get started with Slate:
- Contract Jarvus to set you up
- Ask your local Code for America brigade for help
- Clone slate to work on and contribute to its core, shared functionality
- Extend slate to create a workspace for customizing a copy of Slate for your school without forking the whole thing
Slate's uses Habitat to provide its development, build, and runtime environments and is the only dependency you need to worry about. Habitat in-turn requires Docker on Mac and Windows workstations to do its thing, and can optionally make use of it on Linux.
-
Use aptitude to install Git and Docker:
sudo apt install -y git apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" sudo apt update sudo apt install -y docker-ce
-
Use habitat's bootstrap script to install habitat with habitat:
curl https://raw.githubusercontent.com/habitat-sh/habitat/master/components/hab/install.sh | sudo bash
-
Install Homebrew
-
Use Homebrew to install Git, Docker, and Habitat:
brew install git brew cask install docker brew tap habitat-sh/habitat brew install hab
-
"Pro" edition is required by Docker for its virtualization support
-
Install Chocolatey
-
Use Chocolatey to install Git, Docker, and Habitat:
choco install git choco install docker choco install habitat
To play with or work on Slate's core:
# clone and change into the slate repository
git clone https://github.com/SlateFoundation/slate
cd slate
To start building your own environment that sits on top of Slate:
# clone and change into the slate repository
git clone https://github.com/SlateFoundation/slate-starter jawnsburghigh
cd jawnsburghigh
TODO: set up slate-starter
repository
The developer studio is a disposable command-line environment for working on the project. Habitat puts it together for you and provides all the packages within it, giving you a lightweight development experience that works consistently across machines and platforms.
# expose port 7080 from any Docker container started by Habitat
# - this must be run once in each terminal session
export HAB_DOCKER_OPTS="-p 7080:80"
# launch and enter a Habitat studio
hab studio enter
# expose port 7080 from any Docker container started by Habitat
# - this must be run once in each terminal session
$env:HAB_DOCKER_OPTS="-p 7080:80"
# launch and enter a Habitat studio, forcing it to be a Docker studio instead a Windows native studio
hab studio -D enter
# once the studio has finished loading, start all services with a local database
start-all-local
# build and load the site, then wait for file changes
watch-site
At that point you should be able to see an instance at http://localhost:7080 and any edits should be reflected live
Note for Windows users: a workaround is currently required for file watching to work under Docker for Windows
TODO: list features
These organizations have contributed the resources to make Slate possible: