2,201

(1 replies, posted in Juicebox-Lite Support)

Is Juicebox Lite for desktop only

A Juicebox gallery is a web gallery which can be displayed on a web page of its own or embedded in an existing web page (alongside other content) by following the instructions here.

A Juicebox gallery can be created on your computer using JuiceboxBuilder (a desktop application).

Juicebox-Lite (the free version) comes with JuiceboxBuilder-Lite and Juicebox-Pro comes with JuiceboxBuilder-Pro.
Please see the links below for further details on JuiceboxBuilder:
JuiceboxBuilder Tour: https://www.juicebox.net/tour/juiceboxbuilder/
JuiceboxBuilder User Guide: https://www.juicebox.net/support/juiceboxbuilder/

Juicebox-Lite (and JuiceboxBuilder-Lite) can be downloaded from here so you can try things out with the Lite version before purchasing Pro.
You might find the Getting Started guide useful.

There are also plugins available for creating Juicebox galleries with third-party programs (such as Adobe Lightroom).
Please see here for details.

Once you have created a Juicebox gallery on your computer, you would either:
(1) Upload the complete gallery folder to your web server and view the gallery's 'index.html' page in your browser (to view the gallery on a page of its own).
... or:
(2) Embed the gallery in an existing web page following the instructions in the first link above.

and I would to use your Juicebox image gallery embedded

Just for reference, the Lite Embedded gallery is a Juicebox-Lite gallery using all default settings.
If you created a gallery with JuiceboxBuilder-Lite, you would not need to change any configuration options to achieve this layout and style.

Do I need buy your Juicebox Pro for PHP websites ?

No. Both Juicebox-Lite and Juicebox-Pro can be used in PHP or HTML web pages.
If you are embedding a Juicebox gallery in a PHP page, just make sure that you break out of PHP when inserting the embedding code.

There is a comparison chart showing the differences between Juicebox-Lite and Juicebox-Pro on the Download page.

2,202

(5 replies, posted in Juicebox-Pro Support)

@wvdm

It sounds like you may not have completely removed your older version of JuiceboxBuilder-Pro.
As well as deleting the 'JuiceboxBuilder-Pro' file from the Applications folder and emptying your Trash, try searching your hard drive for the term 'JuiceboxBuilder-Pro' and delete any and all entries found (to be absolutely sure that nothing remains).

Also, when installing the latest version of JuiceboxBuilder-Pro, make sure that you do not have JuiceboxBuilder-Pro on any external drives attached to your computer. Unmount all drives other than main drive (including time machine backups) and retry installation.

I'm glad my suggestion worked.
Thank you for posting back to let me know.

2,204

(4 replies, posted in Juicebox-Pro Support)

If you are using JuiceboxBuilder-Pro to create or edit your gallery, go to 'Images -> Titles -> Use None' from the drop-down menu at the top. (You can also do likewise for the captions via 'Images -> Captions -> Use None'.)
You can then save (or re-save) your gallery on the 'Publish' tab.

Embed Code:
If you edit the template file that JuiceboxBuilder-Pro uses to generate the 'index.html' files, then your modifications will be included in all gallery 'index.html' files.
On a Windows system, the file you would need to edit is: C:\Program Files (x86)\JuiceboxBuilder-Pro\template\index.html
For Mac, check your Applications folder for 'JuiceboxBuilder-Pro' and look inside the 'template' folder.

'config.xml' remote sourcepath:
It is not possible to use ftp://, http:// or https:// protocols for the sourcePath attributes in the gallery's XML file.
The source image files have to be on a local drive.

I'm glad you've been able to resolve your problem. Thank you for letting me know.
(The z-index values assigned to gallery elements are design decisions made by the developers and we just have to work around them if necessary.)

Here's a sample of one of the galleries created within an hour of purchasing Juicebox!!!!!!!!

Nice to see you're getting on well with Juicebox!

I'm glad you've been able to resolve your problem. Thank you for letting me know.

