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

PDF
Next-gen Web technologies for next-gen business applications, Eric Descargues...
 
PDF
DocDokuPLM- Product Structure - Digital MockUp visualization using HTML5, OW2...
 
PDF
Generic Open Source PLM solution
PDF
DocDokuPLM : Domain Specific PaaS and Business Oriented API, OW2con'16, Paris.
 
PDF
[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...
PPTX
NewAge Event Episode 01
PDF
MDID Special Interest Group Meeting
PDF
Going Enterprise QGIS and PostGIS
Next-gen Web technologies for next-gen business applications, Eric Descargues...
 
DocDokuPLM- Product Structure - Digital MockUp visualization using HTML5, OW2...
 
Generic Open Source PLM solution
DocDokuPLM : Domain Specific PaaS and Business Oriented API, OW2con'16, Paris.
 
[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...
NewAge Event Episode 01
MDID Special Interest Group Meeting
Going Enterprise QGIS and PostGIS

What's hot (8)

PDF
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
PDF
Contributing to Apache Projects and Making Profits
PDF
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
PDF
The printing press of 2021 - using GitLab to publish the VSHN Handbook
PDF
Meet Microplatforms. Stuart Harris, Red Badger
PDF
How do you agile your global team to contribute to openstack
PPTX
Git lab2019 jp-meetup
PDF
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projects
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
Contributing to Apache Projects and Making Profits
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
The printing press of 2021 - using GitLab to publish the VSHN Handbook
Meet Microplatforms. Stuart Harris, Red Badger
How do you agile your global team to contribute to openstack
Git lab2019 jp-meetup
SFScon19 - Andreas Shimokawa - Codeberg a free home for free projects
Ad

Similar to DocDokuPLM presentation - OW2Con 2015 Community Award winner (20)

PDF
Devoxx : being productive with JHipster
PPTX
Instant developer onboarding with self contained repositories
PPTX
Acjim acmacs presentation
PPTX
Snowflake Automated Deployments / CI/CD Pipelines
PPTX
Acjim acmacs presentation
PDF
Programming for non tech entrepreneurs
PDF
Enterprise Griffon
PDF
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
ODP
Hong Kong Drupal User Group - 2014 March 8th
PDF
Introduction to DevOps and the Practical Use Cases at Credit OK
PDF
JIO and WebViewers: interoperability for Javascript and Web Applications
PDF
Electron JS | Build cross-platform desktop applications with web technologies
PDF
How to sell drupal 8
PDF
Multiplier Effect: Case Studies in Distributions for Publishers
PDF
Angular (v2 and up) - Morning to understand - Linagora
PDF
Collaborative environment with data science notebook
PDF
Data Science in Production: Technologies That Drive Adoption of Data Science ...
PDF
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
PDF
DevOps & SRE at Google Scale
ODP
Drupal in 5mins + Previewing Drupal 8.x
Devoxx : being productive with JHipster
Instant developer onboarding with self contained repositories
Acjim acmacs presentation
Snowflake Automated Deployments / CI/CD Pipelines
Acjim acmacs presentation
Programming for non tech entrepreneurs
Enterprise Griffon
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
Hong Kong Drupal User Group - 2014 March 8th
Introduction to DevOps and the Practical Use Cases at Credit OK
JIO and WebViewers: interoperability for Javascript and Web Applications
Electron JS | Build cross-platform desktop applications with web technologies
How to sell drupal 8
Multiplier Effect: Case Studies in Distributions for Publishers
Angular (v2 and up) - Morning to understand - Linagora
Collaborative environment with data science notebook
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
DevOps & SRE at Google Scale
Drupal in 5mins + Previewing Drupal 8.x
Ad

More from DocDoku (13)

PDF
Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019
PDF
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
PDF
Les ZAPeroTech #4 : découverte de Flutter
PDF
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
PDF
Les ZAperoTech #3 : présentation AWS IoT Greengrass
PDF
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelle
PDF
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8
PDF
Les Z'ApéroTech Toulouse #2 - Présentation Garden Helaer
PDF
DocDokuPLM: Domain Specific PaaS and Business Oriented API
PDF
Présentation DocDoku
PPTX
DocDoku - Mobile Monday Toulouse 1ère : la NFC
PDF
DocDoku - Les enjeux du back-office mobile
PDF
Strategies et developpements mobiles multi-plates-formes.
Meetup Aperotech 4 : retour d'expérience Oracle Code One 2019
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : découverte de Flutter
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
Les ZAperoTech #3 : présentation AWS IoT Greengrass
Les Z'ApéroTech Toulouse #2 - Présentation de l'agilité à l'échelle
Les Z'ApéroTech Toulouse #2 - Présentation des nouveautés de JakartaEE 8
Les Z'ApéroTech Toulouse #2 - Présentation Garden Helaer
DocDokuPLM: Domain Specific PaaS and Business Oriented API
Présentation DocDoku
DocDoku - Mobile Monday Toulouse 1ère : la NFC
DocDoku - Les enjeux du back-office mobile
Strategies et developpements mobiles multi-plates-formes.

Recently uploaded (20)

PPTX
AcademyNaturalLanguageProcessing-EN-ILT-M02-Introduction.pptx
PPTX
Primary and secondary sources, and history
PPTX
BIOLOGY TISSUE PPT CLASS 9 PROJECT PUBLIC
PPTX
Project and change Managment: short video sequences for IBA
DOCX
"Project Management: Ultimate Guide to Tools, Techniques, and Strategies (2025)"
PPTX
2025-08-10 Joseph 02 (shared slides).pptx
PDF
Parts of Speech Prepositions Presentation in Colorful Cute Style_20250724_230...
PPTX
Presentation for DGJV QMS (PQP)_12.03.2025.pptx
PPTX
Non-Verbal-Communication .mh.pdf_110245_compressed.pptx
PPTX
An Unlikely Response 08 10 2025.pptx
PPTX
The Effect of Human Resource Management Practice on Organizational Performanc...
PPTX
Hydrogel Based delivery Cancer Treatment
PPTX
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
PPTX
Introduction to Effective Communication.pptx
DOCX
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
PDF
Swiggy’s Playbook: UX, Logistics & Monetization
PPTX
worship songs, in any order, compilation
PPTX
The spiral of silence is a theory in communication and political science that...
PPTX
Impressionism_PostImpressionism_Presentation.pptx
PDF
Instagram's Product Secrets Unveiled with this PPT
AcademyNaturalLanguageProcessing-EN-ILT-M02-Introduction.pptx
Primary and secondary sources, and history
BIOLOGY TISSUE PPT CLASS 9 PROJECT PUBLIC
Project and change Managment: short video sequences for IBA
"Project Management: Ultimate Guide to Tools, Techniques, and Strategies (2025)"
2025-08-10 Joseph 02 (shared slides).pptx
Parts of Speech Prepositions Presentation in Colorful Cute Style_20250724_230...
Presentation for DGJV QMS (PQP)_12.03.2025.pptx
Non-Verbal-Communication .mh.pdf_110245_compressed.pptx
An Unlikely Response 08 10 2025.pptx
The Effect of Human Resource Management Practice on Organizational Performanc...
Hydrogel Based delivery Cancer Treatment
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
Introduction to Effective Communication.pptx
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
Swiggy’s Playbook: UX, Logistics & Monetization
worship songs, in any order, compilation
The spiral of silence is a theory in communication and political science that...
Impressionism_PostImpressionism_Presentation.pptx
Instagram's Product Secrets Unveiled with this PPT

DocDokuPLM presentation - OW2Con 2015 Community Award winner

  • 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 ● ...