No description, website, or topics provided.
Python JavaScript Puppet Shell Ruby
Pull request Compare This branch is 139 commits ahead of cmcavoy:development.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
vendor @ 7547d25

This is the Mozilla Webpage Maker Thimble App project. Build Status

We will be using slowparse to assist users in editing their HTML.

This repository was originally forked from playdoh. See its full documentation for more help.

Getting Started

Before embarking on setting up this app, you will want to install mysql. In particular, make sure that mysql_config is an executable on your PATH.

You'll also want to get virtualenv.

Installing the prerequisites on Ubuntu

Use sudo apt-get install <packagename> to install the following packages (it is always a good idea to run sudo apt-get update to make sure you will be receiving the most up to date repository list before installing):

  • mysql-server
  • libmysqlclient-dev
  • python-dev
  • python-pip

To install virtualenv, run sudo pip install virtualenv.

(Python itself comes installed with Ubuntu, you will not need to install this separately. In fact, doing so may cause problems)

Setting up webpagemaker

Once all prerequisites are installed, run the following commands:

git clone --recursive git://
cd webpagemaker
virtualenv .virtualenv
source .virtualenv/bin/activate

Proceed with the installation by running the following commands in the webpagemaker directory:

pip install -r requirements/compiled.txt
cp webpagemaker/settings/ webpagemaker/settings/

At this point you'll want to edit the file, which contains all the settings used when talking to the MySQL instance, including login credentials.

If you want to use the default database mentioned there, playdoh_app, you can create it using this command:

mysql -u root -e 'CREATE DATABASE playdoh_app CHARACTER SET utf8 COLLATE utf8_general_ci;'

OR by using this command, if your MySQL is password protected:

mysql -u root -pYourPassWordHere -e 'CREATE DATABASE playdoh_app CHARACTER SET utf8 COLLATE utf8_general_ci;'

Then, synchronize the tables and initial data:

python syncdb

Note that you might get prompted to create a superuser. If you do, go ahead and make one, since you can use the admin interface to manage your pages.

Then, bust up the initial migrations:

python migrate

Finally, start the development server:

python runserver

You can view the development server at http://localhost:8000/.

Whenever you create a new terminal session, you'll need to re-run source .virtualenv/bin/activate to activate your virtualenv.


Mac OS X

Developer Tools

If you get errors claiming that install_name_tool or gcc can't be found, make sure you have either XCode or the Apple command-line tools.


If you get the following error:

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Users/.../site-packages/, 2): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Users/.../site-packages/
  Reason: image not found

You will need to add the path to your to DYLD_LIBRARY_PATH in your ~/.profile like this:

export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/mysql/lib

Note that you may also need to put MySQL's bin directory on your PATH like so:

export PATH=$PATH:/usr/local/mysql/bin


If you want to contribute to webpagemaker: great!

As webpagemaker is a github-hosted project, all you have to do is fork the repository to your own account, and start hacking on it. If you have any code you want to have merged into the main codebase, simply make sure it's in a branch of its own in your forked repository, and do a pull request onto our webpagemaker/development branch. We'll review the code, signal any potential problems there might be, and if there are no problems, merge it in!

If you're interested in hacking on any of the submodules, such as friendlycode or slowparse, you will want to fork those as well, as you should not be modifying the code for a submodule in a project that uses the submodule. Instead, fork them to your account, work on them, and then do pull requests for each code contribution you'd like to have merged into them. Whenever these submodule projects are updated, we update the webpagemaker submodule pointers to point to the latest stable version.

Friendlycode is currently housed at, and Slowparse can be found at


Some of the Django apps in this project have their own README:

Other Resources



This software is licensed under the New BSD License. For more information, read the file LICENSE.