2,626

(1 replies, posted in Juicebox-Pro Support)

You can download a fresh copy of Juicebox-Pro using the link in your purchase email.
If you no longer have access to this, then please fill in the Download Link Request Form to the best of your ability and the admin team will send you a new link.
You can then extract the zip file and install JuiceboxBuilder-Pro following the instructions here.

It sounds like the problem might be with the paths to your images.
Please check that your image and thumbnail files have been uploaded to the correct location on your web server and make sure that the imageURL and thumbURL entries in your gallery's XML file point correctly to the images.

Please also see this FAQ:
My images show locally, but not when I upload them to my website. Why?

Another possible cause of your problem might be with permissions. Please check that the permissions on the image and thumbnail files (and on the 'images' and 'thumbs' folders) are not too restrictive. Default permissions of 755 for folders and 644 for files should work fine.
You can check permissions on files and folders on your web server with an FTP program such as Filezilla or by using the File Manager within your web hosting account's online cPanel.

I hope these suggestions help.
However, if you continue to experience difficulties, then please post (or email me) the URL to your gallery's web page so that I can take a look at the problem for myself and hopefully help further.
Thank you.

2,628

(3 replies, posted in Juicebox-Pro Support)

If you are trying to create a gallery locally with JuiceboxBuilder-Pro, then you will need to have the images on a local drive. JuiceboxBuilder-Pro cannot create a gallery from images on a web server (except when using Flickr as a source of images).

You could, however, create a gallery manually (following the instructions here) and use absolute URLs for the imageURL and thumbURL entries pointing to the images on your server.

If you wanted to create a gallery populated by images in a designated folder on your server, then you could implement the suggestion in this forum post. However, this would work only when the gallery is uploaded to your server. You would not be able to run the gallery locally (from your own computer) as it relies on PHP (a server-side scripting language) to dynamically build the gallery's XML file.

2,629

(3 replies, posted in Juicebox-Lite Support)

You can add a languageList into the Pro Options text area of a gallery's settings window (or the Pro Options text area of the Set Defaults section of the Manage Galleries page) as follows (changing the values as necessary):

languageList="Show Thumbnails|Hide Thumbnails|Expand Gallery|Close Gallery|Open Image in New Window|Images"

