SlideShare une entreprise Scribd logo
Getting Eclipse
Preferences Under
 Control In Teams




        Michael Pellaton
  michael.pellaton@netcetera.ch
 EclipseCon 2011 - Santa Clara, CA
README
Whoami
Michael Pellaton <michael.pellaton@netcetera.ch>
Senior Software Engineer at Netcetera Zürich, CH

Files
https://contrails.ch/econ2011

Disclaimer
The speaker is the maintainer of the Eclipse Team
Etceteras project and might therefore be biased.

Legal
Eclipse Public License v1.0.
Preferences in Teams
                    compiler option A
                     green code font
                         cvs -ko

                         show whitespace
                       compiler options A+B
                           ISO-8859-1

       cvs -kkv
        UTF-8
      folding off
Preferences in Teams
                    compiler option A
                     green code font
                         cvs -ko

                         show whitespace
                       compiler options A+B
                           ISO-8859-1

       cvs -kkv
        UTF-8
      folding off
Eclipse Configuration Everywhere
Eclipse distribution    Equinox Secure Storage
eclipse                 $home/.eclipse
 |- eclipse.ini
                        Preferences
 |- configuration
    |- config.ini       $workspace
    |- …                 |- ./metadata/…
                         |- $project/.settings/…

Runtime options
eclipse -data … -vm … -vmargs …
Eclipse Configuration Everywhere
Eclipse distribution    Equinox Secure Storage
eclipse                 $home/.eclipse
 |- eclipse.ini
                        Preferences
 |- configuration
    |- config.ini       $workspace
    |- …                 |- ./metadata/…
                         |- $project/.settings/…

Runtime options
eclipse -data … -vm … -vmargs …


  This talk is about preferences only!
Basic Configuration Approach


Configure as much as possible on
project level and ‘somehow’ manage
the configurations that can’t be put
into the project.

Let’s have a look at how ‘somehow’
could be...
The Wiki Way
  Your Favourite Web Browser

Project Foo: Dev Env Set-up Howto
[ ] Preferences: Hit [cmd]+[,]
  [   ] Set ‘General > Workspace > Encoding:’ to ‘UTF-8’
  [   ] Enable ‘Java > JUnit > Add ‘-ea’ to VM…’
  [   ] Set ‘Java > FindBugs > effort’ to ‘maximum’
  [   ] Set ‘Team > CVS > Default Text Mode’ to ‘-kkvl’
[ ] Add the following CVS repositories:
  [ ] :pserver:username@cvs.foo.org:/path/to/repo
  [ ] :pserver:username@cvs.company.com:/cvs/repo
[ ] Select all projects. Then “Project > Clean…”
[ ] Lucky guy - you’re done :-)
The EPF Way
Shared Eclipse Preference File (EPF)
Let users import the EPF manually
using the import wizard
Eclipse Team Etceteras

Automatic and manual EPF import
over HTTP
Preference transfer between
workspaces
Workspace Mechanic

Task oriented configuration engine
A task can be
• a Java class
• a Groovy script
• an EPF file
• a Plug-in (extension point)
Frequent checks
File system based
Bug 334016

Automatic EPF import over HTTP
Preference lock-down and
enforcement capability
Feature Comparison

                     ETE   Ws Mech   334016

EPF imp. over HTTP   ✔       (✔)       ✔
More than EPF                ✔
Change Detection             ✔         ✔
Pref. Enforcement                      ✔
Pref. Lock-down                        ✔
Admin Tool Support   (✔)     ✔         ✔
On Marketplace        ✔
When to Use Which?

If EPF import over HTTP is all you
need: Use ETE
Iy you need more complex stuff than
EPF imports: Use Workspace
Mechanic
If you need preference lock-down and
enforcement: Use Bug 334016
ETE Demo
            Eclipse File Edit Navigate Search Project Run Window Help
Pleas to Plug-in Developers
Use Eclipse Preferences.
If you invent an own configuration
storage, please
• provide import/export functions and API
• and a preference transfer.
Make as much configuration as
possible available on project level.
Questions

            ?
Links and Resources
Presentation and other Resources
 https://contrails.ch/econ2011

