Welcome, Registration, and other StartingPoints; TWiki history & Wiki style; All the docs...
View   r14  >  r13  ...
FormattedSearch 14 - 08 May 2004 - Main.PeterThoeny
Line: 1 to 1
 
META TOPICPARENT name="TWikiVariables"
Line: 140 to 140
 
TWikiRegistration EbenMoglen 10 Jan 2024 - 23:06
WebPreferences EbenMoglen 09 Nov 2020 - 00:30
TWikiPreferences EbenMoglen 04 Sep 2014 - 00:22
NewUserTemplate IanSullivan 08 Nov 2012 - 20:08
BlackListPlugin IanSullivan 13 Jan 2012 - 22:38
TWikiWebSideBar IanSullivan 09 Apr 2009 - 21:02
WebLeftBar IanSullivan 09 Apr 2009 - 20:37
Added:
>
>

Search with conditional output

A regular expression search is flexible, but there are limitations. For example, you cannot show all topics that are up to exactly one week old, or create a report that shows all records with invalid form fields or fields within a certain range, etc. You need some additional logic to format output based on a condition:

  1. Specify a search which returns more hits then you need
  2. For each search hit apply a spreadsheet formula to determine if the hit is needed
  3. If needed, format and output the result
  4. Else supress the search hit

This requires the TWiki:Plugins.SpreadSheetPlugin. The following example shows all topics that are up to exactly one week old.

Write this:

%CALC{$SET(weekold, $TIMEADD($TIME(), -7, day))}%
%SEARCH{ "." scope="topic" regex="on" nosearch="on" nototal="on" order="modified" reverse="on" format="$percntCALC{$IF($TIME($date) < $GET(weekold), <nop>, | [[$topic]] | $wikiusername | $date | $rev |)}$percnt" limit="100" }%

  • The first line sets the weekold variable to the serialized date of exactly one week ago
  • The SEARCH has a deferred CALC. The $percnt makes sure that the CALC gets executed once for each search hit
  • The CALC compares the date of the topic with the weekold date
  • If topic is older, a <nop> is returned, which gets removed at the end of the TWiki rendering process
  • Otherwise, the search hit is formatted and returned

To get this:

 

Embedding search forms to return a formatted result

Use an HTML form and an embedded formatted search on the same topic. You can link them together with an %URLPARAM{"..."}% variable. Example:


Revision 14r14 - 08 May 2004 - 21:54:29 - PeterThoeny?
Revision 13r13 - 17 Mar 2004 - 06:55:00 - PeterThoeny?
This site is powered by the TWiki collaboration platform.
All material on this collaboration platform is the property of the contributing authors.
All material marked as authored by Eben Moglen is available under the license terms CC-BY-SA version 4.
Syndicate this site RSSATOM