2,226

(9 replies, posted in Juicebox-Pro Support)

The problem appears to be with the location of your 'juicebox.js' file (or perhaps the entire 'jbcore' folder) on your web server.

According to the embedding code in your 'conference2' gallery, the corresponding 'juicebox.js' file should be located here:
http://www.ashworthphotography.co.uk/co … uicebox.js
... but going directly to that location in a browser results in an error 404 (file not found).

Likewise for your 'food' gallery.
According to the embedding code for this gallery, the 'juicebox.js' file should be located here:
http://www.markashworth.co.uk/portfolio … uicebox.js

Please double-check that you have uploaded the 'jbcore' folders to the correct locations on your web servers.

As you already have a 'jbcore' folder uploaded to the following location on your 'ashworthphotography.co.uk' domain:
http://www.ashworthphotography.co.uk/ga … al/jbcore/
.. you could point towards the 'juicebox.js' file in that 'jbcore' folder for your 'commercial2' gallery (as it is on the same domain).
For your 'commercial2' gallery, you could change:

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

... to:

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

However, if you just upload a complete 'jbcore' folder to the following two directories, your galleries should display fine (without having to alter any embedding code).
(1) http://www.ashworthphotography.co.uk/conference2/
(2) http://www.markashworth.co.uk/portfolio/food/

If you already have 'jbcore' folders in these locations, then please check the permissions of the files and subfolders within them. Default permissions of 755 for folders and 644 for files should be fine.

All of the embed options can be used in either the embed code or config.xml.

That is correct. Configuration options can be set in the gallery's XML file (as attributes to the opening <juiceboxgallery> tag), in the JavaScript embedding code and in the web page's URL (via a query string). This is noted in the Setting Config Options support section.

2,228

(1 replies, posted in Juicebox-Pro Support)

As of v1.4.0, there is no longer a gallery preloader. This is noted in the Version History:

FIXED - Remove gallery preloader

However, the image preloader remains and will be displayed (if showPreloader="TRUE") when an individual image is taking a while to load.

The image preloader seems to work OK in this Flickr-sourced demo gallery: http://juicebox.net/demos/lite/flickr/
Try viewing an image on a thumbnail page other than the first (where the images will not have been preloaded) and you should hopefully see the image preloader briefly before the image appears.

If you never see the image preloader in your own gallery, then please post the URL to your gallery's web page so that I can take a look and investigate further. Thank you.

2,229

(5 replies, posted in Juicebox-Lite Support)

Thank you for the additional information.

That's a completely different Juicebox.
This is a support forum for the Juicebox web gallery software here: https://www.juicebox.net/
The two are not connected in any way. (Your initial query makes more sense knowing that you are referring to different software.)

The support forum you're looking for can be found here: https://groups.google.com/forum/#!forum/3d-genomics
I hope you find the answers you are looking for there.

2,230

(5 replies, posted in Juicebox-Lite Support)

It sounds like the 'New Gallery...' and 'Open Gallery...' buttons are non-responsive.
Is that correct? If so, try closing JuicenboxBuilder-Lite and manually delete the following folder from your hard drive.
Mac: /Users/your_username/Library/Application Support/Adobe/AIR/ELS/JuiceboxBuilder-Lite
Windows: C:\Users\your_username\AppData\Roaming\Adobe\AIR\ELS\JuiceboxBuilder-Lite

Now re-open JuiceboxBuilder-Lite and see if it works OK.

If this does not work, then try completely uninstalling and reinstalling JuiceboxBuilder-Lite following the procedure in this forum post.
(Just replace all instances of 'Juicebox-Pro' with 'Juicebox-Lite'.)

If you continue to experience difficulties, then perhaps you could upload a screenshot somewhere to show me what you are seeing and let me know what button or link you are trying to click (exactly what text is on the button or link) and what happens (or does not happen) when you click it.

2,231

(1 replies, posted in Juicebox-Pro Support)

