1,776

(496 replies, posted in Juicebox-Pro Support)

@gkwphoto.com

Thank you for your suggestion.
Just for clarification, the Picasa Web Album option within the WordPress plugins is still there as it can still be used to display Picasa Web Albums created prior to Google's acquisition of Picasa. After Google took over Picasa, they (for a very short period of time) allowed the Picasa Web Album API to be used to display Google Photos but this is no longer possible.
In any case, I appreciate you taking the time to post your request here and I'm sure the developers will consider it.
Thank you.

1,777

(3 replies, posted in Juicebox-Lite Support)

You're welcome!

1,778

(3 replies, posted in Juicebox-Pro Support)

Unfortunately, there is no built-in functionality to allow Juicebox to display the images in a gallery in reverse.

If you were to add new images to the end of your gallery, then the existing images would retain their direct link index numbers and the new images at the end of the gallery would be assigned new (higher) numbers.

If you were to add new images to the beginning of your gallery but then reverse the order in which the images are displayed, then this would essentially have the same effect as above.

If you added new images to the end of your gallery and reversed the image order, then images would not retain permanent unique direct image index numbers. Each time you add a new image to the end of your gallery, then, when the images are reversed, the new image would have index 1 (and all others would be shifted along).

The only real solution would be to add new images to the end of your gallery and keep the image order as normal.

However, you might be able to use one (or both) of the scripts below.

If you wanted to dynamically reverse the order of images, add a configURL: 'config.php' entry in your gallery's embedding code and use the following code as a file named 'config.php' in your gallery folder.

<?php
header('Content-Type: application/xml');
$xml = simplexml_load_file('config.xml');
$arr = array();
foreach ($xml->image as $img) {
    $arr[] = $img;
}
$arr = array_reverse($arr);
$dom_doc = new DOMDocument('1.0', 'UTF-8');
$dom_doc->formatOutput = true;
$settings_tag = $dom_doc->createElement('juiceboxgallery');
foreach ($xml->attributes() as $key=>$value) {
    $settings_tag->setAttribute($key, $value);
}
foreach ($arr as $img) {
    $image_element = $dom_doc->createElement('image');
    foreach ($img->attributes() as $key=>$value) {
        $image_element->setAttribute($key, $value);
    }
    $title_element = $dom_doc->createElement('title');
    $title_text = $dom_doc->createCDATASection($img->title);
    $title_element->appendChild($title_text);
    $image_element->appendChild($title_element);
    $caption_element = $dom_doc->createElement('caption');
    $caption_text = $dom_doc->createCDATASection($img->caption);
    $caption_element->appendChild($caption_text);
    $image_element->appendChild($caption_element);
    $settings_tag->appendChild($image_element);
}
$dom_doc->appendChild($settings_tag);
echo $dom_doc->saveXML();
?>

Otherwise, you could try to override Juicebox's own direct link functionality and assign new direct link index numbers to each image in reverse so that image #1 always refers to the last image in the gallery. That way, you could add images to the beginning of your gallery without affecting the custom direct link image numbers for existing images.

First of all, you'd need to find a way to specify the image you want to load (via the URL).
Juicebox already internally uses the # identifier so you could perhaps use a query string instead. Something like: http://www.example.com/gallery/index.html?image=7

You'd then need to determine the number of images in the gallery. It would not be possible to use the Juicebox-Pro API getImageCount() method before the gallery is loaded so you'd need to use JavaScript to count the number of <image> entries in the gallery's 'config.xml' file.

Knowing the total number of images and the image number from the query string, you could then calculate the desired image (by essentially reversing the regular index numbers) and load it using the firstImageIndex configuration option in the gallery's embedding code.

Here's some sample code you could try.

