Posts Tagged: ‘entwicklung’

Die preiswerte, flexible, moderne & zukunftssichere Entwicklungsplattform

4. April 2018 Posted by Albert Boxler, IBM

In diesem Webcast informieren wir Sie über IBM Notes/Domino als aktuelle, preiswerte, flexible und zukunftssichere Entwicklungsplattform - nun auch mit JavaScript Support, node.js, loopback, usw.

Der Beitrag Die preiswerte, flexible, moderne & zukunftssichere Entwicklungsplattform erschien zuerst auf DNUG.

AdminCamp 2016: Notes-Entwicklung für Domino-Admins

7. Oktober 2016 Posted by Thomas Bahn

AdminCamp
Ich bin der festen Überzeugung, dass jeder guter Notes-Entwickler auch mindestens etwas von der Domino-Administration verstehen sollte, genauso wie jeder Domino-Administration mindestens etwas entwickeln können sollte.

So kann man sich nämlich vieles vereinfachen, automatisieren oder leichter zugänglich machen. Das zeige ich u. a. an mehreren Beispielen in meinem Vortrag.

Hier die Präsentation zu meinem Vortrag in Track 1, Session 6: Notes-Entwicklung für Domino-Administratoren:

AdminCamp 2016: Notes-Entwicklung für Domino-Admins

7. Oktober 2016 Posted by Thomas Bahn

AdminCamp
Ich bin der festen Überzeugung, dass jeder guter Notes-Entwickler auch mindestens etwas von der Domino-Administration verstehen sollte, genauso wie jeder Domino-Administration mindestens etwas entwickeln können sollte.

So kann man sich nämlich vieles vereinfachen, automatisieren oder leichter zugänglich machen. Das zeige ich u. a. an mehreren Beispielen in meinem Vortrag.

Hier die Präsentation zu meinem Vortrag in Track 1, Session 6: Notes-Entwicklung für Domino-Administratoren:

EntwicklerCamp 2016: LotusScript extrem!

13. April 2016 Posted by Thomas Bahn

EntwicklerCamp
Heute war ich überwältigt, überwältigt von der Anzahl der Menschen, die sich heute in den Raum gequetscht haben. Ich erinnere mich nicht, dass der Raum (Track 2) schon mal so voll war. Vielen Dank an alle, die sich für den Vortrag entschieden haben - insbesondere für die Geduld und das Verständnis, als ich doch nicht ganz unwesentlich überzogen habe.

Die Präsentation und die Demo-Datenbank zu meinem Vortrag in Track 2, Session 8: LotusScript extrem!




EntwicklerCamp 2016: LotusScript extrem!

13. April 2016 Posted by Thomas Bahn

EntwicklerCamp
Heute war ich überwältigt, überwältigt von der Anzahl der Menschen, die sich heute in den Raum gequetscht haben. Ich erinnere mich nicht, dass der Raum (Track 2) schon mal so voll war. Vielen Dank an alle, die sich für den Vortrag entschieden haben - insbesondere für die Geduld und das Verständnis, als ich doch nicht ganz unwesentlich überzogen habe.

Die Präsentation und die Demo-Datenbank zu meinem Vortrag in Track 2, Session 8: LotusScript extrem!




EntwicklerCamp 2016: Javascript für Fortgeschrittene

13. April 2016 Posted by Thomas Bahn

EntwicklerCamp
Ich habe das Gefühl, dass die Konferenz von Jahr zu Jahr schneller vergeht. Vielleicht liegt es ja auch nur an den tollen Leuten und Gesprächen, dass mir das so vorkommt.
Sei es, wie es sei: Es war wieder großartig, inspirierend und lehrreich!

Die Präsentation zu meinem Vortrag in Track 2, Session 4: JavaScript für Fortgeschrittene:



EntwicklerCamp 2016: Javascript für Fortgeschrittene

13. April 2016 Posted by Thomas Bahn

EntwicklerCamp
Ich habe das Gefühl, dass die Konferenz von Jahr zu Jahr schneller vergeht. Vielleicht liegt es ja auch nur an den tollen Leuten und Gesprächen, dass mir das so vorkommt.
Sei es, wie es sei: Es war wieder großartig, inspirierend und lehrreich!

Die Präsentation zu meinem Vortrag in Track 2, Session 4: JavaScript für Fortgeschrittene:



Verwendung eines zentralen Repositories

11. März 2016 Posted by Bernd Hort

Letztens wurde ich gefragt, wie man ein zentrales Repository unter Lotus Notes verwenden kann. Lassen Sie es mich am Beispiel unseres assono Framework erklären.

Unser Framework besteht aus einer Vielzahl von Design-Elementen. Neben Masken, Ansichten, Agenten, Grafiken und Ähnlichem gibt es eine ganze Menge von LotusScript Bibliotheken. Diese werden alle in einer Notes Datenbank "assRepostory 2" verwaltet.

