SlideShare a Scribd company logo
Project Providers
USING A RELEASE SERVER FROM LABVIEW
LUGE 2020.1
May 7th 2020
Agenda
 What are project providers ?
 Features overview
 Release Server
 Example : Release Server Project Provider
 Conclusion
2
About Me
Background & experience
Physics Engineer at INSA Toulouse (France)
8 years of LabVIEW experience
4 years of web experience
Software project manager & developer
Based in Grenoble
3
LabVIEW Project Providers
What are these ?
4
Overview
Main features
 Customize LabVIEW IDE
 Add new functionalities to existing project items
 Add new menu items
 Run custom functionality code
Some native items and menus in LabVIEW project window are project
providers (Build Specifications, Source Code Control… and third parties
GOOP, JKI, SEA…).
5
LabVIEW Window Menu
 File / Tools / Help
 Add items
 Multi-levels
 Show or hide items
 Enable or disable items
 Control items position
6
LabVIEW Window Menu 7
You have more control with project providers than with LabVIEW
resources directory.
LabVIEW Project Window Toolbar
 Add items
 Call your own VI on click
8
LabVIEW Project Item
 Create new item types
 Change icon
 Replace icon
 Add icon overlay
 Store properties
 Temporary
 Persistent
9
LabVIEW Project Item Menu
 Add items
 Multi-levels
 Show or hide items
 Enable or disable items
 Control items position
 Type filtering
10
Type filtering
Menus added to EXE But not to DLL
11
Triggers
 Items
 Init
 Double click
 Drag / drop
 OnPopup
 OnCommand
 …
 Project
 Opened
 Closed
 LabVIEW
 Startup
 Shutdown
12
Getting Started
 Few documents
 Examples:
 Secondary provider (2 examples)
 Primary provider (1 example)
 Shipped LabVIEW 9
<LabVIEW>resourceFrameworkProviders
13
Example
HOW TO USE A RELEASE SERVER FROM LABVIEW IDE ?
14
Release Server
 Centralize all production of binaries
(executables, setup, libraries…)
 Goals
 Reinstall / duplicate a system (manually or scripted)
 Outsourcing tests
 Traceability
 Continuous Delivery
 Several commercial solutions (Artifactory, Nexus…) or home made
15
16
v2.0 v1.1 v1.0
Testers
Product
Support
Quality
…Operations Management
Developers
Releases
Server
Releases
Use case
Need to release a new version of an executable
Process
 Edit code
 Change software version
 Compile
 ZIP generated files
 Rename ZIP file
 Connect to release server
 Navigate through folders
 Upload
 Reupload if failed
 Notify those affected by email
(people or server)
17
Use case
Risk of mistakes with repetitive tasks
Process
 Edit code
 Change software version
 Compile
 ZIP generated files
 Rename ZIP file
 Connect to release server
 Navigate through folders
 Upload
 Reupload if failed
 Notify those affected by email
(people or server)
18
Error risk
Use case
Waste of time for human being
Process
 Edit code
 Change software version
 Compile
 ZIP generated files
 Rename ZIP file
 Connect to release server
 Navigate through folders
 Upload
 Reupload if failed
 Notify those affected by email
(people or server)
19
Error risk
Lost time
Use case
Reduce manual tasks
Process Before
 Edit code
 Change software version
 Compile
 ZIP generated files
 Rename ZIP file
 Connect to release server
 Navigate through folders
 Upload
 Reupload if failed
 Notify those affected by email
(people or server)
Process After
 Edit code
 Change software version
 Compile
 Upload
20
Error risk
Lost time
Use case
Simplify & improve remaining manual tasks
Process Before
 Edit code
 Change software version
 Compile
 ZIP generated files
 Rename ZIP file
 Connect to release server
 Navigate through folders
 Upload
 Reupload if failed
 Notify those affected by email
(people or server)
Process After
 Edit code
 Change software version
 Compile
 Upload
21
Error risk
Lost time
Improved
Project Provider
Goal & expectations
Handle release server interaction directly from LabVIEW IDE and
automate most repetitive release steps.
 Avoid tools switching
 Spare time
 Limit human mistakes
 Deliver faster
 Increase deliveries granularity
 Do not rely on one server technology