Discussed Projects
 Eclipse Team Etceteras
 Workspace Mechanic
 Bug 334016

Eclipse Configuration and Preferences Resources
 User Settings: FAQ
 Eclipse Wiki: Eclipse.ini
 Eclipse Help: Provisioning Actions and Touchpoints
 Eclipse Help: The Eclipse runtime options
 Eclipse Preferences - Tutorial (by Lars Vogel)
 Eclipse Help: Equinox Secure Storage
 Extension Point Description: Preference Transfer

Contenu connexe

Tendances

Get On The Audiobus (CocoaConf Atlanta, November 2013)
Get On The Audiobus (CocoaConf Atlanta, November 2013)Get On The Audiobus (CocoaConf Atlanta, November 2013)
Get On The Audiobus (CocoaConf Atlanta, November 2013)Chris Adamson
 
Stupid Video Tricks, CocoaConf Las Vegas
Stupid Video Tricks, CocoaConf Las VegasStupid Video Tricks, CocoaConf Las Vegas
Stupid Video Tricks, CocoaConf Las VegasChris Adamson
 
Composing and Editing Media with AV Foundation
Composing and Editing Media with AV FoundationComposing and Editing Media with AV Foundation
Composing and Editing Media with AV FoundationBob McCune
 
Creating Perl modules with Dist::Zilla
Creating Perl modules with Dist::ZillaCreating Perl modules with Dist::Zilla
Creating Perl modules with Dist::ZillaMark Gardner
 
KKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - DolphinKKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - DolphinLiyao Chen
 
Cobbler Summit - Automated Xen VM Deployment
Cobbler Summit - Automated Xen VM DeploymentCobbler Summit - Automated Xen VM Deployment
Cobbler Summit - Automated Xen VM DeploymentAbhishek Singh
 
Introduction to the Roku SDK
Introduction to the Roku SDKIntroduction to the Roku SDK
Introduction to the Roku SDKChris Adamson
 
Get On The Audiobus (CocoaConf Boston, October 2013)
Get On The Audiobus (CocoaConf Boston, October 2013)Get On The Audiobus (CocoaConf Boston, October 2013)
Get On The Audiobus (CocoaConf Boston, October 2013)Chris Adamson
 
iOS Media APIs (MobiDevDay Detroit, May 2013)
iOS Media APIs (MobiDevDay Detroit, May 2013)iOS Media APIs (MobiDevDay Detroit, May 2013)
iOS Media APIs (MobiDevDay Detroit, May 2013)Chris Adamson
 
Building Modern Audio Apps with AVAudioEngine
Building Modern Audio Apps with AVAudioEngineBuilding Modern Audio Apps with AVAudioEngine
Building Modern Audio Apps with AVAudioEngineBob McCune
 
Master Video with AV Foundation
Master Video with AV FoundationMaster Video with AV Foundation
Master Video with AV FoundationBob McCune
 
Cloud meets Fog & Puppet A Story of Version Controlled Infrastructure
Cloud meets Fog & Puppet A Story of Version Controlled InfrastructureCloud meets Fog & Puppet A Story of Version Controlled Infrastructure
Cloud meets Fog & Puppet A Story of Version Controlled InfrastructureHabeeb Rahman
 
Web development automatisation for fun and profit (Artem Daniliants)
Web development automatisation for fun and profit (Artem Daniliants)Web development automatisation for fun and profit (Artem Daniliants)
Web development automatisation for fun and profit (Artem Daniliants)LumoSpark
 
Introduction to AV Foundation
Introduction to AV FoundationIntroduction to AV Foundation
Introduction to AV FoundationChris Adamson
 
OpenSource Hardware -Debian Way
OpenSource Hardware -Debian WayOpenSource Hardware -Debian Way
OpenSource Hardware -Debian WaySiji Sunny
 
Mastering Media with AV Foundation
Mastering Media with AV FoundationMastering Media with AV Foundation
Mastering Media with AV FoundationChris Adamson
 
Ottawa unity user_group_feb13_2015
Ottawa unity user_group_feb13_2015Ottawa unity user_group_feb13_2015
Ottawa unity user_group_feb13_2015Karman Interactive
 

Tendances (20)

