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.

  1. Visit sql.mit.edu and create a new database. Be aware of your sql.mit.edu password.
  2. 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
    
  3. 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
    
  4. 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.".
  5. 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>
    
  6. Visit <username>.scripts.mit.edu/<some/path>.
  7. Profit!
  8. 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.