SlideShare a Scribd company logo
1 of 32
Simplifying Update and Extension Install for RCP applications Susan McCourt (IBM Rational), Steffen Pingel (Tasktop Technologies)
Simplifying RCP Update and Install ,[object Object]
What are we doing about it?
How do p2 and p2/Mylyn Discovery fit together?
Examples and Demos
RCP Install/Update in 3.5 ,[object Object]
Configurable policy to control aspects of UI
Building blocks (wizards, pages, viewers, etc.) to customize the experience ,[object Object],[object Object]
Plug-in developers, update site producers, end users
Product branding has not been critical path ,[object Object]
RCP Developers' Reaction to 3.5 ,[object Object]
p2 API is too complex
Critical pieces (branding) are missing
Customization examples aren't enough/aren't hitting the right use cases ,[object Object]
When a product supports add-ons, our users expect the Firefox Install experience
Deliverables in 3.6 ,[object Object]
Refactor the 80% case out of the UI code ,[object Object],[object Object]
Move Mylyn Discovery to p2 ,[object Object]
'Install New Software...' is still the default to support plug-in developer use cases
API:  R3.5 Headless Update
API:  R3.6 Headless Update
API:  Branding Metadata ,[object Object]
Discovery can happen in different ways ,[object Object]
Aggregators design catalogs (rankings, search, tags, ...)
Different restrictions in different deployments ,[object Object],[object Object]
Update notifications
RCP Mail Update Example Snapshot of demo, give demo
RCP Example: Good ol' RCP Code Snapshot of demo, give demo Need a status line and progress indicator public void preWindowOpen() { IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); configurer.setInitialSize(new Point(600, 400)); configurer.setShowCoolBar(true); configurer.setShowStatusLine(true); configurer.setShowProgressIndicator(true); } Define menus and locations for additions protected void fillMenuBar(IMenuManager menuBar) { ... MenuManager toolsMenu = new MenuManager("&Tools", M_TOOLS);  toolsMenu.add(preferencesAction); toolsMenu.add(new Separator()); toolsMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); }
RCP Example: Menu Snapshot of demo, give demo Contribute the menu <extension point=&quot;org.eclipse.ui.menus&quot;> <menuContribution locationURI=&quot;menu:tools?after=additions&quot; > <command commandId= &quot;org.eclipse.equinox.p2.examples.rcp.cloud.command.update&quot; mnemonic=&quot;%Update.command.mnemonic&quot; id=&quot;org.eclipse.equinox.p2.examples.rcp.cloud.menu.update&quot;> </command>  </menuContribution> </extension>
RCP Example: Update Command Snapshot of demo, give demo Contribute the command and handler <extension point=&quot;org.eclipse.ui.commands&quot;> <command name=&quot;%Update.command&quot; id=&quot;org.eclipse.equinox.p2.examples.rcp.cloud.command.update&quot;> </command> </extension> <extension point=&quot;org.eclipse.ui.handlers&quot;> <handler commandId=&quot;org.eclipse.equinox.p2.examples.rcp.cloud.command.update&quot; class=&quot;org.eclipse.equinox.p2.examples.rcp.cloud.p2.UpdateHandler&quot;> </handler> </extension>
RCP Self-Update in 3.5 ,[object Object]
RCP Example: Update Code Snapshot of demo, give demo The update code // create the update operation.  The defaults are fine. UpdateOperation operation =  getProvisioningUI().getUpdateOperation( null ,  null ); // check for updates  operation.resolveModal( null ); if (UpdateSingleIUWizard. validFor (operation)) { // Special case for only updating a single root UpdateSingleIUWizard wizard = new UpdateSingleIUWizard(getProvisioningUI(), operation); WizardDialog dialog =  new  WizardDialog(getShell(), wizard); dialog.create(); dialog.open(); } else { // Open the normal version of the update wizard  getProvisioningUI().openUpdateWizard( false , operation, null); }

More Related Content

What's hot

Apache Cordova In Action
Apache Cordova In ActionApache Cordova In Action
Apache Cordova In ActionHazem Saleh
 
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache CordovaHazem Saleh
 
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual StudioFive Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studioreadwritehack
 
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...irbull
 
SAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous IntegrationSAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous IntegrationPeter Muessig
 
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache CordovaHazem Saleh
 