22
Demonstration
NOT LIVE BUT STILL A DEMO OF THE PROJECT PROVIDER
23
Change version number
Change paradigm
 From version number…
 …To job kind
 Integrate company version
numbering policy into the provider
24
Software Bundles
 Group softwares as bundles before release
 Align softwares version quickly
25
Server Configuration
 GUI assistant
 Configure your server only once
 Or choose a preconfigured
frequently used server
 Each build specification can have
a separate configuration
26
Upload
2 clicks away from release
 Menu greyed if server not configured or EXE not built
 Loading window
 Error handling
27
28
Provider Configuration
Global settings:
 Configure once frequently used servers
 Configuration shared:
 Between LabVIEW projects
 Between EXE build specification
 Centralize authentication credentials
29
Hardware Abstraction Layer
Or rather Software Abstraction Layer
 Explorer (PC, USB key, network disk)
 WebDAV
 Amazon Web Services
 Artifactory
30
Plugins
 Add more release server communication types (ex : FTP)
 Customize business logic
 Files organization
 External notifications
 CI server
 Object oriented
 Configurable in GUI
 Scripting generation
31
Improvements
 Options
 Deploy as a ZIP (checkbox)
 Automatic upload if available
 Customizable storage logic
 Order by client
 Order by project
 Keep last N elements
 …
 Asynchronous upload
 Background upload
 Microsoft Windows notifications
 Plugin architecture
32
Other Provider Examples
Readme
Generate document with:
 LabVIEW version
 Internal dependencies
 External dependencies
 Automatic triggers
(LabVIEW shutdown)
Release Note
Generate document:
 Based on tag version
 Base on date range
 Multi-formats
 HTML
 TXT
 JSON
 Changelog
33
Disclaimer
Still better than nothing
 Not documented
 Not easy API
 VIs are password protected (hard debug)
 Slowdowns
 Not supported by NI
34
Links
LabVIEW group on NI forum
https://forums.ni.com/t5/LabVIEW-Project-Providers/gp-p/bymqyodmkc
Release Server Project Provider
Soon available on VI Package Manager
https://github.com/tweeto/Release-Project-Provider/Package/
Soon available on GitHub
https://github.com/tweeto/Release-Project-Provider
35
Questions 36
Stay in touch
After the meeting
Email
nicolas.bats@gmail.com
LinkedIn
https://www.linkedin.com/in/nicolasbats/
GitHub
https://github.com/tweeto
37
See you soon
Thank you for attending
38

More Related Content

What's hot

GitHub Workflows for Technical Communication
GitHub Workflows for Technical CommunicationGitHub Workflows for Technical Communication
GitHub Workflows for Technical Communication
STC-Philadelphia Metro Chapter
 
Intro to Git, GitHub, and BitBucket
Intro to Git, GitHub, and BitBucketIntro to Git, GitHub, and BitBucket
Difference between gitlab vs github vs bitbucket
Difference between gitlab vs github vs bitbucketDifference between gitlab vs github vs bitbucket
Difference between gitlab vs github vs bitbucket
Acodez IT Solutions
 
Introduction to Git and GitHub Part 2
Introduction to Git and GitHub Part 2Introduction to Git and GitHub Part 2
Introduction to Git and GitHub Part 2
Omar Fathy
 
Git hub visualstudiocode
Git hub visualstudiocodeGit hub visualstudiocode
Git hub visualstudiocode
Rolands Krumbergs
 
Github 101 An Adventurer's Guide To Open Source
Github 101   An Adventurer's Guide To Open SourceGithub 101   An Adventurer's Guide To Open Source
Github 101 An Adventurer's Guide To Open Source
Prachitibhukan
 
How we use Bitbucket to build Bitbucket
How we use Bitbucket to build BitbucketHow we use Bitbucket to build Bitbucket
How we use Bitbucket to build Bitbucket
Shunsuke (Sean) Osawa
 
Bitbucket
BitbucketBitbucket
Bitbucket
Okba Mahdjoub
 
Bitbucket and Git
Bitbucket and GitBitbucket and Git
Bitbucket and Git
Mohit Shukla
 
Building a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP appsBuilding a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP apps
Juan Manuel Torres
 
Identifying and solving enterprise problems
Identifying and solving enterprise problems  Identifying and solving enterprise problems
Identifying and solving enterprise problems
Vasu Jain
 