Get On The Audiobus (CocoaConf Atlanta, November 2013)
Get On The Audiobus (CocoaConf Atlanta, November 2013)Get On The Audiobus (CocoaConf Atlanta, November 2013)
Get On The Audiobus (CocoaConf Atlanta, November 2013)
 
Automated Backporting of Linux Drivers
Automated Backporting of Linux DriversAutomated Backporting of Linux Drivers
Automated Backporting of Linux Drivers
 
Stupid Video Tricks, CocoaConf Las Vegas
Stupid Video Tricks, CocoaConf Las VegasStupid Video Tricks, CocoaConf Las Vegas
Stupid Video Tricks, CocoaConf Las Vegas
 
Stupid Video Tricks
Stupid Video TricksStupid Video Tricks
Stupid Video Tricks
 
Composing and Editing Media with AV Foundation
Composing and Editing Media with AV FoundationComposing and Editing Media with AV Foundation
Composing and Editing Media with AV Foundation
 
Creating Perl modules with Dist::Zilla
Creating Perl modules with Dist::ZillaCreating Perl modules with Dist::Zilla
Creating Perl modules with Dist::Zilla
 
KKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - DolphinKKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - Dolphin
 
Cobbler Summit - Automated Xen VM Deployment
Cobbler Summit - Automated Xen VM DeploymentCobbler Summit - Automated Xen VM Deployment
Cobbler Summit - Automated Xen VM Deployment
 
Introduction to the Roku SDK
Introduction to the Roku SDKIntroduction to the Roku SDK
Introduction to the Roku SDK
 
Terraform
TerraformTerraform
Terraform
 
Get On The Audiobus (CocoaConf Boston, October 2013)
Get On The Audiobus (CocoaConf Boston, October 2013)Get On The Audiobus (CocoaConf Boston, October 2013)
Get On The Audiobus (CocoaConf Boston, October 2013)
 
iOS Media APIs (MobiDevDay Detroit, May 2013)
iOS Media APIs (MobiDevDay Detroit, May 2013)iOS Media APIs (MobiDevDay Detroit, May 2013)
iOS Media APIs (MobiDevDay Detroit, May 2013)
 
Building Modern Audio Apps with AVAudioEngine
Building Modern Audio Apps with AVAudioEngineBuilding Modern Audio Apps with AVAudioEngine
Building Modern Audio Apps with AVAudioEngine
 
Master Video with AV Foundation
Master Video with AV FoundationMaster Video with AV Foundation
Master Video with AV Foundation
 
Cloud meets Fog & Puppet A Story of Version Controlled Infrastructure
Cloud meets Fog & Puppet A Story of Version Controlled InfrastructureCloud meets Fog & Puppet A Story of Version Controlled Infrastructure
Cloud meets Fog & Puppet A Story of Version Controlled Infrastructure
 
Web development automatisation for fun and profit (Artem Daniliants)
Web development automatisation for fun and profit (Artem Daniliants)Web development automatisation for fun and profit (Artem Daniliants)
Web development automatisation for fun and profit (Artem Daniliants)
 
Introduction to AV Foundation
Introduction to AV FoundationIntroduction to AV Foundation
Introduction to AV Foundation
 
OpenSource Hardware -Debian Way
OpenSource Hardware -Debian WayOpenSource Hardware -Debian Way
OpenSource Hardware -Debian Way
 
Mastering Media with AV Foundation
Mastering Media with AV FoundationMastering Media with AV Foundation
Mastering Media with AV Foundation
 
Ottawa unity user_group_feb13_2015
Ottawa unity user_group_feb13_2015Ottawa unity user_group_feb13_2015
Ottawa unity user_group_feb13_2015
 

Similaire à Managing Eclipse Preferences for Teams (EclipseCon 2011)

Getting Started With CFEngine - Updated Version
Getting Started With CFEngine - Updated VersionGetting Started With CFEngine - Updated Version
Getting Started With CFEngine - Updated VersionCFEngine
 
Devoxx UK 2018 - A cloud application journey with helm and kubernetes
Devoxx UK 2018 - A cloud application journey with helm and kubernetesDevoxx UK 2018 - A cloud application journey with helm and kubernetes
Devoxx UK 2018 - A cloud application journey with helm and kubernetesAna-Maria Mihalceanu
 
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...Amazon Web Services
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java binOlve Hansen
 
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)Bastian Feder
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Arun prasath
 
