Improved interaction with attachments and DataForms
This plugin redesigns the way how users interact with topics and attachments in various ways:
Other features are:
- cross-browser compatible bulk upload of multiple files
- bulk actions on attachments: delete, move, hide, download as zip archive, create image gallery, insert links
- thumbnail and lightbox preview of image attachments
- easy renaming of attachments using modal dialogs
- easy access to previous revisions of attachments
- loading the list of attachments via ajax not to slow down display of topics with lots of attachments
- filtering and pagination for topics with a lot of attachments
- drag & drop upload for browsers supporting it (currently firefox and chrome only)
To activate you'll need to add
topicinteraction
to your SKIN path setting in your SitePreferences, like
* Set SKIN = topicinteraction, pattern
Use the
insidetab
setting of MetaCommentPlugin to render comments inside a tab at the bottom of the page:
* Set SKIN = topicinteraction, metacomment, pattern
* Set DISPLAYCOMMENTS = on
* Set COMMENTFORMAT = insidetab
Note you won't need using
Foswiki:Extensions/NatSkin as that's integrated automatically.
Screenshots
Syntax
TopicInteractionPlugin implements some macros to actually implement the user interface. These macros can be used for other purposes too of course.
ATTACHMENTS
List all attachments of a given topic. Without any parameters it displays a
table of attachments similar to the one generated by the templates at the bottom
of a topic. There are a couple of parameters that take regular expressions to
limit the number of attachments to be listed.
Syntax:
%ATTACHMENTS%, %ATTACHMENTS{"<topic>" ...}% |
"<topic>" |
topic whos attachments we want to query |
attr="..." |
match the attachments' attribute |
autoattached="yes,no,undef" |
limit attachments to those that are (not) autoattached |
comment="..." |
match the attachments' comment |
maxdate="..." |
specify latest attachment |
maxsize="..." |
specify biggest attachment |
mindate="..." |
specify earliest attachment |
minsize="..." |
specify smallest attachment |
names="..." |
match the name of attachments to be include in the list |
user="..." |
match the attachments' user who uploaded it |
footer="..." |
format string appended to the result |
format="..." |
how to format each attachment |
header="..." |
format string prefixing the resulting output |
separator="..." |
format string put between each formatted attachment |
hidenull="on,off" |
hide/display the empty result; only the header and the footer are included if set to "off" and there's no attachment at the given topic |
nullformat="..." |
format string to be used when no attachments have been found and hidenull is switched off |
nullheader="..." |
header string to be used when no attachments have been found and hidenull is switched off |
nullfooter="..." |
footer string to be used when no attachments have been found and hidenull is switched off |
sort="name,date,size,user,comment,comment:name" |
sort results by specified field |
reverse="on/off" |
enable reverse sorting |
limit="..." |
limit the number of attachments to the given number; by default show all |
The following variables can be used in the format parameter:
- $attr: the attributes
- $autoattached: the autoattach flag
- $comment: the comment field
- $date(<format>): the attachment date using <format> to format the date
- $date: the attachment date
- $delete: the action to delete the current attachment
- $deleteUrl: the url used in the delete action
- $icon: img tag representing the filetype
- $iconUrl: the url pointing to the icon used in the img tag
- $index: the position index of the attachment in the result
- $move: the action to move the current attachment
- $moveUrl: the url used in the move action
- $name: the name of the attachment
- $path: the path property of the attachment
- $props: the action to change the properties of the current attachment
- $propsUrl: the url used in the props action
- $size: the size in bytes
- $sizeK: the size in kilo bytes
- $sizeM: the size in mega bytes
- $topic: the name of the topic of whose attachments are listed
- $url: the attachments url
- $urlpath: the attachments urlpath
- $user: the user that uploaded the attachment
- $web: the web name of the current topic
- $webdav: the action to edit the current attachment using the Foswiki:Extensions/WebDavPlugin
- $webdavUrl: the url used in the webdav action
- $wikiuser: the user's home topic that recently changed the current attachment
The header and footer format strings may only contain
- $count: the number of attachments found
The format, header and footer may contain the standard escape sequences:
- $dollar: $ sign
- $n: newline
- $percnt: % sign
- $quot: " sign
Example:
%ATTACHMENTS{
header="| * * | *Name* | *Url* | *Size* | *Author* | $n"
format="| $idnex | $name: | $url | $sizeK |"
}%
generates:
%ATTACHMENTS{
header="|
# |
Icon |
Name |
Size |
Author |
Date |$n"
format="| $index | $percntMIMEICON{\"$name\" size=\"48\"}$percnt |
$name | $sizeK | $user | $date |"
}%
Installation Instructions
You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server.
Open configure, and open the "Extensions" section. Use "Find More Extensions" to get a list of available extensions. Select "Install".
If you have any problems, or if the extension isn't available in
configure
, then you can still install manually from the command-line. See
http://foswiki.org/Support/ManuallyInstallingExtensions for more help.
Info
Author(s): |
Michael Daum |
Copyright: |
© 2010-2013 Michael Daum http://michaeldaumconsulting.com |
License: |
GPL (Gnu General Public License) |
Release: |
3.41 |
Version: |
3.41 |
Change History: |
|
07 Nov 2013: |
fix malformed JSON on some remote procedures |
01 Nov 2013: |
have a checkbox in the properties dialog to mark an image attachment to be used as a thumbnail in search results; better support for WebDavContrib?: one-click edit of office attachments; jslinting javascript code (excluding 3rd party upstream code) |
08 Apr 2013: |
fixed html error |
14 Mar 2013: |
default to chunked upload; fixed handling of attachments with commas in their name |
01 Feb 2013: |
fixed error handling; hiding access to edit actions when not authorized anyway; fixed uploading files with special chars in their name; fixed initialization of flash backend; fixed reading foswiki preference settings; fixed uploading files with commas in their name |
31 Jan 2013: |
using ATTACHLINKBOX to control the default state of the "create link" checkbox |
25 Jan 2013: |
fixed auto-start feature; fixed registration of uploader component |
18 Jan 2013: |
improved compatibility with PatternSkin; fixed configure barfing on an undef value |
24 Sep 2012: |
updated to latest plupload version; allow to add arbitary properties, not only comments, createlink, hide-file flags |
10 Jul 2012: |
replaced all simplemodals with jquery-ui dialogs; added nullformat,nullheader,nullfooter to %ATTACHMENTS macro; removed dependency on WebDAVLinkPlugin to render webdav-enabled urls |
08 May 2012: |
fixed silent dependency on DBCachePlugin; fixed integration with PatternSkin; fixed dependency on Foswiki:Extensions/RenderPlugin; fixed interaction with Foswiki:Extensions/MetaCommentPlugin |
26 Apr 2012: |
initial release |
Dependencies: |
Name | Version | Description |
---|
Foswiki::Contrib::JQPrettyPhotoContrib | >=1.10 | Optional. | Foswiki::Plugins::FilterPlugin | >=2.07 | Required. | Foswiki::Plugins::FlexFormPlugin | >=2.40 | Required. | Foswiki::Plugins::FlexPaperPlugin | >=1.1 | Optional. | Foswiki::Plugins::ImageGalleryPlugin | >=6.00 | Optional. | Foswiki::Plugins::ImagePlugin | >=2.41 | Optional. | Foswiki::Plugins::JQueryPlugin | >=3740 | Required. | Foswiki::Plugins::MetaCommentPlugin | >=1.11 | Optional. | Foswiki::Plugins::MimeIconPlugin | >=1.1 | Required. | Foswiki::Plugins::RenderPlugin | >=3.01 | Required. | Archive::Zip | >=0 | Required. | JSON | >=2.17 | Required. Available from the CPAN archive. | Foswiki::Plugins::ZonePlugin | >=3.1 | Required. required for Foswiki < 1.1 | |
Home page: |
Foswiki:Extensions/TopicInteractionPlugin |
Support: |
Foswiki:Support/TopicInteractionPlugin |