distribusi-verse/README.md

65 lines
3.9 KiB
Markdown
Raw Normal View History

2022-01-05 15:10:18 +01:00
# Distribusi verse
2022-01-05 13:42:24 +01:00
Distribusi is a content management system for the web that produces static index pages based on folders in the files system. It is inspired by the automatic index functions featured in several popular web servers. Distribusi works by traversing the file system and directory hierarchy to automatically list all the files in the directory, detect the file types and providing them with relevant html classes and tags for easy styling.
Distribusi was first conceptualized as a tool which supported a contribution by Dennis de Bel, Danny van der Kleij and Roel Roscam Abbing to the [ruru house](http://ruruhuis.nl/) organized by [Reinaart Vanhoe](http://vanhoe.org/) and the [ruangrupa](http://ruru.ruangrupa.org/) collective during 2016 Sonsbeek Biennale in Arnhem. During the biennale time the ruru house was a lively meeting place with a programme of discussions, workshops, lectures, culinary activities, performances, pop-up markets and even karaoke evenings, where curators and Arnhemmers met.
The contribution consisted of setting up distribusi. ruruhuis.nl (distribusi is bahasa Indonesian for 'distribution') which was a website connected to a server in the space. Rather than a hidden administrative interface, the server was present and visible and an invitation was extended to visitors to use it to publish material online. This was done by inserting a USB-drive into any of the ports. The distribusi script would then turn the contents of that stick it into a website. Once the USB-drive was removed that website was no longer on-line. Over time `distribusi.ruruhuis.nl` hosted photos, books and movies. The website is now off-line but the tool that was used to make it is still used in [Varia](https://varia.zone).
This particular work in progress project is an attempt to make distribusi into a webinterface that can be operated remotely without any knowlegde of CLI. Trying to somehow combine the ideas of distribusi with the ideas of a [tildeverse](https://tildeverse.org/) or [Tilde club ](https://tilde.club/), but also be neither of these ideas.
This project is made for Autonomous Practices at the WDKA in Rotterdam.
2022-01-05 15:10:18 +01:00
## Work in progress
1. ~~Nothing is working yet but I need to do this project in smaller steps then everything in one go.~~
2. So far, in this project you can make a user, upload a zip, make a website name and have distribusi
run it for you.
3. There is a css editor and a theme selector, but very buggy.
I am still developing a lot of features and I want to finish them first before
I do a first pass, fixing issues and refactoring code.
2022-01-05 13:42:24 +01:00
## Start your engines!
```
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install -r requirements.txt
```
## Database, Databass
The git doesn't come with a database of users, you have to make one.
make sure you have the virtual environment enabled. the content of the data
directory is in gitignore because we don't want to version control the database
and other files that might end up there later.
2022-01-05 13:42:24 +01:00
```
$ cd verse
```
You might need to remove the migrations folder, this is where flask-migrate keeps
track of all the database upgrades and migrations. but so far we have none and
for deploydb to work this folder needs to not be there yet.
```
$ rm -r migrations
2022-01-05 13:42:24 +01:00
$ python deploydb.py
```
Database is made and put in the data folder. ready to go
## Flask scripts
The flask scripts are in the folder verse, while the distribusi code is in the
folder distribusi, I would like to keep them separated so we know, what is the
webapplication and what is the original distribusi software, this might also
allow power users with SSH later on.
```
$ cd verse
$ python start.py
```
2022-01-05 13:42:24 +01:00
## Distribusi
2022-01-05 13:45:16 +01:00
This is currently added as a git submodule but I have no clue how that actually works
* to install a local git repository into your virtual env pip you can try.
```
$ pip install git+file:///home/full/path/to/distribusi#egg=distribusi
```