====== 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