Mit Hilfe des Schablonen-Mechanismus werden jeglichen Änderungen und Erweiterungen in die Anwendungs-Schablonen, wie z.B. für unseren assono Password-Safe Pro, übertragen. Von dort werden sie in die produktive Anwendung übertragen.

Inheritance from a central repository

Lassen Sie mich Ihnen die Details näher bringen.


In unserer zentralen Repository-Datenbank "assRepository 2" ist die Option "Database file is a master template" aktiviert. Der Schablonen-Name darunter ist die wichtigste Information.

Über diesen Namen werden die Abhängigkeiten aufgelöst. Sie sollten also sicherstellen, dass der Name eindeutig ist.

Zentrales Repository - assRepository

Für jede Anwendung, die wir entwickeln, gibt es eine zugehörige Anwendungs-Schablone. In dieser Anwendungs-Schablone müssen zwei Optionen aktiviert sein. Da es sich um eine Schablone handlelt, muss selbstverständlich die Option "Database file is a master template" aktiviert sein.

Darüber hinaus haben wir auch die Option "Inherit design from master template" aktiviert. Underhalb dieser Option steht der Schablonen-Name unseres zentralen Repository "assRepository-2". Wenn der Design-Task nachts um 01:00 Uhr läuft, wird überprüft, ob es im Repository Aktualisierungen gab. Er überprüft auch, ob in der Anwendungs-Schablone Design-Elemente fehlen, die im Repository vorhanden sind.

Jedes Mal, wenn wir ein neues Feature entwickelt haben und alle Tests erfolgreich durchlaufen wurden, packen wir anschließend alle zugehörigen Design-Elemente in dieses Repository. Der Design-Task kümmert sich um die Verteilung in die Anwendungs-Schablonen.

Lassen Sie mich ewtas sehr klar betonen. Weil der Design-Task automatisch jede Nacht läuft, stellen wir absolut sicher, dass nur komplett entwickelte und erfolgreich getestete Features und Aktualisierungen in das Repository übertragen werden. Wir empfehlen ausdrücklich die Verwendung einer Versionsverwaltung.

Application template

Ein anderer wichtiger Punkt ist die Option "Prohibit design refresh or replace to modify" für jedes anwendungs-spezifische Design-Element. Diese Option wird automatisch aktiviert, wenn in der Anwednungs-Schablone ein neues Design-Element erstellt wird.

Allerdings sollte beim Kopieren von Design-Elemente besondere Vorsicht geboten sein. Lieber die Option zweimal überprüfen. Ist die Option nicht aktiviert, löscht der Design-Task in der Nacht das Design-Element. Hatte ich die Wichtigkeit von Versionsverwaltung erwähnt?

Prohibit design refresh or replace to modify

Die produktive Anwendung erbt direkt von der Anwendungs-Schablone.

Production application

Vielleicht werde ich das nächste Mal über die Verwendung von Git in diesem Szenario bloggen.

Happy coding!

Ein Plädoyer für Lotus Notes (Teil 1)

19. Januar 2016 Posted by Stephan Kopp

Ich entwickle jetzt schon seit vielen Jahren im Lotus Notes Umfeld und ja, ich sage weiterhin Lotus Notes!

Man macht sich so seine Gedanken, ob das alles noch Zukunft hat und schaut sich immer mal wieder in fremden Gefilden um. Ich habe auch schon C#, iOS und Java Applikationen entwickelt, muss aber sagen dass mir Lotus Notes immer noch am meisten Spaß macht. Ich meine damit nicht die Programmiersprache LotusScript und schon gar nicht den Eclipse Designer Client. Da gefallen mir Xcode und sogar Visual Studio um Welten besser. Was mich überzeugt ist die Plattform Lotus Notes.

Ich benutze längst nicht alle neuen Features wie OSGI Plugins, Ajax, Dojo, etc. XPages gehen mir auch nicht wirklich leicht von der Hand und ich kann noch nichtmal alles aufzählen was man noch so alles an “modernem Kram” mittlerweile verwenden kann. Aber es ist immer wieder das Gesamtpaket das mich überzeugt und vor allem die schnellen Ergebnisse die man erzielen kann.

Ein konkretes Beispiel ist einer meiner Kunden, der letztes Jahr weg von Notes migriert ist. Bzw. jetzt zwar ein anderes Mail System hat, aber weiterhin die Domino Server für die Applikationen betreiben muss (so wie es eben bei den meisten Migrationen läuft, aber das ist eine andere Geschichte…).