Hope this could be of help to others using WP_Juicebox and All in One WP Security & Firewall plugins.

Thank you for sharing your findings. Hopefully it will help other users.

Edit: i'm sorry i cannot seem to get the picture inline..

No problem. (The forum does not allow images to be embedded within posts.)

2,208

(496 replies, posted in Juicebox-Pro Support)

@vern

Here's a PHP script you can use to display images from a designated folder on your web server which have certain specified tags.
Images should be tagged using the IPTC Keywords field (with each tag on a new line) in an imaging program such as Adobe Photoshop.

Within the script you can enter a comma-separated list of tags to match and set the tag mode to 'any' (images with any matching tags will be displayed) or 'all' (images with all matching tags will be displayed).
There are other variables you can use to order and sort the images and others to control image titles and captions.

To see this in action:
(1) Create a gallery with JuiceboxBuilder-Pro (using just a sample image to allow the gallery to be built) customizing the layout as necessary.
(2) Add the following line to your gallery's embedding code (in the 'index.html' file).

configUrl: 'config.php',

(3) Create a new file in a plain text editor with the code below (configuring the variables as required), save the file with the filename 'config.php' and place the file in your gallery folder.
(4) Leave the 'config.xml' file in your gallery folder (the PHP script will use the configuration options from there).
(5) Add the images you want to use in your gallery (tagged via IPTC Keywords) to the 'images' folder.

I hope this helps or at least points you in the right direction.

<?php
header('Content-type: application/xml');

function get_values($filename) {

    $values = array();

    if (is_file($filename)) {

        $dom_doc = new DOMDocument('1.0', 'UTF-8');
        $dom_doc->load($filename);

        $settings_tags = $dom_doc->getElementsByTagName('juiceboxgallery');
        $settings_tag = $settings_tags->item(0);

        if (!is_null($settings_tag)) {
            foreach ($settings_tag->attributes as $attribute) {
                $name = $attribute->nodeName;
                $value = $attribute->nodeValue;
                $values[$name] = $value;
            }
        }
    }

    return $values;
}

function filter_element($value) {
    return $value !== '.' && $value !== '..';
}

function sort_images_datetime($a, $b) {
    $a_datetime = get_datetime($a);
    $b_datetime = get_datetime($b);
    if ($a_datetime === $b_datetime) {
        return 0;
    }
    return $a_datetime < $b_datetime ? -1 : 1;
}

function clean_url($url, $directory) {
    $output = rtrim(trim($url), '/');
    $output = $directory ? $output . '/' : $output;
    if (preg_match('/^https?:/i', $output)) {
        $output = preg_replace('/^(https?:)\/*(.*)/i', '\\1//\\2', $output);
        $output = strtolower(parse_url($output, PHP_URL_SCHEME)) . '://' . parse_url($output, PHP_URL_HOST) . preg_replace('/\/+/', '/', parse_url($output, PHP_URL_PATH));
    } else {
        $output = preg_replace('/\/+/', '/', $output);
    }
    return $output;
}

