While attempting to get the Forge Responsive Connected Database to build. I am unable to build this application on my Windows 10 machine. I am unable to succesffuly run “npm ins
Here are the full installation and setup steps I tested on two different 2 different computers with Windows10 installed.
Pre-Installations:
Node.js global packages:
npm
into Windows' spectial folder %appdata%
.Powershell
as Administrator
and execute Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
.npm install --global --production npm-windows-upgrade
npm-windows-upgrade
npm-windows-upgrade --npm-version 5.6.0
in the Powershell (note. you can choose any version what you want, e.g. 6.0.1)node-gyp
.Successfully installed Python 2.7
firstly, but you have to wait for the message Successfully installed Visual Studio Build Tools.
shows up.Powershell
as Administrator
and install tool by npm install --global --production windows-build-tools
node-canvas
while running npm install
.Powershell
normally(say current user) and install tool by npm install -g node-gyp
Visual Studio 2017 (link):
Chocolatey (link):
node-canvas
on Windows.Powershell
as Administrator
and execute Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
.node-canvas
dependencies by choco install -y python2 gtk-runtime microsoft-build-tools libjpeg-turbo
(You might see a warning message visuallstudiotool-vs2017 installation failed
and you can ignore it. In my cases, it didn't affect the result)GTK with cairo library (link):
node-canvas
.C:\GTK
.Mongochef (link):
MongoDB:
Main Installations:
Powershell
normally(say current user) and change directory into the unzipped folder of the source code. For instance, execute cd Desktop\forge-rcdb-nodejs-master
in the Powershell.npm install
in the root of the source code folder. (You may see some error message while compiling the package node-canvas
, but can see 'copied xxx.c', 'copied xxx.cpp', and so on in the same time, then you can ignore the errors. In my cases, it didn't be a problem to run forge-rcdb.)Configurations:
Open config\development.config.js
with your editor and change values of viewer
section into:
viewer: {
viewer3D: 'https://developer.api.autodesk.com/derivativeservice/v2/viewers/viewer3D.js?v=4.0.1',
threeJS: 'https://developer.api.autodesk.com/derivativeservice/v2/viewers/three.js?v=4.0.1',
style: 'https://developer.api.autodesk.com/derivativeservice/v2/viewers/style.css?v=4.0.1'
}
Change the database
section in the config\development.config.js
with you MongoDB connection settings.
Restore dummy database data in the resources/db/dev
or resources/db/prod
via Mongochef's Import function.
Open Powershell
normally(say current user) and set following environment variables:
$env:NODE_ENV="development"
$env:HOT_RELOADING="true"
$env:FORGE_DEV_CLIENT_ID="YOUR_CLINET_ID"
$env:FORGE_DEV_CLIENT_SECRET="YOUR_CLINET_SECRET"
Run the project
Change current directory of the Powershell into the source code folder of the forge-rcdb and type npm start
open http://localhost:3000 in your favorite browser.
Trouble Shooting
You might be not able to load any models in the browser. If you to test the functionality, please copy resources\models\prod\robot
into resources\models\dev\robot
. Afterward, navigate to http://localhost:3000/configurator in the web browser and mouse-click on Kinematics
project, then you will see the model loaded on your screen.
If you see the response of http://localhost:3000/api/forge/user showing HTTP EORROR CODE 404 from the browser dev console, then you must have to check whether the CallBack URL of your Forge App used to host forge-rcdb in Forge Dev Protal is http://localhost:3000/api/forge/callback/oauth. (note. This config can be changed in config\development.config.js
)
If you get an empty array from the response of http://localhost:3000/api/models/configurator?limit=100&offset=0&search=, it means there is nothing in your MongoDB collection configurator.models
. To fix this issue, you can import db content resources\db\dev\configurator.models.json
into your MongoDB via Mongochef. (note. Please refer the step 3 of the configuration section)
If you cannot load any listed models from the web pages, it means there is not downloaded viewable bubbles in your resources\models\prod
or resources\models\dev
as well as your Forge OSS bucket. So, please check the urn
value in your database whether you have those models in these positions previously mentioned.
If you found the main reason for item 3 of Trouble Shooting is that you didn't own models listed in the forge-rcdb, that's because these models are Autodesk's private models or uploaded by other users themselves before, that might not be shared to the public, unfortunately. To fix this issue, you have to change the example data of MongoDB Collections mentioned in step 3 of the configuration section to your own models.
Hope it helps.