Welcome to Bazki
Bazki is a structured, object-oriented wiki. Each wiki element (which may or may not represent a user-visible page) is a collection of fields ("props") with an associated value. A powerful macro language allows the final page to be made up of the values of a number of props, allowing for excellent separation of data and presentation. Props can default to their parent's value, allowing for inheritance, and other elements can be referred to either explicitly or by searching on prop values, eliminating data replication and the tedium of keeping different parts of a web site in sync. New props can be easily created at any time, so the user isn't constrained by a hard-coded schema.
Using Bazki on Scripts
Note: these directions assume you're putting the site in your personal locker. If putting it in another locker, use the locker name instead of your username, set HOME=/mit/lockername before doing the Athena steps, and ssh to the lockername@scripts.
- Visit sql.mit.edu and create a new database. Be aware of your sql.mit.edu password.
- On Athena, do:
athrun scripts signup-web mkdir -p ~/lib/python2.6/site-packages/ ~/bin/ ~/Scripts/bazki/ ~/.python-eggs fs sa -d ~/lib/python2.6/site-packages/ ~/bin/ ~/Scripts/bazki/ ~/.python-eggs -a daemon.scripts write cd ~/Scripts/bazki/ git clone /mit/bazki/git/bazki.git
- On Scripts (ssh scripts.mit.edu), do:
cd ~/Scripts/bazki/bazki/lib/ ./setup.py install --prefix ~ # Upgrade to the latest version of TurboGears, because they don't believe in PyPi? easy_install --prefix ~ -Z -U -i http://www.turbogears.org/2.0/downloads/current/index tg.devtools cd ../.. ~/bin/paster bazstart
- Answer the questions as prompted; your dburl should be mysql://<username>:<sqlpassword>@sql.mit.edu/<username>+<databasename>. It should chug for a bit, ending with "Committed revision 1.".
- Still on Scripts in ~/Scripts/bazki, do the following, where you want your site to be located at <username>.scripts.mit.edu/<some/path>:
mv <projectname>/webroot ~/web_scripts/<some/path>
- Visit <username>.scripts.mit.edu/<some/path>.
- Profit!
- Optionally, if you're going to be doing development, you probably going to want the code you're running to be your git checkout, so you don't need to do another ./setup.py install whenever you make changes. (Note that you will still need to touch dispatch.fcgi to tell the fastcgi processes to die when you make code changes.) To do this, do something like:
rm -R ~/lib/python2.6/site-packages/Bazki-0.2-py2.6.egg ln -s ~/Scripts/bazki/bazki/lib/ ~/lib/python2.6/site-packages/Bazki-0.2-py2.6.egg ln -s Bazki.egg-info ~/Scripts/bazki/bazki/lib/EGG-INFO
Code
Our source code is available via git, or you can browse the source online. Most of it is available under a MIT license, with the exception of lib/bazki/LaTeX/ and lib/gameki/LaTeX/, which are available under a more different open-source license.
Read-only access is available via
git clone git://bazki.mit.edu/bazki.git
Read-write access is available on Athena via:
git clone /mit/bazki/git/bazki.git
Installation
You can install Bazki by checking out the code and then running
python setup.py install
in the lib/ dir. You can then create a new Bazki with paster bazstart; adapt the Scripts instructions above to your needs.
Contact
Email bazki.
