MALMan

From VoidWarranties - Hackerspace Antwerp, Belgium
(Difference between revisions)
Jump to: navigation, search
(1.99)
Line 97: Line 97:
 
* flask-upload: uploading files
 
* flask-upload: uploading files
  
== Roadmap ==
+
== To do ==
 
+
=== functionality ===
=== 1.96 ===
+
Reach feature parity with MALMan 1
+
* <strike>communicate with VWCR</strike>
+
 
+
exceptions:
+
* kasboeken, dagboeken (if requestes, we have two weeks to produce these)
+
 
+
=== 1.97 ===
+
All functionality intented to be in MALMan is implemented
+
 
+
 
* add pages 'dagboek' and 'kasboek'
 
* add pages 'dagboek' and 'kasboek'
 
* improve communication with vwcr  
 
* improve communication with vwcr  
Line 115: Line 105:
 
** serialize objects using pickle
 
** serialize objects using pickle
 
** secure the communication: only serve the API over HTTPS and use HTTP basic authentication
 
** secure the communication: only serve the API over HTTPS and use HTTP basic authentication
 
+
* ability to reuse a previous transaction's attachment
* <strike>add an 'active' field for stock items instead of removing them</strike>
+
* remove and add attachment functionality when approving reimbursements
** <strike>set active stock items to inactive through MALMan</strike>
+
** <strike>set inactive stock items to active through MALMan</strike>
+
 
+
* improve attachments
+
** <strike>add attachment functionality to add_transaction and edit_transaction</strike>
+
** <strike>possibility to remove attachments</strike>
+
** <strike>add multiple attachments in edit_transaction</strike>
+
** ability to reuse a previous transaction's attachment
+
** remove and add attachment functionality when approving reimbursements
+
 
+
* <strike>serve MALMan as a wsgi app</strike>
+
* <strike>make script to translate an SQL dump from MALMan1 into a format understood by MALMan2</strike>
+
 
* select members in a transactions 'to/from' field
 
* select members in a transactions 'to/from' field
 
* make removing members possible (delete private data from the users table)
 
* make removing members possible (delete private data from the users table)
* <strike>store membership as a role, or as a boolean, but not both</strike>
 
* <strike>bug: url's are relative and fail when we serve from a subdirectory
 
** might solve this by using url_for</strike>
 
* <strike>catch and theme HTTP 500 errors</strike>
 
  
=== 1.98 ===
+
=== UX ===
Give MALMan a decent user interface.
+
 
* write a decent confirmation email upon registration
 
* write a decent confirmation email upon registration
 
* add notifications
 
* add notifications
 
* add filtering to tables where needed
 
* add filtering to tables where needed
 +
 +
=== bugs ===
 +
* if you upload multiple files at once, and one has an extension that is not whitelisted the validator does not work and you will get an werkzeug error.
 +
 +
=== code cleanup ===
 +
* make functions for recurring blocks of code
 +
* minimize the number of times we read from the DB
 +
* minimize the number of times we write to the DB (db.session.commit())
 +
** sometimes we do this multiple times in a view, because we need an the id of a row we are writting
 +
* check validity of XHTML, CSS & JS
 +
* fix whitespace in produced XHTML
 +
* somehow the textarea tag around the motivation field is sent along and written to the DB. these tags are then stripped in the view by using the striptag filter. This doesn't happen when using the TextAreaField outside flask_security
 +
== Roadmap ==
 +
 +
===1.96===
 +
Goal: feature parity with MALMan 1
 +
exceptions: kasboeken, dagboeken (if requestes, we have two weeks to produce these)
 +
 +
=== 1.97 ===
 +
Goal: MALMan is usable for all its intended purpuses.
 +
 +
 +
=== 1.98 ===
 +
Goal: MALMan has a decent user interface.
  
 
=== 1.99 ===
 
=== 1.99 ===
 
Close all outstanding bugs, refactoring, final security check.
 
Close all outstanding bugs, refactoring, final security check.
* make functions for recurring blocks of code
 
* write to the DB as few times as possible
 
* <strike>import flask_security instead of copying its code (remove ~2000 LOC)</strike>
 
* <strike>change attachement name to ''{attachment_id}''.''{extention}''</strike>
 
* bug: if you upload multiple files at once, and one has an extension that is not whitelisted the validator does not work and you will get an werkzeug error.
 
  
 
=== 2.0 ===
 
=== 2.0 ===

Revision as of 17:09, 3 May 2013


MALMan
What:
MALMan herschrijven
Coding.gif
Participants:
Koert, User:Warddr, Koen, Berz
Category:
Coding
Locations:
Den Bunker

Contents

Omschrijving

MALMan (Members Accounting Library Management) moet in de eerste plaats een tool worden om:

Hoewel de kassa een apart programma is (vwcr) zit het mee in de repository van MALMan omdat het nauw verbonden is met MALMan (o.a. dezelfde database). Het zou ook tof zijn als we ergens een plaats hadden om gegevens bij te houden waar leden aan moeten kunnen, maar die we liever niet gewoon op de wiki zetten (logins voor verschillende systemen bijvoorbeeld).

Wishlist

Boekhouding

Het belangrijkste aspect van MALMan: onze boekhouding kunnen bijhouden.

Ledenbestand

Heel dringend want in de huidige MALMan werkt dit voor geen meter, waardoor er vanalles misloopt... Een deftig ledenbestand hebben is naast gemakkelijk ook tamelijk wettelijk verplicht. We hebben ook een plek nodig om bij te houden wie wat mag doen in MALMan, dit is daar de meest voor de hand liggende plek voor.

Inventaris

Niet het dringendste deel van MALMan, maar ik zou het er uiteindelijk toch graag in hebben, voor de jaarrekening en de stock van de kassa hebben we sowieso toch een iets in die richting nodig.

Kassa

De kassa wordt niet geïntegreerd in MALMan maar VWCR wordt herschreven. Er zou in MALMan wel een api komen waar VWCR gebruik van kan maken.

Plek om niet-voor-iedereen-toegankelijke informatie bij te houden

We hebben een plek nodig om informatie bij te houden (zoals logins) waar alleen leden aan moeten kunnen. In het verleden is er al een paar keer geopperd om daar MALMan voor te gebruiken, aangezien dat er daar altijd (in theorie dan toch) de recentste lijst in zit van wie daar dan aan moet kunnen en alle leden daar toch al (in theorie dan toch) een login voor hebben.

Uitleningen

MALMan v2

Dependencies

Implementatie

MALMan is a wsgi webapp that can be served by webservers with wsgi support (Apache, nginx). We use make use of Flask, a lightweight web application framework written in Python and based on the Werkzeug WSGI toolkit and Jinja2 template engine. We complement this with several Flask plugins:

To do

functionality

UX

bugs

code cleanup

Roadmap

1.96

Goal: feature parity with MALMan 1 exceptions: kasboeken, dagboeken (if requestes, we have two weeks to produce these)

1.97

Goal: MALMan is usable for all its intended purpuses.


1.98

Goal: MALMan has a decent user interface.

1.99

Close all outstanding bugs, refactoring, final security check.

2.0

Work completed!

bugs

Code share omgeving

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Content Creation
Belgian Spaces