This is my Gallery Site - I have created my own gallery scripts and Macro's - as no Confluence Plugins supports images in a filestructure.

Versions

2018-01-03: Added Extraction of EXIF Tags - for GPS Position purpose - Read Extraction EXIF data from my Images

2015-09-20: Changed input for makeThumbs.sh to key=value usage and added orientation magic into it

2015-01-04: Changed input to key=value usage

2014-07-15 : Added the blazy javascript to my site. This makes thumbnail load and display when needed instead of all thumbnails loaded when rendering a page (rendering 2000 small images takes a heck of time) - Read the Adding blazy to the Mos-Eisley Gallery page

2014-01-16 : Upgraded to permanent multipage (1 for each subdir and 1 to include all), ThumbSize as command line argument and minor fixes to the code 

2013-09-15 : Putting ThumbSize and DisplaySize in the macro call, so these can be changed without breaking older pages

Requirements

Software

Atlassian CLI (Notice the 3.X versions are not free, last free download versions at Atlassian CLI

Imagick , exiftool and ffmpegthumbnailer installed, this can typically be done with a package manager for the OS.

A Ligthbox, this is optional, as the build-in can be used, but a custom one can be installed as in Installing Javascript libraries or frameworks in Confluence

Scripts

Configurations (config.txt)

Script for making thumbnail images (makeThumbs.sh)

Script for linking images into a Confluence page (updateGallery.sh)

Optional: Script for refreshing Confluence pages (refreshPages.sh)

Files

Get the latest files https://bitbucket.org/moseiseydk/confluence-gallery

User Macros

User Macro: make-top

User Macro: go-top

User Macro: me-video - Linking to a Video file 

One of these User Macros If You have selected a custom lighbox (Installing Javascript libraries or frameworks in Confluence):

User Macro: me-image - Image lightbox with prettyPhoto

User Macro: me-image - Image lightbox with Floatbox

User Macro: me-image - Image lightbox with Slimbox2

User Macro: me-image - Image lightbox with OrangeBox

User Macro: me-image - Image lightbox with fancybox

Or use the one in Confluence:

User Macro: me-image - Image lightbox with Confluence style

The setup

Install the Software and packages needed

Config Atlassian CLI (Set username, password and URL in confluence.sh)

Config Tomcat to support symbolic links (see this currently  unsolved issue regarding special UTF-8 characters)

Link from Confluence to the MediaRoot (here called /data/images) - The "media" in the link is used in the "me-image" macro, these must match if changed.

ln -s /data/images $CONFLUENCE_HOME/confluence/media


Create a Script directory and place the 3 scripts and the config.txt files into them

Edit the config.txt to fit Your installation

Create the User Macro me-image in Your Confluence installation (remember to set parameters  ThumbSize and  DisplaySize to the same as i config.txt)

Start adding pictures to Your installation using the updategallery.sh and optional refreshpages.sh scripts


The workings

All content (Pictures and Video) are place on the servers filesystem in a Tree Structure, from a Basic root (called MediaRoot in the config.txt file) - This Root is symlinked into the Confluence base Url

For each top directory, a subdirectory or one or more phrases, a collection of content can be placed on a Confluence Page with the updategallery.sh script

When the script runs, it travels an entire directory-structure and :

  • Creates thumbnails for the content (image or video) in a subdirectory called something with "thumbs"
  • Adds a macro onto the specified Confluence page to show (render) the content (image or video)
  • Finally, saves the page into Confluence


Questions and Answers

Q: Is there a manuel maintenance between the config.txt and the me-image macro?

A: Yes, the ThumbSize and DisplaySize numbers must match in the file and macro, otherwise images will give a 404 Error


Q: My Thumbnail Image is not displayed?

A: Check the following:

  • Tomcat Linking is allowed:

    The server.xml file has to be changed adding the allowedLinked parameter:


    <Context path= "" docBase= "../confluence" debug= "0" reloadable= "false" useHttpOnly= "true" allowLinking= "true" >
  • The Paths etc in the macro on the Confluence Page - does it exist in the filesystem
  • Permissions on the filesystem


Q: Images are so slow...why?

A: This can be bandwith, server hardware, memory - or the DisplaySize parameter - hence how large an image that must be fetched. 800 is default.


Q: My image just opens in a new window, not popped up or via jQuery

A: Either the ligtbox is not loaded, or the class and/or id on each images is wrong, consult the Lightbox documentation and Installing Javascript libraries or frameworks in Confluence