AdminCamp 2013 - Mastering Eclipse in IBM Notes 9
-
Upload
panagenda -
Category
Technology
-
view
520 -
download
0
description
Transcript of AdminCamp 2013 - Mastering Eclipse in IBM Notes 9
Mastering Eclipse in IBM Notes 9
AdminCamp2013
2
Christoph Adler
Technical Account Manager – panagenda
IBM (Lotus) Notes / Domino seit 2001
Berater in diversen externen (Groß-)Projekten Administration Migrationen / Konsolidierungen Client Management Application Management
Seit 2012 TAM bei panagenda mit Kernkompetenz Notes Client Management Domino Infrastruktur-Analysen und Optimierung
[...] Vielreisender Projekte mit vielen verschiedenen Unternehmen in
vielen Ländern
3
Agenda
Geschichte von Eclipse
Eclipse heute (im Notes Client)
Eclipse Einstellungen
Ein ganz besonderes Plugin
Best-of Eclipse Einstellungen
Best-of Widgets
Mastering Eclipse in IBM Notes 9
4
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
5
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 – 2013: Jedes Jahr wird eine neue Eclipse Version veröffentlicht 3.x bis 2011 4.x seit 2012 Aktuelle Version 4.3 (Projektname „Kepler“)
6
Was ist noch 1999 passiert?
Lotus Notes R5 wurde veröffentlicht
7
Aber nur 8 Jahre später ...
IBM Lotus Notes 8 Standard (Eclipse) wird veröffentlicht
8
IBM Lotus Notes 8.x
“Lotus Notes 8 is a major upgrade to Lotus Notes with anew user look and feel. The client is now built on an open
standards Eclipse-based architecture that allows forgreater Flexibility”
Andy Higgins, Technical Sales Specialist,IBM - What's new in IBM Lotus Notes 8.5
9
Ups, da war ja noch was ...
10
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 Angekündigt
6 Jahre3 Major Versionen5 Minor Versionen
EOM - Lotus Notes 7 04 / 2011
11
Agenda
Geschichte von Eclipse
Eclipse heute (im Notes Client)
Eclipse Einstellungen
Ein ganz besonderes Plugin
Best-of Eclipse Einstellungen
Best-of Widgets
Mastering Eclipse in IBM Notes 9
12
IBM Notes 9 Social Edition
13
Was ein (genutzter) Notes 9 STANDARD Client üblichweise mit sich bringt
> 20.000 Dateien (Notes 6/7 | 8/9 Basic ~550) = +3.700% 17.000 Dateien in Notes Program\framework in 1,800 Unterverzeichnissen
7.500 (überwiegend undokumentierte) .properties Dateien 1.500 jar Dateien 1.200 HTML Dateien
3.000 Dateien in Notes Data\workspace – in 2.400 Unterverzeichnissen, von denen 1.850 leer sind 900 (überwiegend undokumentierte) XML Dateien 100+ (überwiegend undokumentierte) properties Dateien
Das sind ... 20.000 Dateien in 4.600 Unterverzeichnissen 8.500+ überwiegend undokumentierte Dateien Viele (viele viele) Unterverzeichnisse die schlichtweg leer sind, vor allem in Data\workspace
... und ca. 100 NSFs/NTFs (=0.5 %) ... und natürlich die gute alte notes.ini
14
+ über 60 Einstellungs-Dialogboxen
Jeder Dialog hat im Mittel ~15 Einstellungen 900+ Einstellungen
über Addressbuch (sehr wenige),notes.ini (wenige),und XML Dateien (tonnenweise)
Plus:Plugins, Widgets, Addons, etc. die „Sie“ oder Benutzerdem Client beibringen.
15
+ jede Menge UI Einstellungen
16
Agenda
Geschichte von Eclipse
Eclipse heute (im Notes Client)
Eclipse Einstellungen
Ein ganz besonderes Plugin
Best-of Eclipse Einstellungen
Best-of Widgets
Mastering Eclipse in IBM Notes 9
17
Wo verstecken sich die Eclipse – Einstellungen?
Fakten zum „MC LogViewer“ Widget 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 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” Widgets Sidebar
18
Live
19
Wo verstecken sich die Eclipse – Einstellungen? II
Manuelles Deaktiveren NICHT wenn der Client gestartet ist Trigger? Viel Aufwand!
Alternativen? Domino Policies Managed Settings Plugin_customization.ini ?Managed? Settings Third Party Tool(s)
Beispiel: Ausblenden des “MC LogViewer” Widgets
20
Domino Policies
Policies / Desktop
Managed Settings
21
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
22
Third Party Tool(s) ...
...gibt es
23
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=6
Danke an Christian Henseler !
24
Live
25
Agenda
Geschichte von Eclipse
Eclipse heute (im Notes Client)
Eclipse Einstellungen
Ein ganz besonderes Plugin
Best-of Eclipse Einstellungen
Best-of Widgets
Mastering Eclipse in IBM Notes 9
26
Bevor wir zum Plugin kommen ...
Jeder Teilnehmer dieser SESSION erhält das folgende Plugin als Geschenk
… erstmal die gute Nachricht!
27
panagenda PreferenceTree Plugin
Wie alles begann …
Chris erzählt eine Geschichte
28
panagenda PreferenceTree Plugin II
Vielen Dank an Julian Robichaux ! ! !
29
panagenda PreferenceTree Plugin III
30
Live
31
Agenda
Geschichte von Eclipse
Eclipse heute (im Notes Client)
Eclipse Einstellungen
Ein ganz besonderes Plugin
Best-of Eclipse Einstellungen
Best-of Widgets
Mastering Eclipse in IBM Notes 9
32
Open List / Sidebar
(Un)Dock the Open list /instance/com.ibm.rcp.ui/DOCKED_LAUNCHER
1=docked; 0=undocked
Make 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 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
33
Shortcut Buttons
Make Shortcut Buttons (in)visible – (true = visible, false = invisible) Mail
/instance/com.ibm.rcp.ui/100 Calendar
instance/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
34
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
35
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
36
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
37
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)
38
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;}##
39
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
40
Search
Enable History- /instance/com.ibm.rcp.search.ui/SEARCH_HISTORY_ENABLE_PREFERENCE
null=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
)
41
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_HISTORYnull=Keep historyfalse=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
42
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
43
Sametime Meeting Room - Server
Only one Server (example) /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;meetings.serverId =
stms1354024510799 /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;meetings.serverName =
st1.notes8test.com /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;communityServerName =
st1.notes8test.com /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;meetings.serverPort = 80 /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;useCommunityServer = true /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;useCustomCredentials = false /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;serverConnectionType = 0 /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;meetings.useSSLforLogin = false /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;meetings.http = stms1354024510799 /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;useHttpProxy = false
/instance/com.ibm.rtc.meetings.shelf/MeetingServerIds = stms1354024510799 /instance/com.ibm.rtc.meetings.shelf/LastActiveServer = stms1354024510799? stms1354024510799 ?
44
Sametime Meeting Room – Server II
More than one Server (example) /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;meetings.serverId = stms1354024510799 /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;meetings.serverName = st1.meeting.com /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;communityServerName = st1.meeting.com /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;meetings.serverPort = 80 /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;useCommunityServer = true /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;useCustomCredentials = false /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;serverConnectionType = 0 /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;meetings.useSSLforLogin = false /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;meetings.http = stms1354024510799 /instance/com.ibm.rtc.meetings.shelf/stms1354024510799;useHttpProxy = false
/instance/com.ibm.rtc.meetings.shelf/stms1354024543658;meetings.serverId = stms1354024543658 /instance/com.ibm.rtc.meetings.shelf/stms1354024543658;meetings.serverName = st2.meeting.com /instance/com.ibm.rtc.meetings.shelf/stms1354024543658;communityServerName = st2. meeting.com /instance/com.ibm.rtc.meetings.shelf/stms1354024543658;meetings.serverPort = 80 /instance/com.ibm.rtc.meetings.shelf/stms1354024543658;useCommunityServer = true /instance/com.ibm.rtc.meetings.shelf/stms1354024543658;useCustomCredentials = false /instance/com.ibm.rtc.meetings.shelf/stms1354024543658;serverConnectionType = 0 /instance/com.ibm.rtc.meetings.shelf/stms1354024543658;meetings.useSSLforLogin = false /instance/com.ibm.rtc.meetings.shelf/stms1354024543658;meetings.http = stms1354024543658 /instance/com.ibm.rtc.meetings.shelf/stms1354024543658;useHttpProxy = false
/instance/com.ibm.rtc.meetings.shelf/MeetingServerIds = stms1354024510799; stms1354024543658 /instance/com.ibm.rtc.meetings.shelf/LastActiveServer = stms1354024510799
45
Was gibt es sonst noch für interessante Eclipse - Einstellungen?
Sametime Communities Notification Messages Status Messages
Connections
Spellcheck
Widget Catalog
Plugins / Widgets
[...]
46
Agenda
Geschichte von Eclipse
Eclipse heute (im Notes Client)
Eclipse Einstellungen
Ein ganz besonderes Plugin
Best-of Eclipse Einstellungen
Best-of Widgets
Mastering Eclipse in IBM Notes 9
47
Was ist ein Widget?
Widget My Widgets Page references Google Gadgets Notes views Live Text [...] Plugins
48
Widget - Verteilung
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
49
Widget - Verteilung
WidgetCatalog
Managed Settings
50
Best-of Widgets
Meine Favoriten Preference Tree MC LogViewer FileExplorer http://www.openntf.org/Projects/pmt.nsf/ProjectLookup/File%20Explorer IBM Connections IBM Sametime MailMonitor http://www.openntf.org/projects/pmt.nsf/ProjectLookup/MailMonitor Snippets http://www.openntf.org/projects/pmt.nsf/ProjectLookup/Snippets Google Translator http://www.google.com/ig/directory?synd=open&q=google+translate Recon Sidebar http://www.nsftools.com/recon.updatesite/ Wildfire http://www.openntf.org/Projects/pmt.nsf/ProjectLookup/WildFire [...]
51
Best-of Widgets
Ihre / Eure Favoriten [...]
?
52
Q & A
53
Vielen Dank für Ihre Aufmerksamkeit.
54
Christoph AdlerTechnical Account Manager
panagenda GmbH – Solutions for Infrastructure Analysis and Optimization
● Lahnstraße 17 ● 64646 Heppenheim (Germany)
● Cell: +49 172 494 4141
● Phone: +49 6252 679 39-52 ● Fax: +49 6252 305 2842
● E-Mail: [email protected]
Kontakt