You are here

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 on 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) to 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 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 setting

 

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 error 404 when such 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>