SlideShare a Scribd company logo
DocDokuPLM : Using web technologies
in a desktop application
Morgan Guimard - 17 nov 2015 - OW2 con' 2015
We are DocDoku
2
We help industrial organizations digitize their business
Based in France
● Toulouse
● Paris
Committed to the Open Source, we
make DocDokuPLM:
● https://github.com/docdoku/docdoku-plm
● Twitter: @docdoku
#PLM #HTML5 #Java #BigData
#WebGL #IoT #Industry
About me
3
Tech experience
● 10 years in Web Technologies
● JavaScript developer
● Java EE developer
Morgan Guimard
● DocDokuPLM dev leader
● Technical trainer
Agenda
4
1 – Introduction to Product Lifecycle Management
2 – Working with CAD files
3 - Our cross-platform solution
1 - Introduction to Product Lifecycle
Management
6
Manages the entire lifecycle of a product from its conception to
its disposal.
Integrates people, data, processes and business systems and
provides a product information backbone.
Product Lifecycle Management
PBS?
7
Product Breakdown Structure
A hierarchical listing of assemblies and components, and the
quantities there-of, necessary to produce a final product
Parts
8
Each node of a PBS is a part
Stores every information of a component, as its name, custom
attributes, and its geometry file.
The part number is its identifier. You may find the same part at
multiple PBS levels.
V54S3434RTX
Assembly / Leaf
9
● Assembly nodes stores the structure informations
● Leaves stores the geometry
● Assemblies and leaves are both considered as parts
Example: An office desk
Everything is tracked
10
● Through Check-in / Check-out mechanism
● Iteration (1, 2, 3...) and Revision (A, B, C...)
Example: Part 100 A.3
A is the revision, 3 is the iteration and A.3 is the version
● Iteration = minor changes
● Revision = major ones
2 – Working with CAD files
Working with CAD files
12
● Our target: CAD designers
● They are editing lot of files / large files
Check in / Check out
● Those files need to be synchronized on a server
● Collaborative work is a main topic
Standard formats ?
13
Some formats are standard
● STEP, IFC, OBJ, …
And some other formats are not standard
● SLDPRT, CATPART, …
We're trying to convert any format, even if not standard
CAD files content
14
Depends on the format, can contains
● Geometry only
● Structure only
● Both
Managed server side with DocDokuPLM server
● Converting many formats to a WebGL format
● Extracting the structure from CAD files and creating the PBS
● May require proprietary SDK to parse some none standard formats
Multiple editors
15
Many edition tools / platforms
● Windows - Mac OS X - Linux
● AutoCAD, SolidWorks, CATIA, BIM Editor ...
● Developing a plugin for all of them isn't realistic
● Should also be maintained for every software update
How can we help every CAD designer ?
16
Editor plugins ?
● Not realistic: too many editors, versions, languages
Operating system integration ?
● Would be a great solution, but requires more than a single code base
The easiest way for us is a cross platform application
3 – Our cross platform solution
Command line interface
18
Fits for most advanced users...
● Scriptable
● Lightweight
● Easy to use
● Check in / Check out and synchronize files from command line with a
single command
● ...but lacks a graphical user interface to easily make bulk operations
$ dplm checkin some-part-number
Choosing a cross-platform technology
19
Native ? Web based ? What do we need ?
● Read and write the user's FileSystem
● Be able to interact with our JSON WebServices
● Interact with our CLI
● Have a responsive design for each display
● 3D preview
Node Webkit
20
Just a nutshell ...
● Wrapping NodeJS and a Webkit browser
● Let's keep a standard API: HTML5
● And let's use NodeJS low level API
NodeJS brings us ...
21
… exactly what we need
● Ability to walk the user's FileSystem to discover CAD files
● Read CAD files contents to display them in a 3D preview
● An API to interact with our CLI (Directly in java or bash)
● FileSystem watchers to detect any change made on a file
● An easy way to work with JSON objects
Webkit browser
22
Helps us to :
● Create a responsive design
● Keep a single code base for each platform
● Allow HTTP connections and easy JSON parsing
● Load 3D file with WebGL technology for a live preview
Pros and cons of this choice
23
We like...
● One code base, and code reuse
● Standard API
● Fast development process
● Latest web technologies can be used
● Easy to package
We don't like so much…
● App size (must embed Webkit and NodeJs)
● Requires more RAM and CPU
● Hard to mimic the OS look and feel
● May have bugs for NodeWebkit (notification, file system changes)
Our web based solution
24
DocDokuDPLM
● Built with NodeWebkit
● Using AngularJS as the main framework
● Using NodeJS API
Architecture
25
User's desktop
DocDokuDPLM APP
DocDokuCLINodeJS
Webkit + AngularJS
DocDokuPLM server
FSCAD editor
Remote and local navigation
26
● Allows the designer to browse remote and local folders
File change detection
27
● Allows the designer quickly see which files are out of sync
● Green tick icon means synchronized
● Orange cloud icon means modified
Recursive download
28
● Allows the designer to check out / download a whole structure within a
single action
● Select existing baseline
Synchronizing a whole folder
29
● Allows the designer to check in / upload a whole folder
3D preview
30
● Allows the designers to see their files in 3D before uploading them
● The same 3D engine is used in the DocDokuPLM server
To come soon
31
We'd like to bring the following features to our solution
● Desktop notifications (synchronization done, etc…)
● Better errors handling
● Shortcuts to open a part in the user's favorite editor from our app
● SMART check-in order when pushing many files in a single operation
● ...
Questions ?
Thank you !

