Topic Interaction Plugin

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="| *&nbsp;* | *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.31
Version: 3.31
Change History:  
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:
NameVersionDescription
Foswiki::Contrib::JQPrettyPhotoContrib>=1.10Optional.
Foswiki::Plugins::FilterPlugin>=2.07Required.
Foswiki::Plugins::FlexFormPlugin>=2.40Required.
Foswiki::Plugins::FlexPaperPlugin>=1.1Optional.
Foswiki::Plugins::ImageGalleryPlugin>=6.00Optional.
Foswiki::Plugins::ImagePlugin>=2.41Optional.
Foswiki::Plugins::JQueryPlugin>=3740Required.
Foswiki::Plugins::MetaCommentPlugin>=1.11Optional.
Foswiki::Plugins::MimeIconPlugin>=1.1Required.
Foswiki::Plugins::RenderPlugin>=3.01Required.
Archive::Zip>=0Required.
JSON>=2.17Required. Available from the CPAN archive.
Foswiki::Plugins::ZonePlugin>=3.1Required. required for Foswiki < 1.1
Home page: Foswiki:Extensions/TopicInteractionPlugin
Support: Foswiki:Support/TopicInteractionPlugin
Topic attachments
I Attachment Action Size Date Who Comment
MakefileEXT Makefile manage 1.5 K 06 Jul 2013 - 18:31 Admin User  
Screenshot.pngpng Screenshot.png manage 9.6 K 06 Jul 2013 - 18:31 Admin User  
TopicInteractionPluginSnap1.pngpng TopicInteractionPluginSnap1.png manage 15.8 K 06 Jul 2013 - 18:31 Admin User  
TopicInteractionPluginSnap2.pngpng TopicInteractionPluginSnap2.png manage 108.4 K 06 Jul 2013 - 18:31 Admin User  
TopicInteractionPluginSnap3.pngpng TopicInteractionPluginSnap3.png manage 97.2 K 06 Jul 2013 - 18:31 Admin User  
TopicInteractionPluginSnap4.pngpng TopicInteractionPluginSnap4.png manage 44.0 K 06 Jul 2013 - 18:31 Admin User  
TopicInteractionPluginSnap5.pngpng TopicInteractionPluginSnap5.png manage 35.4 K 06 Jul 2013 - 18:31 Admin User  
browserplus.init.jsjs browserplus.init.js manage 7.1 K 06 Jul 2013 - 18:31 Admin User  
browserplus.init.js.gzgz browserplus.init.js.gz manage 2.4 K 06 Jul 2013 - 18:31 Admin User  
browserplus.init.uncompressed.jsjs browserplus.init.uncompressed.js manage 22.4 K 06 Jul 2013 - 18:31 Admin User  
gears.init.jsjs gears.init.js manage 0.1 K 06 Jul 2013 - 18:31 Admin User  
gears.init.js.gzgz gears.init.js.gz manage 0.1 K 06 Jul 2013 - 18:31 Admin User  
gears.init.uncompressed.jsjs gears.init.uncompressed.js manage 0.1 K 06 Jul 2013 - 18:31 Admin User  
i18nEXT i18n manage 4.0 K 03 Jul 2017 - 20:26 Unknown User  
iconsEXT icons manage 4.0 K 03 Jul 2017 - 20:26 Unknown User  
jquery.uploader.csscss jquery.uploader.css manage 2.0 K 06 Jul 2013 - 18:31 Admin User  
jquery.uploader.css.gzgz jquery.uploader.css.gz manage 0.7 K 06 Jul 2013 - 18:31 Admin User  
jquery.uploader.jsjs jquery.uploader.js manage 9.5 K 06 Jul 2013 - 18:31 Admin User  
jquery.uploader.js.gzgz jquery.uploader.js.gz manage 3.4 K 06 Jul 2013 - 18:31 Admin User  
jquery.uploader.uncompressed.csscss jquery.uploader.uncompressed.css manage 2.3 K 06 Jul 2013 - 18:31 Admin User  
jquery.uploader.uncompressed.jsjs jquery.uploader.uncompressed.js manage 20.3 K 06 Jul 2013 - 18:31 Admin User  
metadata.csscss metadata.css manage 5.1 K 06 Jul 2013 - 18:31 Admin User  
metadata.css.gzgz metadata.css.gz manage 1.2 K 06 Jul 2013 - 18:31 Admin User  
metadata.jsjs metadata.js manage 13.4 K 06 Jul 2013 - 18:31 Admin User  
metadata.js.gzgz metadata.js.gz manage 3.3 K 06 Jul 2013 - 18:31 Admin User  
metadata.pattern.csscss metadata.pattern.css manage 0.8 K 26 Apr 2012 - 18:35 Unknown User  
metadata.pattern.css.gzgz metadata.pattern.css.gz manage 0.3 K 26 Apr 2012 - 18:35 Unknown User  
metadata.pattern.uncompressed.csscss metadata.pattern.uncompressed.css manage 1.0 K 26 Apr 2012 - 18:35 Unknown User  
metadata.uncompressed.csscss metadata.uncompressed.css manage 6.1 K 06 Jul 2013 - 18:31 Admin User  
metadata.uncompressed.jsjs metadata.uncompressed.js manage 26.6 K 06 Jul 2013 - 18:31 Admin User  
plupload.browserplus.jsjs plupload.browserplus.js manage 3.5 K 06 Jul 2013 - 18:31 Admin User  
plupload.browserplus.js.gzgz plupload.browserplus.js.gz manage 1.7 K 06 Jul 2013 - 18:31 Admin User  
plupload.browserplus.uncompressed.jsjs plupload.browserplus.uncompressed.js manage 10.0 K 06 Jul 2013 - 18:31 Admin User  
plupload.flash.jsjs plupload.flash.js manage 5.4 K 06 Jul 2013 - 18:31 Admin User  
plupload.flash.js.gzgz plupload.flash.js.gz manage 2.1 K 06 Jul 2013 - 18:31 Admin User  
plupload.flash.swfswf plupload.flash.swf manage 18.4 K 06 Jul 2013 - 18:31 Admin User  
plupload.flash.uncompressed.jsjs plupload.flash.uncompressed.js manage 12.7 K 06 Jul 2013 - 18:31 Admin User  
plupload.gears.jsjs plupload.gears.js manage 4.5 K 06 Jul 2013 - 18:31 Admin User  
plupload.gears.js.gzgz plupload.gears.js.gz manage 2.0 K 06 Jul 2013 - 18:31 Admin User  
plupload.gears.uncompressed.jsjs plupload.gears.uncompressed.js manage 13.4 K 06 Jul 2013 - 18:31 Admin User  
plupload.html4.jsjs plupload.html4.js manage 4.7 K 06 Jul 2013 - 18:31 Admin User  
plupload.html4.js.gzgz plupload.html4.js.gz manage 2.1 K 06 Jul 2013 - 18:31 Admin User  
plupload.html4.uncompressed.jsjs plupload.html4.uncompressed.js manage 12.8 K 06 Jul 2013 - 18:31 Admin User  
plupload.html5.jsjs plupload.html5.js manage 16.3 K 06 Jul 2013 - 18:31 Admin User  
plupload.html5.js.gzgz plupload.html5.js.gz manage 6.3 K 06 Jul 2013 - 18:31 Admin User  
plupload.html5.uncompressed.jsjs plupload.html5.uncompressed.js manage 41.8 K 06 Jul 2013 - 18:31 Admin User  
plupload.jsjs plupload.js manage 11.7 K 06 Jul 2013 - 18:31 Admin User  
plupload.js.gzgz plupload.js.gz manage 4.8 K 06 Jul 2013 - 18:31 Admin User  
plupload.silverlight.jsjs plupload.silverlight.js manage 5.5 K 06 Jul 2013 - 18:31 Admin User  
plupload.silverlight.js.gzgz plupload.silverlight.js.gz manage 2.3 K 06 Jul 2013 - 18:31 Admin User  
plupload.silverlight.uncompressed.jsjs plupload.silverlight.uncompressed.js manage 13.1 K 06 Jul 2013 - 18:31 Admin User  
plupload.silverlight.xapxap plupload.silverlight.xap manage 42.7 K 06 Jul 2013 - 18:31 Admin User  
plupload.uncompressed.jsjs plupload.uncompressed.js manage 45.1 K 06 Jul 2013 - 18:31 Admin User  
Topic revision: r5 - 06 Jul 2013, AdminUser
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Telem? Send feedback