Tags:
create new tag
, view all tags

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
STOP RESTART SUSPEND RESUME

Impact

WhatDoesItAffect: API, Documentation, Install, Usability

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

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r4 - 2012-09-14 - TimotheLitt
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.