Feature Proposals » Execute 'view' on a given list of topics from CLI

Summary

Current State: Developer: Reason: Date: Concerns By: Bug Tracking: Proposed For:
ImplementedAsExtension TerjeAndersen ConsensusReached 2014年05月19日 KampalaRelease

Edit Form

CurrentState:
ReasonForDecision:
DateOfCommitment: Format: YYYY-MM-DD
ProposedFor:

Motivation

At the CERN TWiki, the Plugins.VarCachePlugin is used to cache heavy topics.

When VarCache is outdated or not in use, some instances of %SEARCH{...}% (VarSEARCH) and %TREEVIEW{...}% (TreePlugin) are so heavy that loading them would lead to web server timeout.

We created the RunTopicsAddOn for our TWiki, and it is used in several cron jobs to tick / refresh resource-heavy topics utilizing functionality like VarSEARCH and TreePlugin.

The motivation for this feature request is to discuss the description of this add-on, and to uncover whether:

  • The functionality already is available elsewhere.
  • If the add-on could do things differently.

Description and Documentation

The add-on consists of three files:

  • A documentation topic in /data/TWiki/RunTopicsAddOn.txt
  • A Contrib module in /lib/TWiki/Contrib/RunTopicsAddOn.pm
  • A tool in /tools/runtopics

To use the add-on, the absolute path to the folder containing TWiki executables is defined in configure or directly in lib/LocalSite.cfg:

$TWiki::cfg{RunTopicsAddon}{ScriptPath} = '/path/to/twiki/bin';

The add-on supports three parameters;

  • (Mandatory) webs: A list of webs
  • (Mandatory) topics: A list of topics
  • (Optional) A template topic

Examples

Given that $TWiki::cfg{RunTopicsAddon}{ScriptPath} is set to /var/www/twiki/bin, consider the following examples:

Example 1) Run 'view' on the TestTopic topic on CMS and Atlas webs. If CMS.TestTopic or Atlas.TestTopic does not exist, skip running view on it.

perl -I /var/www/twiki/bin/ /var/www/twiki/tools/runtopics webs=CMS,Atlas topics=TestTopic

Example 2) Run 'view' on the FooBar topic in all webs, creating it with by cloning Main.MyTopic if it does not exist:

perl -I /var/www/twiki/bin/ /var/www/twiki/tools/runtopics webs=all topics=FooBar Main.MyTopic

Impact

Implementation

-- Contributors: Terje Ness Andersen - 2014年05月19日

Discussion

Thank you Terje for sharing this with the community! Since this is an extension you do not need to go through the feature proposal. Simply package the add-on and release it in the Plugins web. See AddOnPackageHowTo.

FYI, the $TWiki::cfg{RunTopicsAddon}{ScriptPath} setting might not be needed if you change to twiki/bin first, then call ../tools/runtopics. See for example install docs at WatchlistPlugin

-- Peter Thoeny - 2014年05月19日

Thank you for the tip, the configure is not needed if standing directory is the bin/ directory as you say. Following BuildContrib, I uploaded the add-on to http://twiki.org/cgi-bin/view/Plugins/RunTopicsAddOn.

-- Terje Ness Andersen - 2014年05月19日

Nice! Thanks for contributing!!

-- Peter Thoeny - 2014年05月20日

I changed the status to ImplementedAsExtension.

-- Peter Thoeny - 2014年06月05日

Edit | Attach | (削除) Watch (削除ここまで) | Print version | History : r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r5 - 2014年06月05日 - PeterThoeny
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-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

AltStyle によって変換されたページ (->オリジナル) /