Learn you some Ansible for great good!
Learn you some Ansible for great good!Learn you some Ansible for great good!
Learn you some Ansible for great good!David Lapsley
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile InfrastructuresAntons Kranga
 
Integrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell TechnologiesIntegrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell TechnologiesNovell
 
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)Jonathan Clarke
 
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)RUDDER
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Fabrice Bernhard
 
Going All-In With Go For CLI Apps
Going All-In With Go For CLI AppsGoing All-In With Go For CLI Apps
Going All-In With Go For CLI AppsTom Elliott
 
Getting started with CFEngine - Webinar
Getting started with CFEngine - WebinarGetting started with CFEngine - Webinar
Getting started with CFEngine - WebinarCFEngine
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShellBoulos Dib
 
Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Alex S
 
Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015Alex S
 

Similaire à Managing Eclipse Preferences for Teams (EclipseCon 2011) (20)

Getting Started With CFEngine - Updated Version
Getting Started With CFEngine - Updated VersionGetting Started With CFEngine - Updated Version
Getting Started With CFEngine - Updated Version
 
Erlang on OSv
Erlang on OSvErlang on OSv
Erlang on OSv
 
Devoxx UK 2018 - A cloud application journey with helm and kubernetes
Devoxx UK 2018 - A cloud application journey with helm and kubernetesDevoxx UK 2018 - A cloud application journey with helm and kubernetes
Devoxx UK 2018 - A cloud application journey with helm and kubernetes
 
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
 
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Learn you some Ansible for great good!
Learn you some Ansible for great good!Learn you some Ansible for great good!
Learn you some Ansible for great good!
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile Infrastructures
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
 
Integrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell TechnologiesIntegrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell Technologies
 
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
 
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
 
Going All-In With Go For CLI Apps
Going All-In With Go For CLI AppsGoing All-In With Go For CLI Apps
Going All-In With Go For CLI Apps
 
Getting started with CFEngine - Webinar
Getting started with CFEngine - WebinarGetting started with CFEngine - Webinar
Getting started with CFEngine - Webinar
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
 
Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015
 
Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015
 
Eclipse
EclipseEclipse
Eclipse
 

Plus de Netcetera

Payment trend scouting - Kurt Schmid, Netcetera
Payment trend scouting - Kurt Schmid, NetceteraPayment trend scouting - Kurt Schmid, Netcetera
Payment trend scouting - Kurt Schmid, NetceteraNetcetera
 
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, Netcetera
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, NetceteraBoost your approved transaction volume - Ana Vuksanovikj Vaneska, Netcetera
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, NetceteraNetcetera
 
Increase conversion, convenience and security in e-commerce checkouts - Silke...
Increase conversion, convenience and security in e-commerce checkouts - Silke...Increase conversion, convenience and security in e-commerce checkouts - Silke...
Increase conversion, convenience and security in e-commerce checkouts - Silke...Netcetera
 
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORMNetcetera
 
Digital Payment in 2020 - Kurt Schmid, Netcetera
Digital Payment in 2020 - Kurt Schmid, NetceteraDigital Payment in 2020 - Kurt Schmid, Netcetera
Digital Payment in 2020 - Kurt Schmid, NetceteraNetcetera
 
AI First. Erfolgsfaktoren für künstliche Intelligenz im Unternehmen
AI First. Erfolgsfaktoren für künstliche Intelligenz im UnternehmenAI First. Erfolgsfaktoren für künstliche Intelligenz im Unternehmen
AI First. Erfolgsfaktoren für künstliche Intelligenz im UnternehmenNetcetera
 
Augmenting Maintenance
Augmenting MaintenanceAugmenting Maintenance
Augmenting MaintenanceNetcetera
 
Front-end up front
Front-end up frontFront-end up front
Front-end up frontNetcetera
 
The future of Prototpying
The future of PrototpyingThe future of Prototpying
The future of PrototpyingNetcetera
 
