admincamp 2013 - mastering eclipse in ibm notes 9

Post on 14-May-2015

520 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Mastering Eclipse in IBM Notes 9, von Christoph Adler

TRANSCRIPT

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: christoph.adler@panagenda.com

Kontakt

top related