More Related Content

What's hot (19)

PDF
Next-gen Web technologies for next-gen business applications, Eric Descargues...
OW2
 
PDF
Enterprise Griffon
James Williams
 
PDF
Update on the open source browser space (16th GENIVI AMM)
Igalia
 
PDF
Improving the MODX Documentation - March 29, 2019
Mark Hamstra
 
PDF
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
Igalia
 
PPTX
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
Mike Hale
 
PDF
Andrew Berezovsky - Drupal 8 How to Migr8
DrupalSib
 
PDF
Umbraco development across large and distributed teams
Janusz Stabik
 
PDF
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
juanjosanchezpenas
 
DOCX
Best Angular JS training in Hyderabad, India
N Benchmark IT Solutions
 
PDF
Drupal Café October - DrupalCon Highlights
Exove
 
PDF
Bachelor's Thesis Presentation (shortened)
Nikita Kurpas
 
PPTX
uPortal Q1 2018 Quarterly Briefing
ChrisBeach22
 
PDF
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
Igalia
 
PDF
Angular2 - A story from the trenches
Johannes Rudolph
 
PDF
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Restlet
 
PDF
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)
Ross McDonald
 
PDF
Polymer & PWA: Understanding the “why”
Ashrith Kulai
 
PDF
OpenCms Days 2015 OpenCms at erarta
Alkacon Software GmbH & Co. KG
 
Next-gen Web technologies for next-gen business applications, Eric Descargues...
OW2
 
Enterprise Griffon
James Williams
 
Update on the open source browser space (16th GENIVI AMM)
Igalia
 
Improving the MODX Documentation - March 29, 2019
Mark Hamstra
 
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
Igalia
 
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
Mike Hale
 
Andrew Berezovsky - Drupal 8 How to Migr8
DrupalSib
 
Umbraco development across large and distributed teams
Janusz Stabik
 
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
juanjosanchezpenas
 
Best Angular JS training in Hyderabad, India
N Benchmark IT Solutions
 
Drupal Café October - DrupalCon Highlights
Exove
 
Bachelor's Thesis Presentation (shortened)
Nikita Kurpas
 
uPortal Q1 2018 Quarterly Briefing
ChrisBeach22
 
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
Igalia
 
Angular2 - A story from the trenches
Johannes Rudolph
 
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Restlet
 
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)
Ross McDonald
 
Polymer & PWA: Understanding the “why”
Ashrith Kulai
 
OpenCms Days 2015 OpenCms at erarta
Alkacon Software GmbH & Co. KG
 

Viewers also liked (20)

PPT
2013 cch basic principles ch02
dphil002
 
PDF
SOA in the cloud with FraSCAti, OW2con11, Nov 24-25, Paris
OW2
 
PDF
OtaSizzle Platform for Technology Transfert
OW2
 
PDF
Square Numbers - Update September 12
figo GmbH
 
PPT
Vol 02 chapter 7 2012
dphil002
 
PPT
1 literatura hispanoamericana
María Belén García Llamas
 
KEY
Project Progress
sunnysomchok
 
PDF
OpenPaaS, the open-source Enterprise Social network for the Cloud, OW2con'12,...
OW2
 
PDF
Opencloudware, a Paas management stack over multiple clouds, Daniel Stern, O...
OW2
 