Building Enterprise Chat Bots
Building Enterprise Chat BotsBuilding Enterprise Chat Bots
Building Enterprise Chat Bots
Vasu Jain
 
Introduction to Github for Team Project
Introduction to Github for Team ProjectIntroduction to Github for Team Project
Introduction to Github for Team Project
Akhter Al Amin
 
xpages & dojo
xpages & dojoxpages & dojo
xpages & dojo
dominion
 
Git
GitGit
GitHub Actions: your free CI engine (and much more)
GitHub Actions: your free CI engine (and much more)GitHub Actions: your free CI engine (and much more)
GitHub Actions: your free CI engine (and much more)
Davide Benvegnù
 
Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development
Pantheon
 
GitHub
GitHubGitHub
GitHub
ThomasLai27
 
Python with dot net and vs2010
Python with dot net and vs2010Python with dot net and vs2010
Python with dot net and vs2010Wei Sun
 
Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1
Omar Fathy
 

What's hot (20)

GitHub Workflows for Technical Communication
GitHub Workflows for Technical CommunicationGitHub Workflows for Technical Communication
GitHub Workflows for Technical Communication
 
Intro to Git, GitHub, and BitBucket
Intro to Git, GitHub, and BitBucketIntro to Git, GitHub, and BitBucket
Intro to Git, GitHub, and BitBucket
 
Difference between gitlab vs github vs bitbucket
Difference between gitlab vs github vs bitbucketDifference between gitlab vs github vs bitbucket
Difference between gitlab vs github vs bitbucket
 
Introduction to Git and GitHub Part 2
Introduction to Git and GitHub Part 2Introduction to Git and GitHub Part 2
Introduction to Git and GitHub Part 2
 
Git hub visualstudiocode
Git hub visualstudiocodeGit hub visualstudiocode
Git hub visualstudiocode
 
Github 101 An Adventurer's Guide To Open Source
Github 101   An Adventurer's Guide To Open SourceGithub 101   An Adventurer's Guide To Open Source
Github 101 An Adventurer's Guide To Open Source
 
How we use Bitbucket to build Bitbucket
How we use Bitbucket to build BitbucketHow we use Bitbucket to build Bitbucket
How we use Bitbucket to build Bitbucket
 
Bitbucket
BitbucketBitbucket
Bitbucket
 
Bitbucket and Git
Bitbucket and GitBitbucket and Git
Bitbucket and Git
 
Building a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP appsBuilding a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP apps
 
Identifying and solving enterprise problems
Identifying and solving enterprise problems  Identifying and solving enterprise problems
Identifying and solving enterprise problems
 
Building Enterprise Chat Bots
Building Enterprise Chat BotsBuilding Enterprise Chat Bots
Building Enterprise Chat Bots
 
Introduction to Github for Team Project
Introduction to Github for Team ProjectIntroduction to Github for Team Project
Introduction to Github for Team Project
 
xpages & dojo
xpages & dojoxpages & dojo
xpages & dojo
 
Git
GitGit
Git
 
GitHub Actions: your free CI engine (and much more)
GitHub Actions: your free CI engine (and much more)GitHub Actions: your free CI engine (and much more)
GitHub Actions: your free CI engine (and much more)
 
Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development
 
GitHub
GitHubGitHub
GitHub
 
Python with dot net and vs2010
Python with dot net and vs2010Python with dot net and vs2010
Python with dot net and vs2010
 
Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1
 

Similar to Project Providers : Using a release server from LabVIEW

Exploring Visual Studio 2010
Exploring Visual Studio 2010Exploring Visual Studio 2010
Exploring Visual Studio 2010
Sven Vanoirbeek
 
Moving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETMoving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NET
V Sanchez
 
Frequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer ToolslFrequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer Toolsl
Sharan S
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
Liran Levy
 
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
Antonio Chagoury
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
Jasmine Conseil
 
2016 quali continuous testing quest for quality conference
2016 quali continuous testing quest for quality conference2016 quali continuous testing quest for quality conference
2016 quali continuous testing quest for quality conference
QualiQuali
 
Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approachAleksandr Tsertkov
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
Peter Bittner
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
Vincent Biret
 
Linq tools
Linq toolsLinq tools
Linq tools
Jim Wooley
 
