Support:CSAT Implementation Strategy: Difference between revisions

(New page: Nelson: I'm not really in favor of creating new db tables, since there is a lot of functionality in TikiWiki already. So I recommend an implementation using polls as the main data collecti...)
 
 
Line 5: Line 5:
The advantage of using polls is that architecturally, each poll can be linked to any object. Polls themselves are stored in tiki_polls, and the linking to objects is done in tiki_poll_objects.
The advantage of using polls is that architecturally, each poll can be linked to any object. Polls themselves are stored in tiki_polls, and the linking to objects is done in tiki_poll_objects.


Although right now the implementation for multiple polls per object is not complete, given the current db schema, it should be possible to refactor the code to make it completely extensible to any number of polls <-> object relationships.
Right now though, the implementation for multiple polls per object is not complete, since there is no way to decide which of the multiple polls to show on which object, and how to refer to the multiple polls in terms of defining layout for them (show what where). Given the current db schema though, it should be possible to refactor the code to make it completely extensible to any number of polls <-> object relationships -- if we just create a  tiki_poll_groups (and tiki_poll_groups_items) to store the poll groups (each pollId is unique to a single poll - and each group refers to polls of a certain "question").


The options for each poll are stored in tiki_poll_options. Right now, there is only a "title" but no "value" for poll options. Perhaps a "value" field can be added.
The options for each poll are stored in tiki_poll_options. Right now, there is only a "title" but no "value" for poll options. Perhaps a "value" field can be added.
Line 63: Line 63:
  | optionId | int(10)      | NO  |    | 0      |      |  
  | optionId | int(10)      | NO  |    | 0      |      |  
  +----------+--------------+------+-----+---------+-------+
  +----------+--------------+------+-----+---------+-------+
proposed tiki_poll_groups;
+--------------+--------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| pollGroupId  | int(8)      | NO  | PRI | 0      |      |
| pollGroupName| varchar(200) | YES  |    | NULL    |      |
| title        | varchar(200) | YES  |    | NULL    |      |
| position    | int(4)      | NO  |    | 0      |      |
+--------------+--------------+------+-----+---------+-------+
proposed tiki_poll_groups_items;
+-------------+--------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| pollGroupId | int(8)      | NO  | PRI | 0      |      |
| pollId      | int(8)      | NO  |    | 0      |      |
+-------------+--------------+------+-----+---------+-------+


==Use of trackers for higher level tracking==
==Use of trackers for higher level tracking==
69

edits