PDF
Introduction to the CII Badge Programe, OW2con'16, Paris.
OW2
 
PDF
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
OW2
 
PDF
Git, как инструмент управления веб-контентом
Alex Musayev
 
PDF
Trustie Forge Solutions Linux Ow2
OW2
 
PDF
Kalimucho Project Use Cases
OW2
 
PDF
LemonLDAP::NG 2.0. OW2con'15, November 17, Paris.
OW2
 
PPS
We Were
guest085e848
 
PPT
Chapter 7
dphil002
 
PDF
Square update december 12
figo GmbH
 
PDF
Using Community Clouds for Load Testing- the ProActive CLIF solution, OW2con'...
OW2
 
PDF
Transforming Datacenter Jaspersoft-ow2-conference-nov10
OW2
 
2013 cch basic principles ch02
dphil002
 
SOA in the cloud with FraSCAti, OW2con11, Nov 24-25, Paris
OW2
 
OtaSizzle Platform for Technology Transfert
OW2
 
Square Numbers - Update September 12
figo GmbH
 
Vol 02 chapter 7 2012
dphil002
 
1 literatura hispanoamericana
María Belén García Llamas
 
Project Progress
sunnysomchok
 
OpenPaaS, the open-source Enterprise Social network for the Cloud, OW2con'12,...
OW2
 
Opencloudware, a Paas management stack over multiple clouds, Daniel Stern, O...
OW2
 
Introduction to the CII Badge Programe, OW2con'16, Paris.
OW2
 
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
OW2
 
Git, как инструмент управления веб-контентом
Alex Musayev
 
Trustie Forge Solutions Linux Ow2
OW2
 
Kalimucho Project Use Cases
OW2
 
LemonLDAP::NG 2.0. OW2con'15, November 17, Paris.
OW2
 
We Were
guest085e848
 
Chapter 7
dphil002
 
Square update december 12
figo GmbH
 
Using Community Clouds for Load Testing- the ProActive CLIF solution, OW2con'...
OW2
 
Transforming Datacenter Jaspersoft-ow2-conference-nov10
OW2
 
Ad

Similar to DocDoku: Using web technologies in a desktop application. OW2con'15, November 17, Paris. (20)

PDF
Devoxx : being productive with JHipster
Julien Dubois
 
PPTX
Instant developer onboarding with self contained repositories
Yshay Yaacobi
 
PPTX
Acjim acmacs presentation
hda_jim
 
PPTX
Snowflake Automated Deployments / CI/CD Pipelines
Drew Hansen
 
PPTX
Acjim acmacs presentation
Rohan Maleku
 
PDF
Programming for non tech entrepreneurs
Rodrigo Gil
 
PDF
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
ManageIQ
 
PDF
Introduction to DevOps and the Practical Use Cases at Credit OK
Kriangkrai Chaonithi
 
PDF
JIO and WebViewers: interoperability for Javascript and Web Applications
XWiki
 
PDF
Electron JS | Build cross-platform desktop applications with web technologies
Bethmi Gunasekara
 
PDF
Angular (v2 and up) - Morning to understand - Linagora
LINAGORA
 
PDF
Collaborative environment with data science notebook
Moon Soo Lee
 
PDF
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Nir Yungster
 
PDF
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
ddrschiw
 
PDF
DevOps & SRE at Google Scale
Kaushik Bhattacharya
 
ODP
Drupal in 5mins + Previewing Drupal 8.x
Wong Hoi Sing Edison
 
PDF
[scala.by] Launching new application fast
Denis Karpenko
 
PPTX
Modern Web-site Development Pipeline
GlobalLogic Ukraine
 
PDF
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
Serdar Basegmez
 
PPTX
An XPager's Guide to Process Server-Side Jobs on Domino
Frank van der Linden
 
Devoxx : being productive with JHipster
Julien Dubois
 
Instant developer onboarding with self contained repositories
Yshay Yaacobi
 
Acjim acmacs presentation
hda_jim
 
Snowflake Automated Deployments / CI/CD Pipelines
Drew Hansen
 
Acjim acmacs presentation
Rohan Maleku
 
Programming for non tech entrepreneurs
Rodrigo Gil
 
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
ManageIQ
 
Introduction to DevOps and the Practical Use Cases at Credit OK
Kriangkrai Chaonithi
 