Quality Built In @ Spotify
Quality Built In @ SpotifyQuality Built In @ Spotify
Quality Built In @ Spotify
Andrii Dzynia
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battle
Anand Ramdeo
 
Developing Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And ServicesDeveloping Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And Servicesrsnarayanan
 
Code camp 2015 visual programming mm
Code camp 2015 visual programming mmCode camp 2015 visual programming mm
Code camp 2015 visual programming mm
Mitch Miller
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension librarydominion
 
Write tests, please
Write tests, pleaseWrite tests, please
Write tests, please
Joan López de la Franca
 
Salesforce.com Continuous Integration
Salesforce.com Continuous IntegrationSalesforce.com Continuous Integration
Salesforce.com Continuous Integration
Right IT Services
 
SB Support System
SB Support SystemSB Support System
SB Support System
Rocket Software
 

Similar to Project Providers : Using a release server from LabVIEW (20)

Exploring Visual Studio 2010
Exploring Visual Studio 2010Exploring Visual Studio 2010
Exploring Visual Studio 2010
 
Moving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETMoving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NET
 
Frequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer ToolslFrequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer Toolsl
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
 
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
2016 quali continuous testing quest for quality conference
2016 quali continuous testing quest for quality conference2016 quali continuous testing quest for quality conference
2016 quali continuous testing quest for quality conference
 
Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approach
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
 
Linq tools
Linq toolsLinq tools
Linq tools
 
Quality Built In @ Spotify
Quality Built In @ SpotifyQuality Built In @ Spotify
Quality Built In @ Spotify
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battle
 
Developing Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And ServicesDeveloping Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And Services
 
Code camp 2015 visual programming mm
Code camp 2015 visual programming mmCode camp 2015 visual programming mm
Code camp 2015 visual programming mm
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension library
 
Write tests, please
Write tests, pleaseWrite tests, please
Write tests, please
 
Salesforce.com Continuous Integration
Salesforce.com Continuous IntegrationSalesforce.com Continuous Integration
Salesforce.com Continuous Integration
 
SB Support System
SB Support SystemSB Support System
SB Support System
 

Recently uploaded

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 

Recently uploaded (20)

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 