EMV Secure Remote Commerce (SRC)
EMV Secure Remote Commerce (SRC)EMV Secure Remote Commerce (SRC)
EMV Secure Remote Commerce (SRC)Netcetera
 
Online shopping technology in the fast lane?
Online shopping technology in the fast lane?Online shopping technology in the fast lane?
Online shopping technology in the fast lane?Netcetera
 
Merchant tokenization and EMV® Secure Remote Commerce
Merchant tokenization and EMV® Secure Remote CommerceMerchant tokenization and EMV® Secure Remote Commerce
Merchant tokenization and EMV® Secure Remote CommerceNetcetera
 
Seamless 3-D Secure e-commerce experience
Seamless 3-D Secure e-commerce experienceSeamless 3-D Secure e-commerce experience
Seamless 3-D Secure e-commerce experienceNetcetera
 
Augmenting Health Care
Augmenting Health CareAugmenting Health Care
Augmenting Health CareNetcetera
 
Driving transactional growth with 3-D Secure
Driving transactional growth with 3-D SecureDriving transactional growth with 3-D Secure
Driving transactional growth with 3-D SecureNetcetera
 
Digital Payment Quo Vadis
Digital Payment Quo VadisDigital Payment Quo Vadis
Digital Payment Quo VadisNetcetera
 
EMV® Secure Remote Commerce
EMV® Secure Remote CommerceEMV® Secure Remote Commerce
EMV® Secure Remote CommerceNetcetera
 
Context: The missing ingredient in multilingual software translation
Context: The missing ingredient in multilingual software translationContext: The missing ingredient in multilingual software translation
Context: The missing ingredient in multilingual software translationNetcetera
 
Digital Payments - Netcetera Innovation Summit 2018
Digital Payments - Netcetera Innovation Summit 2018Digital Payments - Netcetera Innovation Summit 2018
Digital Payments - Netcetera Innovation Summit 2018Netcetera
 
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018Netcetera
 

Plus de Netcetera (20)

Payment trend scouting - Kurt Schmid, Netcetera
Payment trend scouting - Kurt Schmid, NetceteraPayment trend scouting - Kurt Schmid, Netcetera
Payment trend scouting - Kurt Schmid, Netcetera
 
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, Netcetera
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, NetceteraBoost your approved transaction volume - Ana Vuksanovikj Vaneska, Netcetera
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, Netcetera
 
Increase conversion, convenience and security in e-commerce checkouts - Silke...
Increase conversion, convenience and security in e-commerce checkouts - Silke...Increase conversion, convenience and security in e-commerce checkouts - Silke...
Increase conversion, convenience and security in e-commerce checkouts - Silke...
 
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
 
Digital Payment in 2020 - Kurt Schmid, Netcetera
Digital Payment in 2020 - Kurt Schmid, NetceteraDigital Payment in 2020 - Kurt Schmid, Netcetera
Digital Payment in 2020 - Kurt Schmid, Netcetera
 
AI First. Erfolgsfaktoren für künstliche Intelligenz im Unternehmen
AI First. Erfolgsfaktoren für künstliche Intelligenz im UnternehmenAI First. Erfolgsfaktoren für künstliche Intelligenz im Unternehmen
AI First. Erfolgsfaktoren für künstliche Intelligenz im Unternehmen
 
Augmenting Maintenance
Augmenting MaintenanceAugmenting Maintenance
Augmenting Maintenance
 
Front-end up front
Front-end up frontFront-end up front
Front-end up front
 
The future of Prototpying
The future of PrototpyingThe future of Prototpying
The future of Prototpying
 
EMV Secure Remote Commerce (SRC)
EMV Secure Remote Commerce (SRC)EMV Secure Remote Commerce (SRC)
EMV Secure Remote Commerce (SRC)
 
Online shopping technology in the fast lane?
Online shopping technology in the fast lane?Online shopping technology in the fast lane?
Online shopping technology in the fast lane?
 
Merchant tokenization and EMV® Secure Remote Commerce
Merchant tokenization and EMV® Secure Remote CommerceMerchant tokenization and EMV® Secure Remote Commerce
Merchant tokenization and EMV® Secure Remote Commerce
 
