Holostep: 3D viewer

Description

Holostep shows your products as 3D models, in augmented reality and as configurators that shoppers can build themselves. This plugin connects your WordPress site or WooCommerce shop to your Holostep account and loads the Holostep viewer on your pages.

You need a Holostep account. You can create one while connecting. The 3D models and configurators are made and managed in the Holostep app: app.holostep.io.

What the plugin does

  • Connects with one button. Open WooCommerce > Holostep (Settings > Holostep without WooCommerce) and click “Connect to Holostep”. You log in to Holostep, confirm the shop, return and finish. There is no account ID to look up and no code to paste.
  • Tells you whether it works. A status panel shows the connected account, whether Holostep can reach your site, and whether the 3D script was seen on your shop from outside.
  • Looks after caches. When you connect, switch account or disconnect, the plugin clears the page cache of WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, WP Fastest Cache, SiteGround Speed Optimizer, Cache Enabler, Hummingbird, Breeze, Nginx Helper and WP-Optimize, and it keeps script optimisers away from the Holostep loader.
  • Keeps configurations with the order. When a shopper adds a configured product to the WooCommerce cart, the configuration (in words, with a link that reopens it) stays on the cart line, the order, the order emails and the admin order screen.
  • Disconnects cleanly. “Disconnect” removes the account from this site, tells Holostep, and deletes the WooCommerce API key if you gave one to Holostep with an earlier version.

Who can do what

Seeing the Holostep page and its status needs the “manage WooCommerce” capability (administrators on a site without WooCommerce). Connecting, switching account, disconnecting, entering an account ID by hand, clearing the cache and changing the update setting need an administrator.

Third-Party Services

This plugin connects your site to Holostep (holostep.io). It cannot work without it. Below is every address that is called, when, and what is sent.

1. Calls from your site’s server to the Holostep API

They are made only when an administrator clicks a button on the Holostep page, and once after an update of the plugin on a connected shop. No call is made on ordinary page loads.

  • https://api.holostep.io/api/v1/app/wordpress/connect/start (on “Connect to Holostep”, “Switch account”, “Try again”): your site’s address, the plugin’s version, a one-time code and the hash of a second one-time value.
  • https://api.holostep.io/api/v1/app/wordpress/connect/complete (when you return from Holostep): your site’s address, the one-time code, and the signed approval Holostep’s app gave your browser. Holostep answers with the account’s ID, name and email, which the plugin stores and shows you.
  • https://api.holostep.io/api/v1/app/wordpress/status (after connecting, on “Test connection”, “Only verify the ID”, “Check and save”, and once after an update): your site’s address, the account ID and a one-time code. After connecting, on “Test connection” and after an update, Holostep also loads your shop’s home page from its own servers, to see whether its script runs there.
  • https://api.holostep.io/api/v1/app/wordpress/site-check (on “Check and save” and “Only verify the ID”, when Holostep cannot reach your site): the account ID and your site’s host name.
  • https://api.holostep.io/api/v1/app/wordpress/disconnect (on “Disconnect”, and when another account takes the shop over): your site’s address, the account ID and a one-time code.
  • https://api.holostep.io/api/v1/app/woocommerce/connect/start (only by the “Connect WooCommerce” button of version 1.3.0, which 2.0.0 no longer shows): the account ID, your site’s address and a one-time code. After your approval on WooCommerce’s own screen, WooCommerce sends the new REST API key directly to https://api.holostep.io/api/v1/app/woocommerce/connect/callback.

To check that a request really comes from your site, Holostep calls your site back once per request at /?rest_route=/holostep/v1/connect-proof with the one-time code. That route answers only a code your site created moments before, once, and changes nothing.

2. Your browser, when you connect

“Connect to Holostep” sends your browser to https://app.holostep.io/connect/wordpress, where you log in and approve. The address carries a signed request made for your site and a one-time value that stays in your browser.

3. Your visitors’ browsers, while the shop is connected

