urweb / upo

The Ur/Web People Organizer
http://upo.csail.mit.edu/
Other
29 stars 15 forks source link

The Ur/Web People Organizer

Here lies a library of Ur/Web code for rapid construction of web applications for organizing people and events in different ways. For a quick sense of what's going on here, see the app showcase site.

No doubt more documentation will materialize here soon. For now, see the Ui module (e.g., in file ui.urs) for definitions of the basic concepts underlying UPO. A quick tour of the big ideas:

Those are the basics! The other modules of the library define more complex UI elements, usually parameterized in a variety of ways. See the examples directory, which includes the showcase apps and some simpler demos.

Installation

Two other Ur/Web libraries are required: Bootstrap and AjaxUpload. Here is one sequence of commands to set up these and some dependencies used in certain examples (but not required for UPO itself).

    # If you don't already have Ur/Web itself installed, run these steps.
    # In general, a working version may be required, as UPO may use features
    # beyond what the latest release supports.
    git clone https://github.com/urweb/urweb.git
    cd urweb
    ./autogen.sh
    ./configure
    make
    sudo make install
    cd ..

    # Library required for UPO
    git clone https://github.com/urweb/ajaxUpload.git
    cd ajaxUpload
    ./autogen.sh
    ./configure
    make
    sudo make install
    cd ..

    # _Optional_ library, used in some examples
    git clone https://github.com/urweb/world.git
    cd world
    ./autogen.sh
    ./configure
    make
    sudo make install
    cd ..

    # _Optional_ library, used in some examples
    git clone https://github.com/urweb/email.git
    cd email
    ./autogen.sh
    ./configure
    make
    sudo make install
    cd ..

    # Library required for UPO
    git clone https://github.com/urweb/bootstrap.git
    sudo ln -s `pwd`/bootstrap /usr/local/lib/urweb/ur/

    # This library itself, for good measure
    git clone https://github.com/urweb/upo.git
    sudo ln -s `pwd`/upo /usr/local/lib/urweb/ur/

    # Building one example
    cd upo/examples
    cp onlineconfSecret_template.ur onlineconfSecret.ur
    # Read above file and fill in parameters.
    urweb onlineconf
    createdb onlineconf
    psql -f onlineconf.sql onlineconf
    ./onlineconf.exe