This is the Mozilla Webpage Maker Thimble App project.
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.
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.
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)
Once all prerequisites are installed, run the following commands:
git clone --recursive git://github.com/mozilla/webpagemaker.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/local.py-dist webpagemaker/settings/local.py
At this point you'll want to edit the local.py
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 manage.py 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 manage.py migrate
Finally, start the development server:
python manage.py 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.
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/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Users/.../site-packages/_mysql.so
Reason: image not found
You will need to add the path to your _mysql.so
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 https://github.com/toolness/friendlycode, and Slowparse can be found at https://github.com/toolness/slowparse.
Some of the Django apps in this project have their own README:
- Official Project Status Page
- Weekly Call Info
- [Google Group](http://groups.google.com/group/mozwebpagemaker/topics?hl=en](http://groups.google.com/group/mozwebpagemaker/topics?hl=en)
- Developer notes on working with development, staging, and production branches
- webpagemaker-meeting
- webmaker-for-summer-campaign
- webpagemaker-pitch
- design-principles
- webmaker-rfc
- assessment-builder
This software is licensed under the New BSD License. For more
information, read the file LICENSE
.