[Devoxx Morocco 2015] Apache Cordova In Action
[Devoxx Morocco 2015] Apache Cordova In Action[Devoxx Morocco 2015] Apache Cordova In Action
[Devoxx Morocco 2015] Apache Cordova In ActionHazem Saleh
 
Deployingmuleapplications 160903085602
Deployingmuleapplications 160903085602Deployingmuleapplications 160903085602
Deployingmuleapplications 160903085602ppts123456
 
Laravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionLaravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionJoe Ferguson
 
Indianapolis_meetup_April-1st-2022.pptx
Indianapolis_meetup_April-1st-2022.pptxIndianapolis_meetup_April-1st-2022.pptx
Indianapolis_meetup_April-1st-2022.pptxikram_ahamed
 
Tech talks (Automation on Selenium Web Driver. How to begin & implement)
Tech talks (Automation on Selenium Web Driver. How to begin & implement)Tech talks (Automation on Selenium Web Driver. How to begin & implement)
Tech talks (Automation on Selenium Web Driver. How to begin & implement)Taras Lytvyn
 
Performance Testing REST APIs
Performance Testing REST APIsPerformance Testing REST APIs
Performance Testing REST APIsJason Weden
 
Paragon New and Old Comparassion
Paragon New and Old ComparassionParagon New and Old Comparassion
Paragon New and Old ComparassionMark Flavin
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using SeleniumNaresh Chintalcheru
 
UI5con 2017 - UI5 Components - More Performance...
UI5con 2017 - UI5 Components - More Performance...UI5con 2017 - UI5 Components - More Performance...
UI5con 2017 - UI5 Components - More Performance...Peter Muessig
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrumSyam Sasi
 
Building an Eclipse plugin to recommend changes to developers
Building an Eclipse plugin to recommend changes to developersBuilding an Eclipse plugin to recommend changes to developers
Building an Eclipse plugin to recommend changes to developerskim.mens
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformTonny Madsen
 

What's hot (20)

Eclipse - Single Source;Three Runtimes
Eclipse - Single Source;Three RuntimesEclipse - Single Source;Three Runtimes
Eclipse - Single Source;Three Runtimes
 
Apache Cordova In Action
Apache Cordova In ActionApache Cordova In Action
Apache Cordova In Action
 
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
 
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual StudioFive Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
 
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...
 
SAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous IntegrationSAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous Integration
 
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
 
[Devoxx Morocco 2015] Apache Cordova In Action
[Devoxx Morocco 2015] Apache Cordova In Action[Devoxx Morocco 2015] Apache Cordova In Action
[Devoxx Morocco 2015] Apache Cordova In Action
 
Deployingmuleapplications 160903085602
Deployingmuleapplications 160903085602Deployingmuleapplications 160903085602
Deployingmuleapplications 160903085602
 
Laravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionLaravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello Production
 
Appium solution
Appium solutionAppium solution
Appium solution
 
Indianapolis_meetup_April-1st-2022.pptx
Indianapolis_meetup_April-1st-2022.pptxIndianapolis_meetup_April-1st-2022.pptx
Indianapolis_meetup_April-1st-2022.pptx
 
Tech talks (Automation on Selenium Web Driver. How to begin & implement)
Tech talks (Automation on Selenium Web Driver. How to begin & implement)Tech talks (Automation on Selenium Web Driver. How to begin & implement)
Tech talks (Automation on Selenium Web Driver. How to begin & implement)
 
Performance Testing REST APIs
Performance Testing REST APIsPerformance Testing REST APIs
Performance Testing REST APIs
 
Paragon New and Old Comparassion
Paragon New and Old ComparassionParagon New and Old Comparassion
Paragon New and Old Comparassion
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
 
UI5con 2017 - UI5 Components - More Performance...
UI5con 2017 - UI5 Components - More Performance...UI5con 2017 - UI5 Components - More Performance...
UI5con 2017 - UI5 Components - More Performance...
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrum
 
Building an Eclipse plugin to recommend changes to developers
Building an Eclipse plugin to recommend changes to developersBuilding an Eclipse plugin to recommend changes to developers
Building an Eclipse plugin to recommend changes to developers
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
 

Similar to Simplifying RCP Update and Install

Understanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profitUnderstanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profitPascal Rapicault
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview Lars Vogel
 
Rewriting a Plugin Architecture 3 Times to Harness the API Economy
Rewriting a Plugin Architecture 3 Times to Harness the API EconomyRewriting a Plugin Architecture 3 Times to Harness the API Economy
Rewriting a Plugin Architecture 3 Times to Harness the API EconomyTim Pettersen
 
Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4 Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4 Lars Vogel
 
