2,376

(9 replies, posted in Juicebox-Pro Support)

1) I moved the caching enabling to .htaccess in my server root instead of the php file. Results were identical, no change.

That's to be expected. They should both result in the same behavior (so at least there's some consistency and predictability there).

So I think I'll continue using 1.4.4.2 with the caching option that you provided.

This certainly seems to be the best solution (and the one that I would use myself).

If anyone of my forum users complains I can always go back to 1.3.3 but I doubt there will be an issue.

I agree. I think it's unlikely that anyone will notice or report any issues to you.
Worst case scenario, you could revert to v1.3.3 (as long as your gallery is not affected by any of the bugs which have been fixed since v1.3.3).

Thanks for the suggestions and help Steven. It is appreciated!

You're welcome.

2,377

(9 replies, posted in Juicebox-Pro Support)

Without further insight into this, such as a handshake condition between the juicebox code and my config.xml file generation, there doesn’t seem to be more that I can do in this direction.

When using a PHP script as a configURL, Juicebox should not use the dynamic XML file until it is complete. As long as the PHP script is generated in a timely manner and is complete with no syntax errors, the gallery should display OK.
An incomplete dynamic XML file (perhaps due to a server timeout) may produce a blank area where the gallery should be.

But were you doing server side calls like me?

I just had a folder of 18 images on my server and had a PHP script randomize the order of them and then display the first 8. I did not use a database.

What changed with juicebox?

I suspect (but am not certain) that the problem may be a side-effect of the following fix from v1.4.3:

FIXED - Image order changes on expanding gallery when randomizeImages="TRUE"

(Please see the Version History for a full list of changes between versions.)
Prior to v1.4.3, if randomizeImages="TRUE", the image order would change when the gallery was expanded (whether browser caching was enabled or not). This was unwanted behavior which really had to be fixed.

I think you may need to have your web server allow browsers to cache files in order for your scenario to work correctly.
If your PHP script did not choose images from a pool of many but just randomized a complete set of images, then you could set randomizeImages="TRUE". I realise that this will not work with your scenario but I thought I should point it out in case it helps and somehow points you towards a suitable solution or workaround.

2,378

(9 replies, posted in Juicebox-Pro Support)

Thank you for keeping me updated.
I'm glad I was able to at least point you in the right direction.
I hope you can find a combination of settings that gives you the balance and functionality that you are looking for.

2,379

(1 replies, posted in Juicebox-Pro Support)

When I enter your Flickr Set Id into JuiceboxBuilder-Pro, your 50 images display as expected.

Here are a few tips that might help.

  • When using a Flickr Set Id, there is no need to use a Flickr User Name or Flickr User Id so try clearing these two input fields and use just the Flickr Set Id.

  • Make sure that JuiceboxBuilder-Pro is not blocked from accessing the internet by any firewall that you might be using.

  • If you are not already using the latest version of JuiceboxBuilder-Pro (v1.4.4.2), try upgrading to see if that helps.
    Instructions for upgrading can be found here.

  • If you have copied and pasted your Flickr Set Id into JuiceboxBuilder-Pro, make sure that there are no spaces after the Id.

Hopefully one of these suggestions will help.

2,380

(9 replies, posted in Juicebox-Pro Support)

I have written a PHP script to select a certain number of images from a pool of many and display them in a random order but I have not been able to replicate the problem you describe.
The images displayed (and their order) change each time the gallery is displayed (just like your gallery) but the images retain their order when the gallery is expanded.
(I have also tried setting expandInNewPage to AUTO, TRUE and FALSE with the same results each time.)

From your own scenario, it certainly looks like Juicebox refers to the XML file (seeing a new set of images) when the gallery is expanded.

I think the problem may be due to web server cache settings.
If your browser has cached the XML file, then Juicebox should be able to refer to the cached version and display the same images in the expanded gallery as in the normal version.

However, if your web server does not allow browsers to cache files and forces browsers to fetch files from the server each time they are required, then Juicebox would have no option but to use a freshly-generated XML file with a new set of images when the gallery is expanded.