function get_attachments_folder($folder_url) {
    $attachments = array();
    if (preg_match('/^https?:\/\//', $folder_url)) {
        $dom_doc = new DOMDocument('1.0', 'UTF-8');
        $success = @$dom_doc->loadHTMLFile($folder_url);
        if ($success) {
            foreach ($dom_doc->getElementsByTagName('a') as $element) {
                $attachments[] = $folder_url . rawurldecode(basename($element->getAttribute('href')));
            }
        }
    } else {
        $leading_slash = strpos($folder_url, '/') === 0;
        $document_root = isset($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : '';
        $root_dir = rtrim($document_root, '/');
        $directory = $leading_slash ? $root_dir . $folder_url : realpath(dirname(__file__) . '/' . $folder_url);
        if (is_dir($directory)) {
            $array = @scandir($directory);
            if ($array) {
                $files = array_filter($array, 'filter_element');
                $https = isset($_SERVER['HTTPS']) ? $_SERVER['HTTPS'] : '';
                $scheme = $https === 'on' ? 'https://' : 'http://';
                $path = $leading_slash ? $folder_url : str_replace($root_dir, '', $directory) . '/';
                $server_name = isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : '';
                foreach ($files as $file) {
                    $attachments[] = $scheme . $server_name . $path . $file;
                }
            }
        }
    }
    return $attachments;
}

function process_tag_folder($attachments, $comma_separated_values, $mode) {
    $output = $attachments;
    $media_tags = array_filter(array_map('trim', explode(',', $comma_separated_values)), 'strlen');
    $media_tags_count = count($media_tags);
    if ($media_tags_count > 0) {
        foreach ($attachments as $key=>$attachment) {
            $image_url = encode_url($attachment);
            $info = array();
            $image_size = @getimagesize($image_url, $info);
            $iptc = array();
            if ($image_size && isset($info['APP13'])) {
                $iptc = @iptcparse($info['APP13']);
            }
            $image_keywords = $iptc && isset($iptc['2#025']) ? $iptc['2#025'] : array();
            $tags = array_filter(array_map('trim', $image_keywords), 'strlen');
            
            
            $array_intersect_count = count(array_intersect($media_tags, $tags));
            if (($mode === 'any' && $array_intersect_count === 0) || ($mode === 'all' && $array_intersect_count !== $media_tags_count)) {
                unset($output[$key]);
            }
        }
    }
    return array_values($output);
}

function order_attachments($attachments, $order) {
    $output = array();
    $all = $attachments;
    switch ($order) {
        case 'descending':
            $output = array_reverse($all);
            break;
        case 'shuffle':
            shuffle($all);
            $output = $all;
            break;
        case 'ascending':
        default:
            $output = $all;
            break;
    }
    return $output;
}

function encode_url($url) {
    $parse_url = parse_url($url);
    $scheme = isset($parse_url['scheme']) ? $parse_url['scheme'] : '';
    $host = isset($parse_url['host']) ? $parse_url['host'] : '';
    $path = isset($parse_url['path']) ? $parse_url['path'] : '';
    $query = isset($parse_url['query']) ? $parse_url['query'] : '';
    $implode_path = array();
    $explode_path = explode('/', $path);
    foreach ($explode_path as $fragment_path) {
        if ($fragment_path !== '') {
            $implode_path[] = rawurlencode($fragment_path);
        }
    }
    $new_path = !empty($implode_path) ? implode('/', $implode_path) : '';
    $implode_query = array();
    $explode_query = explode('&', $query);
    foreach ($explode_query as $fragment_query) {
        if ($fragment_query !== '') {
            $explode_fragment_query = explode('=', $fragment_query, 2);
            if (count($explode_fragment_query) === 2) {
                $implode_query[] = $explode_fragment_query[0] . '=' . urlencode($explode_fragment_query[1]);
            }
        }
    }
    $new_query = !empty($implode_query) ? '?' . implode('&', $implode_query) : '';
    return $scheme . '://' . $host . '/' . $new_path . $new_query;
}

function line_break($input) {
    return preg_replace('/\r\n|\r|\n/', '<br />', $input);
}

function strip_control_characters($input) {
    $output = @preg_replace('/\p{Cc}+/u', '', $input);
    return $output ? $output : $input;
}

$dom_doc = new DOMDocument('1.0', 'UTF-8');
$dom_doc->formatOutput = true;

$settings_tag = $dom_doc->createElement('juiceboxgallery');

$gallery_filename = 'config.xml';

if (is_file($gallery_filename)) {

    $values = get_values($gallery_filename);

    foreach ($values as $key=>$value) {
        $settings_tag->setAttribute($key, $value);
    }

}

$custom_values = array();

$custom_values['e_folderUrl'] = 'images'; // Path to folder containing images
$custom_values['e_folderTags'] = 'one,two'; // Comma-separated list of tags
$custom_values['e_folderTagMode'] = 'any'; // Can be 'all' or 'any'
$custom_values['e_folderTitle'] = 'filename'; // Can be 'filename' or 'iptc'
$custom_values['e_folderCaption'] = 'iptc';  // Can be 'filename' or 'iptc'
$custom_values['e_folderSort'] = 'filename'; // Can be 'filename' or 'date'
$custom_values['e_folderOrder'] = 'ascending'; // Can be 'ascending', 'descending' or 'shuffle'
$custom_values['e_linkTarget'] = '_blank'; // Can be '_blank', '_parent', '_self' or '_top'
$custom_values['e_displayTitle'] = 'true'; // Can br 'true' or 'false'
$custom_values['e_displayCaption'] = 'true'; // Can br 'true' or 'false'

$custom_values['e_folderUrl'] = clean_url($custom_values['e_folderUrl'], true);
$custom_values['e_folderTags'] = trim($custom_values['e_folderTags']);
$custom_values['e_displayTitle'] = isset($custom_values['e_displayTitle']) ? $custom_values['e_displayTitle'] : 'false';
$custom_values['e_displayCaption'] = isset($custom_values['e_displayCaption']) ? $custom_values['e_displayCaption'] : 'false';

$attachments = get_attachments_folder($custom_values['e_folderUrl']);

if ($attachments) {
    $attachments = process_tag_folder($attachments, $custom_values['e_folderTags'], $custom_values['e_folderTagMode']);
    switch ($custom_values['e_folderSort']) {
        case 'filename':
            natcasesort($attachments);
            break;
        case 'date':
            usort($attachments, 'sort_images_datetime');
            break;
        default:
            break;
    }
    $attachments = order_attachments($attachments, $custom_values['e_folderOrder']);
    foreach ($attachments as $attachment) {
        $image_url = encode_url($attachment);
        $iptc = array();
        if (($custom_values['e_displayTitle'] === 'true' && $custom_values['e_folderTitle'] === 'iptc') || ($custom_values['e_displayCaption'] === 'true' && $custom_values['e_folderCaption'] === 'iptc')) {
            $info = array();
            $image_size = @getimagesize($image_url, $info);
            if ($image_size && isset($info['APP13'])) {
                $iptc = @iptcparse($info['APP13']);
            }
        }
        $image_element = $dom_doc->createElement('image');
        $image_element->setAttribute('imageURL', $image_url);
        $image_element->setAttribute('thumbURL', $image_url);
        $image_element->setAttribute('linkURL', $image_url);
        $image_element->setAttribute('linkTarget', $custom_values['e_linkTarget']);
        if ($custom_values['e_displayTitle'] === 'true') {
            $title_element = $dom_doc->createElement('title');
            $image_title = '';
            switch ($custom_values['e_folderTitle']) {
                case 'filename':
                    $image_title = pathinfo($attachment, PATHINFO_FILENAME);
                    break;
                case 'iptc':
                    $image_title = $iptc && isset($iptc['2#005']) ? $iptc['2#005'][0] : '';
                    break;
                default:
                    break;
            }
            $image_title = line_break($image_title);
            $image_title = strip_control_characters($image_title);
            $title_text = $dom_doc->createCDATASection($image_title);
            $title_element->appendChild($title_text);
            $image_element->appendChild($title_element);
        }
        if ($custom_values['e_displayCaption'] === 'true') {
            $caption_element = $dom_doc->createElement('caption');
            $image_caption = '';
            switch ($custom_values['e_folderCaption']) {
                case 'filename':
                    $image_caption = pathinfo($attachment, PATHINFO_FILENAME);
                    break;
                case 'iptc':
                    $image_caption = $iptc && isset($iptc['2#120']) ? $iptc['2#120'][0] : '';
                    break;
                default:
                    break;
            }
            $image_caption = line_break($image_caption);
            $image_caption = strip_control_characters($image_caption);
            $caption_text = $dom_doc->createCDATASection($image_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();
?>

The inline code that you see when you examine the web page in your browser's developer tools is code that is generated dynamically by the 'juicebox.js' file.
I cannot be sure but I expect that the z-index value for the button bar is set dynamically (rather than just being an entry in the 'theme.css' file) as it may change depending on the value of buttonBarPosition (and possibly other configuration options).
Try using the following CSS in your gallery's web page (or at the foot of the 'jbcore/classic/theme/css' file):

.jb-classifier-link-wrapper.jb-classifier-detail-area.jb-classifier-layer {
    z-index: 400 !important;
}

Please note that Juicebox will not be aware of this modification and it may have unforeseen and unwanted knock-on effects. (There may be a reason why the z-index is set to 3000. It may need to be greater than other internal z-index values under certain circumstances.)

The only piece of the puzzle left is figuring out how to get the button bar to not float over the site's main navigation.

It sounds like 400 may still be to high for your site's main navigation and using a lower z-index value might help.
Perhaps you could post the URL to your gallery's web page so that I can take a look and hopefully help further.

I quess it can't be updated to 1.4.4 without license renewal?

You can upgrade from v1.3.2 to the latest version (v1.4.4.2) free of charge.
Please see the 'Juicebox Upgrade Policy' on the Upgrading Juicebox support page.

Customers who have purchased Juicebox-Pro are eligible for free upgrades within the same major version number. For example if you buy version 1.0.0, all 1.x.x updates are provided free of charge.

I lost my download link, but i just requested a new one via the website.

That's exactly what to do. The admin team will find your purchase and send you a new download link.
For anyone else reading this post, the Download Link Request Form can be found here.

Do you happen to know which one to edit, perhaps?

It doesn't look like any of the entries you posted would be responsible for the problem you reported.
Try temporarily removing the .htaccess file completely (just rename the .htaccess file, check the WP-Juicebox functionality and then rename the .htaccess file back to its original name afterwards) to see if this helps. If it does help, then you'll know that there is an entry in the file which is responsible for the problem.
You might need some trial and error (removing portions of your .htaccess file bit by bit) to see if you can find the code causing the problem.
Perhaps you could post the full content of your .htaccess file so that I can take a look at all the code.

As my site got hacked more then once, i tightened security using SSL and some WP_ security plugins.

The .htaccess file may have been built up by your security plugins.
Rather than check and edit the .htaccess file manually, you could try to figure out which plugin has added the code causing the problem.
Try temporarily deactivating all your security plugins and reactivate them one-by-one, checking the WP-Juicebox functionality after each one, to see if you can find a conflicting plugin.

2,211

(9 replies, posted in Juicebox-Lite Support)

The complete embedding code you should use (including the absolute URLs) is noted a few posts back:

<!--START JUICEBOX EMBED-->
<script src="https://googledrive.com/host/0BwtcFyjGjQxGSWZfb3Jrbm9qWXc/jbcore/juicebox.js"></script>
<script>
    new juicebox({
        baseUrl: 'https://googledrive.com/host/0BwtcFyjGjQxGSWZfb3Jrbm9qWXc/',
        containerId: 'juicebox-container',
        galleryWidth: '100%',
        galleryHeight: '600',
        backgroundColor: '222222'
    });
</script>
<div id="juicebox-container"></div>
<!--END JUICEBOX EMBED-->

I know you said that it didn't work but please try it again. I've tested it myself and it seems to work fine.

Issue #1:

This issue affects Juicebox-Lite only.
The image referred to in the error message (and being loaded over HTTP) is used only in Juicebox-Lite.
If you were to upgrade WP-Juicebox to use Juicebox-Pro instead of Juicebox-Lite (following the instructions here), then this would avoid the issue.

We now have an SSL certificate in place for juicebox.net and in the next version of Juicebox-Lite, the image will be loaded over HTTPS resolving the issue.


Issue #2:

Please see this forum thread for suggestions on how to troubleshoot this issue.
I suspect your problem might be #5 in the list.
I hope this helps.

2,213

(9 replies, posted in Juicebox-Lite Support)

OK... but if you ever want to try again, all you should need to do is use the baseUrl method of embedding and use absolute URLs in the embedding code to point towards your 'juicebox.js' file and your gallery folder on the googledrive.com domain.

2,214

(1 replies, posted in Juicebox-Pro Support)

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 (rather than displayed on a page of its own with dimensions of 100% x 100%, filling the browser window).
When the user clicks/taps the Splash Page, the gallery is expanded to fill the user's browser window.
For more information about the Splash Page and how Juicebox adapts to different devices and screen sizes, please see here.

You can choose to not use the Splash Page by setting showSplashPage="NEVER" (in JuiceboxBuilder-Pro's 'Customize -> Splash Page' section).
Alternatively, you can 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 choose to continue to use the Splash Page, you can customize it using the Splash Page configuration options.

You can remove the default Splash Page text ("View Gallery") by setting splashButtonText="".
You can remove the image count by setting splashShowImageCount="FALSE".

You can disable the entire overlay only via CSS by adding the following code to the <head> section of your gallery's web page:

<style type="text/css">
    .jb-splash-info {
        display: none;
    }
</style>

(If you do this, the Splash Page will still be displayed (unless you disable it using on of the suggestions above) and all the user will see is a single image with no indication that it should be clicked/tapped to open the gallery.)

2,215

(9 replies, posted in Juicebox-Lite Support)

There is certainly no way to have the Expand Button displayed in a gallery which is loaded into an iframe.

When hosting a gallery on a different domain and embedding the gallery directly using the recommended embedding code, then the only solution would be to use CORS.
More information about CORS can be found here: http://www.w3.org/TR/cors/
Google Drive already supports CORS (at least on my own test gallery) so no further action is required other than using the correct embedding code in your web page.

My suggestion above should work OK.

I have been able to embed a gallery hosted on Google Drive directly into a web page on a different domain (not on googledrive.com).
Here is an example of a Juicebox-Lite gallery hosted on Google Drive but embedded directly into a web page on the testgallery.comyr.com domain using the embedding code below. The Expand Button is displayed and functional.

Test URL: [Link removed.]

Test Embedding Code:

<!--START JUICEBOX EMBED-->
<script src="https://googledrive.com/host/0BxXHNif2h4NRcmxHOW9lUDBWWTQ/jbcore/juicebox.js"></script>
<script>
new juicebox({
    baseUrl: 'https://googledrive.com/host/0BxXHNif2h4NRcmxHOW9lUDBWWTQ/',
    containerId: 'juicebox-container',
    galleryWidth: '800',
    galleryHeight: '600'
});
</script>
<div id="juicebox-container"></div>
<!--END JUICEBOX EMBED-->

Perhaps you could create a test page on your site (you would need to publish it but you would not need to link to it from any other of your web pages) using the embedding code I posted in my last post and I could take a look and try to figure out why it is not working for you.

The large gap between your main image and captions is partly due to setting imageVAlign="TOP".
This positions the image at the top of the gallery's image area rather than centering it vertically (which would balance the space equally above and below the main image).

The fact there is space at all is due to the gallery's image area having a different aspect ratio to your main image.
If you reduced the height of your gallery (try a fixed height such as '800px' or maybe '600px'), you should see the gap reduced, too.
Please see this FAQ for more details:
My Juicebox gallery shows too much space above or below the main image, how do I fix this?

Looking at the layout in your screenshot, setting captionPosition="OVERLAY" might also be a suitable compromise.

I hope one of these suggestions helps.

It would likely prove to be difficult to reposition the caption area by applying custom CSS to Juicebox's internal classes. As well as the difficulty in achieving the desired effect, Juicebox would have no knowledge of this modification and it might have unwanted, unforeseen knock-on effects (for example if the browser window is resized and the gallery needs to be redrawn). Also, custom modifications are not guaranteed to work with future versions of Juicebox.
I would recommend that you configure the gallery using the available configuration options. You might not be able to layout your gallery exactly as you like but you are less likely to run into problems.

2,217

(5 replies, posted in Juicebox-Lite Support)

You're welcome!

2,218

(9 replies, posted in Juicebox-Lite Support)

Thank you for the link to your web page. (I forgot you were using Wix.)

The problem is due to the gallery not being embedded directly into your web page but, instead, being loaded into an iframe.
This is a limitation of using an iframe and is noted in the '2) Using an iframe' support section here.

You can also use an iframe to embed a gallery in a different folder. Please note that this method will limit the functionality of the gallery. For example, when embedding a gallery in an iframe, the 'Expand Gallery' and 'Fotomoto Shopping Cart' buttons are disabled and the 'Back Button' will not work.

The Expand Button is displayed and functional when viewing the web page that your gallery is embedded into:
https://googledrive.com/host/0BwtcFyjGj … index.html

Ordinarily, all gallery files need to be on the same domain as the web page containing the gallery's JavaScript embedding code, otherwise the same-origin policy will prevent the gallery from being displayed.
Please see here for for information on the same-origin policy: https://developer.mozilla.org/en-US/doc … gin_policy

However, it looks like your Google Drive web space (where your gallery is hosted) is already set up to use CORS (cross-origin resource sharing) so you should hopefully be able to replace your iframe code with the following baseUrl embedding code (to embed the gallery directly into your web page and have the Expand Button displayed).

<!--START JUICEBOX EMBED-->
<script src="https://googledrive.com/host/0BwtcFyjGjQxGSWZfb3Jrbm9qWXc/jbcore/juicebox.js"></script>
<script>
    new juicebox({
        baseUrl: 'https://googledrive.com/host/0BwtcFyjGjQxGSWZfb3Jrbm9qWXc/',
        containerId: 'juicebox-container',
        galleryWidth: '100%',
        galleryHeight: '600',
        backgroundColor: '222222'
    });
</script>
<div id="juicebox-container"></div>
<!--END JUICEBOX EMBED-->

I hope this helps.

2,219

(9 replies, posted in Juicebox-Lite Support)

The useFullscreenExpand configuration option is supported by both Juicebox-Lite (the free version) and Juicebox-Pro.
Here is a sample Lite gallery which sets useFullscreenExpand="TRUE" (and the gallery expands fullscreen rather than just full browser) when clicking the Expand Button on the Button Bar.
www.juicebox.net/demos/lite/full/?usefullscreenExpand=TRUE

The Fullscreen API is supported by all major modern browsers.
Please see here for a list of browsers which support this feature: http://caniuse.com/#feat=fullscreen

Please check that your gallery's 'config.xml' file contains useFullscreenExpand="TRUE" as an attribute to the opening <juiceboxgallery> tag. You can open the 'config.xml' file in a plain text editor to check its contents.
As long as you select the 'Use Fullscreen Expand' checkbox in JuiceboxBuilder-Lite, the option should be included in the XML file.

If you have recently made changes to an existing gallery, then also make sure that the original XML file is being overwritten on your web server. If you are in any doubt as to whether or not the original file is being overwritten, try deleting it from your web server first before uploading the new version in its place.

Finally, make sure that you clear your browser's cache before reloading your gallery's web page to ensure that your browser is using the current files from your web server (and not older cached versions).

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. Thank you.

2,220

(5 replies, posted in Juicebox-Lite Support)

Please try the procedure in this forum post. (Just replace all instances of 'Juicebox-Pro' with 'Juicebox-Lite'.)

Initially, just close JuiceboxBuilder-Lite and delete the following folder:
Mac: /Users/your_username/Library/Application Support/Adobe/AIR/ELS/JuiceboxBuilder-Lite
Windows: C:\Users\your_username\AppData\Roaming\Adobe\AIR\ELS\JuiceboxBuilder-Lite

If this does not work, then try the complete procedure outlined in the post.
Hopefully this will help.

I'm glad that my suggestion works as a workaround.

Unfortunately, being that there is no code in the plugin that is specific to the live preview window display, I think there is little that can be done at the plugin level to fix the problem.

A Juicebox gallery web page is displayed dynamically by the 'juicebox.js' JavaScript file. It is not a just a regular static web page containing HTML elements styled via CSS.
It is not possible to change a configuration option once a gallery has been displayed. If you want to see how a gallery looks after changing a configuration option, then the gallery (the web page) must be reloaded.

This means that the plugin is not a suitable candidate for Lightroom's 'Live Update' functionality whereby the live preview web page is updated (dynamically via JavaScript) without being reloaded.

Due to the nature of Juicebox, all the plugin can do is either:
(1) Reload the page on every configuration option change.
... or:
(2) Do not reload the page until the user chooses to do so via Cmd+R (Mac), Ctrl+R (Windows) or 'Web -> Reload'.

As I mentioned previously, there is no code in the plugin specific to the live preview window display (other than setting a single boolean variable) so there is little the plugin can do to change how Lightroom displays the gallery in the live preview window other than preventing a page reload on every configuration option change (or maybe replacing all sliders in the interface with another input type such as text boxes to prevent multiple successive reloads when sliding the slider).

If anyone else is experiencing a similar problem, then please post in this thread.
It would be very interesting to know if this is a widespread problem (perhaps on Macs only?) or just isolated a few specific systems.
Thank you.

2,222

(3 replies, posted in Juicebox-Pro Support)

You're welcome!
I'm glad you were able to achieve what you wanted to do.
Thank you for letting me know.

2,223

(5 replies, posted in Juicebox-Lite Support)

Please see the support section entitled Embedding in a Web Template Site.
There are instructions there for loading a Juicebox gallery into a web template site such as Wix.

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.
Thank you.

Thank you for the information.
Perhaps we can match it up with some of mark's if he post's his own specifications.

I know you say "all software ist the newest version" but could you please confirm your Lightroom version number.
Go to 'Help -> System Info...' from the drop down menu at the top and the 'Lightroom version' should be the first entry in the list.
It might be unlikely but there may be a bug in a certain version of Lightroom which is contributing to the problem.
All the plugin does regarding the live preview window is internally set supportsLiveUpdate = false. Lightroom handles everything else itself.

tigering the error is: making adjustments with the slideres 1-6 times.

The plugin updates the live preview window each time a configuration option is changed in the interface.
Each time a slider's position changes, the web page will be reloaded.
Your installation seems to be getting hung up on reloading the web page multiple times in quick succession when a slider is used (although I still can't reproduce the problem on my Windows PC).

Perhaps the best course of action would be to prevent the live preview window from being updated each time a configuration option is changed and, instead, allow the user to update the live preview window manually (whenever required) by pressing Cmd+R (Mac), Ctrl+R (Windows) or by selecting 'Web -> Reload' (from the drop-down menu at the top).
Disabling the instant update functionality to the live preview window (and reloading the web page only on demand) should help.

It might not be an ideal solution to the problem but it should hopefully be a suitable workaround.

If you'd like to try it, download the 'galleryInfo.lrweb' file from here [Link removed.] and use it to replace your plugin's existing 'galleryInfo.lrweb' file (inside the 'juicebox_pro.lrwebengine' folder/package). (This file should be used to replace the 'galleryInfo.lrweb' file in version 1.5.0 of the Lightroom plugin only.)

Please note that on a Mac, 'juicebox_pro.lrwebengine' is seen as a special package (rather than just a regular folder). To open the folder, you'll need to right-click the package and select 'Show Package Content'.

2,225

(7 replies, posted in Juicebox-Pro Support)

I'm glad you've been able to resolve your problem. Thank you for letting me know.