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
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: 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