SID-01996: Table Synchronization Between Many Twiki Pages
| Status: |
Unanswered |
TWiki version: |
4.2.0 |
Perl version: |
|
| Category: |
CategoryAPI |
Server OS: |
|
Last update: |
11 years ago |
Hello,
I work for a large company and they use twiki to collaborate and manage their documentation. My manager, would like a better way to distribute tasks to employees. Here is the basic flow of data:
An excel spreadsheet is dumped into a twiki 'Master Page' and it has rows containing feature requests, employee name and empty an completion date. I have a plugin that parses all of these rows, then distributes assigned tasks to specific 'Employee Pages' and all unassigned tasks to all 'Employee Pages'. The information on an 'Employee Page' is written out as a twiki table during rendering by my plugin.
Note: Making a twiki application through the use of forms does not seem feasible because the work to convert the excel data to twiki form data would be really messy and 'heavy'. Maybe I can be convinced otherwise, but handling lots of page creates and deletes (I'm talking 100's of creates in a single dump) seems like too much overhead to rely on the twiki system.
Now, I need an easy way for those employees to update the (un)assigned tasks in their table and, on update, push the changes back to the 'Master Page'. This is where I am stuck. I have a couple options I have considered to make this work and your input here would be greatly appreciated.
Option 1: Make the table on an 'Employee Page' editable. When the edit is committed, the plugin will trigger during rendering and know that *this employee page has been updated. The plugin will then update the 'Master Page' and this will propagate to all employee pages on refresh. Now that I've written this out, this seems like it may work well. Control over which attributes in the table that are editable, will have to be determine by the plugin during rendering(?).
Option 2: A
TwikiForm sits below the displayed table generated by my plugin on the 'Employee Page' and allows an employee to update a row's attributes in the table. Tricky part is what happens when I hit the submit button... Is there a way to call my plugin and give it a set of parameters directly? The REST API doesn't seem to allow this kind of interaction with plugins. I need some sort of trigger to push the update to the 'Employee Page' and 'Master Page'. Last options would be to use LWP or maybe a cgi-script. I just want to create a custom form (a dynamic form would be really awesome to allow multiple row edits in a single submit) and send it using an http post and trigger a function in my perl plugin script in the backend.
Sorry about writing an essay, I wanted to make my use-case and all the interactions clear. Web dev isn't my forte, most of my experience is only with backend application work.
--
Jake Swart - 2014-11-27
Discussion and Answer
--
Jake Swart - 2014-12-01
If you answer a question - or someone answered one of your questions - please remember to edit the page and set the status to answered. The status selector is below the edit box.