create new tag
, view all tags

AlbumOfSnapsPluginDev Discussion: Page for developer collaboration, enhancement requests, patches and improved versions on AlbumOfSnapsPlugin contributed by the TWikiCommunity.
• Please let us know what you think of this extension.
• For support, check the existing questions, or ask a new support question in the Support web!
• Please report bugs below

Feedback on AlbumOfSnapsPlugin

-- AshishNaval - 02 Nov 2004

Did you know the demo doesn't work for us, Ashish? It breaks because 10.x.x.x is not a public address.

Thanks. -- MartinCleaver - 02 Nov 2004

Sir ,Actually i don't have root password of web server and my plugin is using one extra script. I think that is why demo url is not displaying any thing. But it is tested on TWikiBetaRelease2004x07x30 .

-- AshishNaval - 03 Nov 2004

Maybe this plugin can/shall be installed on http://twikiplugins.sourceforge.net wink

-- FranzJosefSilli - 03 Nov 2004

checked into CVSplugins: AlbumOfSnapsPlugin

-- WillNorris - 23 Nov 2004

I made some changes to the Plugin topic text. Mainly added SHORTDESCRIPTION, which is needed for the PluginPackage report and to show the Plugin description in TextFormattingRules if installed. You can take this back into the next release.

Also, how about measuring and documenting the PluginBenchmarks?

-- PeterThoeny - 30 Mar 2005

In the documentation, you should escape twiki tags with <nop> rather than adding the misleading hyphen into the tag name. Such would be much clearer for the reader....

-- ThomasWeigert - 05 Jun 2005

Some feedback, please don't take it too negative. I just want to share what I discovered yesterday, so potential users can decide themselves if they want to spend work on this plug-in.

Distribution and installation:

  • Icons are distributed in a lib subdirectory AlbumOfSnapsPluginImages, and also referenced as lib-URL. Since lib-URLs are usually forbidden to access, this doesn't work.

Security issues:

  • Does not check that archive really has just content in directory of same name, just unpacks everything. Also, does not reset access rights after unpacking.
  • I.e., ../../bin or ../../lib/TWiki write attacks are possible if somebody has bad access modes for these directories and their content.
  • Also, unpacking .php or .cgi is possible. If these extensions have been activated server-wide, bam.

