SlideShowIt Plugin for 1.5.x SlideShowIt Plugin for 1.5.x
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

SlideShowIt Plugin for 1.5.x

Started by Gene-2008, January 07, 2010, 07:34:09 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Gene-2008

/**************************************************
 Coppermine 1.5.x Plugin - Slideshowit
 *************************************************
 Copyright (c) 2010 Gene F. Young (www.genefyoung.com)
 *************************************************
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.
 
 If you use this plugin please post a link to your site on the
 announcement thread.  So others can see it in more uses.

 ***************************************************/

What it does:
-------------
Uses a JavaScript to display a slideshow on front page.  The images are scaled up/down to fit the
available Browser window.
Controls are provided to play in forward/reverse direction, to play/pause,
to pause and go to previous or next image. Clicking on the image can be configured to go directly
to the image or to the album containing the image.

This plugin has been created for cpg1.5.x.

=========================================================================

How to install:
---------------
* Unzip
* Upload folder 'SlideShowIt' into Coppermine's plugins folder
* Go to plugin manager page and install it
* Go to SlideShowIt Manager on the admin menu and make your selections

How to enable:
--------------
* To enable this plugin, you'll have to add "SlideShowIt" to "the content of the main page" in coppermine's
config in the section "Album list view". The setting should look like "breadcrumb/catlist/alblist/SlideShowIt"
or similar. For details, review the documentation that comes with coppermine (inside the docs folder) in
the section "The gallery configuration page" > "Album list view" > "The content of the main page".

How to configure:
-----------------
* Use the additional button 'SlideShowIt Manager' in admin menu.

Options you can select:

Use meta albums from list on the next line               --->   yes or no
Choose a Meta album for use as SlideShowIt display         --->   Random, Last Upload, Most Viewed, Top Rated.      
Or if not using a meta album choose an album to display      --->   If not using meta albums the choose any other Visible Album      
Number of pictures in the Slideshow                   --->   (4-60)      
Slideshow speed in ~seconds                         --->   (1-10)      
How should SlideShow be aligned                        --->   Left, Center, Right   
Select whether Controls are Vertical or Horizontal         --->   Vertical or Horizontal
Select where Controls are located                     ---> Left if vertical or Top if Horizontal
                                             ---> Right if vertical or Bottom if Horizontal
Skip portait mode pictures                           --->   yes or no
Enable hover text when mouse over slides?                  --->   yes or no
Enable User SlideShow Album Selection                  --->   yes or no
Click goes directly to Image vs. going to Image Album        --->   yes or no
Show Album Description as Title above slideshow            --->   yes or no
Enable Image transitions for Browsers that support it?      --->   yes or no
Location of list allowing user to select SlideShow album.    --->   yes or no

=========================================================================

Browser Compatibility:
----------------------
The JavaScript slider is tested and works perfectly in these browsers:
- IE 6/7/8
- Firefox

It probably works fine in many other browsers, too.

=========================================================================

Credits:
--------
This plugin is written by Gene F. Young. I looked at "slider" by Timos-Welt as a model to start with.
Don't try to contact the plugin author for support - post on the board publicly instead.

=========================================================================

Change log:
-----------

v1.0 (2010/01/07)
-----------------
* initial release




I have test this on Classic theme and others.
You can see a DEMO for now at the development 1.5.x test site
http://gfyoung.homeip.net/cpg15x/index.php?theme=classic

Download: http://sourceforge.net/projects/coppermine/files/Plugins/1.5.x/cpg1.5.x_plugin_slideshowit_v1.4.zip/download

Since I probably in the future will take the 1.5.x development site offline I have
attached two screen captures showing the slideshow and slideshow Admin.

I only speak english so I only attached the english.php but the plugin does use language files
so any contributions will be added to next releases.

I have a version for 1.4.25 that I can release if requested.

Comments and suggestions are welcomed,
Gene

Joachim Müller

