====== Inventarsystem ======
===== Inventarsystem =====
Das Inventarsystem ist über [[https://inv.aachen.ccc.de]] verfügbar. Im Moment tut die Software irgendwie, aber noch nicht gut. Wer sie benutzen möchte, sollte sich an [[wiki:user:pouze|pouze]] wenden, der dann einen Benutzer anlegt.
Aktuell werden Bild-Uploads durch unseren Reverse-Proxy auf 20MB begrenzt (pro Request, nicht pro Bild).
^ Inventory ||
^ Git-Manager | [[https://git.aachen.ccc.de/~pouze/inventory/|~pouze/inventory/]] \\ [[https://github.com/douzepouze/space-inventory|Github]] |
^ Kontakt | [[user:pouze|pouze]] |
^ Status | aktiv |
^ Interessenten | [[wiki:user:spq|spq]], [[wiki:user:clonejo]] |
=== Checkout mit Submodules ===
**Das Repository enthält Submodules.** Es muss daher mit
git clone --recursive https://git.aachen.ccc.de/~pouze/inventory/
ausgecheckt werden. Sollte es bereits geklont sein, können die submodules mit
git submodule update --init --recursive
nachgeladen werden.
===== Devel =====
==== Bugs ====
* Umlaute erzeugen 500
* Nur Admins können fremde Gegenstände bearbeiten.
* Bei Bearbeiten eines bestehenden Gegenstands muss ein "related item" angegeben werden.
==== Todo ====
* Suchfunktion, damit Dinge nicht doppelt inventarisiert werden.
* beim Eintragen eines Gegenstandes automatisch den Eintragenden als Besitzer setzen
* Usage Terms defaultmaessig ausklappen
* Labelerstellung in App refactorn
* Irgend nen konsistentes Rechtesytem
* Equipment soll mutal sein (facebookfreundschaft)
* Exif-Informationen bei Photoupload scrapen
* Mehr Infotexte für die Adminforms
* Markdown statt reStructured Text für Zeug
* ganz viele Lints
* Gegenstände/Orte ohne Fotos
* Gegenstände/Orte die am längsten nicht mehr geändert wurden.
* um unveränderte Items aus dieser Liste zu werfen, eine Eigenschaft "zuletzt geprüft am" hinzufügen mit einem Button, der das auf den jetzigen Zeitpunkt setzt?
* Gegenstände ohne Ort
* Ein häufiger Workflow beim Neuinventarisieren ist, sich eine Kiste/ein Regal vorzunehmen. Nur so übersieht man nichts. Man profitiert hier insbesondere davon, dass man den Ort nicht immer neu eingeben muss.
* Bei manchen Eigenschaften von Gegenständen ist der Nutzen mir nicht offensichtlich. Sie erhöhen aber den Inventarisieraufwand => das Inventarsystem wird weniger benutzt. Das betrifft:
* ''movable''
* ''mounted''
* Die Permissions sind sehr komplex: 6 Variablen mit jeweils 4 möglichen Werten. Wir sollten ein paar Fallbeispiele sammeln und schauen, dass die Permissions das gerade so abdecken.
* es gibt die sinnlose Kombination "usage takeaway" - "within the hackerspace"
* unseren [[vereinsfoo:kluppraeume:schrott|Entfernungsprozess]] im Inventarsystem abbilden
* QR-Code-Aufkleber nicht nur für Gegenstände, sondern auch für Orte?
* Markdown-Support in den Usage Terms?
* das Text-Suchfeld durchsucht nicht die Kategorie.
* möglicher Workflow: Seite von Gegenständen ohne Fotos auf dem Handy aufrufen und direkt Fotos aufnehmen und hochladen
==== Development Setup ====
sudo aptitude install virtualenvwrapper
git clone --recursive https://git.aachen.ccc.de/~pouze/inventory/
cd inventory
#read http://virtualenvwrapper.readthedocs.org/en/latest/install.html or just use this
mkdir $HOME/.virtualenvs
echo "export WORKON_HOME=$HOME/.virtualenvs" > load_virtualenv.sh
echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> load_virtualenv.sh
source load_virtualenv.sh
mkvirtualenv -a $PWD p27-inv # $PWD sollte das projektverzeichnis sein
workon p27-inv
pip install -r requirements.txt
# make copy of local config, adjust to your need
cp inv/settings/local_tmp.py inv/settings/local.py
mkdir -p ~/tmp/inventory/media_root # to keep media uploads/statics persistent during development
mkdir -p ~/tmp/inventory/static_root
./manage.py syncdb # add admin -> no
./manage.py migrate
./manage.py loaddata items/fixtures/initial.json
./manage.py createsuperuser
./manage.py runserver
wenn alles erfolgreich war (insbesondere pip install könnte einige -dev pakete benötigen), sollte auf localhost:8000 eine testinstallation vom inventory laufen \o/
wenn später wieder an dem system gearbeitet werden soll, kann z.b. folgendes verwendet werden:
workon p27-inv
./manage.py runserver
deactivate