JIO and WebViewers: interoperability for Javascript and Web Applications
XWiki
 
Electron JS | Build cross-platform desktop applications with web technologies
Bethmi Gunasekara
 
Angular (v2 and up) - Morning to understand - Linagora
LINAGORA
 
Collaborative environment with data science notebook
Moon Soo Lee
 
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Nir Yungster
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
ddrschiw
 
DevOps & SRE at Google Scale
Kaushik Bhattacharya
 
Drupal in 5mins + Previewing Drupal 8.x
Wong Hoi Sing Edison
 
[scala.by] Launching new application fast
Denis Karpenko
 
Modern Web-site Development Pipeline
GlobalLogic Ukraine
 
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
Serdar Basegmez
 
An XPager's Guide to Process Server-Side Jobs on Domino
Frank van der Linden
 
Ad

More from OW2 (20)

PDF
OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in Roma
OW2
 
PDF
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...
OW2
 
PDF
GLPi v.10, les fonctionnalités principales et l'offre cloud
OW2
 
PDF
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...
OW2
 
PDF
FusionIAM : la gestion des identités et des accés open source
OW2
 
PDF
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2
 
PDF
SFScon'20 Bringing the User into the Equation
OW2
 
PDF
Towards a sustainable solution to open source sustainability, OW2online20, Ju...
OW2
 
PDF
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...
OW2
 
PDF
Open Source governance and the Eclipse Foundation, OW2online, June 2020
OW2
 
PDF
Open source contribution policies, OW2online, June 2020
OW2
 
PDF
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...
OW2
 
PDF
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020
OW2
 
PDF
Open Source Compliance at Orange, OW2online, June 2020
OW2
 
PDF
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020
OW2
 
PDF
Intelligent package management with FASTEN, OW2online, June 2020
OW2
 
PDF
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
OW2
 
PDF
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
OW2
 
PDF
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...
OW2
 
PDF
Cacti and Big Data at Orange France, OW2online, June 2020
OW2
 
OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in Roma
OW2
 
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...
OW2
 
GLPi v.10, les fonctionnalités principales et l'offre cloud
OW2
 
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...
OW2
 
FusionIAM : la gestion des identités et des accés open source
OW2
 
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2
 
SFScon'20 Bringing the User into the Equation
OW2
 
Towards a sustainable solution to open source sustainability, OW2online20, Ju...
OW2
 
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...
OW2
 
Open Source governance and the Eclipse Foundation, OW2online, June 2020
OW2
 
Open source contribution policies, OW2online, June 2020
OW2
 
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...
OW2
 
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020
OW2
 
Open Source Compliance at Orange, OW2online, June 2020
OW2
 
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020
OW2
 
Intelligent package management with FASTEN, OW2online, June 2020
OW2
 
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
OW2
 
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
OW2
 
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...
OW2
 
Cacti and Big Data at Orange France, OW2online, June 2020
OW2
 

Recently uploaded (20)

PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PDF
Complete Network Protection with Real-Time Security
L4RGINDIA
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
Complete Network Protection with Real-Time Security
L4RGINDIA
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 