"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07KetanPadegaonkar
 
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...Paul Jensen
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Florent BENOIT
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationArnaud Héritier
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps ParadigmNaLUG
 
Meetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdfMeetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdfLuca Mattia Ferrari
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsAndreas Grabner
 
Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...
Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...
Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...Dave Bost
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Mikkel Flindt Heisterberg
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Mack Hardy
 

Similar to Simplifying RCP Update and Install (20)

Understanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profitUnderstanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profit
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview
 
Rewriting a Plugin Architecture 3 Times to Harness the API Economy
Rewriting a Plugin Architecture 3 Times to Harness the API EconomyRewriting a Plugin Architecture 3 Times to Harness the API Economy
Rewriting a Plugin Architecture 3 Times to Harness the API Economy
 
Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4 Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4
 
"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07
 
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentation
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Meetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdfMeetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdf
 
Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
 
Spring boot
Spring bootSpring boot
Spring boot
 
Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...
Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...
Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 

Recently uploaded

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Recently uploaded (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

Simplifying RCP Update and Install

  • 1. Simplifying Update and Extension Install for RCP applications Susan McCourt (IBM Rational), Steffen Pingel (Tasktop Technologies)
  • 2.
  • 3. What are we doing about it?
  • 4. How do p2 and p2/Mylyn Discovery fit together?
  • 6.
  • 7. Configurable policy to control aspects of UI
  • 8.
  • 9. Plug-in developers, update site producers, end users
  • 10.
  • 11.
  • 12. p2 API is too complex
  • 14.
  • 15. When a product supports add-ons, our users expect the Firefox Install experience
  • 16.
  • 17.
  • 18.
  • 19. 'Install New Software...' is still the default to support plug-in developer use cases
  • 20. API: R3.5 Headless Update
  • 21. API: R3.6 Headless Update
  • 22.
  • 23.
  • 24. Aggregators design catalogs (rankings, search, tags, ...)
  • 25.
  • 27. RCP Mail Update Example Snapshot of demo, give demo
  • 28. RCP Example: Good ol' RCP Code Snapshot of demo, give demo Need a status line and progress indicator public void preWindowOpen() { IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); configurer.setInitialSize(new Point(600, 400)); configurer.setShowCoolBar(true); configurer.setShowStatusLine(true); configurer.setShowProgressIndicator(true); } Define menus and locations for additions protected void fillMenuBar(IMenuManager menuBar) { ... MenuManager toolsMenu = new MenuManager(&quot;&Tools&quot;, M_TOOLS); toolsMenu.add(preferencesAction); toolsMenu.add(new Separator()); toolsMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); }
  • 29. RCP Example: Menu Snapshot of demo, give demo Contribute the menu <extension point=&quot;org.eclipse.ui.menus&quot;> <menuContribution locationURI=&quot;menu:tools?after=additions&quot; > <command commandId= &quot;org.eclipse.equinox.p2.examples.rcp.cloud.command.update&quot; mnemonic=&quot;%Update.command.mnemonic&quot; id=&quot;org.eclipse.equinox.p2.examples.rcp.cloud.menu.update&quot;> </command> </menuContribution> </extension>
  • 30. RCP Example: Update Command Snapshot of demo, give demo Contribute the command and handler <extension point=&quot;org.eclipse.ui.commands&quot;> <command name=&quot;%Update.command&quot; id=&quot;org.eclipse.equinox.p2.examples.rcp.cloud.command.update&quot;> </command> </extension> <extension point=&quot;org.eclipse.ui.handlers&quot;> <handler commandId=&quot;org.eclipse.equinox.p2.examples.rcp.cloud.command.update&quot; class=&quot;org.eclipse.equinox.p2.examples.rcp.cloud.p2.UpdateHandler&quot;> </handler> </extension>
  • 31.
  • 32. RCP Example: Update Code Snapshot of demo, give demo The update code // create the update operation. The defaults are fine. UpdateOperation operation = getProvisioningUI().getUpdateOperation( null , null ); // check for updates operation.resolveModal( null ); if (UpdateSingleIUWizard. validFor (operation)) { // Special case for only updating a single root UpdateSingleIUWizard wizard = new UpdateSingleIUWizard(getProvisioningUI(), operation); WizardDialog dialog = new WizardDialog(getShell(), wizard); dialog.create(); dialog.open(); } else { // Open the normal version of the update wizard getProvisioningUI().openUpdateWizard( false , operation, null); }
  • 33. RCP Example: Branding Metadata Snapshot of demo, give demo Define a document suitable for displaying in a browser that describes your update. Refer to it in the metadata. <unit id=&quot;org.eclipse.equinox.p2.examples.rcp.cloud.product&quot; version=&quot;2.0.0.z201003162033&quot;> <update id=&quot;org.eclipse.equinox.p2.examples.rcp.cloud.product&quot; description=&quot;This update contains Mylyn Discovery!&quot; range=&quot;0.0.0&quot; severity=&quot;0&quot; uri=&quot;file:/C:/_projects/eclipsecon2010/updatenotification.png&quot; />
  • 34.
  • 35.
  • 36.
  • 39.
  • 40.
  • 41. The default p2 installer is geared towards advanced users
  • 43.
  • 44. Install embedded into regular workflow
  • 45. Support for product information
  • 47.
  • 48. Front-end for branded extension catalogs
  • 49.
  • 50.
  • 51.
  • 53. SpringSource Tool Suite extensions page
  • 55. Remote Catalogs http://.../directory.xml http://eclipse.../catalog.jar http://tasktop.../catalog.jar
  • 58.
  • 60.
  • 61.
  • 62. Integrate discovery with P2 license and install wizard
  • 63. P2 Project http://wiki.eclipse.org/Equinox_p2_User_Interface http://wiki.eclipse.org/Equinox/p2/Discovery Mylyn Discovery http://wiki.eclipse.org/Mylyn/Discovery Marketplace Client http://eclipse.org/mpc Questions?

Editor's Notes

  1. Tasktop: the Task-Focused Desktop
  2. Mylyn: a Task Focused UI for Eclipse
  3. Mylyn: a Task Focused UI for Eclipse
  4. Mylyn: a Task Focused UI for Eclipse
  5. Mylyn: a Task Focused UI for Eclipse
  6. Mylyn: a Task Focused UI for Eclipse
  7. Mylyn: a Task Focused UI for Eclipse
  8. Mylyn: a Task Focused UI for Eclipse
  9. Mylyn: a Task Focused UI for Eclipse
  10. Mylyn: a Task Focused UI for Eclipse
  11. Mylyn: a Task Focused UI for Eclipse
  12. Mylyn: a Task Focused UI for Eclipse
  13. Mylyn: a Task Focused UI for Eclipse
  14. Mylyn: a Task Focused UI for Eclipse
  15. Mylyn: a Task Focused UI for Eclipse
  16. Mylyn: a Task Focused UI for Eclipse
  17. Mylyn: a Task Focused UI for Eclipse
  18. Mylar: a Task Focused UI for Eclipse
  19. Mylyn is a task-focused interface for Eclipse that integrates task and bug tracking systems by making tasks a first class part of the IDE Connectors are needed to connect to different types of repositories such as Bugzilla or JIRA Ecosystem has grown from a handful connectors to 45
  20. Go back to years to Ganymede Mylyn is part of most EPP distributions but only Bugzilla is included by default
  21. Firefox extension install was the model for the workflow User should not be concerned with technical details of install No configuration of p2 repositories Branding Hosting of listing on the server
  22. Amazing provisioning system available in Eclipse Ganymede shipped in June 2009 with Mylyn 3.2 and discovery Learned that there was a demand for extension install Adopted by Subversive and SpringSource Tool Suite Modelling package reduced size from 400 MB to 250 MB in Helios M6 using discovery Three different ways to use discovery
  23. There is not always a need for a separate catalog and meta-data discovery if app has extensions No frills p2 UI Branding (icons) planned for M7
  24. No need for users to know repository urls Harder to verify Based on extension point Entries can come from extension point registry or bundle
  25. 1. Download directory that points to bundles hard coded in client 2. Download bundles to parse extensions 3. Extentensions points to p2 repositories and IUs &gt; Demo
  26. This is what&apos;s needed to integrate discovery
  27. This is what&apos;s needed to integrate discovery
  28. Tasktop Training &gt; Demo Mylyn: a Task Focused UI for Eclipse
  29. Tasktop Training Integrate P2 wizards with Discovery Merge with p2 UIs? Drive needs by community demands Mylyn: a Task Focused UI for Eclipse
  30. Mylar: a Task Focused UI for Eclipse