To see it in action, just create a sample gallery with a few images in JuiceboxBuilder-Pro and use the following code as the gallery's 'index.html' file.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <style type="text/css">
            body {
                margin: 0px;
            }
        </style>
        <script type="text/javascript" src="jbcore/juicebox.js"></script>
        <script type="text/javascript">
            function address(id, total, uri) {
                var reverse = total - (id - 1);
                var i = uri.indexOf('#');
                var hash = i === -1 ? '' : uri.substr(i);
                uri = i === -1 ? uri : uri.substr(0, i);
                var re = new RegExp('([?&])' + term + '=.*?(&|$)', 'g');
                var separator = uri.indexOf('?') !== -1 ? '&' : '?';
                if (uri.match(re)) {
                    uri = uri.replace(re, '$1' + term + '=' + reverse + '$2');
                } else {
                    uri = uri + separator + term + '=' + reverse;
                }
                var url = uri + hash;
                window.history.replaceState('', '', url);
            }
            var image = 1;
            var term = 'image';
            if (window.location.search) {
                var queryArray = {};
                var queryComponent;
                var queryString = unescape(window.location.search);
                var re = new RegExp('([^?=&]+)(?:=([^&]*))?', 'g');
                while (queryComponent = re.exec(queryString)) {
                    queryArray[queryComponent[1]] = queryComponent[2];
                }
                var queryInteger = parseInt(queryArray[term], 10);
                image = isNaN(queryInteger) ? 1 : queryInteger;
            }
            var total = 1;
            $.get('config.xml', function(data) {
                total = $(data).find('juiceboxgallery > image').length;
            }).done(function() {
                var max = Math.max(1, image);
                var min = Math.min(total, max);
                var index = min - 1;
                var fii = total - index;
                var jb = new juicebox({
                    containerId: "juicebox-container",
                    firstImageIndex: fii,
                    enableDirectlinks: 'FALSE'
                });
                address(fii, total, window.location.href);
                jb.onInitComplete = function() {
                    jb.onImageChange = function(e) {
                        address(e.id, total, window.location.href);
                    };
                };
            }).fail(function() {
                alert('Cannot fetch total number of images in gallery.');
            });
        </script>
        <title>Test</title>
    </head>
    <body>
        <div id="juicebox-container"></div>
    </body>
</html>

Now, when you go to http://www.example.com/gallery/index.html?image=1, the last image in the gallery will be displayed.
If you were to go to http://www.example.com/gallery/index.html?image=2, the second last image in the gallery will be displayed (and so on).
If you were to add images to the beginning of your gallery, then the last image in the gallery will always have the identifier 'image=1'.

Please bear in mind that what you are looking to do is not something that Juicebox was designed to do (or something that can be achieved with the available configuration options) and making such custom modifications can often result in unforeseen problems and unwanted knock-on effects. However, I hope that my suggestions above help.
Also, please also note that this cannot be used in conjunction with Juicebox-Pro's social media sharing functionality which is tightly integrated with Juicebox's own direct link functionality.

1,779

(3 replies, posted in Juicebox-Lite Support)

But instead it shows the first image, and it's not even all of it.

What you are describing is the Splash Page.