DocDoku: Using web technologies in a desktop application. OW2con'15, November 17, Paris.

  • 1. DocDokuPLM : Using web technologies in a desktop application Morgan Guimard - 17 nov 2015 - OW2 con' 2015
  • 2. We are DocDoku 2 We help industrial organizations digitize their business Based in France ● Toulouse ● Paris Committed to the Open Source, we make DocDokuPLM: ● https://github.com/docdoku/docdoku-plm ● Twitter: @docdoku #PLM #HTML5 #Java #BigData #WebGL #IoT #Industry
  • 3. About me 3 Tech experience ● 10 years in Web Technologies ● JavaScript developer ● Java EE developer Morgan Guimard ● DocDokuPLM dev leader ● Technical trainer
  • 4. Agenda 4 1 – Introduction to Product Lifecycle Management 2 – Working with CAD files 3 - Our cross-platform solution
  • 5. 1 - Introduction to Product Lifecycle Management
  • 6. 6 Manages the entire lifecycle of a product from its conception to its disposal. Integrates people, data, processes and business systems and provides a product information backbone. Product Lifecycle Management
  • 7. PBS? 7 Product Breakdown Structure A hierarchical listing of assemblies and components, and the quantities there-of, necessary to produce a final product
  • 8. Parts 8 Each node of a PBS is a part Stores every information of a component, as its name, custom attributes, and its geometry file. The part number is its identifier. You may find the same part at multiple PBS levels. V54S3434RTX
  • 9. Assembly / Leaf 9 ● Assembly nodes stores the structure informations ● Leaves stores the geometry ● Assemblies and leaves are both considered as parts Example: An office desk
  • 10. Everything is tracked 10 ● Through Check-in / Check-out mechanism ● Iteration (1, 2, 3...) and Revision (A, B, C...) Example: Part 100 A.3 A is the revision, 3 is the iteration and A.3 is the version ● Iteration = minor changes ● Revision = major ones
  • 11. 2 – Working with CAD files
  • 12. Working with CAD files 12 ● Our target: CAD designers ● They are editing lot of files / large files Check in / Check out ● Those files need to be synchronized on a server ● Collaborative work is a main topic
  • 13. Standard formats ? 13 Some formats are standard ● STEP, IFC, OBJ, … And some other formats are not standard ● SLDPRT, CATPART, … We're trying to convert any format, even if not standard
  • 14. CAD files content 14 Depends on the format, can contains ● Geometry only ● Structure only ● Both Managed server side with DocDokuPLM server ● Converting many formats to a WebGL format ● Extracting the structure from CAD files and creating the PBS ● May require proprietary SDK to parse some none standard formats
  • 15. Multiple editors 15 Many edition tools / platforms ● Windows - Mac OS X - Linux ● AutoCAD, SolidWorks, CATIA, BIM Editor ... ● Developing a plugin for all of them isn't realistic ● Should also be maintained for every software update
  • 16. How can we help every CAD designer ? 16 Editor plugins ? ● Not realistic: too many editors, versions, languages Operating system integration ? ● Would be a great solution, but requires more than a single code base The easiest way for us is a cross platform application
  • 17. 3 – Our cross platform solution
  • 18. Command line interface 18 Fits for most advanced users... ● Scriptable ● Lightweight ● Easy to use ● Check in / Check out and synchronize files from command line with a single command ● ...but lacks a graphical user interface to easily make bulk operations $ dplm checkin some-part-number
  • 19. Choosing a cross-platform technology 19 Native ? Web based ? What do we need ? ● Read and write the user's FileSystem ● Be able to interact with our JSON WebServices ● Interact with our CLI ● Have a responsive design for each display ● 3D preview
  • 20. Node Webkit 20 Just a nutshell ... ● Wrapping NodeJS and a Webkit browser ● Let's keep a standard API: HTML5 ● And let's use NodeJS low level API
  • 21. NodeJS brings us ... 21 … exactly what we need ● Ability to walk the user's FileSystem to discover CAD files ● Read CAD files contents to display them in a 3D preview ● An API to interact with our CLI (Directly in java or bash) ● FileSystem watchers to detect any change made on a file ● An easy way to work with JSON objects
  • 22. Webkit browser 22 Helps us to : ● Create a responsive design ● Keep a single code base for each platform ● Allow HTTP connections and easy JSON parsing ● Load 3D file with WebGL technology for a live preview
  • 23. Pros and cons of this choice 23 We like... ● One code base, and code reuse ● Standard API ● Fast development process ● Latest web technologies can be used ● Easy to package We don't like so much… ● App size (must embed Webkit and NodeJs) ● Requires more RAM and CPU ● Hard to mimic the OS look and feel ● May have bugs for NodeWebkit (notification, file system changes)
  • 24. Our web based solution 24 DocDokuDPLM ● Built with NodeWebkit ● Using AngularJS as the main framework ● Using NodeJS API
  • 26. Remote and local navigation 26 ● Allows the designer to browse remote and local folders
  • 27. File change detection 27 ● Allows the designer quickly see which files are out of sync ● Green tick icon means synchronized ● Orange cloud icon means modified
  • 28. Recursive download 28 ● Allows the designer to check out / download a whole structure within a single action ● Select existing baseline
  • 29. Synchronizing a whole folder 29 ● Allows the designer to check in / upload a whole folder
  • 30. 3D preview 30 ● Allows the designers to see their files in 3D before uploading them ● The same 3D engine is used in the DocDokuPLM server
  • 31. To come soon 31 We'd like to bring the following features to our solution ● Desktop notifications (synchronization done, etc…) ● Better errors handling ● Shortcuts to open a part in the user's favorite editor from our app ● SMART check-in order when pushing many files in a single operation ● ...