Code quality:

  • The distribution has syntax errors and does not run at all without changes. In AlbumOfSnapsPlugin.pm, $dir_array_list[i] is used instead of $dir_array_list[$i].
  • The code is not -w clean. ("Use of uninitialized value in concatenation" at line 296.)
  • I had shell syntax errors of archive extraction in my Apache logs.
  • Constructed URL /twiki/bin///AlbumOfSnapsScript for album access is not clean. This URL gets also passed very long parameters. Some of them are unnecessary as this information is available in TWiki.cfg.
  • I got no debug output even though debug is set to 1 in the plugin topic.
  • Deletes attachments after unpacking. Of course, this disturbes the rest of the TWiki code. E.g., they cannot be moved away any more, fetching them leads to errors, etc.


  • No thumbnail creation on server side. Thumbnails both present an overview of available images, and should reduce traffic by transferring smaller graphics. Only the first objective is solved. Images are always transferred in full size and scaled by the browser.
  • TWiki markup in front of %ALBUMOFSNAPS_PLUGIN% is illegal. I.e., it is output without transformation.
  • %ALBUMOFSNAPS_PLUGIN% always output its own head line ( Album of Snaps) that is not configurable either.
  • No concept of album management (update, move, deletion).
  • Uses lots of external commands where it is not clear at all, why. E.g., `find -name \"*.txt\" -maxdepth 1` where a simple glob('*.txt') would be sufficient. Or `find -type d -maxdepth 1` where grep { -d $_ } glob('*') would be as appropriate.
  • Handling of spaces in uploaded archives (though that's partly a TWiki thing).

Summary: Nice idea, but implementaion needs additional work. wink

-- JoachimSchrod - 06 Jun 2005

Just installed it on top of TWiki 4.2 and it fails to work. I get the following message when I embed the AlbumOfSnaps... function call.

TWiki detected an internal error - please check your TWiki logs and webserver logs for more information.
Undefined subroutine &TWiki::extractNameValuePair called

*From the log* 

| 13 Jun 2008 - 15:59 | Undefined subroutine &TWiki::extractNameValuePair called at XXX/TWiki/Plugins/AlbumOfSnapsPlugin.pm line 136.
 at XXX/lib/TWiki/Plugins/AlbumOfSnapsPlugin.pm line 136
 TWiki::Plugins::AlbumOfSnapsPlugin::_handleTag() called at XXX/lib/TWiki/Plugins/AlbumOfSnapsPlugin.pm line 124
 TWiki::Plugins::AlbumOfSnapsPlugin::commonTagsHandler('---+ TestingWebSnaps\x{a}\x{a}---++ Using Album Of Snaps Plugin\x{a}\x{a}%ALB...', 'TestingWebSnaps', 'Sandbox', 0, 'TWiki::Meta=HASH(0xa71f368)') called at XXX/lib/TWiki/Plugin.pm line 266
 TWiki::Plugin::invoke('TWiki::Plugin=HASH(0xa56fb3c)', 'commonTagsHandler', '---+ TestingWebSnaps\x{a}\x{a}---++ Using Album Of Snaps Plugin\x{a}\x{a}%ALB...', 'TestingWebSnaps', 'Sandbox', 0, 'TWiki::Meta=HASH(0xa71f368)') called at XXX/lib/TWiki/Plugins.pm line 344
 TWiki::Plugins::_dispatch('TWiki::Plugins=HASH(0xa24154c)', 'commonTagsHandler', '---+ TestingWebSnaps\x{a}\x{a}---++ Using Album Of Snaps Plugin\x{a}\x{a}%ALB...', 'TestingWebSnaps', 'Sandbox', 0, 'TWiki::Meta=HASH(0xa71f368)') called at XXX/lib/TWiki/Plugins.pm line 480
 TWiki::Plugins::commonTagsHandler('TWiki::Plugins=HASH(0xa24154c)', '---+ TestingWebSnaps\x{a}\x{a}---++ Using Album Of Snaps Plugin\x{a}\x{a}%ALB...', 'TestingWebSnaps', 'Sandbox', 0, 'TWiki::Meta=HASH(0xa71f368)') called at XXX/lib/TWiki.pm line 2864
 TWiki::handleCommonTags('TWiki=HASH(0xa240c28)', '---+ AlbumOfSnapsPluginDev\x{a}\x{a}---++ Using Album Of Snaps Plugin\x{a}\x{a}%ALBUMOFSNAP...', 'Sandbox', 'TestingWebSnaps', 'TWiki::Meta=HASH(0xa71f368)') called at XXX/lib/TWiki/UI/View.pm line 396
 TWiki::UI::View::_prepare('---+ AlbumOfSnapsPluginDev\x{a}\x{a}---++ Using Album Of Snaps Plugin\x{a}\x{a}%ALBUMOFSNAP...', 'TWiki=HASH(0xa240c28)', 'Sandbox', 'TestingWebSnaps', 'TWiki::Meta=HASH(0xa71f368)', 0) called atXXX/lib/TWiki/UI/View.pm line 377
 TWiki::UI::View::view('TWiki=HASH(0xa240c28)') called atXXX/lib/TWiki/UI.pm line 159
 TWiki::UI::__ANON__() called at /usr/lib/perl5/site_perl/5.8.8/Error.pm line 428
 eval {...} called at /usr/lib/perl5/site_perl/5.8.8/Error.pm line 420
 Error::subs::try('CODE(0x9f8ab58)', 'HASH(0xa77786c)') called at XXX/lib/TWiki/UI.pm line 197
 TWiki::UI::run('CODE(0xa228ca8)', 'view', 1) called at view line 32.

-- Main.RedByer - 13 Jun 2008
Edit | Attach | Watch | Print version | History: r10 < r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r10 - 2008-06-13 - RedByer
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.