GithubHelp home page GithubHelp logo

runjak / carbon-adf Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 3.15 MB

Collaborative ARgumentation Brought ONline

License: GNU General Public License v3.0

Haskell 49.73% CSS 1.70% JavaScript 30.08% Shell 0.12% TSQL 12.50% HTML 5.87%
haskell argumentation javascript

carbon-adf's Introduction

About CARBON:

CARBON is short for 'Collaborative ARgumentation Brought ONline'. It builds on top of DIAMOND to provide a JavaScript heavy web application that enables clients to use abstract dialectical frameworks in a collaborative context. CARBON was initially published at sourceforge, but since I like my projects to be on github as well, I decided to put it here, too. CARBON was the topic of my Bsc. Thesis, which can be found via urn:nbn:de:bsz:15-qucosa2-171954.

How to compile and run carbon:

carbon uses PostgreSQL to store data permanently, and thus it is necessary to have a PostgreSQL instance running that carbon can connect to. To build carbon, an installation of the Haskell platform is necessary and the development library for PostgreSQL is required as well. On a typical Debian or Ubuntu system you can easily install all required packages via apt:

apt-get install haskell-platform libpq-dev postgresql

If you're running a different system, you may have to download the Haskell Platform by yourself, or see if your system has a similar package available.

You should now have a tool called cabal in your $PATH, and we will use it in the following steps to fetch the packages carbon depends on, and compile it afterwards.

  1. Update the cabal package information using cabal update.
  2. From the project directory call cabal configure, which will most likely list several missing packages.
  3. Fetch and install the missing packages by using cabal install $package1 $package2. To install packages for our connection to a PostgreSQL server, we would, for example, call cabal install HDBC HDBC-postgresql.
  4. Execute cabal build.
  5. Find the carbon executable in ./dist/build/carbon/carbon.
  6. Call carbon nullConfig $filename to create an example configuration file that can be adjusted. Note that calling carbon without parameters will list all possible command line parameters.

Now it's necessary to configure the PostgreSQL server:

  1. Make sure a login and a database for carbon to use are available by executing the following steps:

    $ su postgres

    $ psql

    CREATE ROLE exampleUser LOGIN password 'examplePassword';

    CREATE DATABASE carbon ENCODING 'UTF8' OWNER exampleUser;

Remember to replace example{User,Password} with custom values.

  1. Create the expected tables in the newly created database by psql carbon < ./Carbon/Backend/PostgreSQL/Design/database.sql. Default entries for these tables will be created by carbon the first time it is started.
  2. Enter the login information for PostgreSQL in a carbon configuration file. It's no problem to edit the file to contain more newlines, spaces or tabs, in an effort to make it easier to handle.

You can now execute carbon $configFile and visit your fresh carbon instance in a browser. Unless changed in the config, the default port for carbon is 8000, and the login for the automatically created default user is admin:admin, and should be changed soon.

carbon-adf's People

Contributors

runjak avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.