Feature Proposal: Background Tasking Framework
Motivation
As discussed in previous topics - here and in the fork - TWiki has no convenient way to do background processing. The current methods(e.g.tick_twiki.pl) are inflexible, do not support plugins and are not easy to manage.
The Tasking Framework solves these problems. It's been running as a prototype (Alpha quality) for over a year on my site.
Description and Documentation
This is a complex - but not particularly risky - package. It's in fairly good shape - except that the documentation needs to be extracted from the source modules (there's a tool for that) and organized into a wiki page(s). I need a volunteer for that.
Once it is merged into trunk, over time plugins will want to start using it. The most obvious usage (and the original motivation) is periodic removal of temporary files. But
MailerContrib would benefit from scheduling, and the list of additional uses is endless.
Key features:
- Simple interface for Plugins - add a driverCleanup routine, and it will be called on an admin-defined schedule. Easiest way to handle working directory cleanups
- Scheduling uses crontab format, but a GUI (in configure) is provided to simplify use.
- Tasks run by a daemon, which provides a persistent environment (for performance).
- Full-featured API for more complex applications
- Three calls added to Func namespace
- Task API is OO; tasks can be scheduled, cancelled, modified, etc.
- Auto-loaded "drivers" for contribs and other non-plugin extensions
- Tasks can be triggered based on events as well as time. Events include:
- File/directory modification/creation/deletion
- Change to wiki configuration
- Replaces tick_twiki.pl
- Events provide parameters
- Multiple execution queues allow parallel processing - with dependencies
- External commands can also be scheduled.
- Internal tasks inherit persistent environment, but execute in their own fork. Daemon communication is secured via RPC.
- Generated output is logged, optionally mailed to administrator (like cron).
- Debugging support.
- Web-based management (including https:) of daemon
- Full documentation is in source files (can can be extracted by supplied script); however, it needs to be organized into one or more wiki pages.
- Examples and some debugging test cases provided.
- Integrates with Configure - plugins and contribs simply provide files - culturally compatible for developers.
Included is an installation utility which handles setting up links and other minor headaches. More importantly, it provides a mechanism for painlessly packaging any kit (including the core) such that it can be installed with selinux contexts and permissions according to site policy. This mechanism uses structured comments to extend the MANIFEST format, and should be considered for all of TWiki. It would greatly simplify installation - no more hassles with every install resetting permissions and manual fixups.
Finally, the installer is designed to autosense TWiki v.s. the fork, and the Task Framework is intended to work in both environments. However, the code has not yet been ported to the other wiki - mostly Configure issues.
This has been developed/tested on linux (fedora). Windows has not been tested and probably needs some work. Other distributions should work, but need testing. It would not be surprising if some minor edits were required. A volunteer(s) would be appreciated.
I have been unable to make the time to wrap this up, but it is (and has been) ready for broader exposure.
Examples
Here is a sample of the management interface:
TWikiTaskDaemon version 4.0-656 944 started Mon Aug 6 10:12:33 2012
Scheduling tasks: Next due Fri Aug 31 07:45:03 2012
Plugin initialization errors
| TWikiNetSkinPlugin | TWiki::Plugins::TWikiNetSkinPlugin::initPlugin did not return true (0) |
Configured drivers
| Name | Version | Release | Description Path/Error |
| EmptyTask | 1.1 | V0.000-001 | Template non-plugin task for extension developers. |
| TestTask | 1.1 | V0.000-001 | Test non-plugin task. |
Time-triggered job queue (ordered by next scheduled execution time):
| Job |
Schedule |
Next Execution |
Queue |
Task |
| 0 |
*/3 * * * * 3 |
Fri Aug 31 07:45:03 2012 |
_Daemon |
TWiki::Tasks::Internal::Cleanup |
| 2 |
*/3 * * * * 3 |
Fri Aug 31 07:45:03 2012 |
_Default |
TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ |
| 1 |
*/3 * * * * 3 |
Fri Aug 31 07:45:03 2012 |
_Default |
TWiki::Tasks::Tasks::TestTask::$driverCleanup$ |
Event-triggered tasks:
| Type | Queue | Task |
| config | _Daemon | TWiki::Tasks::Internal::ConfigMonitor |
| config | _Daemon | TWiki::Tasks::Param::TaskParameterMonitor |
| config | external Q | TWiki::Tasks::Tasks::TestTask::TestExtConfig0 |
| directory | WatchQueue | TWiki::Tasks::Tasks::TestTask::DirWatch |
| file | _Daemon | TWiki::Tasks::ConfigTrigger::ConfigMonitor |
Task Status Server is running https (TLSv1) on 0.0.0.0:1026
Active clients
| ID |
Local |
Peer |
User |
Started |
| 4 |
wikiworld.sb.litts.net:1026 |
192.168.148.110:57711 |
Timothe Litt as admin |
Fri Aug 31 07:44:43 2012 |
Task Debug Server is running telnet on localhost:1042
No active clients
Recent activity
[31453] INFO: Fri Aug 31 07:24:03 2012: TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ completed successfully
[944] INFO: Fri Aug 31 07:27:03 2012: Started TWiki::Tasks::Tasks::TestTask::$driverCleanup$ as pid 31455
[31455] INFO: Fri Aug 31 07:27:03 2012: TWiki::Tasks::Tasks::TestTask::$driverCleanup$ completed successfully
[944] INFO: Fri Aug 31 07:27:03 2012: Started TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ as pid 31456
[31456] INFO: Fri Aug 31 07:27:03 2012: TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ completed successfully
[944] INFO: Fri Aug 31 07:30:05 2012: Started TWiki::Tasks::Tasks::TestTask::$driverCleanup$ as pid 31475
[31475] INFO: Fri Aug 31 07:30:05 2012: TWiki::Tasks::Tasks::TestTask::$driverCleanup$ completed successfully
[944] INFO: Fri Aug 31 07:30:06 2012: Started TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ as pid 31476
[31476] INFO: Fri Aug 31 07:30:06 2012: TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ completed successfully
[944] INFO: Fri Aug 31 07:33:05 2012: Started TWiki::Tasks::Tasks::TestTask::$driverCleanup$ as pid 31482
[31482] INFO: Fri Aug 31 07:33:05 2012: TWiki::Tasks::Tasks::TestTask::$driverCleanup$ completed successfully
[944] INFO: Fri Aug 31 07:33:06 2012: Started TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ as pid 31483
[31483] INFO: Fri Aug 31 07:33:06 2012: TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ completed successfully
[944] INFO: Fri Aug 31 07:36:05 2012: Started TWiki::Tasks::Tasks::TestTask::$driverCleanup$ as pid 31488
[31488] INFO: Fri Aug 31 07:36:05 2012: TWiki::Tasks::Tasks::TestTask::$driverCleanup$ completed successfully
[944] INFO: Fri Aug 31 07:36:06 2012: Started TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ as pid 31489
[31489] INFO: Fri Aug 31 07:36:07 2012: TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ completed successfully
[944] INFO: Fri Aug 31 07:39:03 2012: Started TWiki::Tasks::Tasks::TestTask::$driverCleanup$ as pid 31490
[31490] INFO: Fri Aug 31 07:39:03 2012: TWiki::Tasks::Tasks::TestTask::$driverCleanup$ completed successfully
[944] INFO: Fri Aug 31 07:39:03 2012: Started TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ as pid 31491
[31491] INFO: Fri Aug 31 07:39:04 2012: TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ completed successfully
[944] INFO: Fri Aug 31 07:42:03 2012: Started TWiki::Tasks::Tasks::TestTask::$driverCleanup$ as pid 31506
[31506] INFO: Fri Aug 31 07:42:03 2012: TWiki::Tasks::Tasks::TestTask::$driverCleanup$ completed successfully
[944] INFO: Fri Aug 31 07:42:03 2012: Started TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ as pid 31507
[31507] INFO: Fri Aug 31 07:42:03 2012: TWiki::Tasks::Tasks::EmptyTask::$driverCleanup$ completed successfully
Impact
No impact on traditional TWiki operation or software (except for replacing tick_twiki.pl).
Implementation
Currrent packaging is in two tarballs, plus core changes:
tar -tzvf TasksPlugin.tgz
-rw-rw---- apache/apache 1199 2011-09-11 11:40 data/TWiki/TasksPlugin.txt
-rw-r----- apache/apache 4681 2011-09-16 16:46 lib/MANIFEST.map.wikiworld.sb.litts.net
-rw-r----- apache/apache 1782 2011-09-13 16:51 lib/TWiki/Configure/Checkers/CleanupSchedule.pm
drwxrwx--x apache/apache 0 2011-09-15 19:32 lib/TWiki/Configure/Checkers/Tasks
-rw-r----- apache/apache 2016 2011-09-15 19:18 lib/TWiki/Configure/Checkers/Tasks/DaemonClientCertificate.pm
-rw-r----- apache/apache 1962 2011-09-15 19:32 lib/TWiki/Configure/Checkers/Tasks/DaemonClientKey.pm
-rw-r----- apache/apache 1969 2011-09-15 19:17 lib/TWiki/Configure/Checkers/Tasks/DaemonClientKeyPassword.pm
-rw-r----- apache/apache 1706 2011-09-15 19:10 lib/TWiki/Configure/Checkers/Tasks/DebugTrustedHost.pm
-rw-r----- apache/apache 3785 2011-09-15 19:10 lib/TWiki/Configure/Checkers/Tasks/FileMonitor.pm
-rw-r----- apache/apache 1870 2011-09-15 19:11 lib/TWiki/Configure/Checkers/Tasks/RegExpChecker.pm
-rw-r----- apache/apache 7511 2011-09-13 16:57 lib/TWiki/Configure/Checkers/Tasks/ScheduleChecker.pm
-rw-r----- apache/apache 2362 2011-09-15 19:06 lib/TWiki/Configure/Checkers/Tasks/StatusServerCAFile.pm
-rw-r----- apache/apache 2471 2011-09-15 19:02 lib/TWiki/Configure/Checkers/Tasks/StatusServerCAPath.pm
-rw-r----- apache/apache 1983 2011-09-15 19:30 lib/TWiki/Configure/Checkers/Tasks/StatusServerCertificate.pm
-rw-r----- apache/apache 1844 2011-09-15 19:24 lib/TWiki/Configure/Checkers/Tasks/StatusServerCheckCRL.pm
-rw-r----- apache/apache 1992 2011-09-15 19:23 lib/TWiki/Configure/Checkers/Tasks/StatusServerCiphers.pm
-rw-r----- apache/apache 1780 2011-09-15 18:19 lib/TWiki/Configure/Checkers/Tasks/StatusServerClientIssuer.pm
-rw-r----- apache/apache 1775 2011-09-15 18:19 lib/TWiki/Configure/Checkers/Tasks/StatusServerClientSubject.pm
-rw-r----- apache/apache 2360 2011-09-15 18:59 lib/TWiki/Configure/Checkers/Tasks/StatusServerCrlFile.pm
-rw-r----- apache/apache 1972 2011-09-15 19:31 lib/TWiki/Configure/Checkers/Tasks/StatusServerKey.pm
-rw-r----- apache/apache 1953 2011-09-15 19:22 lib/TWiki/Configure/Checkers/Tasks/StatusServerKeyPassword.pm
-rw-r----- apache/apache 2585 2011-09-15 18:19 lib/TWiki/Configure/Checkers/Tasks/StatusServerProtocol.pm
-rw-r----- apache/apache 1826 2011-09-15 19:19 lib/TWiki/Configure/Checkers/Tasks/StatusServerVerifyClient.pm
-rw-r----- apache/apache 5749 2011-09-11 11:40 lib/TWiki/Configure/TASKS.pm
-rw-r----- apache/apache 20611 2011-09-13 16:56 lib/TWiki/Configure/Types/SCHEDULE.pm
-rw-r----- apache/apache 1039 2011-09-11 11:40 lib/TWiki/Configure/UIs/TASKS.pm
drwxrwx--x apache/apache 0 2011-09-18 16:27 lib/TWiki/Plugins/TasksPlugin
-rw-r----- apache/apache 10394 2011-09-15 00:04 lib/TWiki/Plugins/TasksPlugin.pm
-rw-r----- apache/apache 13673 2011-09-16 17:16 lib/TWiki/Plugins/TasksPlugin/Config.spec
-rw-r----- apache/apache 3224 2011-09-18 13:41 lib/TWiki/Plugins/TasksPlugin/DEPENDENCIES
-rw-r--r-- root/apache 6722 2011-09-18 16:27 lib/TWiki/Plugins/TasksPlugin/MANIFEST
-rw-r----- apache/apache 4684 2011-09-16 15:51 lib/TWiki/Plugins/TasksPlugin/MANIFEST.map.fedora
-rw-r----- apache/apache 3432 2011-09-17 14:52 lib/TWiki/Plugins/TasksPlugin/README
-rwxr-x--- apache/apache 815 2011-09-11 11:40 lib/TWiki/Plugins/TasksPlugin/build.pl
drwxrwx--x apache/apache 0 2011-09-16 05:52 lib/TWiki/Tasks
-rw-r----- apache/apache 28994 2011-09-12 12:25 lib/TWiki/Tasks.pm
-rw-r----- apache/apache 4244 2011-09-11 11:40 lib/TWiki/Tasks/Api.pm
-rw-r----- apache/apache 6871 2011-09-14 19:31 lib/TWiki/Tasks/CGI.pm
-rw-r----- apache/apache 13054 2011-09-12 12:24 lib/TWiki/Tasks/ConfigTrigger.pm
-rwxr-x--- apache/apache 28519 2011-09-15 00:05 lib/TWiki/Tasks/Daemon
-rw-r----- apache/apache 10635 2011-09-14 18:57 lib/TWiki/Tasks/DebugServer.pm
drwxrwx--x apache/apache 0 2011-09-12 12:29 lib/TWiki/Tasks/Execute
-rw-r----- apache/apache 40922 2011-09-14 21:10 lib/TWiki/Tasks/Execute.pm
-rw-r----- apache/apache 9838 2011-09-11 11:40 lib/TWiki/Tasks/Execute/ApiServer.pm
-rw-r----- apache/apache 6751 2011-09-11 11:40 lib/TWiki/Tasks/Execute/Rpc.pm
-rw-r----- apache/apache 7194 2011-09-11 11:40 lib/TWiki/Tasks/Execute/RpcHandle.pm
-rw-r----- apache/apache 16762 2011-09-14 18:57 lib/TWiki/Tasks/GenericCx.pm
-rw-r----- apache/apache 10448 2011-09-14 21:07 lib/TWiki/Tasks/GenericServer.pm
-rw-r----- apache/apache 3642 2011-09-12 18:29 lib/TWiki/Tasks/Globals.pm
-rw-r----- apache/apache 18913 2011-09-11 11:40 lib/TWiki/Tasks/HttpCx.pm
-rw-r----- apache/apache 9726 2011-09-15 06:13 lib/TWiki/Tasks/HttpServer.pm
-rw-r----- apache/apache 13597 2011-09-16 05:52 lib/TWiki/Tasks/HttpsServer.pm
-rw-r----- apache/apache 9697 2011-09-12 12:15 lib/TWiki/Tasks/Internal.pm
-rw-r----- apache/apache 10946 2011-09-14 19:38 lib/TWiki/Tasks/Logging.pm
-rw-r----- apache/apache 8719 2011-09-12 12:21 lib/TWiki/Tasks/Param.pm
-rw-r----- apache/apache 20936 2011-09-12 20:31 lib/TWiki/Tasks/Schedule.pm
-rw-r----- apache/apache 6909 2011-09-12 13:51 lib/TWiki/Tasks/ScheduleTrigger.pm
-rw-r----- apache/apache 17839 2011-09-15 21:41 lib/TWiki/Tasks/Startup.pm
-rw-r----- apache/apache 26726 2011-09-14 20:54 lib/TWiki/Tasks/StatusServer.pm
drwxrwx--x apache/apache 0 2011-09-12 12:29 lib/TWiki/Tasks/Tasks
-rw-r----- apache/apache 8166 2011-09-11 11:40 lib/TWiki/Tasks/Tasks/EmptyTask.pm
-rw-r----- apache/apache 1039 2011-09-11 11:40 lib/TWiki/Tasks/Tasks/EmptyTask.spec
-rw-r----- apache/apache 8508 2011-09-11 11:40 lib/TWiki/Tasks/TelnetCx.pm
-rw-r----- apache/apache 3786 2011-09-14 18:40 lib/TWiki/Tasks/TelnetServer.pm
-rw-r----- apache/apache 5166 2011-09-12 12:10 lib/TWiki/Tasks/TimeTrigger.pm
drwxrwx--x apache/apache 0 2011-09-15 12:33 lib/TWiki/Tasks/Watchfile
-rw-r----- apache/apache 10640 2011-09-12 12:08 lib/TWiki/Tasks/Watchfile.pm
-rw-r----- apache/apache 9246 2011-09-15 12:33 lib/TWiki/Tasks/Watchfile/Inotify.pm
-rw-r----- apache/apache 10973 2011-09-15 12:33 lib/TWiki/Tasks/Watchfile/Polled.pm
drwxrwx--x apache/apache 0 2011-09-18 16:31 tools/Tasks
-rwxr-x--- apache/apache 37561 2011-09-18 16:31 tools/Tasks/Install.pl
-rw-r----- root/root 0 2011-06-24 21:35 tools/Tasks/localWiki.fc
-rw-r----- root/root 0 2011-06-24 21:35 tools/Tasks/localWiki.if
-rw-r----- root/root 2508 2011-09-18 08:09 tools/Tasks/localWiki.te
tar -tzvf TasksPluginDevel.tgz
-rw-rw---- apache/apache 1199 2011-09-11 11:40 data/TWiki/TasksPlugin.txt
-rw-r----- apache/apache 4681 2011-09-16 16:46 lib/MANIFEST.map.wikiworld.sb.litts.net
-rw-r----- apache/apache 1782 2011-09-13 16:51 lib/TWiki/Configure/Checkers/CleanupSchedule.pm
drwxrwx--x apache/apache 0 2011-09-15 19:32 lib/TWiki/Configure/Checkers/Tasks
-rw-r----- apache/apache 2016 2011-09-15 19:18 lib/TWiki/Configure/Checkers/Tasks/DaemonClientCertificate.pm
-rw-r----- apache/apache 1962 2011-09-15 19:32 lib/TWiki/Configure/Checkers/Tasks/DaemonClientKey.pm
-rw-r----- apache/apache 1969 2011-09-15 19:17 lib/TWiki/Configure/Checkers/Tasks/DaemonClientKeyPassword.pm
-rw-r----- apache/apache 1706 2011-09-15 19:10 lib/TWiki/Configure/Checkers/Tasks/DebugTrustedHost.pm
-rw-r----- apache/apache 3785 2011-09-15 19:10 lib/TWiki/Configure/Checkers/Tasks/FileMonitor.pm
-rw-r----- apache/apache 1870 2011-09-15 19:11 lib/TWiki/Configure/Checkers/Tasks/RegExpChecker.pm
-rw-r----- apache/apache 7511 2011-09-13 16:57 lib/TWiki/Configure/Checkers/Tasks/ScheduleChecker.pm
-rw-r----- apache/apache 2362 2011-09-15 19:06 lib/TWiki/Configure/Checkers/Tasks/StatusServerCAFile.pm
-rw-r----- apache/apache 2471 2011-09-15 19:02 lib/TWiki/Configure/Checkers/Tasks/StatusServerCAPath.pm
-rw-r----- apache/apache 1983 2011-09-15 19:30 lib/TWiki/Configure/Checkers/Tasks/StatusServerCertificate.pm
-rw-r----- apache/apache 1844 2011-09-15 19:24 lib/TWiki/Configure/Checkers/Tasks/StatusServerCheckCRL.pm
-rw-r----- apache/apache 1992 2011-09-15 19:23 lib/TWiki/Configure/Checkers/Tasks/StatusServerCiphers.pm
-rw-r----- apache/apache 1780 2011-09-15 18:19 lib/TWiki/Configure/Checkers/Tasks/StatusServerClientIssuer.pm
-rw-r----- apache/apache 1775 2011-09-15 18:19 lib/TWiki/Configure/Checkers/Tasks/StatusServerClientSubject.pm
-rw-r----- apache/apache 2360 2011-09-15 18:59 lib/TWiki/Configure/Checkers/Tasks/StatusServerCrlFile.pm
-rw-r----- apache/apache 1972 2011-09-15 19:31 lib/TWiki/Configure/Checkers/Tasks/StatusServerKey.pm
-rw-r----- apache/apache 1953 2011-09-15 19:22 lib/TWiki/Configure/Checkers/Tasks/StatusServerKeyPassword.pm
-rw-r----- apache/apache 2585 2011-09-15 18:19 lib/TWiki/Configure/Checkers/Tasks/StatusServerProtocol.pm
-rw-r----- apache/apache 1826 2011-09-15 19:19 lib/TWiki/Configure/Checkers/Tasks/StatusServerVerifyClient.pm
-rw-r----- apache/apache 5749 2011-09-11 11:40 lib/TWiki/Configure/TASKS.pm
-rw-r----- apache/apache 20611 2011-09-13 16:56 lib/TWiki/Configure/Types/SCHEDULE.pm
-rw-r----- apache/apache 1039 2011-09-11 11:40 lib/TWiki/Configure/UIs/TASKS.pm
drwxrwx--x apache/apache 0 2011-09-17 14:52 lib/TWiki/Plugins/TasksPlugin
-rw-r----- apache/apache 10394 2011-09-15 00:04 lib/TWiki/Plugins/TasksPlugin.pm
-rw-r----- apache/apache 13673 2011-09-16 17:16 lib/TWiki/Plugins/TasksPlugin/Config.spec
-rw-r----- apache/apache 3216 2011-09-17 14:26 lib/TWiki/Plugins/TasksPlugin/DEPENDENCIES
-rw-r----- apache/apache 8367 2011-09-17 14:40 lib/TWiki/Plugins/TasksPlugin/MANIFEST
-rw-r----- apache/apache 4684 2011-09-16 15:51 lib/TWiki/Plugins/TasksPlugin/MANIFEST.map.fedora
-rw-r----- apache/apache 3432 2011-09-17 14:52 lib/TWiki/Plugins/TasksPlugin/README
-rwxr-x--- apache/apache 815 2011-09-11 11:40 lib/TWiki/Plugins/TasksPlugin/build.pl
drwxrwx--x apache/apache 0 2011-09-16 05:52 lib/TWiki/Tasks
-rw-r----- apache/apache 28994 2011-09-12 12:25 lib/TWiki/Tasks.pm
-rw-r----- apache/apache 4244 2011-09-11 11:40 lib/TWiki/Tasks/Api.pm
-rw-r----- apache/apache 6871 2011-09-14 19:31 lib/TWiki/Tasks/CGI.pm
-rw-r----- apache/apache 13054 2011-09-12 12:24 lib/TWiki/Tasks/ConfigTrigger.pm
-rwxr-x--- apache/apache 28519 2011-09-15 00:05 lib/TWiki/Tasks/Daemon
-rw-r----- apache/apache 10635 2011-09-14 18:57 lib/TWiki/Tasks/DebugServer.pm
drwxrwx--x apache/apache 0 2011-09-12 12:29 lib/TWiki/Tasks/Execute
-rw-r----- apache/apache 40922 2011-09-14 21:10 lib/TWiki/Tasks/Execute.pm
-rw-r----- apache/apache 9838 2011-09-11 11:40 lib/TWiki/Tasks/Execute/ApiServer.pm
-rw-r----- apache/apache 6751 2011-09-11 11:40 lib/TWiki/Tasks/Execute/Rpc.pm
-rw-r----- apache/apache 7194 2011-09-11 11:40 lib/TWiki/Tasks/Execute/RpcHandle.pm
-rw-r----- apache/apache 16762 2011-09-14 18:57 lib/TWiki/Tasks/GenericCx.pm
-rw-r----- apache/apache 10448 2011-09-14 21:07 lib/TWiki/Tasks/GenericServer.pm
-rw-r----- apache/apache 3642 2011-09-12 18:29 lib/TWiki/Tasks/Globals.pm
-rw-r----- apache/apache 18913 2011-09-11 11:40 lib/TWiki/Tasks/HttpCx.pm
-rw-r----- apache/apache 9726 2011-09-15 06:13 lib/TWiki/Tasks/HttpServer.pm
-rw-r----- apache/apache 13597 2011-09-16 05:52 lib/TWiki/Tasks/HttpsServer.pm
-rw-r----- apache/apache 9697 2011-09-12 12:15 lib/TWiki/Tasks/Internal.pm
-rw-r----- apache/apache 10946 2011-09-14 19:38 lib/TWiki/Tasks/Logging.pm
-rw-r----- apache/apache 8719 2011-09-12 12:21 lib/TWiki/Tasks/Param.pm
-rw-r----- apache/apache 20936 2011-09-12 20:31 lib/TWiki/Tasks/Schedule.pm
-rw-r----- apache/apache 6909 2011-09-12 13:51 lib/TWiki/Tasks/ScheduleTrigger.pm
-rw-r----- apache/apache 17839 2011-09-15 21:41 lib/TWiki/Tasks/Startup.pm
-rw-r----- apache/apache 26726 2011-09-14 20:54 lib/TWiki/Tasks/StatusServer.pm
drwxrwx--x apache/apache 0 2011-09-12 12:29 lib/TWiki/Tasks/Tasks
-rw-r----- apache/apache 8166 2011-09-11 11:40 lib/TWiki/Tasks/Tasks/EmptyTask.pm
-rw-r----- apache/apache 1039 2011-09-11 11:40 lib/TWiki/Tasks/Tasks/EmptyTask.spec
-rw-r----- apache/apache 415 2011-09-11 11:40 lib/TWiki/Tasks/Tasks/FrobulatorTask.spec
-rw-r----- apache/apache 9347 2011-09-11 11:40 lib/TWiki/Tasks/Tasks/TestTask.pm
-rw-r----- apache/apache 8508 2011-09-11 11:40 lib/TWiki/Tasks/TelnetCx.pm
-rw-r----- apache/apache 3786 2011-09-14 18:40 lib/TWiki/Tasks/TelnetServer.pm
-rw-r----- apache/apache 5166 2011-09-12 12:10 lib/TWiki/Tasks/TimeTrigger.pm
drwxrwx--x apache/apache 0 2011-09-15 12:33 lib/TWiki/Tasks/Watchfile
-rw-r----- apache/apache 10640 2011-09-12 12:08 lib/TWiki/Tasks/Watchfile.pm
-rw-r----- apache/apache 9246 2011-09-15 12:33 lib/TWiki/Tasks/Watchfile/Inotify.pm
-rw-r----- apache/apache 10973 2011-09-15 12:33 lib/TWiki/Tasks/Watchfile/Polled.pm
drwxrwx--x apache/apache 0 2011-09-17 15:04 tools/Tasks
-rwxr-x--- apache/apache 3650 2011-09-11 11:40 tools/Tasks/ExternalTestTask
-rwxr-x--- apache/apache 35175 2011-09-17 15:04 tools/Tasks/Install.pl
-rw-r----- root/root 0 2011-06-24 21:35 tools/Tasks/localWiki.fc
-rw-r----- root/root 0 2011-06-24 21:35 tools/Tasks/localWiki.if
-rw-r----- root/root 2508 2011-09-12 06:42 tools/Tasks/localWiki.te
Core support:
Configure support is in 5.1.0, although some (field width-related) bugs may still be pending. Peter?
--
Contributors: TimotheLitt - 2012-08-31
Discussion
Sorry about some of the formatting; copy and paste of status confused the
WYSIWYG editor, and the kit listings, which had pre tags were also corrupted by it. Since the result is still readable, I'm not going to fix it up. It would just be corrupted again by the next edit to this topic.
--
TimotheLitt - 2012-08-31
- Feedback from JerusalemReleaseMeeting2012x09x14:
- Proposal was missed because committed date and committed developer field where missing
- Lengthy discussion on excellent proposal
- Implementation finished in alpha
- Needs more documentation, TWiki.TWikiTaskFramework topic is needed
- This comes with install script, so needs some thought how to ship with TWiki that does not have/depend on install script
- Possibly ship with core, disabled, with docs to run install script
- Let's discuss for a few days in proposal topic
- Ideally, Timothe would do check-in
- PTh to install and test
--
PeterThoeny - 2012-09-14
I would say that the doc issue is that almost everything needed exists, but it's in sections scattered thru the code. Where I could use help (due to severe time limitations) is having someone mark the sections in some sensible order. Then a(n existing in the kit) tool knows how to extract them to be put into a wiki page.
Also, there was a lot of discussion when I started the project that may be useful. See the following links (I haven't visited in a while, but these are from my bookmarks.)
http://twiki.org/cgi-bin/view/Codev/PluginGarbageCollection
http://foswiki.org/Tasks/Item10780
http://foswiki.org/Development/PluginGarbageCollection
http://foswiki.org/Development/PeriodicTasks
I appreciate the help and support.
--
TimotheLitt - 2012-09-14