Seamless 3-D Secure e-commerce experience
Seamless 3-D Secure e-commerce experienceSeamless 3-D Secure e-commerce experience
Seamless 3-D Secure e-commerce experience
 
Augmenting Health Care
Augmenting Health CareAugmenting Health Care
Augmenting Health Care
 
Driving transactional growth with 3-D Secure
Driving transactional growth with 3-D SecureDriving transactional growth with 3-D Secure
Driving transactional growth with 3-D Secure
 
Digital Payment Quo Vadis
Digital Payment Quo VadisDigital Payment Quo Vadis
Digital Payment Quo Vadis
 
EMV® Secure Remote Commerce
EMV® Secure Remote CommerceEMV® Secure Remote Commerce
EMV® Secure Remote Commerce
 
Context: The missing ingredient in multilingual software translation
Context: The missing ingredient in multilingual software translationContext: The missing ingredient in multilingual software translation
Context: The missing ingredient in multilingual software translation
 
Digital Payments - Netcetera Innovation Summit 2018
Digital Payments - Netcetera Innovation Summit 2018Digital Payments - Netcetera Innovation Summit 2018
Digital Payments - Netcetera Innovation Summit 2018
 
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018
 

Dernier

Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfChristopherTHyatt
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty SecureFemke de Vroome
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsUXDXConf
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfalexjohnson7307
 
Server-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineServer-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineUXDXConf
 
Transforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXTransforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXUXDXConf
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Motion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in TechnologyMotion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in TechnologyUXDXConf
 

Dernier (20)

Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
Server-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineServer-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at Priceline
 
Transforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXTransforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UX
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Motion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in TechnologyMotion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in Technology
 