Wir haben zur Unterstützung, Planung und Vorbereitung ein Tool entwickelt. Das war natürlich eine Lotus Notes Applikation. Soweit hat das ja Sinn gemacht, die meisten Vorbereitungen und Tasks liefen auf Domino ab, also nimmt man diese Plattform. Im Verlauf des Projektes sind die Anforderungen aber immer weiter abgedriftet. Von einfachen “schau vorher mal ins AD, ob die SMTP Adresse dort doppelt vorhanden ist” bis hin zu komplexeren Überprüfungen und sogar Änderungen die wir im AD gemacht haben. Bei einigen Anforderungen habe ich sogar mehrfach in den Raum gestellt, ob man dafür nicht lieber eine Applikation auf den zukünftigen Systemen entwickeln sollte, immerhin soll Notes ja abgelöst werden! Aber immer wieder wurde die Lösung auf der Notes Plattform implementiert.

Das kann natürlich mehrere Gründe haben, mir fallen für dieses konkrete Beispiel drei ein:

  1. Die Plattform ist ja schon da
  2. Die Entwickler mit den richtigen Ideen sind auch da
  3. Die Implementierung geht schnell und verzögert das Projekt nicht

Wenn wir von einer Lösung mit anderen Mitteln gesprochen haben, hörten wir meistens von PowerShell oder irgendwelchen Sync Scripten. Aber von einer richtigen Applikation war nie die Rede und schon gar nicht mit vertretbarem Aufwand und Zeitrahmen. Das Ganze musste natürlich auch irgendwie verwendbar sein und einfach zu handhaben. PowerShell ist sehr mächtig, aber an sich nur eine Kommandozeile und man muss sehr genau wissen was man tut. Eine Oberfläche von der aus ich die einzelnen Funktionen (egal welche Systeme dahinter stecken) bedienen kann ist in einem solchen Projekt Gold wert. Also sind immer weitere Funktionen in unser Tool implementiert worden. Sogar die PowerShell Scripte wurden in unser Tool integriert um sie einfacher managen zu können.

Es zeigt sich also, dass selbst bei einer Migration weg von Lotus Notes weiterhin die Vorteile der Plattform zum tragen kommen:

  • Die Server sind vorhanden und skalierbar
  • Security ist gewährleistet
  • Backup ist vorhanden
  • Usermanagement ist vorhanden
  • Man ist nicht auf Domino beschränkt, sondern kann schnell und einfach auf alles möglich zugreifen

Was mich nur sehr traurig stimmt ist die Tatsache, dass solche Argumente meistens nie gehört werden wenn es um die Entscheidung für oder gegen Lotus Notes geht…


Filed under: IBM Notes/Domino

Neues Standardverhalten in XPages: Whitelist für Datenquellen

22. Juni 2015 Posted by Thomas Ladehoff

IBM Domino Designer
Seit Domino 9.0.1 FixPack 4 gibt es eine Neuerung bei XPages-Datenquellen, womit jetzt nicht mehr beliebige Servernamen über den URL übergeben werden können.


Bis zu diesem Update war es möglich über den URL Parameter "databaseName" einen anderen Server und Datenbank an eine XPage zu übergeben. Die Parameter werden von der Datenquelle auf der XPage verwendet, sofern nicht die Option ignoreRequestParams="true" für die Datenquelle gesetzt ist.


Mit dem neuen Update werden andere Server, als der aktuelle, standardmäßig nicht mehr zugelassen. Eine Beispieladresse wie die folgende führt dann zu dem Fehler "The databaseName URL parameter value is not one of the allowed database names.":

http ://servername.example.com/discussion.nsf/allDocuments.xsp?search=agenda&databaseName=otherserver!!discussion_data.nsf


Über eine neue Option in der xsp.properties Datei der XPages-Anwendung (bzw. des Servers) können die erlaubten Server und Datenbanken konfiguriert werden:


xsp.data.domino.param.databaseName.whitelist=<currentServer>!!<anyApplication>, otherServer!!app.nsf, otherServer!!app2.nsf


Darüber hinaus gibt zwei weitere neue Optionen für xsp.properties Datei:
  • xsp.data.domino.ignoreRequestParams = false
    Bei setzen auf "true" werden anwendungsweit auf XPages die übergebenen Parameter ignoriert.
  • xsp.data.domino.param.databaseName.usage= whitelist | apply | ignore | error
    Separates steuern des "databaseName"-Parameters. "whitelist" ist das Standardverhalten seit Domino 9.0.1 FixPack 4, davor war es "apply" (uneingeschränkt anwenden), bei "ignore" oder "error" wird der Parameter generell ignoriert bzw. führt zu einem Fehler. Empfehlenswerte Einstellung ist hier "ignore", sofern man diesen Parameter nicht wirklich benötigt.


Quelle und weitere Informationen: Link

42. DNUG Konferenz: Preview auf den Techniktrack Entwicklung