When Small Screen Mode is used (the only way to display the thumbnails and main images separately), the Splash Page will be displayed if the gallery is embedded (and not just displayed on a page of its own at 100% x 100%).
To disable the Splash Page, set showSplashPage="NEVER" (in JuiceboxBuilder-Pro's 'Customize -> Splash Page' section).

Regarding the first, I say almost exactly as I would also like to bolt the buttons into a less active grid, say 6 wide by two deep unless screen size drops - is this also possible?

No. The number of thumbnails displayed per page is dependent on the thumbnail dimensions (the thumbWidth and thumbHeight configuration options) and the size of the user's browser window. It is not possible to set column and row values for the thumbnail grid in Small Screen Mode.

Not only do I then lose my navigation buttons, but also you cannot get back to the first page once you have set the gallery into action.

If you set showExpandButton="TRUE" (in JuiceboxBuilder-Pro's 'Customize -> Lite' section), then your gallery would display the Expand/Close Button in the Button Bar and when the gallery has been expanded from the Splash Page, the user could return to the embedding page by clicking the Expand/Close Button.
Alternatively, you could use a Back Button in your gallery (a link to whatever web page you like from within the gallery).
However, neither of these would be necessary if you disable the Splash Page (as noted above).

2,232

(1 replies, posted in Juicebox-Pro Support)

Yes.

You can have a gallery with images that fill the page and without any thumbnails by using the following settings:

imageScaleMode="FILL"
showThumbsOnLoad="FALSE"
showSmallThumbsOnLoad="FALSE"
showThumbsButton="FALSE"
showSmallThumbsButton="FALSE"

You can have links in image titles and captions (and have multi-line image titles and captions) by using HTML formatting as noted in this FAQ:
How do I add HTML formatting to image captions and titles?

For example an image caption which contains two links on separate lines (an 'About' link and a 'Contact' link) would look something like this:

<caption><![CDATA[<a href="about.html">About Page</a><br><a href="contact.html">Contact Page</a>]]></caption>

@vern

Modifying the index.html template in the application does not change the embed code when creating a new gallery.

Modifying the JuiceboxBuilder-Pro 'index.html' template file will affect all output 'index.html' gallery files but it will not change the embedding code presented on the 'Publish' tab. There is no way to change this. (The code that generates the embedding code on the 'Pubish' tab is compiled within the program and cannot be modified.)

Is there a file in the application that controls any of the output for the config.xml?

No. The 'config.xml' files are generated from scratch from within the application. There is no template file for the output 'config.xml' gallery files.

I don't want a file on the website with that type of information of my work computer. I would like to remove it by default instead of having to edit files.

You would need to edit the XML files manually (after the galleries have been created) to remove the sourcePath (or any other) entries. However a single global regular expression search and replace action in a text editor such as Notepad++ should remove them quickly (and you would be able to do this across many files at once). Choose 'Search -> Replace...' from the drop-down menu at the top, choose 'Regular Expression' as the search mode, search for sourcePath=".*?" and replace with nothing (blank).
(JuiceboxBuilder needs to know the source paths of the images in order to allow a gallery to be edited and have a watermark removed, for example.)

Just curious why these changes can't be implemented in the Juicebox builder application to avoid extra work...

If you like, please feel free to post suggestions for future versions in the Feature Requests forum thread.
This keeps all the ideas together and ensures that they are not overlooked. Thank you.

@gor555

Just following up on the editing of the template index.html file.... this has worked brilliantly for me...

I'm glad the information in this thread was useful to you. Thank you for letting me now.

2,234

(5 replies, posted in Juicebox-Lite Support)

I'm not sure what 'internal data' and 'control data' you are referring to.
Also, JuiceboxBuilder-Lite does not require or use Java at all.
It needs Adobe AIR which can be downloaded from here: https://get.adobe.com/air/
One you have Adobe AIR installed, you can following the steps in the Getting Started guide.
If you run into any problems installing JuiceboxBuilder-Lite, the Installation Issues section of the JuiceboxBuilder User Guide should hopefully help.

If you continue to experience difficulties, please let me know what you are trying to do and what error messages are displayed on screen. With a little more information, I should hopefully be able to help further. Thank you.

2,235

(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,236

(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,238

(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,242

(498 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,245

(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,247

(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,248

(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,249

(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.