Attach Content Plugin
Overview
This plugin puts any text between a%STARTATTACH{"filename"}%
and %ENDATTACH%
into an attachment with the given filename.
Pass filename, topic, web or comment as parameters.
The plugin refreshes the attachment when the topic is saved, or viewed.
This plugin is written specifically to be able to put css into topic(s) and still be able to have efficient stylesheets: i.e., without the overhead of TWiki processing. The feature can be used for many other things where you want TWiki to generate a plain text file a smart way. For example: write a
SEARCH
in a topic and save the search results to an XML file. The XML data can be used for efficient look-up.
Syntax Rules
Write:%STARTATTACH{"filename"}% content-to-be-saved %ENDATTACH%You can pass a number of parameters:
Parameters
Parameter | Description | Default | Example![]() |
---|---|---|---|
attachonview |
Do/not do action in view | The default ATTACHONVIEW setting is defined in the plugin Configuration settings ) |
attachonview="1" |
comment |
Attachment comment text. | the default ATTACHCONTENTCOMMENT text is defined in the plugin Configuration settings |
comment="User data as of %DATE%" |
hide |
Use hide="on" to hide the attachment in normal topic view. |
off |
hide="on" |
keeppars |
Keep paragraph <p /> tags, <nop> tags, and square bracket type links | The default KEEPPARS setting is defined in the plugin Configuration settings |
keeppars="on" |
topic |
Topic to save the attachment to. | none (the current topic is used) |
topic="WebHome" |
web |
Web where the save topic is located. | none (the current Web is used) |
web="Main" |
Special note on use of attachview
If the global flag is enabled (using configure
), attachments are saved every time on page view which could - slow down page views
- increase server load
- makes pages look updated even if there is no update (recent changes and e-mail notification)
- saves pages regardless of access control (for example as TWikiGuest if not logged in)
attachview
parameter allows a targeted save on view, to apply only on the pages that need this feature
Examples
Creating a color scheme
See: PatternSkinColorSettings. This topic uses AttachContentPlugin to write a CSS file for colors. Color values are set dynamically in the topic. On topic save the CSS file is attached to the topic and can be referred to using variableUSERCOLORSURL
.
User data XML
Update user data XML%STARTATTACH{"userdata.xml" comment="User data as of %DATE%"}% <?xml version="1.0" encoding="ISO-8859-1"?> <users> %SEARCH{ "[F]irstName.*value=.*()" web="%MAINWEB%" type="regex" nonoise="on" excludetopic="UserForm,TWikiContributor,TWikiGuest,UnknownUser" format="<user><firstname><![CDATA[$formfield(FirstName)]]></firstname><lastname><![CDATA[$formfield(LastName)]]></lastname><url><![CDATA[%SCRIPTURL{view}%/%WEB%/$topic]]></url></user>" }% </users> %ENDATTACH%
Plugin Settings
Plugin settings are stored as preferences variables. To reference a plugin setting write%<plugin>_<setting>%
, i.e. %CACHECONTENTPLUGIN_SHORTDESCRIPTION%
- One line description, is shown in the TextFormattingRules topic:
- Set SHORTDESCRIPTION = Saves dynamic topic text to an attachment
- Debug plugin: (This needs to be set up in
configure
. This setting will have no effect. See output indata/debug.txt
)- Set DEBUG = 0
Plugin Installation Instructions
Note: You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running. You may also choose to install this plugin using the "Find More Extensions" link on theconfigure
script of your TWiki installation, or do so manually using the instructions below.
- Download the ZIP file from the Plugin web (see below)
- Unzip
AttachContentPlugin.zip
in your twiki installation directory. Content:File: Description: data/TWiki/AttachContentPlugin.txt
Plugin topic lib/TWiki/Plugins/AttachContentPlugin.pm
Plugin Perl module - Visit
configure
in your TWiki installation, and enable the plugin in the {Plugins} section. - Test if the installation was successful: Update user data XML to see if an attachment is created/updated
Plugin Info
Plugin Author: | TWiki:Main.MeredithLesly![]() ![]() ![]() |
Copyright: | © 2006 TWiki:Main.MeredithLesly![]() © 2006-2007 TWiki:Main.KennethLavrsen ![]() © 2007 TWiki:Main.ArthurClemens ![]() © 2006-2011 TWiki:TWiki.TWikiContributor ![]() |
License: | GPL (GNU General Public License![]() |
Plugin Version: | 21431 (2011-06-06) |
Change History: | |
2011-06-06: | TWikibug:Item6745![]() ![]() |
2011-06-03: | TWikibug:Item6725![]() ![]() |
2011-06-03: | TWikibug:Item6745![]() ![]() |
2010-07-27: | TWikibug:Item6530![]() |
16 Apr 2007 (2.2.0) | Kenneth Lavrsen: Add added keeppars parameter. Settings change to being plugin settings only. Removal of plugin tags fixed so text between is still visible. |
15 Apr 2007 (2.1.0) | Arthur Clemens: added parameters web , topic , comment and hide . Plugin tags are removed from view. Added configurable default comment. |
19 Oct 2006 (2.0) | TWiki:Main.KennethLavrsen Fixed major security issue. Original version allowed /../ in the filename so files could be stored everywhere Plugin now cleans up the its work area and no longer leaves temporary files Temporary filenames made pseudo random to avoid race condition Plugin now also removed nops and TML square bracket links Attachment is no longer saved when uploading other files and changing attributes. |
09 Feb 2006 (1.0) | Initial version |
TWiki Dependency: | $TWiki::Plugins::VERSION 1.1 |
CPAN Dependencies: | none |
Other Dependencies: | none |
Perl Version: | 5.005 |
License: | GPL (GNU General Public License![]() |
TWiki:Plugins/Benchmark![]() |
GoodStyle nn%, FormattedSearch nn%, AttachContentPlugin nn% |
Plugin Home: | http://TWiki.org/cgi-bin/view/Plugins/AttachContentPlugin![]() |
Feedback: | http://TWiki.org/cgi-bin/view/Plugins/AttachContentPluginDev![]() |
Appraisal: | http://TWiki.org/cgi-bin/view/Plugins/AttachContentPluginAppraisal![]() |