Please check your web server's Cache-Control headers. Allowing browsers to cache files may solve your problem.
Try adding the following code to an .htaccess file in your root directory (as long as you have an Apache web server).

<IfModule mod_headers.c>
    Header set Cache-Control "max-age=86400"
</IfModule>

Alternatively, try setting the header via PHP (at the top of your 'config.php' file) with the following code:

header("Cache-Control: max-age=86400");

I hope this helps.

2,381

(4 replies, posted in Juicebox-Lite Support)

The Juicebox gallery itself seems to be displaying and functioning fine.
The problem seems to be that the gallery is in a container on your page which is only 10px wide so the gallery is not visible.
The parent container of the gallery which seems to be causing the problem is this one:

<div class="field field-name-field-gallery field-type-image field-label-hidden">

Please check the widths of your gallery's parent containers.
Increasing the width of the container above from 10px (to perhaps something like 100%) should hopefully fix your problem.
Changing the code above dynamically (using a browser's developer tools) to the following seems to work fine:

<div class="field field-name-field-gallery field-type-image field-label-hidden" style="width: 100%;">

I hope this points you in the right direction.

2,382

(1 replies, posted in Juicebox-Pro Support)

Clearing your browser's cache should work. If your browser has no cached version of your gallery's XML file, then it has no option but to use the current version from your web server.

Please see this FAQ:
When I update my gallery I don't see my changes online. Why?

It sounds like your gallery's XML file might not have been updated on your web server. 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.

If you want to prevent browsers from caching your gallery's XML file, then try defining your gallery's XML file with a unique identifier (e.g. the current time which will be different each time the browser loads the page) using the configUrl option in your gallery's embedding code.

<!--START JUICEBOX EMBED-->
<script src="jbcore/juicebox.js"></script>
<script>
    new juicebox({
        containerId : 'juicebox-container',
        configUrl : 'config.xml?nocache=' + new Date().getTime()
    });
</script>
<div id="juicebox-container"></div>
<!--END JUICEBOX EMBED-->

OK. Thank you for letting me know.

For other users reading this post and experiencing similar symptoms (new images not displaying in a gallery), the following FAQs may help:
My images show locally, but not when I upload them to my website. Why?
When I update my gallery I don't see my changes online. Why?

2,384

(1 replies, posted in Juicebox-Pro Support)

If Readymag does not support FTP (please check with their support), then there will be no easy way for you to upload your gallery files to the web space that they provide.
You would need to host your gallery elsewhere (such as Google Drive) and load your gallery into an iframe on your Readymag web page.
Please see the Embedding in a Web Template Site instructions.

Slideshow Customization

When following the web template site instructions, you can create your gallery (and configure it) using JuiceboxBuilder-Pro before uploading the complete gallery folder (all images and gallery resource files) to Google Drive.

Image Hosting

Unless you are using a Flickr account as a source of images, the images to be displayed in the gallery need to be listed in the gallery's XML file. When creating a gallery with JuiceboxBuilder-Pro, the images are included within the gallery folder and are usually hosted on the same domain along with the gallery resource files and the web page containing the gallery's embedding code. You could host your images elsewhere but you would need to manually edit the gallery's XML file and ensure that the imageURL entries point towards them.

Viewport Specific slideshows

Juicebox galleries adapt to different devices and browser window sizes so there should be no need to create separate galleries for individual scenarios.
Please see the Gallery Tour for details of Screen Modes and Input Modes.
Also, you might like to look into the possibility of creating a Multi-Size Image gallery so that images of an appropriate size are using in the gallery depending on the device and browser window size being used to view the gallery.

2,385

(496 replies, posted in Juicebox-Pro Support)

@John_B

Thank you for the suggestion.
Although it is not currently possible to change the font-size or line-height of image titles and captions via configuration options, you can do so via CSS.
Please see this forum post to see which classes to apply custom CSS rules to.
(You can remove the font-size rules and add line-height rules if you like.)

2,386

(9 replies, posted in Juicebox-Pro Support)

Yes. As long as all your galleries are on the same domain, there there should be no problem with them sharing a single 'jbcore' folder somewhere on your server. (It does not matter whether the galleries are embedded in existing web pages alongside other content or embedded on pages of their own.)
For each of your galleries, just check the 'index.html' file for the following line of code and adjust the path so that it points to your shared 'jbcore' folder.

<script src="jbcore/juicebox.js"></script>

2,387

(9 replies, posted in Juicebox-Pro Support)

If you would like to be notified when new versions are released, then please join the mailing list at the foot of our homepage, keep an eye on our Facebook page, follow us on Twitter @JuiceboxGallery or subscribe to our blog RSS feed.

When a new version is released, all you need to do to upgrade a gallery is replace the gallery's 'jbcore'. The gallery's configuration options (which are stored in the XML file or the embedding code) will be unaffected.

If you have many galleries, you can have them all share a single instance of a 'jbcore' folder by following the instructions here.
Then, when a new version is released, you can upgrade all your galleries at once by replacing a single 'jbcore' folder on your web server.

Alternatively, if each of your galleries has its own 'jbcore' folder, you could perhaps use the Python script that wspollack has written to automate the process of replacing multiple 'jbcore' folders on a web server. It can be found in this forum thread.
(Please note that this is an unofficial script written by a user rather than ourselves and you should use it at your own risk.)

2,388

(3 replies, posted in Juicebox-Lite Support)

I'm afraid that we have no payment options other than Gumroad and PayPal and if neither Gumroad nor PayPal will allow you to make purchase with a credit card in your country, then there is unfortunately little that we can do.
Perhaps if you have a friend who has a PayPal account or lives in a different country, then they could purchase Juicebox-Pro for you and you could pay them back.

2,389

(3 replies, posted in Juicebox-Lite Support)

We accept payment only via Gumroad or Payal.
Unfortunately, it appears that Gumroad are not allowed to sell to certain locations due to fraud policies that they have to abide by.
If you are unable to pay via Gumroad or create a PayPal account, then try paying with your credit card via PayPal.
From the Juicebox-Pro download page, click 'Checkout with PayPal' and then 'Pay with a debit or credit card, or PayPal Credit'.
Hopefully your localized version of PayPal will have this option which does not require that you have (or create) a PayPal account (although please note that PayPal has different policies for different countries.)

2,390

(5 replies, posted in Juicebox-Pro Support)

Please let me know what generation of iPad you have and what version of iOS you are using.
If possible, try upgrading to a more recent version of iOS.

Also, try a web search with terms such as "iframe iPad Mobile Safari". I do not know if any of the problems that crop up are directly related to your own problem but there are certainly other users who seem to be experiencing iframes which are not behaving as expected in Mobile Safari on iPads. One of the top search results might help or at least point you in the right direction.

Another thing that might help is rather than setting a percentage height for your iframe, you could perhaps use JavaScript to determine the actual required height of the iframe in pixels (depending on the size of the user's browser window) and then set the iframe's height to this pixel value dynamically using JavaScript and CSS.

2,391

(9 replies, posted in Juicebox-Pro Support)

Thank you for sharing your workaround. It certainly might help others facing the same problem.

2,392

(5 replies, posted in Juicebox-Pro Support)

That certainly sounds strange. The height of your iframe should be consistent on your web page (and determined either via CSS or by the iframe's 'height' attribute) no matter what content is loaded into the iframe.
Ordinarily, the content of the iframe should not change the layout of the parent page unless there is specific JavaScript code designed to do so and Juicebox does not contain any such code.

Your gallery looks to be a standard 100% x 100% gallery so it should fill the iframe and there is little you can do on the gallery side to change things.

From your screenshot, it looks like your gallery is filling the iframe (and everything seems to be correctly vertically centered on the page) but the iframe is not tall enough for the complete content of the page to fill your iPod browser window.
The problem seems to be with the height of the iframe on your main page.

I do not know how the height of your iframe is calculated (your web site is rather complicated).
Maybe it is looking at the content of the iframe and trying to determine the height required. Perhaps a gallery with 100% height is somehow difficult for your JavaScript code to figure out how tall the iframe should be.
Check the code that sets your iframe's height to see if you can spot any potential problems with it.

Also, please check to see if you see the same problem in Mobile Chrome that you see in Mobile Safari.
Thank you.

2,393

(9 replies, posted in Juicebox-Pro Support)

Thank you for the screenshots and sample URL.
I have now notified the developers of the issue and they will certainly investigate further.

2,394

(5 replies, posted in Juicebox-Pro Support)

If possible, please upload a screenshot so that I can see what you are seeing on your iPod.
The layout might be similar to what I see when I view your gallery in a desktop browser (the gallery being displayed to the right-hand side of the browser window).
The iframe your gallery is loaded into is nested within several parent containers and you may need to check the CSS of these divs.
(It looks like your web page may be designed for a specific device or browser width.)

To see if the problem is directly related to Juicebox or not, try loading a different page into your iframe.
Try loading something like http://www.google.com into your iframe rather than your gallery's 'index.html' page to see if the same layout problem happens on you iPod.

2,395

(5 replies, posted in Juicebox-Pro Support)

The error disappeared.

That's great to hear! Thank you for letting me know.
I'm not sure what the root of the problem was (hence my troubleshooting suggestions) but I'm always happy to see a problem disappear.

2,396

(5 replies, posted in Juicebox-Pro Support)

If I use the relevant URL directly, I get a complaint that there is no config.xml (and indeed, there is not).

That's to be expected (on Google Drive or any other host). The 'full.html' file is for Juicebox's own internal use only (when a gallery is expanded in a new page of its own) and may not display the gallery when accessed directly (depending on the gallery's structure).

However, trying to access the 'full.html' page directly might actually be quite a good test.
This essentially takes Juicebox out of the equation. All we are trying to do is access an HTML file directly.
The HTML page should still be rendered by the browser (displaying the 'Config XML file not found.' message).

In my own gallery, going directly to the 'full.html' page in Mobile Safari on an iOS device:
https://7e149673cba79128b4d3fe7ac7a9b89 … /full.html
... displays the page (with the 'Config XML file not found.' message) as expected.

However, going directly to the 'full.html' page in your gallery in Mobile Safari on an iOS device:
https://3fd620ce7dd6a53cea4c9215317f4dd … /full.html
... displays the error 400.

Here are a few things to try.
(1) Change the content of the 'full.html' file (temporarily) to something like the following which has nothing at all to do with Juicebox and try to access the file directly in Mobile Safari to see if the same problem happens.

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Test</title>
</head>
<body>
    <div id="test">Test text.</div>
</body>
</html>

If this still does not display correctly in Mobile Safari when accessed directly, then there may be an issue with the privacy settings on your 'full.html' file. Try making it private and then public again.

(2) Upload a completely new HTML file (with the sample code above) to the same directory as the 'full.html' file (your 'jbcore' folder) and see if you can access this directly in Mobile Safari. This should determine whether or not the problem is specifically with the 'full.html' file or with all HTML files in that directory.

(3) Try re-uploading your entire project to a new folder on Google Drive and ensure that all files and folders are made public.

The problem seems to be with access to the 'full.html' file on your Google Drive web space (both direct access and when Juicebox tries to access it dynamically) on iOS devices (but not in desktop browsers) so when I suggest that you try to access test pages directly (suggestions #1 and #2 above), you might want to use a service such as tiny.url to shorten the URLs and make life easier when entering the URLs into your Mobile Safari browser's address bar: http://tinyurl.com/

If we can figure out why the 'full.html' file cannot be accessed in Mobile Safari, then the other error 400 (which occurs when selecting a gallery from your menu) is likely to be related and hopefully the solution to one problem will fix the other.

Incidentally, I notice that your gallery's 'full.html' URL is much longer than mine. Maybe this has some relevance (especially when the 'juicebox.js' file is loaded and its code is run). Suggestions #1 and #2 above should tell us more.
If the problem does turn out to be due to the length of the URL, then there is little that can be done other than host your website somewhere other than Google Drive where you hvae more control over the path to your site.
If you have access to a regular web server, try hosting your web site there to see if everything works as expected. This should at least let us know whether or not the problem is somehow directly related to Google Drive (maybe with URL length or sharing settings).

2,397

(9 replies, posted in Juicebox-Pro Support)

Is there a way to add an event listener to detect when the user exits the gallery?

Ordinarily, you could use the onExpand(expanded) event from the Juicebox-Pro API as follows:

<!--START JUICEBOX EMBED-->
<script src="jbcore/juicebox.js"></script>
<script>
    var jb = new juicebox({
        containerId: 'juicebox-container',
        galleryWidth: '800',
        galleryHeight: '600'
    });
    jb.onExpand = function(expanded) {
        if (expanded) {
            //Gallery has been expanded. Do something.
        }
        if (!expanded) {
            //Gallery has been closed. Do something else.
        }
    }
</script>
<div id="juicebox-container"></div>
<!--END JUICEBOX EMBED-->

Unfortunately, the onExpand(expanded) event is not fired when the gallery is closed having been expanded from a Splash Page. It works only when the gallery has been expanded from the actual gallery display itself.

To clarify (please let me know if this is correct):
Expand gallery -> Rotate device -> Close gallery => Splash page is "cropped and left justified" (until device is rotated again or page is zoomed)
Happens only on Android and Windows mobile devices and only when gallery is nested within parent container.

It certainly might help if I could see exactly what you are seeing so please upload some screenshots somewhere and let me know what devices and browsers you are using and see the problem in.

I may not be able to suggest a fix (it sounds like you have already tried everything that I think might help) but at least I can notify the developers with as much information about the problem as possible.
Thank you.

Try reinstalling the plugin from scratch to ensure that all the required files are present and correct.
If you need to, you can download a fresh copy of the Juicebox-Pro zip file using the link from your purchase email.
I recommend that you first delete the existing 'juicebox_pro.lrwebengine' folder from your 'Lightroom\Web Galleries\' directory before reinstalling the plugin.

Also, if you are using Lightroom 6/CC 2015 but have not upgraded it recently, then you might like to try upgrading it to the latest version (6.3/CC 2015.3) which Adobe released a couple of days ago.
This might help.

If you continue to experience difficulties, please let me know what (if anything) you see in the live preview window.
Do you see just a blank space or an error message (or something else)?
Does the problem seem to happen with only the Juicebox-Pro plugin or with other Web Layouts, too?

Try installing the Juicebox-Lite plugin (from the Juicebox-Lite download zip file) to see if the same thing happens with this version.
You can install both the Juicebox-Lite and Juicebox-Pro plugins side-by-side at the same time.
Juicebox-Lite can be downloaded from the download page here.

2,399

(9 replies, posted in Juicebox-Pro Support)

Here are two more suggestions that might help.

(1) Rather than using the default setting of expandInNewPage="AUTO", try setting expandInNewPage="TRUE" (to always expand the gallery from the Splash Page in a new page of its own) or expandInNewPage="FALSE" (to always expand the gallery on top of the embedding page). You might find that one of these settings works. (You can find the expandInNewPage configuration option in JuiceboxBuilder-Pro's 'Cuistomize -> General' section.)

(2) Also, when nesting the gallery within parent containers and giving your gallery percentage dimensions, it may be necessary to ensure that all parent containers have dimensions specified via CSS.
For example, if your gallery has a height of 100%, then Juicebox needs to know what its actual height should be 100% of. If the gallery's parent container does not have a height specified via CSS, then Juicebox may not be able to determine the gallery's actual height.
Please see this note regarding Using Percentage Heights.

Hopefully one of these two suggestions will help.

2,400

(9 replies, posted in Juicebox-Pro Support)

... the preview shown in the Adobe Air engine is quite different than the browser view.

This is a known issue which is noted in the JuiceboxBuilder User Guide.
Adobe AIR's built-in browser does not support all CSS 3 properties which results in gradients and shadows not being rendered correctly. (This happens only in the JuiceboxBuilder live preview and not in modern browsers.)
Adobe recently upgraded their browser in Lightroom 6 (which now renders gradients and shadows correctly) so I am hopeful that they will soon do likewise with their browser in Adobe AIR.