Very promising.
Please let me give you some suggestions for improval (don't get me wrong, I'm not trying to bash you, but I'm trying to improve the plugin).


Gene-2008

Quote from: Joachim Müller on January 07, 2010, 10:11:07 PM
Very promising.
Please let me give you some suggestions for improval (don't get me wrong, I'm not trying to bash you, but I'm trying to improve the plugin).


Ok I have corrected this and will submit in next version.

Quote from: Joachim Müller on January 07, 2010, 10:11:07 PM

  • For "the content of the main page", you should not request "SlideShowIt" to be filled in, but request users to fill in "slideshowit" instead

Ok I have corrected this and will submit in next version. The code is actually doing a strtolower anyway but I changed as suggested.

Quote from: Joachim Müller on January 07, 2010, 10:11:07 PM

  • For "the content of the main page" you could show the setting on the plugin's config screen as well and make the user aware of the need to add "slideshowit" to the field's content

Ok I have added text to the config page detailing this and will submit in next version.

Quote from: Joachim Müller on January 07, 2010, 10:11:07 PM

I will add this in a future version.  However, the yes/no change is still only one click.... ;)

Quote from: Joachim Müller on January 07, 2010, 10:11:07 PM

  • Adding even more icons to a pluginis not a bright idea imo if similar icons already exist. You should use the icons that come with a theme if you can. If a theme doesn't have icons, use the default icons instead. Take a look at the plugin LightBox Slideshow jquery v1.0 (aka Lightbox NotesFor.net) to get an idea how this works

I understand about not adding icons and even better that it would be good to use the ones from a theme if available.
I don't understand the example you pointed to above though.  It does not, at least to me, appear to be using the icons from either the theme OR the default ones from the 1.5.x images.  Could you please say a little more here about what you are suggesting.  ???


Quote from: Joachim Müller on January 07, 2010, 10:11:07 PM

  • Adding a link to the plugin manager from your plugin's config panel isn't necessary imo
Ok I have removed and will submit in next version.

Thanks for the suggestions,
Gene

Joe Carver

@ Gene-2008,

Look in codebase.php (LightBox) - find:
            set_js_var('plugin_lightbox_nfn_image_btnprev', $theme_navbar_folder . 'images/navbar/left.png');
Change to:
            set_js_var('plugin_lightbox_nfn_image_btnprev', $theme_navbar_folder . 'images/icons/left.png');

Along with the lines below it too.
You will then see the effect that Joachim describes.

Gene-2008

Maybe I am blind...but I don't see the code you are talking about at all.

I looked in this zip:
cpg1.5x_plugin_lightbox-notes-for-net_v1.0.zip
cpg1.5x_plugin_lightbox_v1.0.zip

I finally found something like what you describe in:
cpg1.5.x_plugin_lightbox-notes-for-net_v2.2.zip

So what version are you talking about and which one should I be looking at?

Thanks for the reply,
Gene

Joe Carver

Sorry about that. This is the link to the version I was referring to. It is a different version of that
plugin. At the bottom of the page you can download the package - "Download GNU tarball"

http://coppermine.svn.sourceforge.net/viewvc/coppermine/branches/cpg1.5.x/plugins/lightbox_notes_for_net/

Gene-2008

Please note the version at the start of this thread is now 1.1. 

It has all the suggested fixes except the elimination of the yes/no and use theme icons for buttons.

I could not find in the CPG1.5.x images the necessary buttons to have them be used.

I needed reverse, back one, pause, play, forward one, forward, and up. And the hover states for those.
If I assign as follows:

  • << as reverse
  • < as back one
  • > as forward one
  • >> as forward
  • and the thumbnails.png as up

Which is how they are intended by coppermine to be used, then I don't have anything for play and pause.

The plugin does have a style.css that the user can use to add any icons that their theme uses.

Suggestions welcomed,
Gene

Joachim Müller

Gene, if you can please try to get familiar with the subversion repository (see corresponding section in documentation), because that's what we use for collaborative development. Once you got a grip on that, it's agreat tool.
I have added your plugin to the subversion repository. Web SVN access: http://coppermine.svn.sourceforge.net/viewvc/coppermine/branches/cpg1.5.x/plugins/slideshowit/
Why on earth did you build your plugin on the initial enlargeit plugin? All the things I corrected in that plugin turn up once more in your plugin, so there's a lot of work ahead for me once more. Let me give you an example: it's not a good idea if you want to store 15 settings for your plugin to create a separate table with 15 columns and then store one record inside that table (15 columns wide). Instead, you create a table with two columns (name/value) and add 15 records (i.e. rows) to that table, or (even better) use coppermine's existing config table to accomplish that - see http://documentation.coppermine-gallery.net/en/dev_plugins.htm#plugin_writing_database_config .
Anyway, please understand that I'm not trying to bash you - in the end, you experience the same thing other plugin authors experience: the functionality of a plugin is comparatively easy to create, but the config section is hard to create and takes a lot of work. This needs to be improved in cpg1.6.x, but for now we have to come up with a good solution for cpg1.5.x: I have created a scheme for plugin config pages that should fit most needs - all that is left to do is come up with documentation that explains this for all plugin authors, so I will use your plugin as an example to show how to build a config screen from scratch. Please stand by ;).

Gene-2008

Quote from: Joachim Müller on January 12, 2010, 08:00:42 AM
Gene, if you can please try to get familiar with the subversion repository (see corresponding section in documentation), because that's what we use for collaborative development. Once you got a grip on that, it's agreat tool.

Actually I do use the SVN...for cpg1.5.x.

Quote from: Joachim Müller
I have added your plugin to the subversion repository. Web SVN access: http://coppermine.svn.sourceforge.net/viewvc/coppermine/branches/cpg1.5.x/plugins/slideshowit/

Thanks I will use it for future changes.

Quote from: Joachim Müller
Why on earth did you build your plugin on the initial enlargeit plugin

I did not start with EnlargeIt... ??? I started as I said in the credits with slider by Timos-Welt.

Quote from: Joachim MüllerAll the things I corrected in that plugin turn up once more in your plugin, so there's a lot of work ahead for me once more. Let me give you an example: it's not a good idea if you want to store 15 settings for your plugin to create a separate table with 15 columns and then store one record inside that table (15 columns wide). Instead, you create a table with two columns (name/value) and add 15 records (i.e. rows) to that table, or (even better) use coppermine's existing config table to accomplish that - see http://documentation.coppermine-gallery.net/en/dev_plugins.htm#plugin_writing_database_config .

Not debating just asking: why is it not a good idea?  Is there a performance impact, space impact or what?

Quote from: Joachim Müller
Anyway, please understand that I'm not trying to bash you - in the end, you experience the same thing other plugin authors experience: the functionality of a plugin is comparatively easy to create, but the config section is hard to create and takes a lot of work. This needs to be improved in cpg1.6.x, but for now we have to come up with a good solution for cpg1.5.x: I have created a scheme for plugin config pages that should fit most needs - all that is left to do is come up with documentation that explains this for all plugin authors, so I will use your plugin as an example to show how to build a config screen from scratch. Please stand by ;).

Thanks for you effort...I will look forward to it,
Gene

Αndré

Quote from: Gene-2008 on January 12, 2010, 02:57:00 PM
I did not start with EnlargeIt... ??? I started as I said in the credits with slider by Timos-Welt.
Both plugins are Timo's work, so there might be the same 'mistakes' in both plugins ;)

Joachim Müller

Quote from: Gene-2008 on January 12, 2010, 02:57:00 PMNot debating just asking: why is it not a good idea?  Is there a performance impact, space impact or what?
Performance impact and best practise are the reason. To store 15 config settings you simply don't have to create a table with 15 columns. If you're inviting 15 friends to your house you don't buy 15 cases of beer with only 1 bottle inside each case. You buy one case instead with (at least) 15 bottles in it (well, not the best analogy if I think about it twice: when I invite 15 friends I have to buy 5 cases of beer at least... ;D). In other words: you just don't code that way efficiently.

Joachim


Αndré

If you store your values in the cpg config table, you can easily access that values later via $CONFIG['your_value'].

nemesis13

When I hit the "Submit" button after the configuration, a blank page appears with a "Fatal error" text.  :o

Gene-2008

Are you using on 1.5.x?

Did it work with default values? 

Have you tried with Classic theme?

What values did you put in the fields?

I have not tried this on 1.5.8.  Notice this was release on Jan 12.

I will update and try asap.

Gene

Gene-2008

Fixed an issue with the input button in the Config section.

Please post back success or failure.

Gene

nemesis13

Hi Gene,

can I download / install the slideshow-plugin via admin panel in my gallery?

Gene-2008

Normal process download the one just uploaded I.e. my post before this one.
Unzip, copy to website plugins directory and install via plugin manager.

Gene

nemesis13

At the pakage-icon there is not the green-symbol and when I click on it, a warning appears, that the version is not compatibel with my gallery-version and a installation can crash my gallery.

Should I install it?  ???

Gene-2008

Ok...I haven't mess with this in a while. ::)

Use this version.  The other is safe but this one should not give you the warning.

Gene


nemesis13

Now the submit-button works, thanks Gene.  ;D