The Splash Page is a placeholder for the gallery which is displayed by default on small screen devices when the gallery is embedded in a page alongside other content (like your web page's header) and may be too small to be usable.
The Splash Page is essentially an image link for the gallery which displays an image (by default, the first image in the gallery) and some text.

When the user clicks or taps the Splash Page, the gallery is expanded to fill the user's browser window (giving the images more space to be displayed).
For more information about the Splash Page and how Juicebox adapts to different devices and screen sizes, please see here.

If the gallery was on a page of its own (100% x 100% with no other content on the web page), then the Splash Page would not be used and the thumbnail page would be initially displayed.

If you had Juicebox-Pro, you could choose to not use the Splash Page by setting showSplashPage="NEVER" (in JuiceboxBuilder-Pro's 'Customize -> Splash Page' section). Using this setting, the thumbnail page would initially be displayed instead of the Splash Page on small screen devices.
Alternatively, you could force the gallery to be displayed in Large Screen Mode (which, by default, does not use the Splash Page) on all devices and in all browsers by setting screenMode="LARGE" ('Customize -> General').

If you chose to continue to use the Splash Page, you could customize it using the Splash Page configuration options.

By default, the Splash Page uses the first image in the gallery and the image is resized to fill (rather than fit within) the Splash Page and cropping may occur).
You can choose a different image to represent your gallery on the Splash Page (perhaps one that is more suited to a portrait style viewport and more tolerant towards cropping) using the splashImageUrl configuration option.

Unfortunately, all the options in bold above are supported by Juicebox-Pro only.
It is not possible to change the behavior of the gallery (with regard to Screen Modes and the Splash Page) using Juicebox-Lite (the free version).

I hope this helps to clarify things, though.

1,780

(3 replies, posted in Juicebox-Pro Support)

You're welcome!
I'm glad you've been able to implement one of my suggestions.

1,781

(3 replies, posted in Juicebox-Pro Support)

This is great - thanks.

You're welcome.

Can you put this in the options for the next release?

I'd recommend that you post your suggestion in the Feature Requests forum thread.
This keeps all the ideas together and ensures that they are not overlooked by the developers.
I do not know the likelihood of any suggestions being implemented but this is certainly the best place for all ideas.
Thank you.

1,782

(3 replies, posted in Juicebox-Pro Support)

OK. I hope it makes sense knowing that the Email Button is a 'mailto' link.

1,783

(3 replies, posted in Juicebox-Pro Support)

The Back Button was designed for navigation within the same browser tab (like the browser's own back button).
However, there are a couple of things that you could do.

(1) Use the Gallery Title (instead of the Back Button) as a link using HTML formatting as noted in this FAQ.
How do I add HTML formatting to the Gallery Title or Back Button?
You could perhaps use a Gallery Title such as:

<a href="http://www.example.com" target="_blank">Click here</a>

(2) You could dynamically add the target="_blank" attribute to the Back Button's <a> tag using JavaScript and the Juicebox-Pro API as follows. (The onInitComplete() method is used to ensure the .jb-go-back class is present in the DOM before the target="_blank" attribute is added.)

<!--START JUICEBOX EMBED-->
<script src="jbcore/juicebox.js"></script>
<script>
    var jb = new juicebox({
        containerId: 'juicebox-container',
        backButtonPosition: 'TOP',
        backButtonUrl: 'http://www.example.com'
        
    });
    jb.onInitComplete = function() {
        $('.jb-go-back').children('a').first().attr('target', '_blank');
    };
</script>
<div id="juicebox-container"></div>
<!--END JUICEBOX EMBED-->

1,784

(1 replies, posted in Juicebox-Lite Support)

Can I disable rotation in the pro version ?

Juicebox displays images using standard <img> tags (generated dynamically via the 'juicebox.js' JavaScript file) and the image orientation is handled by the browser. Juicebox does not rotate images itself. This applies to both Juicebox-Lite and Juicebox-Pro.

However, JuiceboxBuilder-Lite and JuiceboxBuilder-Pro (the standalone applications to create and edit galleries) both have the ability to rotate images at the time the gallery is created or edited. (See the 'rotate' arrow near the lower-right corner of the first screenshot on the JuiceboxBuilder Tour page.)
When resizing images for a gallery, JuiceboxBuilder strips out all metadata (including the EXIF orientation flag) so browsers will not see an EXIF orientation flag and will just display the images as they are. As long as the images are rotated correctly in JuiceboxBuilder, they should be displayed correctly in the gallery.

I have try to remove all EXIF information with windows 10 file explorer

Unfortunately, as you are not using JuiceboxBuilder, you'll need to find an alternate way to remove the EXIF data.
I've just tried 'Remove Properties and Personal Information -> Create a copy with all possible properties removed' via Windows 10 File Explorer and it does not seems to remove all EXIF data (the EXIF orientation flag remains).
It would be better to use a dedicated imaging program to re-save your images without EXIF data.
If you do not have Adobe Photoshop or Adobe Lightroom, you could try a free alternative such as GIMP, IrfanView or XnView.
Instructions for removing EXIF data using GIMP can be found on this web page.

I hope this helps.

If you continue to experience difficulties, it might help if I could see one of the source images that is causing you problems so please post back with a link to one of your images so that I can take a look for myself and hopefully help further.

1,785

(3 replies, posted in Juicebox-Pro Support)

There are no configuration options available to change the font size of image titles and captions.

However, you can style individual image titles and captions (and also the Gallery Title and Back Button) using HTML formatting as noted in these FAQs:
How do I add HTML formatting to image captions and titles?
How do I add HTML formatting to the Gallery Title or Back Button?

Otherwise, you can change the size of all image titles and/or captions at once using CSS such as:

/* IMAGE TITLE */
.jb-caption .jb-caption-title {
    font-size: 20px !important;
}

/* IMAGE CAPTION */
.jb-caption .jb-caption-desc {
    font-size: 18px !important;
}

/* IMAGE NUMBER */
.jb-cap-frame .jbac-number {
    font-size: 12px !important;
}

You could add this CSS to the end of your gallery's 'jbcore/classic/theme.css' file or wrap it in <style type="text/css"> ... </style> tags and add it to the end of your gallery web page's <head> section.

1,786

(3 replies, posted in Juicebox-Pro Support)

I'm not quite sure what you're looking to do.

The Email Button (introduced in Juicebox-Pro v1.5.0) is essentially a mailto link which, when clicked, opens the user's default email program to send an email. Clicking the Email Button does not open a new web page or browser tab.

If you want to override Juicebox-Pro's own functionality for the Email Button and you want the Email Button to do something else instead, then you'd need to override it using JavaScript code such as the following:

<script src="jbcore/juicebox.js"></script>
<script>
    var jb = new juicebox({
        containerId: "juicebox-container",
        showEmailButton: "TRUE"
    });
    jb.onInitComplete = function() {
        $('.jb-bb-btn-email').off('click');
        $('.jb-bb-btn-email').click(function() {
            // Custom JavaScript code to do something goes here
        });
    };
</script>

I hope this helps.

You're welcome!

It's not possible to change the path to the 'spinner.gif' file in the gallery's embedding code (there is no configuration option to point towards a custom GIF file) but you can change the path on line 743 of your gallery's 'jbcore/classic/theme.css' file:

background: url('img/spinner.gif') no-repeat center;

... (although this is probably no more convenient than swapping the GIF file in the 'jbcore/classic/img/' folder).

You can, however, have all your galleries share a single 'jbcore' folder so you would need to modify just one 'jbcore' folder (rather than one for each gallery) by swapping the GIF file in the 'img' folder or changing its path in the 'theme.css' file.
Please see the Using an External jbcore Folder support section for details.

Alternatively, you could add the following CSS to the <head> section of your gallery's web page which will override the entry in the gallery's 'theme.css' file. (The path should be relative to the gallery's web page.)

<style type="text/css">
    div.jb-status-loading {
        background: url('new_spinner.gif') no-repeat center !important;
    }
</style>

This should save you from having to modify any 'jbcore' folders at all but modifying one 'jbcore' folder once and having all your galleries share it might be a more convenient solution in the long run. Having all your galleries share a single 'jbcore' folder also has the added advantage that when a new version of Juicebox is released, you can upgrade all your galleries at once by swapping just one 'jbcore' folder on your web server. (Just don't forget to modify the spinner in it first!)

I hope this helps.

Please note that the line number above refers to the current version of Juicebox-Pro (v1.5.0).

Unfortunately, it is not currently possible for users to translate "Regarding image" and "in gallery" from the email body text. (The text is buried deep within the 'juicebox.js' file which is obfuscated and cannot be modified.)
However, we plan to allow this to be done (via the languageList configuration option) and it should hopefully be implemented in the next version (although I do not know when it might be released).

1,790

(1 replies, posted in Juicebox-Pro Support)

For now I will only use it on one site but I'm sure that within the next months I want to extend to some other sites I'm working on.

If you like, you could purchase the Single-Site license just now and then upgrade to the 5-Site license at a later date (for the difference in price between the two). Please see this FAQ:
Can I upgrade from a single site license to a multi-site license at a later time?

When I purchase the 5 site license, do I already have to specify on which domains I plan to use these?

No. There is no need to specify which domains you plan to upload your Juicebox-Pro galleries to. You can pick and choose your domains as you like. You could purchase a 5-Site license before you purchase your domains (or even decide on your domain names).

Can I move the license from one domain to another, so stop using it on one domain and start using it on the next?

Yes. You are free to change the domain(s) that you have your Juicebox-Pro galleries uploaded to at any time you like.
As long as you have all your Juicebox-Pro galleries on only one domain (for a Single-Site license) or on no more than 5 domains (for a 5-Site license) at any one time, that is fine.

The FAQ has a solution for Apache servers and a link to a similar solution for IIS servers.
Your solution should certainly work for all others. Thanks for sharing!

1,792

(2 replies, posted in Juicebox-Pro Support)

...is it possible to have my camera meta data (e.g. exposure, lens, and camera)...

Unfortunately, JuiceboxBuilder-Pro is able to extract only the IPTC Document Title (for use as the image title) and the IPTC Description (as the image caption). (Just go to 'Images -> Titles -> Use IPTC Title' and 'Images -> Captions -> Use IPTC Caption' from the drop-down menu at the top.)

Currently the only automated way to extract any other embedded metadata from images would be to use the Juicebox Lightroom Plugin.
If you are an Adobe Lightroom user, you can use the Juicebox Lightroom plugin to create your Juicebox galleries.
Lightroom has the ability to extract whatever metadata you like from an image (EXIF or IPTC) and the Juicebox Lightroom Plugin can make use of this for the image titles and captions.
Once the plugin has been installed, you can select the Juicebox web layout, scroll down to the 'Image Info' section, choose 'Edit...' from the drop-down menu (for the image titles and/or captions) and you'll find the functionality for extracting metadata there.

...and a brief description appear in my Juice Box Pro Galleries?

You can certainly have some custom text in your Juicebox-Pro galleries.
If you wanted some text for the gallery as a whole, then you could use the galleryTitle (in JuiceboxBuilder-Pro's 'Customize -> Lite' section). You could position the Gallery Title using the galleryTitlePosition ('Customize -> General) and, if you like, you could even style the Gallery Title using HTML formatting as noted in this FAQ:
How do I add HTML formatting to the Gallery Title or Back Button?

If you wanted some text for each individual image, then you could add image titles and captions.
Click a thumbnail image on the 'Images' tab and the input boxes for the image titles and captions will be revealed. You can enter custom text there (or go to 'Images -> Titles' and 'Images -> Captions' from the drop-down menu at the top to populate the image titles and captions with preset data (such as the image filenames).

For reference, a list of all Caption Options can be found here.
Just for the record, you could also use HTML formatting for image titles and captions:
How do I add HTML formatting to image captions and titles?

If you like, you can post ideas for future versions in the Feature Requests forum thread.
This keeps all the ideas together and ensures that they are not overlooked by the developers.
I do not know the likelihood of any suggestions being implemented but this is certainly the best place for all ideas.
Thank you.

Edit:

I figured it out. Very slick!

It looks like you've figured out what you were looking to do as I was typing.
That's good to hear! Thank you for letting me know.

Content modification is a known issue which can affect a lot of JavaScript code (not just Juicebox).
The issue (and its solution) can be found in the following FAQ:
Why can't I view my gallery on a 3G mobile connection?

Incidentally, if you set the 'no-transform' cache-control header in an .htaccess file (as noted in the FAQ above), then there should be no need to modify the 'juicebox.js' file (or its path) and no need for PHP to be installed on the server.
I hope this helps. (It should save you from having to make your modification to all galleries individually.)

1,794

(3 replies, posted in Juicebox-Lite Support)

Thanks, Steven, it did require a manual installation but all is fine now.

That's great! Thank you for letting me know.

Good luck in the coming year.

Thanks. You, too!

1,795

(3 replies, posted in Juicebox-Pro Support)

Unfortunately, that's a bug that has already been logged with the developers and should hopefully be fixed in the next version.
When showSmallThumbsOnLoad="TRUE" (the default value for this option), the Splash Page should expand the gallery to display the thumbnail page (rather than the first image in the gallery) regardless of the value of expandInNewPage.
Until this bug is fixed, it might be best to stick with expandInNewPage="FALSE" and accept the behaviour of the device return button on Android.
I realise that this may not be ideal but the bug you've reported (regarding the thumbnail page not being displayed) should be fixed in the next version and I've notified the developers about the Android device return button issue in case there is something that can be done about it at at the Juicebox level.
Thank you for reporting these issues.

1,796

(3 replies, posted in Juicebox-Lite Support)

... all the files in the juicebox_lite.lrwebengine are dated 2015 although the Air installer tells me that the installed version is the same as the one I'm trying to install a second time ie 1.5.

Please note that the 'JuiceboxBuilder-Lite.air' installation file installs just JuiceboxBuilder-Lite, not the Juicebox Lightroom plugin.
You'll need to install the Juicebox Lightroom Plugin separately by following the instructions on the plugin's support page here.

When you extract the 'juicebox_lite_1.5.0.zip' file, you'll find the Juicebox Lightroom Plugin in this location:
juicebox_lite_1.5.0/adobe-lightroom-plugin/juicebox_lite.lrwebengine
Just double-click the 'juicebox_lite.lrwebengine' package (Mac) or drag and drop the complete 'juicebox_lite.lrwebengine' folder onto your Lightroom desktop shortcut (PC). If necessary, manual installation instructions can be found on the plugin's support page (link above).

Once you've installed the latest version of the Juicebox Lightroom Plugin (from the Juicebox-Lite v1.5.0 zip package), the Site Info section should read "Juicebox-Lite Lightroom Plugin v1.5.0".

You're welcome!

1,798

(3 replies, posted in Juicebox-Pro Support)

I think this is likely to be due to the fact that when a gallery is expanded in the same page on an Android device, the Fullscreen API is used and when you tap the device return button (after expanding the gallery from the Splash Page) the gallery exits fullscreen mode (rather than just going back one page in the browser's history). A subsequent click on the device return button will then return to the last page visited (which was the thumbnail page).

This seems to be unique to Android devices and I think it might be difficult to change this behavior. We certainly have control over what happens when navigating throughout a Showkase site using the web page navigation and gallery buttons but we have much less control over what happens when you tap a browser or device specific button.

Try forcing your gallery to always expand in a new page by setting expandInNewPage="TRUE" (in the 'General' section) and you might find that the device return button functionality is more intuitive.

Since Wix is not compatible with Lightroom Galleries is this possible?

You could certainly create a Juicebox gallery with the Lightroom Plugin, upload the gallery somewhere (you'd need some web space somewhere with FTP access to do this) and then load the gallery into a Wix page using an iframe.
Please see the Embedding in a Web Template Site support section for further information.

If so, how efficient is it?

There are certain drawbacks to loading a gallery into an iframe (rather than embedding the gallery directly into a web page).
Please see the "2) Using an iframe" section of the Using an External Gallery Folder instructions for details.
However, if you are not too worried about any of the iframe restrictions, then this might be a suitable solution for you.

1,800

(1 replies, posted in Juicebox-Pro Support)

Unfortunately, there's no easy way to achieve this.

As you are aware, captionPosition is supported only by Large Screen Mode (noted in the description on the Config Options page).
In Small Screen Mode, captionPosition is always set to OVERLAY, the intention being to give captions as much space as possible on small screen devices.

Juicebox was not designed with this in mind and it would probably be very difficult to try to achieve it manually.
You might need to use the Juicebox-Pro API to run some custom JavaScript code each time a new image is displayed (using the onImageChange() method). The custom JavaScript code might check the current width of the image being displayed and then use CSS to set the width of the caption area (using Juicebox internal classes and ids).
Even having done this, you'd then need to ensure that this procedure is also carried out if the browser window is resized or the mobile device's orientation is changed.
Also, being that Juicebox would not be aware of such a modification, it might interfere with Juicebox's own caption transitions and it end up not looking very clean or smooth.

It's really not feasible and is fraught with potential pitfalls. The best I can suggest is that you post your idea in the Feature Requests forum thread. I do not know the likelihood of suggestions being implemented but that is certainly the best place for all ideas as they will not be overlooked by the developers there.

Because you have to set a fixed width and height of the gallery div...

Incidentally, a gallery's width and height can be specified as percentages (rather than fixed pixel values).
If doing so, you'll need to make sure that the gallery's parent containers all have dimensions set via CSS so that Juicebox knows what actual size the gallery should be (what the gallery's dimensions should be percentages of).

The only way to have captionPosition="OVERLAY_IMAGE" is to use Large Screen Mode.
You might like to try setting screenMode="LARGE" (in JuiceboxBuilder-Pro's 'Customize -> General' section) to always have your gallery displayed in Large Screen Mode. I can't be sure but this might be a suitable compromise for your gallery as it seems to be more like a banner/header than a 'regular' gallery with thumbnails.