Placing Cortona3D Solo library on a web server

The article is applicable to RapidAuthor version 12 and above

Starting from version 9.0 RapidAuthor is able to produce publications that do not require browser plugins. These publications can be viewed with Cortona3D Solo, which is based on asm.js, WebGL, and HTML5 technologies.

To organize a proper Web portal architecture, it is recommended to place the Cortona3D Solo Library in a dedicated location on the server. The path to Cortona3D Solo Library can be defined with the help of the “3D Viewer URL” in the RapidAuthor publish options (Tools > Publish Options) or in specification components using RapidDeveloper.

NOTE. By default, the Cortona3D Solo Library is placed into the resource folder of the RapidAuthor publication. If you have a substantial number of publications you will have to update the Cortona3D Solo Library for each publication when a new version of Cortona3D Solo Library is released. Moreover, multiple copies of the library will take extra disk space and your users will have to download it for each publication, so it is not recommended to use the default option for mass production.

How to use the “3D Viewer URL” publish option

Please, follow these steps:

  1. Publish any demo project of RapidCatalog or RapidManual to an empty folder with the default publish options (“Use Browser Plugins” = “No”, “3D Viewer URL” = <empty>).
  2. When using custom specifications, publish one project for each custom specification to the same folder with the options specified as “Use Browser Plugins” = “No”, “3D Viewer URL” = <empty>.
  3. Place the content of the “res” subfolder (Publication folder) on a web server for public access. For example, http://shared.customer.com/res/.
  4. Apply the web server settings described below (CORS and MIME types).
  5. Set the “3D Viewer URL” publish option in RapidAuthor to “http://shared.customer.com/res/” for all specifications you are using for your projects and publish your projects with this option.
Important:
  • The path specified in the “3D Viewer URL” publish option should end with a forward slash “/”.
  • The “3D Viewer URL” publish option is ignored in the RapidAuthor preview mode.
How to specify the path to Cortona3D Solo Library in the specification component

Instead of defining the URL to Cortona3D Solo in the RapidAuthor publish options you can create a custom specification component and specify this URL there as a default value or permanently. The custom specification component can be created with the RapidSpecification module of RapidDeveloper. All existing projects should be then opened with the custom specification component. This method is recommended if you have a big team of authors and would like to ensure that publications created by different authors use the same URL.

Web server settings
CORS Configuration

Your web server should be able to use the cross-origin resource sharing (CORS) for the files *.js, *.js.mem, *.json, and *.data from http://shared.customer.com/res/.
The information about CORS activation on various servers is available here: http://enable-cors.org/server.html

Enabling CORS for Apache Web Servers

.htaccess
<IfModule mod_headers.c>
    <FilesMatch "\.(json|data|js|js\.mem)$">
           Header set Access-Control-Allow-Origin "*"
    </FilesMatch>
</IfModule>

Enabling CORS for IIS Web Servers

web.config
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="Access-Control-Allow-Origin" value="*" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

MIME Types Configuration

The MIME type “application/octet-stream” should be used for the files *.js.mem and *.data.
If the content is published as a cortona3d viewer bundle (publish option “Viewer Bundle” not set to “None”), the MIME-type “application/x-cortona3d” should be additionally configured for the *.cortona3d files.

Please note that if you use the Microsoft IIS web server, it needs to be configured to return files with the .mem extension. This is not a standard extension and your server may block it and return an error 404 when such a file is requested by a client.

Configuring Mime Types for IIS Web Server

web.config
<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".mem" mimeType="application/octet-stream" />
            <mimeMap fileExtension=".cortona3d" mimeType="application/x-cortona3d" />
            <mimeMap fileExtension=".data" mimeType="application/octet-stream" />
        </staticContent>
    </system.webServer>
</configuration>