Managing Eclipse Preferences for Teams (EclipseCon 2011)

  • 1. Getting Eclipse Preferences Under Control In Teams Michael Pellaton michael.pellaton@netcetera.ch EclipseCon 2011 - Santa Clara, CA
  • 2. README Whoami Michael Pellaton <michael.pellaton@netcetera.ch> Senior Software Engineer at Netcetera Zürich, CH Files https://contrails.ch/econ2011 Disclaimer The speaker is the maintainer of the Eclipse Team Etceteras project and might therefore be biased. Legal Eclipse Public License v1.0.
  • 3. Preferences in Teams compiler option A green code font cvs -ko show whitespace compiler options A+B ISO-8859-1 cvs -kkv UTF-8 folding off
  • 4. Preferences in Teams compiler option A green code font cvs -ko show whitespace compiler options A+B ISO-8859-1 cvs -kkv UTF-8 folding off
  • 5. Eclipse Configuration Everywhere Eclipse distribution Equinox Secure Storage eclipse $home/.eclipse |- eclipse.ini Preferences |- configuration |- config.ini $workspace |- … |- ./metadata/… |- $project/.settings/… Runtime options eclipse -data … -vm … -vmargs …
  • 6. Eclipse Configuration Everywhere Eclipse distribution Equinox Secure Storage eclipse $home/.eclipse |- eclipse.ini Preferences |- configuration |- config.ini $workspace |- … |- ./metadata/… |- $project/.settings/… Runtime options eclipse -data … -vm … -vmargs … This talk is about preferences only!
  • 7. Basic Configuration Approach Configure as much as possible on project level and ‘somehow’ manage the configurations that can’t be put into the project. Let’s have a look at how ‘somehow’ could be...
  • 8. The Wiki Way Your Favourite Web Browser Project Foo: Dev Env Set-up Howto [ ] Preferences: Hit [cmd]+[,] [ ] Set ‘General > Workspace > Encoding:’ to ‘UTF-8’ [ ] Enable ‘Java > JUnit > Add ‘-ea’ to VM…’ [ ] Set ‘Java > FindBugs > effort’ to ‘maximum’ [ ] Set ‘Team > CVS > Default Text Mode’ to ‘-kkvl’ [ ] Add the following CVS repositories: [ ] :pserver:username@cvs.foo.org:/path/to/repo [ ] :pserver:username@cvs.company.com:/cvs/repo [ ] Select all projects. Then “Project > Clean…” [ ] Lucky guy - you’re done :-)
  • 9. The EPF Way Shared Eclipse Preference File (EPF) Let users import the EPF manually using the import wizard
  • 10. Eclipse Team Etceteras Automatic and manual EPF import over HTTP Preference transfer between workspaces
  • 11. Workspace Mechanic Task oriented configuration engine A task can be • a Java class • a Groovy script • an EPF file • a Plug-in (extension point) Frequent checks File system based
  • 12. Bug 334016 Automatic EPF import over HTTP Preference lock-down and enforcement capability
  • 13. Feature Comparison ETE Ws Mech 334016 EPF imp. over HTTP ✔ (✔) ✔ More than EPF ✔ Change Detection ✔ ✔ Pref. Enforcement ✔ Pref. Lock-down ✔ Admin Tool Support (✔) ✔ ✔ On Marketplace ✔
  • 14. When to Use Which? If EPF import over HTTP is all you need: Use ETE Iy you need more complex stuff than EPF imports: Use Workspace Mechanic If you need preference lock-down and enforcement: Use Bug 334016
  • 15. ETE Demo  Eclipse File Edit Navigate Search Project Run Window Help
  • 16. Pleas to Plug-in Developers Use Eclipse Preferences. If you invent an own configuration storage, please • provide import/export functions and API • and a preference transfer. Make as much configuration as possible available on project level.
  • 18. Links and Resources Presentation and other Resources https://contrails.ch/econ2011 Discussed Projects Eclipse Team Etceteras Workspace Mechanic Bug 334016 Eclipse Configuration and Preferences Resources User Settings: FAQ Eclipse Wiki: Eclipse.ini Eclipse Help: Provisioning Actions and Touchpoints Eclipse Help: The Eclipse runtime options Eclipse Preferences - Tutorial (by Lars Vogel) Eclipse Help: Equinox Secure Storage Extension Point Description: Preference Transfer

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. In a team and even among multiple workspaces, one tends to have very different preferences. Basically, that&apos;s perfectly fine and in most cases the users may configure Eclipse to their liking. However, there are a number of settings that need to be coordinated to make sure the project doesn&apos;t run into technical troubles and inconsistencies. Examples for that type of preferences are:\n - file encoding\n - SCM settings like (content types, auto properties, ...)\n - compiler options (same code might behave differently on different machines)\n - &amp;#x2026;\n\nSettings that adapt/hook up Eclipse to the local development environment are best coordinated for efficiency. Examples for that group of preferences are:\n - SCM repositories\n - Mylyn task repositories\n - file templates\n - update sites\n - &amp;#x2026;\n
  5. In a team and even among multiple workspaces, one tends to have very different preferences. Basically, that&apos;s perfectly fine and in most cases the users may configure Eclipse to their liking. However, there are a number of settings that need to be coordinated to make sure the project doesn&apos;t run into technical troubles and inconsistencies. Examples for that type of preferences are:\n - file encoding\n - SCM settings like (content types, auto properties, ...)\n - compiler options (same code might behave differently on different machines)\n - &amp;#x2026;\n\nSettings that adapt/hook up Eclipse to the local development environment are best coordinated for efficiency. Examples for that group of preferences are:\n - SCM repositories\n - Mylyn task repositories\n - file templates\n - update sites\n - &amp;#x2026;\n
  6. There is not a single configuration file for Eclipse and the configuration is spread over several files and scopes. There are even several different mechanisms and APIs for different types of configuration and in some cases configuration on one place overrides the same configuration in another place (e.g. workspace vs project level; command line arguments vc eclipse.ini). The most common places where Eclipse can be configured in some way are:\n- eclipse.ini: system properties, JVM options and program arguments\n- preference store: the majority of preferences is stored here. This is a workspace level store.\n- secure store: store for passwords and other sensitive information. If install directory is writable, it is stored in the eclipse directory\n- some extensions have their own mechanisms\n\n
  7. Put as much as possible on the project level:\n- configuration is managed in the SCM\n- updates are distributed to developers as normal SCM updates\n- different projects may have different configurations (java version, different license headers, different coding styles for different customers) and still be checked out in the same workspace\n- different project types may have different configurations\n- tools run during the continuous/release build can be configured to use the same config (e.g. FindBugs, Checkstyle, PMD)\n\nDisadvantages of putting preferences into the project:\n- Changes in multi module projects must be replicated to the projects (If you use Maven, the Maven eclipse plugin can help here)\n- Some developers complain about the number of .-files in the projects\n\n
  8. I am sure you know at least one project having one of these famous &quot;How to set up the devenv&quot; wiki pages or readme files.\n\nOne one hand, they solve the problem of preference synchronization. On the other hand they are broken for some reasons:\n- People don&apos;t know where the document is\n- Going though an endless checklist is a mundane task and people tend to do errors in boring tasks\n- Keeping this document up-to-date is a pain\n- Delta-checklists are needed if there are changes\n
  9. Eclipse offers a preference import / export mechanism that stored all preferences from the preference store in a so called Eclipse Preference File (EPF).\n\nProviding a common EPF file on a shared file system simplifies the configuration for the users compared to the checklist. The problems about this solution are:\n- people don&apos;t know where the file is\n- the import must be done manually\n- after changes, the developers need to re-import the file\n- on each import, the user needs to know the location of the file\n
  10. Eclipse Team Etceteras is a set of small enhancements to existing Eclipse preference functionality that ease the use:\n- import EPF files over HTTP\n- preconfigure the EPF URLs so that the users don&apos;t need to find the file\n- remind developers when they create a new workspace to apply the default configuration\n- Ad-hoc EPF import over HTTP (paste URL into import wizard)\n- transfer preferences from one workspace to another\n\n\nCredo: Help the user but don&apos;t get into the way.\n\nDisadvantages:\n- limited to what EPFs can do\n- no enforcement capabilities\n- pre-configuration is done using a fragment bundle: need to deploy an own configuration plug-in along with Eclipse\n
  11. Workspace Mechanic is a very powerful task oriented tool to administer Eclipse configurations. A task can be a Java class, a Groovy script, a Plug-in or an EPF file. Importing EPF files is just one of many possible tasks. You can extend Workspace Mechanic by providing new task and new task types using extension points. Tasks are picked up from shared file system locations by Workspace Mechanic in a configurable frequency. If anything needs to be done, the user is prompted to apply a so called &apos;Fix&apos; in a notification. \n\nWorkspace Mechanic offers some nice tools that make the lives of the administrators easier: creating a EPF file for a task is very simple thanks to the preference recorder.\n\nDisadvantages:\n- no enforcements\n- a shared file system is required (as of now), HTTP capability is committed but not yet released\n- pre-configuration is done in plugin_customization.ini or an EPF file: need to deploy that file along with Eclipse or being imported\n
  12. In Bug 334016 Ericsson donated a preference management tool. As there seems to be no official name, it is referred to under it&apos;s Bugzilla ID. At the time of the writing of these slides it was unclear whether, when and how the contribution will be included into Eclipse (according to C. Aniszczyk). There is no update site to install this functionality from - interested users need to get the source out of the attachments of this bug and build/release the plug-in themselves.\n\nThe features offered:\n- import EPFs over HTTP\n- lock-down of preferences\n- automatic imports upon workspace startup (enforcement)\n\nDisadvantages:\n- not easily available from an update site or Eclipse Market Place\n- limited to what EPFs can do\n
  13. \n
  14. \n
  15. Demo of Eclipse Team Etceteras:\n\n1. Start Eclipse with new workspace\n--&gt; ETE new workspace detection and preference import\n\n2. Change workspace name (General &gt; Workspace &gt; Name)\n\n3. File &gt; Switch Workspace&amp;#x2026; (to a new workspace including preferences transfer)\n--&gt; in new workspace: show transferred preference (workspace name)\n
  16. Some plug in do not make use of the preference store to keep their configuration. Examples are the XML catalog and Mylyn. The &amp;#x201C;self made&amp;#x201D; storage is rather problematic for people in charge of providing a consistent configuration among a team. If you are a plug-in developer, please make use of the preference store whenever possible. In case you can&amp;#x2019;t, please provide: \n- stable import/export API\n- a configuration possibility using extension points, fragments, &amp;#x2026;\n- a transfer implementation to transfer the configuration between workspaces.\n
  17. \n
  18. \n