28. April 2015 Posted by Roswitha Boldt

Track 2.4: Technik - Entwicklung

11. Juni 2015, 8:30 bis 15:45 Uhr

 

Integration von Salesforce und IBM Software - Andreas Rosen, QKom GmbH
Domino im Dialog mit einer OpenSource-Workflow-Engine - Jens Ribbeck / Veit Weber, ULC Business Solutions GmbH

Speed up your development in XPages or Javascript using Open Source - Tim Clark, Teamstudio (angefragt)

Vom XPages Held zum OSGI Guru! Wie man eine Extension Library entwickelt. Christian Güdemann, WebGate Consulting AG
XPages auf Bluemix - Niklas Heidloff, IBM


Track Manager sind Oliver Busse, We4IT GmbH, und Thorsten Hindermann, GWDG.

 

Hier erfahren Sie mehr über die 42. DNUG Konferenz in Dortmund:

Überblick

Preview der Tracks

Anmeldung als Teilnehmer

Übersicht über Sponsoren und Aussteller mit Kontaktmöglichkeit

 

Notes-Funktionen in JavaScript

6. März 2015 Posted by Lars Buntrock

Spätestens seit XPages Einzug in den Entwicklungsprozess von Notes Applikationen gehalten haben, müssen sich Entwickler zwangsläufig mit Web-Entwicklungstechnologien auseinandersetzen, u. a. auch mit JavaScript. Da gerade das Entwicklercamp 2015 zu Ende gegangen ist, hoffe ich, dass sich der Eine oder Andere hat begeistern lassen, neben der klassischen Notes-Entwicklung der Web-Seite (und hier insbesondere der XPages […]

EntwicklerCamp 2015: Wenn ich das früher gewusst hätte, hätte ich schon lange objekt-orientiert programmiert

4. März 2015 Posted by Thomas Bahn

EntwicklerCamp
Objekt-orientierte Programmierung ist - immer noch - ein wichtiges Thema für mich. Umso mehr freue ich mich über das positive Feedback nach diesem Vortrag.
Und wie gesagt: Fang klein an, vielleicht mit einer Hilfsklasse für E-Mails oder für RichText, um Erfahrungen zu sammeln. Beim nächsten komplexeren Prozess (z. B. Agent), vielleicht beim Import oder Export, verwende diesmal OOP. Und dann mach eine Basis-Klasse für dich mit deinen für dich wichtigen Methoden, die du sowieso immer schon benutzt hast, und stelle mal eine Maske um...

Die Präsentation und die Demo-Datenbank zu meinem Vortrag in Track 3, Session 3: Wenn ich das früher gewusst hätte, hätte ich schon lange objekt-orientiert programmiert:



EntwicklerCamp 2015: XPages – WebServices und REST

4. März 2015 Posted by Bernd Hort

EntwicklerCamp

Der letzte Tag des EntwicklerCamps ist gekommen. Heute war mein zweiter Vortrag zum Thema "XPages - WebServices und REST". In 90 Minuten habe ich ausführlich beschrieben, wie Webservices und RESTful Webservices innerhalb von XPages konsumiert werden können. Die erste Hälfte des Vortrages konzentrierte sich auf das Backend mittels Java. In der zweiten Hälfte habe ich den Blick auf JavaScript im Browser gerichtet.

Wie immer können die Folien und die Beispiel-Anwendung heruntergeladen werden. Basis für diesen Vortrag war mein Vortrag auf der IBM ConnectED 2015: BP 108 - Be Open - Use Web Services and REST in XPages Applications. Insofern ist die Beispiel-Anwendung die gleiche wie beim IBM ConnectED-Vortrag.

 

In der Beispiel-Anwendung befinden sich nicht nur XPages, um die Webservices und RESTful Webservices zu konsumieren. Damit die Beispiele auch bei Ihnen ohne Probleme laufen, sind ein Webservice und drei RESTful Webservices implementiert.

EntwicklerCamp 2015: Probier’s mal mit Gemütlichkeit – Developer Edition

4. März 2015 Posted by Thomas Bahn

EntwicklerCamp
Vielen Dank noch einmal an Rudi und sein Team, die uns wieder ein ganz tolles EntwicklerCamp veranstaltet haben. Ich freue mich schon wieder auf das nächste Mal am 11. - 13. April 2016.

Die Präsentation zu meinem heutigen Vortrag in Track 1, Session 7: Probier's mal mit Gemütlichkeit - Developer Edition:

Ich habe versucht, die von euch genannten Tools auch noch zu recherchieren und zu ergänzen. Die meisten konnte ich finden, nur die SIT Tools habe ich gar nicht gesehen, und für LSCalls den Download nicht mehr. Wahrscheinlich ist es bei der Umstellung des Blogs bei Teamstudio unter den Tisch gefallen?!