Project Providers : Using a release server from LabVIEW

  • 1. Project Providers USING A RELEASE SERVER FROM LABVIEW LUGE 2020.1 May 7th 2020
  • 2. Agenda  What are project providers ?  Features overview  Release Server  Example : Release Server Project Provider  Conclusion 2
  • 3. About Me Background & experience Physics Engineer at INSA Toulouse (France) 8 years of LabVIEW experience 4 years of web experience Software project manager & developer Based in Grenoble 3
  • 5. Overview Main features  Customize LabVIEW IDE  Add new functionalities to existing project items  Add new menu items  Run custom functionality code Some native items and menus in LabVIEW project window are project providers (Build Specifications, Source Code Control… and third parties GOOP, JKI, SEA…). 5
  • 6. LabVIEW Window Menu  File / Tools / Help  Add items  Multi-levels  Show or hide items  Enable or disable items  Control items position 6
  • 7. LabVIEW Window Menu 7 You have more control with project providers than with LabVIEW resources directory.
  • 8. LabVIEW Project Window Toolbar  Add items  Call your own VI on click 8
  • 9. LabVIEW Project Item  Create new item types  Change icon  Replace icon  Add icon overlay  Store properties  Temporary  Persistent 9
  • 10. LabVIEW Project Item Menu  Add items  Multi-levels  Show or hide items  Enable or disable items  Control items position  Type filtering 10
  • 11. Type filtering Menus added to EXE But not to DLL 11
  • 12. Triggers  Items  Init  Double click  Drag / drop  OnPopup  OnCommand  …  Project  Opened  Closed  LabVIEW  Startup  Shutdown 12
  • 13. Getting Started  Few documents  Examples:  Secondary provider (2 examples)  Primary provider (1 example)  Shipped LabVIEW 9 <LabVIEW>resourceFrameworkProviders 13
  • 14. Example HOW TO USE A RELEASE SERVER FROM LABVIEW IDE ? 14
  • 15. Release Server  Centralize all production of binaries (executables, setup, libraries…)  Goals  Reinstall / duplicate a system (manually or scripted)  Outsourcing tests  Traceability  Continuous Delivery  Several commercial solutions (Artifactory, Nexus…) or home made 15
  • 16. 16 v2.0 v1.1 v1.0 Testers Product Support Quality …Operations Management Developers Releases Server Releases
  • 17. Use case Need to release a new version of an executable Process  Edit code  Change software version  Compile  ZIP generated files  Rename ZIP file  Connect to release server  Navigate through folders  Upload  Reupload if failed  Notify those affected by email (people or server) 17
  • 18. Use case Risk of mistakes with repetitive tasks Process  Edit code  Change software version  Compile  ZIP generated files  Rename ZIP file  Connect to release server  Navigate through folders  Upload  Reupload if failed  Notify those affected by email (people or server) 18 Error risk
  • 19. Use case Waste of time for human being Process  Edit code  Change software version  Compile  ZIP generated files  Rename ZIP file  Connect to release server  Navigate through folders  Upload  Reupload if failed  Notify those affected by email (people or server) 19 Error risk Lost time
  • 20. Use case Reduce manual tasks Process Before  Edit code  Change software version  Compile  ZIP generated files  Rename ZIP file  Connect to release server  Navigate through folders  Upload  Reupload if failed  Notify those affected by email (people or server) Process After  Edit code  Change software version  Compile  Upload 20 Error risk Lost time
  • 21. Use case Simplify & improve remaining manual tasks Process Before  Edit code  Change software version  Compile  ZIP generated files  Rename ZIP file  Connect to release server  Navigate through folders  Upload  Reupload if failed  Notify those affected by email (people or server) Process After  Edit code  Change software version  Compile  Upload 21 Error risk Lost time Improved
  • 22. Project Provider Goal & expectations Handle release server interaction directly from LabVIEW IDE and automate most repetitive release steps.  Avoid tools switching  Spare time  Limit human mistakes  Deliver faster  Increase deliveries granularity  Do not rely on one server technology 22
  • 23. Demonstration NOT LIVE BUT STILL A DEMO OF THE PROJECT PROVIDER 23
  • 24. Change version number Change paradigm  From version number…  …To job kind  Integrate company version numbering policy into the provider 24
  • 25. Software Bundles  Group softwares as bundles before release  Align softwares version quickly 25
  • 26. Server Configuration  GUI assistant  Configure your server only once  Or choose a preconfigured frequently used server  Each build specification can have a separate configuration 26
  • 27. Upload 2 clicks away from release  Menu greyed if server not configured or EXE not built  Loading window  Error handling 27
  • 28. 28
  • 29. Provider Configuration Global settings:  Configure once frequently used servers  Configuration shared:  Between LabVIEW projects  Between EXE build specification  Centralize authentication credentials 29
  • 30. Hardware Abstraction Layer Or rather Software Abstraction Layer  Explorer (PC, USB key, network disk)  WebDAV  Amazon Web Services  Artifactory 30
  • 31. Plugins  Add more release server communication types (ex : FTP)  Customize business logic  Files organization  External notifications  CI server  Object oriented  Configurable in GUI  Scripting generation 31
  • 32. Improvements  Options  Deploy as a ZIP (checkbox)  Automatic upload if available  Customizable storage logic  Order by client  Order by project  Keep last N elements  …  Asynchronous upload  Background upload  Microsoft Windows notifications  Plugin architecture 32
  • 33. Other Provider Examples Readme Generate document with:  LabVIEW version  Internal dependencies  External dependencies  Automatic triggers (LabVIEW shutdown) Release Note Generate document:  Based on tag version  Base on date range  Multi-formats  HTML  TXT  JSON  Changelog 33
  • 34. Disclaimer Still better than nothing  Not documented  Not easy API  VIs are password protected (hard debug)  Slowdowns  Not supported by NI 34
  • 35. Links LabVIEW group on NI forum https://forums.ni.com/t5/LabVIEW-Project-Providers/gp-p/bymqyodmkc Release Server Project Provider Soon available on VI Package Manager https://github.com/tweeto/Release-Project-Provider/Package/ Soon available on GitHub https://github.com/tweeto/Release-Project-Provider 35
  • 37. Stay in touch After the meeting Email nicolas.bats@gmail.com LinkedIn https://www.linkedin.com/in/nicolasbats/ GitHub https://github.com/tweeto 37
  • 38. See you soon Thank you for attending 38