(The Pro Options text area will accept any configuration options not catered for via individual controls in the plugin's interface.)

2,630

(1 replies, posted in Juicebox-Lite Support)

First of all, please make sure that you are using the most recent version of Juicebox-Lite (v1.4.4.1) to ensure that any bugs which were present in previous versions are not contributing to your problem.

If this does not help, then the most likely cause of the problem is some conflicting custom CSS code which is affecting all images on your web page (including those in your gallery).
Check your web page (and all external CSS files loaded into your web page) for any CSS rules being applied to <img> tags which might be causing your problem. (The developer tools in your browser, usually accessed via F12, may be useful.)
If you find any such rules, I would recommend applying them only to those elements on your web page which require them through use of CSS selectors.

If you continue to experience difficulties, please post the URL to your gallery's web page so that I can take a look at the problem for myself and hopefully help further. (Your web page is not currently loading using the URL in your screenshot).
Thank you.

2,631

(3 replies, posted in Juicebox-Pro Support)

'juicebox_pro.lrwebengine' is a folder, rather than a file (as you noted), although it is seen as a special package on a Mac which can be double-clicked to install. On a Windows PC, you will need to follow the Manual Installation instructions on the plugin's support page.

Just copy the 'juicebox.lrwebengine' folder to your Lightroom 'Web Galleries' folder and the web engine will be accessible via Lightroom's Web module.

  • Mac OS X - Users/username/Library/Application Support/Adobe/Lightroom/Web Galleries/

  • Windows Vista, 7, 8, 8.1, 10 - C:\Users\username\AppData\Roaming\Adobe\Lightroom\Web Galleries\

  • Windows XP - C:\Documents and Settings\username\Application Data\Adobe\Lightroom\Web Galleries\

2,632

(5 replies, posted in Juicebox-Pro Support)

Thank you for posting your suggestion in the Feature Requests thread.

2,633

(8 replies, posted in Juicebox-Pro Support)

You're welcome.

2,634

(8 replies, posted in Juicebox-Pro Support)

Adobe have discontinued Extension Manager (please see here for details) and, according to this page, it should no longer be possible to use Extension Manager to install the .zxp version of the plugin in Photoshop CC 2015.

Note:

In Photoshop CC 2015, you can no longer install add-ons directly using Extension Manager. Instead you must use the Creative Cloud desktop app.

(Incidentally, contrary to this information, I have been able to install the .zxp version of the plugin in Photoshop CC 2015 using Extension Manager CC v7.3.2.39 on PC.)

We are currently in the process of updating the Photoshop plugin to ensure that it is can be auto-installed via the Creative Cloud Desktop App but, in the meantime, the easiest way to install the plugin is to grab the CS2, CS3 and CS4 .zip version from the plugin's support page and follow the manual installation instructions. The resulting files in the 'Presets/Scripts/' folder will be exactly the same as if installing the .zxp version. Only the packaging of the files differs between the two.

2,635

(5 replies, posted in Juicebox-Pro Support)

Unfortunately, there is currently no version of the 'juicebox.js' file which does not contain jQuery and there is no way for a user to remove jQuery from the 'juicebox.js' file. (Incidentally, the version of jQuery bundled within the 'juicebox.js' file is a simplified version rather than the complete library.)

Removing jQuery from the 'juicebox.js' file would require that the user includes jQuery in their web page.
This might be easy enough for yourself but it would be another step in the embedding process and we try to keep the embedding instructions as simple as possible. Also, there is the risk that the user would include an incompatible version of jQuery. As it stands, Juicebox will work with any (or no) version of jQuery loaded into the web page.
Also, if the simplified version of jQuery was removed from the 'juicebox.js' file (Juicebox essentially becoming a jQuery plugin) and the full version of jQuery was loaded into the web page alongside the slimmed-down 'juicebox.js' file, then the total size of both JavaScript files would exceed the current size of the 'juicebox.js' file alone.
This would be a benefit only for those users who already load jQuery into their web page.

Having said that, the developers have been looking into ways to minimize the 'juicebox.js' file.

Also, I would also encourage you to post your suggestion in the Feature Requests forum thread. This keeps all the ideas together and ensures that they are not overlooked. Thank you.

You're welcome!
I'm glad I was able to help.

Unfortunately, Juicebox-Pro was not designed with the intention that users could access and use internal classes so what you are doing is not officially supported. It just happens to be the only way I could think of for you to achieve your goal.
It looks like the onImageChange() function (which signifies that a new image has been selected) does not wait for the container with class .jb-dt-main-image-0 to be present in the DOM before being fired and so the only solution I was able to come up with was a short delay. As the delay seems to be necessary only for the very first image in the gallery, you could perhaps change the code so that the delay is used only once, when the gallery is loaded.

// Initialize counter
var counter = 0;

jb.onImageChange = function(e) {

// Set delay only on first image change
var delay = counter === 0 ? 200 : 0;

    // Introduce short delay to ensure required class is present in Document Object Model
    window.setTimeout(function() {

        // The internal image index used for dynamically-generated classes starts at zero so subtract 1 from public image index
        var index = e.id - 1;

        // Form CSS class for currently-displayed image
        var element = '.jb-dt-main-image-' + index;

        // Get URL of currently-displayed image from src attribute of <img> tag
        var src = $(element).find('img').first().attr('src');

        // Extract Flickr photoId from URL
        var id = src.substring(src.lastIndexOf('/') + 1, src.indexOf('_'));

        // Fetch tags of currently-displayed image using Flickr API flickr.tags.getListPhoto method
        // Enter your own Flickr API Key in the line below
        $.getJSON('https://api.flickr.com/services/rest/?method=flickr.tags.getListPhoto&api_key={your_flickr_api_key}&photo_id=' + id + '&format=json&jsoncallback=?', function(json) {

            // Initialize tags array
            var tags = [];

            // Iterate over all tags
            $.each(json.photo.tags.tag, function(i, data) {

                // Add new tag to array
                tags.push(data.raw);

            });

            // Display tags array in output container
            $("#output").html('<p>Tags: ' + (tags.length > 0 ? tags : 'None') + '</p>');

        }).fail(function() {

            // Fail message
            $("#output").html('<p>Cannot find tags.</p>');

        });
    }, delay);

    // Increment counter
    counter++;

};

Edit:
On further investigation, it looks like the Juicebox-Pro API method getImageInfo() returns the thumbURL successfully (but not the imageURL) so you should be able to extract the Flickr photoId from the thumbURL as follows. This avoids the need for any delay at all.

jb.onImageChange = function(e) {

    // Get image info for current image
    var info = jb.getImageInfo(e.id);

    // Get thumbURL for current image
    var src = info.thumbURL;

    // Extract Flickr photoId from thumbURL
    var id = src.substring(src.lastIndexOf('/') + 1, src.indexOf('_'));

    // Fetch tags of currently-displayed image using Flickr API flickr.tags.getListPhoto method
    // Enter your own Flickr API Key in the line below
    $.getJSON('https://api.flickr.com/services/rest/?method=flickr.tags.getListPhoto&api_key={your_flickr_api_key}&photo_id=' + id + '&format=json&jsoncallback=?', function(json) {

        // Initialize tags array
        var tags = [];

        // Iterate over all tags
        $.each(json.photo.tags.tag, function(i, data) {

            // Add new tag to array
            tags.push(data.raw);

        });

        // Display tags array in output container
        $("#output").html('<p>Tags: ' + (tags.length > 0 ? tags : 'None') + '</p>');

    }).fail(function() {

        // Fail message
        $("#output").html('<p>Cannot find tags.</p>');

    });
};

I have logged a bug report with the developers regarding the inability to fetch the imageURL from the getImageInfo() method when using Flickr as a source of images.

Thank you for sharing your solution.

The following notes might not be relevant to your own scenario but they might be of interest to anyone searching through the forum for 'pinch-zoom' and landing here.

It should be possible to pinch-zoom an image within a Juicebox gallery but it can sometimes be quite difficult to do so. You would need to be very precise with your gesture as Juicebox uses its own gestures and the initial movement of a pinch-zoom action could be misinterpreted as the start of a swipe gesture to navigate within the gallery.

Also, you would need to ensure that the viewport of the web page has not been locked (which, for example, it would be by default for an expanded gallery on an iOS device).
For more information on expanded gallery behavior on iOS devices, please see here.

2,639

(3 replies, posted in Juicebox-Pro Support)

No problem. If you no longer have the 'juicebox_pro_1.4.4.zip' file or your purchase email (with the download link), just fill in this Download Link Request Form to the best of your ability and we'll send you a new link.

Keep the link for future use as it will allow you to download new versions of Juicebox-Pro when they are released. Upgrades are free within the same major version number and the download link will always point towards the latest version rather than the version you purchased. Full details can be found on the Upgrading Juicebox support page.

I'm glad you've got the swiping working.
I've tested the delay myself and it seems to work fine. If you find that you are still having problems with it, try changing the delay time. 100ms seems to work OK for my own test scenario but it might be safer to set it to something like 200ms.

Every now and then it will not let me swipe on a picture.

I do not know what might be causing this (the ability to swipe to navigate should obviously be consistent across all images).
Just a thought but maybe the controls on the image overlay (or perhaps even the image overlay itself) is somehow interfering with the swipe gesture.
Try setting showImageOverlay="NEVER" (in JuiceboxBuilder-Pro's 'Customize -> Main Image' section) to see if this makes a difference. If it helps, then you could maybe disable the autohide for the image overlay by setting inactivityTimeout="0" ('Customize -> Main Image') or allow the user to toggle the overlay on or off using the Info Button by setting showInfoButton="TRUE" ('Customize -> Button Bar').

However, whenever I first load the page, for whatever reason, they are not getting loaded.

onImageChange() is fired for the first image in the gallery but the initial search for the '.jb-dt-main-image-0' class might be happening before the element is present in the Document Object Model (DOM). Introducing a short delay (with setTimeout()) before searching for the '.jb-dt-main-image-0' class should work.
Try the following (which introduces a 100ms delay):

jb.onImageChange = function(e) {

    // Introduce short delay to ensure required class is present in Document Object Model
    window.setTimeout(function() {

        // The internal image index used for dynamically-generated classes starts at zero so subtract 1 from public image index
        var index = e.id - 1;

        // Form CSS class for currently-displayed image
        var element = '.jb-dt-main-image-' + index;

        // Get URL of currently-displayed image from src attribute of <img> tag
        var src = $(element).find('img').first().attr('src');

        // Extract Flickr photoId from URL
        var id = src.substring(src.lastIndexOf('/') + 1, src.indexOf('_'));

        // Fetch tags of currently-displayed image using Flickr API flickr.tags.getListPhoto method
        // Enter your own Flickr API Key in the line below
        $.getJSON('https://api.flickr.com/services/rest/?method=flickr.tags.getListPhoto&api_key={your_flickr_api_key}&photo_id=' + id + '&format=json&jsoncallback=?', function(json) {

            // Initialize tags array
            var tags = [];

            // Iterate over all tags
            $.each(json.photo.tags.tag, function(i, data) {

                // Add new tag to array
                tags.push(data.raw);

            });

            // Display tags array in output container
            $("#output").html('<p>Tags: ' + (tags.length > 0 ? tags : 'None') + '</p>');

        }).fail(function() {

            // Fail message
            $("#output").html('<p>Cannot find tags.</p>');

        });
    }, 100);
};

On another un-related to Juicebox note, do you have any experience in generating the auth_token and api_sig for Flickr's api with their oAuth in javascript?

No, sorry. However, I found the following quote on this Flickr help page: https://www.flickr.com/services/api/auth.spec.html

Authentication tokens can be set to expire by the user when they authenticate against the application. This is an advanced feature, hidden by default. Options are 1 hour and never. This may be set for different applications by policy in the future.

I hope this points you in the right direction.
These pages might also help:
User Authentication - https://www.flickr.com/services/api/auth.oauth.html
JavaScript Libraries for OAuth - http://oauth.net/code/ (scroll down to JavaScript section)

2,642

(3 replies, posted in Juicebox-Pro Support)

The bug has been fixed in the current version of the Lightroom plugin (v1.4.4.0).
The plugin now comes bundled inside the Juicebox-Pro download zip package so if you download the current version of Juicebox-Pro (v1.4.4) using the link from your purchase email, then you will find the plugin (with the fixed bug) inside the zip file.
Installation instructions can be found on the plugin's support page.

2,643

(1 replies, posted in Juicebox-Pro Support)

Please check the following:
(1) After saving changes to the 'C:\Program Files (x86)\JuiceboxBuilder-Pro\template\index.html' file, re-open the file in a text editor to ensure that the changes are still there.
(2) After creating or re-saving a gallery with JuiceboxBuilder-Pro, check that the gallery's 'index.html' file includes the modifications you made.
(3) After uploading the new 'index.html' file to your web server, be sure to clear your browser's cache before reloading your web page.

If you have problems with (1) or (2) above, then make sure that the '\template\index.html' file is not read-only ('Right-Click -> Properties') and try turning off VirtualStore in Windows. (Windows may be creating a copy of your modified file in a VirtualStore location but JuiceboxBuilder-Pro needs to read the file from its original location.)
Try a web search with terms such as 'disable virtualstore windows' for instructions.

If you are in any doubt that your old file is not being overwritten with the new version, then delete the old version from your web server first before uploading the new version in its place.

I hope this helps.

Unfortunately, I do not know when this issue will be fixed. All I can do is assure you that is has been officially logged as a bug and will be addressed in due course. Any estimate I give you with regard to time frame could turn out to be extremely inaccurate. I hope you understand.

You're welcome!
I hope your project goes well.

2,646

(1 replies, posted in Juicebox-Pro Support)

The responsiveness of a gallery is determined by the gallery's dimenions and the layout of your web page rather than the configuration options stored in the gallery's XML file (which affect the look and feel of the gallery).
For more information on how you can create a responsive gallery, please see this forum post.

Do you perhaps have AdBlock installed?
There is a known bug whereby images can flicker when loading in Safari with AdBlock installed when imageTransitionType="CROSS_FADE".
The developers are aware of this bug and hopefully it will be fixed in a future version.
In the meantime, workarounds would be to change the imageTransitionType or uninstall AdBlock (although uninstalling AdBlock would work only for your own computer and not for potential visitors to your site who also use the combination of Safari and AdBlock).

If you are not using AdBlock and this is not the cause of your problem, then please let me know and I will investigate further.
Thank you.

Thank you for the links to your web pages.
It looks like the problem may be incorrect or missing MIME types on your web server (specifically for CSS files but there maybe other file types, too).
For example, if I try to open your 'TestForJuiceboxSupport' gallery's 'theme.css' file directly in a browser, I should be able to see the CSS code in the broswer window. Instead, the browser offers to download the file.
Try visiting http://photos.worldofenglish.co.uk/2015 … /theme.css
... and compare the results with http://photos.worldofenglish.co.uk/2015 … /theme.css
(You should be able to see the CSS code in both files but this happens only in your '2015-04-10Gruffudd' gallery.)
Please check that your web server is configured to handle CSS files correctly. (Your web host should be able to help you with this.) This should hopefully solve your problem.

I am wondering how I would go about using a larger touchscreen device and forcing the correct input mode?

You can force the Screen Mode (via the screenMode configuration option) but it is not possible to force the Input Mode (although, if a touch-screen device is detected, you should be able to control the gallery with touch gestures).

... we would need an on-screen keyboard or something popup whenever the field is clicked.

This is something that you might need to look into independently of Juicebox. (It is not something that would be directly integrated with the gallery itself.)
Windows 8.1 has a built-in on-screen touch keyboard which can be enabled to appear automatically when an input field is selected in an app (though not in a desktop browser). This should work OK in Chrome when launched as an app.

(Incidentally, I have modified my code above to store the tags in an array which might be more useful if you need to refer to them later.)

2,650

(3 replies, posted in Juicebox-Pro Support)

The zip file you downloaded using the link you received after purchasing Juicebox-Pro should have the following properties.
Filename: juicebox_pro_1.4.4.zip
File size: 1,897,535 bytes
SHA1: 86ffbf456e14d90a74ad18923783fc75d49fbf8a
You can check the SHA1 hash with a program such as HashCalc (free).

Please check to see if your own file matches the information above and, if it does not, please try downloading it again to be sure that it is not corrupt or incomplete.

When you unzip the file, the 'juicebox_pro.lrwebengine' folder can be found in the following location:
juicebox_pro_1.4.4\adobe-lightroom-plugin\juicebox_pro.lrwebengine

Please note that 'juicebox_pro.lrwebengine' is a folder, rather than a file, although it is seen as a special package on a Mac which can be double-clicked to install. On a Windows PC, you will need to follow the Manual Installation instructions on the plugin's support page.