====== Decide : a planning / decision making web app ====== ===== Goal ===== Allows one to poll contacts for choices about meeting time and/or open options through a simple interface ===== Features ===== * External auth only (plugable) * Simple mode : * unique / multiple choice between columns * Complex mode : * like several "simple" blocks grouped together * Handling of dates/times * Grouping * Availability hint (user profile freebusy) * Decision making * Owner can select final choice(s) * Mail summary sending with ics (zimbra ready) if dates/times included * Mail body can be customized at sending time * Possibility to leave a comment when responding * Invitation sending * Anonymous mode * Supports virtualhosts ===== Data model ===== ^ users ^^^ | __id__ | umint, primary, autoinc | | | __email__ | vc(128), unique | | | name | vc(100) | | | timezone | vc(16) | | | freebusy | vc(255) | url | | created | datetime | | | lastseen | datetime | | | virtualhost | vc(64), null | | ^ polls ^^^ | __id__ | vc(16), primary | random a-z0-9 | | owner_id | umint | ref users.id | | name | vc(255) | | | description | text | | | choices | text | | | created | datetime | | | updated | datetime | | | expires | datetime | | | timezone | vc(16) | | | maxanswers | umint, null | | | allowanonymous | utint, 0 | | | virtualhost | vc(64), null | | ^ answers ^^^ | __id__ | umint, primary, autoinc | | | __poll_id__ | vc(16) | unique with user_id | | __user_id__ | umint | unique with poll_id | | choices | text | | created | datetime | | | updated | datetime | | | comment | text | | | virtualhost | vc(64), null | | ===== Filesystem organisation ===== /decide /classes # PHP classes /config # Config files /scripts # Admin, cron ... /language # Lang files /log # if internal logging, it goes here /www /rest.php # REST WS /gui.php # User interface /index.php # > gui.php /res /js /css /images /skin / /script.js /styles.css # ...