Every page of your site loads the Holostep script. It is not loaded in wp-admin or on the login page, and not at all while no account is connected.

  • https://onsite-scripter.holostep.io/serve/ (every page): the loader core-init.js, the script core.js and the files they need. The request carries your Holostep account ID.
  • https://cdn-layers.holostep.io/ (every page): your account’s published settings for this site. The request carries your account ID and your site’s host name.
  • https://onsite-backend.holostep.io/api/v1/analytics (every page): a page view on every page, and events when a visitor uses the viewer or adds a configured product to the cart. Each event carries a random visitor ID, a random session ID, your account ID, your site’s host name and the time. If your site reports purchases to Google Analytics 4 through dataLayer, the script also sends each purchase’s order ID, total, currency, discount code, and the IDs and names of its items. When the viewer fails, an error report with the page address, browser and device details is sent to https://onsite-backend.holostep.io/api/v1/analytics/error.
  • https://cdn.holostep.io/ and https://cdn-assets.holostep.io/ (pages that show 3D content): the 3D models, textures and styles.
  • Google (pages that show 3D content): decoder files from https://www.gstatic.com/ and the Poppins font from https://fonts.googleapis.com/ and https://fonts.gstatic.com/. Google receives the visitor’s IP address and browser details, as with any file request. Google’s privacy policy, Google’s terms.
  • Only if you switch them on in your Holostep account: Meta Pixel (https://connect.facebook.net/), Google Ads (https://www.googletagmanager.com/) and Segment (https://cdn.segment.com/) receive the viewer’s events. They are off unless you enable them in Holostep.

The script stores a random visitor ID in a first-party cookie named holoClientId for one year, and a random session ID in the browser’s session storage (holoSession). It does this for every visitor and does not check for consent. Asking visitors for consent, where your shop needs it, is done with your own consent tool.

Screenshots

Installation

  1. Install and activate the plugin.
  2. Open WooCommerce > Holostep. On a site without WooCommerce it is under Settings > Holostep.
  3. Click “Connect to Holostep”, log in or create an account, and confirm that the shop belongs to your account.
  4. Back in WordPress, click “Finish connecting”.

Your site has to use https and be reachable from the internet. If it is not (a staging site, a site behind a password), use “Advanced: enter account ID” on the same page, after adding the site’s address to your account in Holostep.

FAQ

Do I need a Holostep account?

Yes. The plugin connects your site to the account; the 3D models and configurators live in Holostep.

Does it slow down my site?

The plugin prints one small inline script in the page head. It loads the Holostep viewer asynchronously, so it does not block the page from rendering. The viewer itself only loads on pages that show 3D content.

Do I have to clear my cache after connecting?

No, if your cache is one of the plugins listed in the description: the plugin clears it for you. A cache outside WordPress (a CDN or your host caching whole pages) has to be cleared there. The status panel tells you when your shop still serves an old page.

Does the plugin ask my visitors for cookie consent?

No. The Holostep script sets a cookie and counts page views for every visitor (see “Third-Party Services” below). If your shop needs consent for that, set it up in your own consent tool.

What happens when I update from 1.3.0 or older?

Nothing changes on your shop: the saved account ID keeps working and no cache is cleared. The settings page moved from Appearance to WooCommerce > Holostep, and it invites you to connect with the button so that it can check your shop.

Does the plugin update itself?

By default yes. You can turn that off on the Holostep page (“Keep this plugin up to date automatically”); WordPress’s own setting for the plugin applies then.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Holostep: 3D viewer” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Holostep: 3D viewer” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.0.0

  • New: “Connect to Holostep”. One button connects the shop to your Holostep account and registers the site’s address for you. The account ID field moved under “Advanced”
  • New: the settings page is under WooCommerce > Holostep (Settings > Holostep without WooCommerce). The old address under Appearance redirects
  • New: status panel with “Test connection”: the connected account, whether Holostep can reach the site, and whether the 3D script was seen on your shop
  • New: page caches are cleared for you when you connect, switch account or disconnect, and script optimisers are told to leave the Holostep loader alone. An update alone clears nothing
  • New: “Disconnect”, and cleanup when the plugin is deleted
  • New: Shop Managers can see the status; connecting and settings need an administrator
  • Changed: automatic updates of this plugin are now a visible setting on the Holostep page (on by default)
  • Changed: an account ID entered by hand is saved only when that Holostep account lists this site
  • Changed: “Connect WooCommerce” is not offered for now. A shop that gave Holostep a key sees it in the status panel, with a link to revoke it
  • Removed: the review reminder, its admin bar entry and menu bubble, and the redirect after activation
  • Fix: two missing admin scripts no longer cause “not found” errors on every admin page; the plugin’s stylesheet no longer changes other admin pages
  • Fix: every text of the settings page is translatable; Hungarian included
  • Fix: working links to the terms and the privacy policy, and a full list of what is sent to Holostep
  • Requires WordPress 5.7 and PHP 7.4

1.3.0

  • Feature: “Connect WooCommerce” lets Holostep create and update products in your shop after you approve it in WooCommerce. Holostep confirms each request with your site before the approval screen opens
  • Fix: the Holostep script now loads on sites whose cache plugin self-hosts or minifies external scripts (the account id was lost from the script address)
  • Fix: the configuration link is no longer printed on invoices and packing slips; it is still shown under the order line in the order, the order emails and the admin order screen
  • Fix: the configuration is stored on the order under the same field name in every site language
  • Compatibility: declared for WooCommerce High-Performance Order Storage and the Cart and Checkout blocks; tested with WooCommerce 11.2

1.2.0

  • Feature: WooCommerce cart lines and orders keep the configuration sent by a Holostep configurator (summary and reopen link)
  • Fix: auto-update now applies only to this plugin, not to every plugin on the site
  • Tested with WordPress 7.1

1.1.5

  • Updated init script to use core-init.js for improved initialization

1.1.4

  • Feature: Auto update by default

1.1.3

  • Correct tagging

1.1.2

  • Script tag bug fix

1.1.1

  • Script tag bug fix

1.0.0

  • The first version of Holostep’s WordPress plugin