Continued from
FileListPluginDev.
--
ArthurClemens - 06 Dec 2007
Thanks for the sort feature! But why the change in name? Does the new plugin recognize the FILELIST varuable, or do I have to do a mass change of all topics using FILELIST?
--
JohnFitzpatrick - 06 Dec 2007
This plugin does not recognize files, it recognizes attachments (it reads the topic metadata). So
FileListPlugin is a confusing name.
As of version 1.0.1 you can still (again) use
FILELIST; I've deprecated the variable but it will work still for some time.
--
ArthurClemens - 06 Dec 2007
Thanks Arthur for maintaining this plugin, and thank you Rohan Moitra for contributing code to it!
--
PeterThoeny - 07 Dec 2007
The parameter
header is not appearing in version 1.1.4 (TWiki 4.2)
--
CarlinhosCecconi - 19 Feb 2008
Tracked in
Bugs:Item5376 and fixed. New plugin uploaded.
--
ArthurClemens - 19 Feb 2008
Thanks! But the version v.1.2.1 caused another error:
Bad index while coercing array into hash
And in the search:
Bad index while coercing array into hash at /usr/local/vhosts/portalead.redelivre.org.br/twiki/lib/TWiki/Plugins/AttachmentListPlugin.pm line 154. at /usr/local/vhosts/portalead.redelivre.org.br/twiki/lib/TWiki/Plugins/AttachmentListPlugin.pm line 154
...
--
CarlinhosCecconi - 21 Feb 2008
Could you show the code that causes this?
--
ArthurClemens - 21 Feb 2008
http://www.carlinhos.wiki.br/TWiki/AttachmentListPlugin
--
CarlinhosCecconi - 21 Feb 2008
log in warn.txt:
| 2008-02-21 - 14:09 | Bad index while coercing array into hash at ....../twiki/lib/TWiki/Plugins/AttachmentListPlugin.pm line 154.
at ....../twiki/lib/TWiki/Plugins/AttachmentListPlugin.pm line 154
TWiki::Plugins::AttachmentListPlugin::handleFileList('TWiki=HASH(0x804db50)', 'TWiki::Attrs=HASH(0x94c7dfc)', 'AttachmentListPlugin', 'TWiki', 'TWiki::Meta=HASH(0x88e4020)') called at ....../twiki/lib/TWiki/Func.pm line 2232
TWiki::Func::__ANON__('TWiki=HASH(0x804db50)', 'TWiki::Attrs=HASH(0x94c7dfc)', 'AttachmentListPlugin', 'TWiki', 'TWiki::Meta=HASH(0x88e4020)') called at ....../twiki/lib/TWiki.pm line 2660
TWiki::_expandTagOnTopicRendering('TWiki=HASH(0x804db50)', 'ATTACHMENTLIST', '\x{a}web="TWiki"\x{a}topic="FileAttachment"\x{a}format="| $fileIcon | [[$...', 'AttachmentListPlugin', 'TWiki', 'TWiki::Meta=HASH(0x88e4020)') called at ....../twiki/lib/TWiki.pm line 2581
TWiki::_processTags('TWiki=HASH(0x804db50)', '---+!! Attachment List Plugin\x{a}\x{a}*Displays a formattable list o...', 'CODE(0x82d8548)', 16, 'AttachmentListPlugin', 'TWiki', 'TWiki::Meta=HASH(0x88e4020)') called at ....../twiki/lib/TWiki.pm line 2505
TWiki::expandAllTags('TWiki=HASH(0x804db50)', 'SCALAR(0x8747a30)', 'AttachmentListPlugin', 'TWiki', 'TWiki::Meta=HASH(0x88e4020)') called at ....../twiki/lib/TWiki.pm line 2857
TWiki::handleCommonTags('TWiki=HASH(0x804db50)', '---+!! Attachment List Plugin\x{a}\x{a}*Displays a formattable list o...', 'TWiki', 'AttachmentListPlugin', 'TWiki::Meta=HASH(0x88e4020)') called at ....../twiki/lib/TWiki/UI/View.pm line 396
TWiki::UI::View::_prepare('---+!! Attachment List Plugin\x{a}\x{a}*Displays a formattable list o...', 'TWiki=HASH(0x804db50)', 'TWiki', 'AttachmentListPlugin', 'TWiki::Meta=HASH(0x88e4020)', 0) called at ....../twiki/lib/TWiki/UI/View.pm line 377
TWiki::UI::View::view('TWiki=HASH(0x804db50)') called at ....../twiki/lib/TWiki/UI.pm line 159
TWiki::UI::__ANON__() called at /usr/local/lib/perl5/site_perl/5.8.8/Error.pm line 379
eval {...} called at /usr/local/lib/perl5/site_perl/5.8.8/Error.pm line 371
Error::subs::try('CODE(0x804db08)', 'HASH(0x88e4794)') called at ....../twiki/lib/TWiki/UI.pm line 197
TWiki::UI::run('CODE(0x834ad84)', 'view', 1) called
--
CarlinhosCecconi - 21 Feb 2008
Please check if version 1.2.2 tackles this.
--
ArthurClemens - 21 Feb 2008
Not yet. In the Plugin Disgnostics (
http://www.carlinhos.wiki.br/TWiki/InstalledPlugins) :
TWiki::Plugins::AttachmentListPlugin could not be loaded. Errors were:
Global symbol "@sortedFiles" requires explicit package name at /usr/local/vhosts/carlinhos/twiki/lib/TWiki/Plugins/AttachmentListPlugin.pm line 148.
Global symbol "@sortedFiles" requires explicit package name at /usr/local/vhosts/carlinhos/twiki/lib/TWiki/Plugins/AttachmentListPlugin.pm line 151.
Compilation failed in require at (eval 44) line 1.
BEGIN failed--compilation aborted at (eval 44) line 1.
----
--
CarlinhosCecconi - 21 Feb 2008
Very strange that I don't see any of this... This time it looks like a simple programming error.
--
ArthurClemens - 21 Feb 2008
Another try: version 1.2.3
--
ArthurClemens - 21 Feb 2008
Yes! Thank you, AC! The
AttachmentListPlugin is very useful
--
CarlinhosCecconi - 21 Feb 2008
Hear, hear! This is a great plugin and an essential tool for any
TWikiApplication developer!
--
JohnFitzpatrick - 22 Feb 2008
Hi all,
I found a little problem in the
AttachmentListPlugin:
Our organization write in Portuguese and some files has non english letters like "ç", "é", "ã",...
I use
$fileUrl to make a refer for files with this plugin, and the name is bed for the URL. The localized names must be scaped to work on the browser.
I correct the bug with this changes in
AttachmentListPlugin.pm:
300,301c300,306
< my $fileUrl =
< $pubUrl . "/$attachmentTopicWeb/$attachmentTopic/$filename";
---
> my $webEnc = $attachmentTopicWeb;
> $webEnc =~ s/([^-_.a-zA-Z0-9])/sprintf("%%%02x",ord($1))/eg;
> my $topicEnc = $attachmentTopic;
> $topicEnc =~ s/([^-_.a-zA-Z0-9])/sprintf("%%%02x",ord($1))/eg;
> my $fileEnc = $filename;
> $fileEnc =~ s/([^-_.a-zA-Z0-9])/sprintf("%%%02x",ord($1))/eg;
> my $fileUrl = "$pubUrl/$webEnc/$topicEnc/$fileEnc";
--
AurelioAHeckert - 27 Jun 2008
Hm, how can I control the
$fileSize formatting? What if I don't want that the files size is shown in KB but in byte and without the K or whatever at the end? In other respects, that's a great plugin, thanks Arthur!
- So you would need extra parameters around
$fileSize. Any idea how it could look like? -- ArthurClemens - 30 Jul 2008
- Either provide a new parameter
unit with possible values according to Wikipedia:Byte or
allow a parameter for $fileSize ala $fileSize(unit) with the following possible values for unit: decimal: k, M, G, T, P, E, Z, Y; IEC: Ki, Mi, Gi, Ti, Pi, Ei, Zi, Yi; resp. JEDEC: K, M, G or
let SSP do all the formatting wizardry (thinking about the $fileDate parameter)
--
FranzJosefGigler - 30 Jul 2008
Dear all,
I met a problem with ATTACHMENTLIST plugin.
When I view pages in TWiki sub web (Hierarchical Webs) , like: (
ParentWeb /SubWeb), I attach a file in this page
but click attachment URL in ATTACHMENT Table (ATTACHMENTLIST plugin) , donwload file fail.
I found out that attachment download URL is error.
I trace lib/TWiki/Plugins/AttachmentListPlugin.pm
In sub _formatFileData ,
my $webEnc = $fileData->{web};
$webEnc =~ s/([^-_.a-zA-Z0-9])/sprintf("%%%02x",ord($1))/eg;
correct download URL:
http://example.org/twiki/pub/ParentWeb/SubWeb/TopicPage/attachmentFile.txt
translate to error download URL
http://example.org/twiki/pub/ParentWeb%2fSubWeb/TopicPage/attachmentFile.txt
$webEnc (Web value) got error .
Web value like (ParentWeb/SubWeb) translate to (ParentWeb%2fSubWeb)
"/" (slash) translate to ASCII code "%2f"
so got "Not Found" message , donwload file fail.
so I fixed it in
AttachmentListPlugin.pm
sub _formatFileData ,
#Due to sub web ex: QualityKM/Practice translate to QualityKM%2fPractice
# translate %2f back to /
$webEnc =~ s/\%2f/\//g ;
Download file in sub web is ok now.
Is any better idea to fix it ?!
--
BretHuang - 2010-01-26
Thank you Bret for reporting this, with proposed fix! I created
TWikibug:Item6391 to track this.
--
PeterThoeny - 2010-01-26
i think its better to use
URI::Escape than just regular expression suggested above.
Something like following fixes the issue
Index: AttachmentListPlugin.pm
===================================================================
--- AttachmentListPlugin.pm (revision 18314)
+++ AttachmentListPlugin.pm (working copy)
@@ -414,6 +414,9 @@
my $fileEnc = $fileData->{name};
$fileEnc =~ s/([^-_.a-zA-Z0-9])/sprintf("%%%02x",ord($1))/eg;
my $fileUrl = "$pubUrl/$webEnc/$topicEnc/$fileEnc";
+
+ use URI::Escape;
+ $fileUrl = uri_unescape($fileUrl);
$s =~ s/\$fileUrl/$fileUrl/g;
$s =~ s/\$fileTopic/$fileData->{topic}/g;
-- TWiki/Main.SopanShewale - 04 Feb 2010