www.ics.ug #icsug
Eclipse and Notes - Love/Hate Relationships
ICS.UG - März 2015
Eclipse and Notes - Love/Hate Relationships
ICS.UG - März 2015
3
4
5
Christoph Adler
Technical Account Manager – panagenda
IBM (Lotus) Notes / Domino seit 2001
Consultant in diversen Projekten
Administration
Migrationen / Konsolidierungen
Client Management
Application Management
Seit 2012 TAM bei panagenda mit Kernkompetenz
Notes Client Management
ICS Infrastruktur-Analyse und -Optimierung
Gut zu wissen
Vielreisender
Projekte mit vielen Unternehmen in vielen Ländern
„Speaker“ auf diversen internationalen Konferenzen
Wein oder Bier? Bier!
6
Die Geschichte von Eclipse
7
Eclipse? Was ist denn das?
Eclipse startete als IBM-Projekt um die VisualAge IDE zu ersetzen
VisualAge hatte Compiler für C, C++, Smalltalk, Java, Cobol and einige andere Programmiersprachen
Eclipse wurde als Plattform in Java entwickelt und hatte folgende Eigenschaften
Lauffähig auf verschiedenen Betriebssystemen
Erlaubt die Entwicklung für verschiedene Sprachen
Für die Erweiterbarkeit werden Plugins genutzt auch GUI
“The Eclipse platform itself is a sort of universal tool platform - it is an IDE for anything and nothing in particular.”
http://www.eclipse.org/platform/overview.php
8
Eclipse im Zeitraffer
1999: IBM beginnt die Entwicklung von Eclipse
2001: Eclipse 1.0 wird veröffentlicht / eclipse.org geht online
2002: Eclipse 2.0 wird veröffentlicht WSAD
2004: Die rechtlich eigenständige Eclipse Foundation wird gegründet / Eclipse 3.0 wird unter der neuen Eclipse Public License veröffentlicht
2004 – 2014: Jedes Jahr wird eine neue Eclipse Version veröffentlicht
3.x bis 2011
4.x seit 2012
Aktuelle Version 4.4.2 SR2 (Projektname „Luna“)
2015: Eclipse 4.5 (Projektname „Mars“) ist für den 24. Juni 2015 angekündigt
9
Was ist noch 1999 passiert?
Lotus Notes R5 wurde veröffentlicht
10
Aber nur 8 Jahre später ...
IBM Lotus Notes 8 Standard (Eclipse) wird veröffentlicht
11
IBM Lotus Notes 8.x
“Lotus Notes 8 is a major upgrade to Lotus Notes with a
new user look and feel. The client is now built on an open
standards Eclipse-based architecture that allows for
greater Flexibility”
Andy Higgins, Technical Sales Specialist,
IBM - What's new in IBM Lotus Notes 8.5
http://www.ibm.com/developerworks/lotus/library/notes85-new/
12
Ups, da war ja noch was ...
http://www-01.ibm.com/software/lotus/products/wp-managed-client/
13
IBM (Lotus) Notes Versionen mit Eclipse
08 / 2007: IBM Lotus Notes 8.0
02 / 2008: IBM Lotus Notes 8.0.1
08 / 2008: IBM Lotus Notes 8.0.2
12 / 2008: IBM Lotus Notes 8.5
10 / 2009: IBM Lotus Notes 8.5.1
08 / 2010: IBM Lotus Notes 8.5.2
11 / 2011: IBM Lotus Notes 8.5.3
03 / 2013: IBM Notes 9.0
12 / 2013: IBM Notes 9.0.1
2015 / 2016: IBM Notes 9.0.2 oder 9.5 oder 10 ???
EOM - Lotus Notes 7.x 04 / 2011
EOM – IBM Lotus Notes 8.0.x 05 / 2015
14
Eclipse heute (im IBM Notes Client)
15
IBM Notes 9 Social Edition
16
Was ein (genutzter) Notes 9.0.1FP3 STANDARD Client üblichweise mit sich bringt
> 20.000 41.000 Dateien (Notes 7 | 8/9 Basic ~550) = +7.400%
17.000 21,800 Dateien in Notes Program\framework in 1,800 2.150 Unterverzeichnissen
7.500 8.800 (überwiegend undokumentierte) .properties Dateien
1.500 1.600 .jar Dateien
1.200 1.300 HTML Dateien
3.000 1.182 Dateien in Notes Data\workspace – in 2.400 700 Unterverzeichnissen, von denen 1.850 leer sind
900 180 (überwiegend undokumentierte) XML Dateien
100+ 80 (überwiegend undokumentierte) properties Dateien
Das sind ...
20.000 41.00 Dateien in 4.600 4860 Unterverzeichnissen
8.500+ 9.000+ überwiegend undokumentierte Dateien
Viele (viele viele) Unterverzeichnisse die schlichtweg leer sind, vor allem in Data\workspace
... und ca. 100 NSFs/NTFs (=0.5 0,2 %)
... und natürlich die gute alte notes.ini
17
+ über 80 Einstellungs-Dialogboxen
Jeder Dialog hat im Mittel ~15 Einstellungen
1.200+ Einstellungen- über Addressbuch (sehr wenige),- notes.ini (wenige),- und XML Dateien (tonnenweise)
Plus:Plugins, Widgets, Addons, etc. die „Sie“ oder Benutzerdem Client hinzufügen.
18
+ jede Menge UI Einstellungen
Search
Sidebar
Shortcut Buttons
Toolbars
Bookmarkbar
19
Eclipse-Einstellungen
20
Wo verstecken sich die Eclipse – Einstellungen?
Fakten zum „MC LogViewer“ Plugin
Feature.xml
Data\workspace\applications\eclipse\features\com.panagenda.mc.logviewer.feature_1.0.8\feature.xml
JAR Data\workspace\applications\eclipse\plugins\com.panagenda.mc.logviewer_1.0.8.jar
Einstellungen / Arbeitsverzeichnis Data\workspace\.metadata\.plugins\com.panagenda.mc.logviewer
Ausblenden des Plugins/Widgets
Datei Data\workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings\com.ibm.rcp.ui.prefs
Parameter HIDE_PANEL_com.panagenda.mc.logviewer.views.SidebarView=true
Achtung
Eclipse – Einstellungen können gerne auch mal „case SENSITIVE“ sein !
Beispiel: Ausblenden des “MC LogViewer” Plugin Sidebar
21
Wo verstecken sich die Eclipse – Einstellungen?
Manuelles Deaktiveren
NICHT wenn der Client gestartet ist
Trigger?
Viel Aufwand!
Alternativen?
Domino Policies Managed Settings
Plugin_customization.ini ?Managed? Settings
Third Party Solution(s)
Beispiel: Ausblenden des “MC LogViewer” Widgets
22
Domino Policies
Policies / Desktop
Managed Settings
23
Plugin_customization.ini
Halbautomatisch
NotesProgramDir\framework\rcp\plugin_customization.ini
com.ibm.rcp.managedsettings.provider.file/URL=file://c:/ibm/notes/data/deploy/managed-settings.xml
?Managed? Settings
24
Third Party Solution(s) ...
Ja, gibt es
25
Bevor wir es vergessen ...
Eclipse logging
Notes\Data\workspace\logs Error-log-n.xml
Alle Java error messages (System.err), stack traces und log messages (Level CONFIG oder höher)
Trace-log-n.xml Alle Error-log messages PLUS alle aktivierten Plugin messages
Loglevel Plugin Data\Workspace\.config\rcpinstall.properties
Log_Viewer.xml
Trace_Viewer.xml
Viewer_Translations.js
Shutdown.log
RCPLauncher.log
Default die letzten 5 Error-log-n.xml + 10 Trace-log-n.xml werden gespeichert com.ibm.rcp.core.internal.logger.boot.RCPTraceHandler.count=10
com.ibm.rcp.core.internal.logger.boot.RCPLogHandler.count=5
! Danke an Christian Henseler !
26
Ein ganz besonderes Plugin
27
Bevor wir zum Plugin kommen ...
Jeder Teilnehmer dieser SESSION erhält das folgende Plugin als Geschenk
… erstmal die gute Nachricht!
28
panagenda PreferenceTree Plugin
Wie alles begann …
Chris erzählt eine Geschichte
…
30
panagenda PreferenceTree Plugin
31
Live
32
Best-of Eclipse-Einstellungen
33
Open List / Sidebar
(Un)Dock the Open list
/instance/com.ibm.rcp.ui/DOCKED_LAUNCHER1=docked; 0=undocked
Use large icons
/instance/com.ibm.rcp.ui/USE_LARGE_ICONS1=large; 0=small
Make Sidebar entries (in)visible – (false = visible, true = invisible)
Day-At-A-Glance/instance/com.ibm.rcp.ui/HIDE_PANEL_com.ibm.workplace.ui.sidecalendar.views.SideCalendarViewPart
Feeds/instance/com.ibm.rcp.ui/HIDE_PANEL_com.ibm.rcp.feedreader.notes.ui.shelf
My Widgets/instance/com.ibm.rcp.ui/HIDE_PANEL_com.ibm.rcp.toolbox.WebFragmentPallete
34
IBM Sametime (Sidebar)
Make IBM Sametime Sidebar entries (in)visible – (false = visible, true = invisible)
Sametime Contacts/instance/com.ibm.rcp.ui/HIDE_PANEL_com.ibm.collaboration.realtime.imhub.shelfView
Sametime Primary Contacts/instance/com.ibm.rcp.ui/HIDE_PANEL_com.ibm.collaboration.realtime.filteredbuddies.shelfview
Sametime Meetings/instance/com.ibm.rcp.ui/HIDE_PANEL_com.ibm.rtc.meetings.shelf.ui.MeetingsShelf.shelfview
Chatrooms/instance/com.ibm.rcp.ui/HIDE_PANEL_com.ibm.collaboration.realtime.persistentchat.shelfview
Broadcast Communities/instance/com.ibm.rcp.ui/HIDE_PANEL_com.ibm.collaboration.realtime.bcs.shelfview
35
IBM Connections (Sidebar)
Make IBM Connections Sidebar entries (in)visible – (false = visible, true = invisible)
Files/instance/com.ibm.rcp.ui/HIDE_PANEL_com.ibm.rcp.ui.shelfViews.FileShareView
Status Updates/instance/com.ibm.rcp.ui/HIDE_PANEL_com.ibm.lconn.statusupdates.ui.shelfview
Activities/instance/com.ibm.rcp.ui/HIDE_PANEL_com.ibm.workplace.ae.client.views.AESideShelfView
36
Shortcut Buttons
Make Shortcut Buttons (in)visible – (true = visible, false = invisible)
Mail/instance/com.ibm.rcp.ui/100
Calendarinstance/com.ibm.rcp.ui/101
Contacts/instance/com.ibm.rcp.ui/102
Home/instance/com.ibm.rcp.ui/com.ibm.workplace.noteswc.views.NotesHomepage
Workspace/instance/com.ibm.rcp.ui/com.ibm.notes.client.workspaceshortcut
Discover/instance/com.ibm.rcp.ui/com.ibm.notes.client.discoverpageshortcut
Thumbnails/instance/com.ibm.rcp.ui/SHOW_THUMBNAILS_BUTTON
37
Toolbars
Show Toolbars NOT Only When Editing
/instance/com.ibm.notes.client.toolbars/TOGGLE_EDITING_TOOLBAR_ENABLEMENT = false
/instance/com.ibm.rcp.ui/DISABLE_TOOLBAR_CONTEXT_ITEMS = false
/instance/com.ibm.rcp.ui/TOOL_BAR_VISIBLE = true
38
Feeds
/instance/com.ibm.rcp.feedreader.providers/ui.prefpage.content.update.schedule ONE_MIN
TEN_MIN
THIRTY_MIN
ONE_HOUR
TWO_HOURS
FOUR_HOURS
EIGHT_HOURS
DAILY
WEEKLY
MANUAL
/instance/com.ibm.rcp.feedreader.providers/ui.prefpage.content.age ONE_DAY
ONE_WEEK
TWO_WEEKS
ONE_MONTH
TWO_MONTHS
FOREVER
39
Feeds (2)
/instance/com.ibm.rcp.feedreader.providers/ui.prefpage.display.previewwindowtrue=checked; false=unchecked
„Mark items viewed …“ grays out with show feed disabled!
/instance/com.ibm.rcp.feedreader.providers/ui.prefpage.display.previewwindow.markasreadtrue=checked; false=unchecked
/instance/com.ibm.rcp.feedreader.providers/ui.prefpage.display.previewwindow.heightnumber >= 200 <= 300
/instance/com.ibm.rcp.feedreader.providers/ui.prefpage.display.previewwindow.widthnumber >= 300 <= 500
/instance/com.ibm.rcp.feedreader.providers/display.addpresets.actiontrue=checked; false=unchecked
40
Fonts
Font size
Normal
/instance/com.ibm.notes.client/pref.font.size=null
/instance/com.ibm.rcp.ui/FONT_SIZE=null
Large
/instance/com.ibm.notes.client/pref.font.size=11
/instance/com.ibm.rcp.ui/FONT_SIZE=1
Extra Large
/instance/com.ibm.notes.client/pref.font.size=13
/instance/com.ibm.rcp.ui/FONT_SIZE=2
Mail view font/instance/com.ibm.notes.client/pref.font.size=n<=20>=8
/instance/com.ibm.notes.client/pref.font.size=null=default
/instance/com.ibm.notes.client/pref.font.family=Font Name
/instance/com.ibm.notes.client/pref.unread.mail.font=null (=bold); normal (=not bold)
/instance/com.ibm.notes.client/pref.read.mail.font=null (=not bold); bold (=bold)
41
Fonts (2)
Colors - (we suggest NOT to touch this one unless you really know what you are doing) /instance/com.ibm.notes.client/MAIL_USER_STYLES; from mailtable>row>read{color: rgb(99,101,99);font-style: normal;font-size:
9pt;}##mailtable>row>read{font-family: Arial,Arial,Sans Serif;}##mailtable>row>unread{color: rgb(0,0,0);font-style: normal;font-size: 9pt;}##mailtable>row>unread{font-family: Arial,Arial,Sans Serif;} to mailtable>row>unread{color: rgb(0,0,0);font-weight: bold;font-size: 9pt;}##mailtable>row>unread{font-family: Arial,Arial,Sans Serif;}
/instance/com.ibm.rcp.ui/USER_STYLES; from mailtable>row>read{color: rgb(99,101,99);font-style: normal;font-size: 9pt;}##mailtable>row>read{font-family: Arial,Arial,Sans Serif;}##mailtable>row>unread{color: rgb(0,0,0);font-style: normal;font-size: 9pt;}##mailtable>row>unread{font-family: Arial,Arial,Sans Serif;} to mailtable>row>unread{color: rgb(0,0,0);font-weight: bold;font-size: 9pt;}##mailtable>row>unread{font-family: Arial,Arial,Sans Serif;}
/instance/com.ibm.notes.client/MAIL_USER_STYLES; from mailtable>row>unread{color: rgb(0,0,0);font-weight: bold;font-size: 9pt;}##mailtable>row>unread{font-family: Arial,Arial,Sans Serif;} to mailtable>row>read{color: rgb(99,101,99);font-weight: bold;font-size: 9pt;}##mailtable>row>read{font-family: Arial,Arial,Sans Serif;}##mailtable>row>unread{color: rgb(0,0,0);font-weight: bold;font-size: 9pt;}##mailtable>row>unread{font-family: Arial,Arial,Sans Serif;}
/instance/com.ibm.rcp.ui/USER_STYLES; from mailtable>row>unread{color: rgb(0,0,0);font-weight: bold;font-size: 9pt;}##mailtable>row>unread{font-family: Arial,Arial,Sans Serif;} to mailtable>row>read{color: rgb(99,101,99);font-weight: bold;font-size: 9pt;}##mailtable>row>read{font-family: Arial,Arial,Sans Serif;}##mailtable>row>unread{color: rgb(0,0,0);font-weight: bold;font-size: 9pt;}##mailtable>row>unread{font-family: Arial,Arial,Sans Serif;}
/instance/com.ibm.notes.client/MAIL_USER_STYLES; from mailtable>row>read{color: rgb(99,101,99);font-weight: bold;font-size: 9pt;}##mailtable>row>read{font-family: Arial,Arial,Sans Serif;}##mailtable>row>unread{color: rgb(0,0,0);font-weight: bold;font-size: 9pt;}##mailtable>row>unread{font-family: Arial,Arial,Sans Serif;} to mailtable>row>read{color: rgb(99,101,99);font-style: normal;font-size: 9pt;}##mailtable>row>read{font-family: Arial,Arial,Sans Serif;}##
/instance/com.ibm.rcp.ui/USER_STYLES; from mailtable>row>read{color: rgb(99,101,99);font-weight: bold;font-size: 9pt;}##mailtable>row>read{font-family: Arial,Arial,Sans Serif;}##mailtable>row>unread{color: rgb(0,0,0);font-weight: bold;font-size: 9pt;}##mailtable>row>unread{font-family: Arial,Arial,Sans Serif;} to mailtable>row>read{color: rgb(99,101,99);font-style: normal;font-size: 9pt;}##mailtable>row>read{font-family: Arial,Arial,Sans Serif;}##
42
Live Text
/instance/com.ibm.rcp.annotation/ANNOTATIONS_DEFAULT
false=disabled
true=enabled
/instance/com.ibm.rcp.annotation/ANNOTATIONS_COLOR
3=thin, green
2=thick, green
1=thin, blue
0=thick, blue
43
Search
Enable History
/instance/com.ibm.rcp.search.ui/SEARCH_HISTORY_ENABLE_PREFERENCEnull=enable, false=disable
Search defaults; AUTO=
/instance/com.ibm.rcp.search.ui/com.ibm.rcp.search.ui.web.auto=true
OTHERWISE
/instance/com.ibm.rcp.search.ui/com.ibm.rcp.search.ui.web.auto=false
AND (
/instance/com.ibm.rcp.search.ui/com.ibm.rcp.search.ui.web.default=com.ibm.rcp.search.engines.google.GoogleWebLink
/instance/com.ibm.rcp.search.ui/com.ibm.rcp.search.ui.web.item=com.ibm.rcp.search.engines.google.GoogleWebLink.item
/instance/com.ibm.rcp.search.ui/com.ibm.rcp.search.ui.web.set=com.ibm.rcp.search.engines.google.set
) OR (
/instance/com.ibm.rcp.search.ui/com.ibm.rcp.search.ui.web.default=com.ibm.rcp.search.engines.yahoo.YahooWebLink
/instance/com.ibm.rcp.search.ui/com.ibm.rcp.search.ui.web.item=com.ibm.rcp.search.engines.yahoo.YahooWebLink.item
/instance/com.ibm.rcp.search.ui/com.ibm.rcp.search.ui.web.set=com.ibm.rcp.search.engines.yahoo.set
)
44
Browser
Homepage /instance/com.ibm.rcp.ui.browser.launcher/USER_DEFINED_HOME_PAGE
• null=not set
• Otherwise: e.g. =www.google.de
When clicking on a hyperlink … /instance/com.ibm.rcp.ui.browser.launcher/USE_EMBEDDED_BROWSER
• Use embedded=true
• Use OS=false
For embedded=true
• Keep history:/instance/com.ibm.rcp.ui.browser.launcher/ENABLE_HISTORY
null=Keep history
false=do NOT keep history
• /instance/com.ibm.rcp.ui.browser.launcher/PERSISTING_HISTORY_DAYS=30|…number [0-90]
/instance/com.ibm.rcp.ui.browser.launcher/DELETE_HISTORY=true|false
45
Windows and Themes
/instance/com.ibm.rcp.personality.framework/RESTORE_TABS=true|false
/instance/com.ibm.rcp.ui/USE_LARGE_ICONS=true|false
/instance/com.ibm.rcp.ui/doNotShowApplicationHidePanelDialog=prompt|always
(prompt=inform me=checked, always=not checked)
/instance/com.ibm.rcp.ui/doNotShowHidePanelDialog=prompt|always
(prompt=inform me=checked,always=not checked)
/instance/com.ibm.rcp.ui/CURRENT_WINDOW_NAVIGATION_PREFERENCE=
NEW_WINDOW or
NEW_TAB or
GROUPED_TAB
/instance/com.ibm.rcp.ui/WED_THEME_PREFERENCE=
com.ibm.notes.branding.theme.native or
com.ibm.notes.branding.theme.lowvis or
null (remove) for OS theme
46
Eclipse Einstellungen …
Sametime
Communities
Notification Messages
Status Messages
Meeting Server Configuration
Connections
Spellcheck
Widget Catalog
Plugins / Widgets
[...]
47
Widgets / Plugins
48
Was ist ein Widget?
Widget
My Widgets
Page references
Google Gadgets
Notes views
Live Text
[...]
Plugins
49
Plugin - Installation
Manuell
ProgramDIR\framework\rcp\plugin_customization.ini
com.ibm.notes.branding/enable.update.ui=true
Oder manuell(er)
Data\workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings\com.ibm.notes.branding.prefs
enable.update.ui=true
50
Plugin - Verteilung
WidgetCatalog
Managed Settings
51
Nochmal Third Party Solution(s) ...
Ja, gibt es
52
Widget - Installation
53
Q & A
54
Vielen Dank für Ihre Aufmerksamkeit
55
Christoph AdlerTechnical Account Manager
panagenda GmbH – Solutions for Infrastructure Analysis and Optimization
● Donnersbergstr. 1 ● 64646 Heppenheim (Germany)
● Cell: +49 172 494 4141
● Phone: +49 6252 679 39-52 ● Fax: +49 6252 679 39-16
● E-Mail: [email protected]
Kontakt