A blog about information technology. I am especially interested in Java, Eclipse RCP, IBM Notes Domino, Db2 and IBM i
Saturday, August 10, 2013
Was gibts neues in Java 8
Einen sehr guten Überblick über die Neuerungen in der Programmiersprache findet man auf Heise Developer
Wenn man auf den Geschmack gekommen ist, kann man eine Vorabversion von Java 8 auf java.net herunterladen.
Friday, August 9, 2013
Amazon-Login mit falschem Passwort möglich
mehr->
Thursday, August 8, 2013
Force the Notes client to refresh policies from the server
But one major annoyance of the implementation of Domino policies is that it is very unpredictable when the notes client will refresh his policies from the server. Especially in test environments you restart your clients often only to see that your changes on Policies are still not pushed to your test client. Or something in your client goes wrong and policies will not be updated anymore. So i have created a small lotus script program to delete the local cache of the policies and refresh all policies from the server which you can put in the click event of a button.
Sub Click(Source As Button) Dim s As New NotesSession Call s.SetEnvironmentVar("PoliciesLocalViewModTime","",True) Forall db In s.AddressBooks Call db.open("", "") ' Must open database 'Refresh Policies View on Server If db.IsPublicAddressBook Then Set view=db.getView("($Policies)") view.refresh Set view=db.getView("($PoliciesExt)") If Not view Is Nothing Then view.refresh End If End If 'Remove all policydocuments on the local client If db.isPrivateAddressBook And db.server="" Then Set view=db.getView("($Policies)") Set doc=view.getFirstDocument view.autoupdate=False While Not doc Is Nothing Set tempdoc=doc Set doc=view.getNextDocument(doc) tempdoc.remove(True) Wend view.autoupdate=True view.refresh End If End Forall 'Run Dynamic client configuration to repopulate the local policy view Set s=Nothing result=Shell ("ndyncfg.exe ""1""",1) End SubI have tried this code in our Domino 8.5.3 environment. If you have any problems please leave a comment.
Have a look at my other postings relating policies
Wednesday, August 7, 2013
Contextsensitive help for Notesplugin developer in Eclipse
Here is an example: You want to make a new SWT Text Field and get only a the Constructor signature with not very helpful parameter names. What the hell is arg1? So you have to open a browser go to the javadocs of SWT and search for the Text class and after reading the description go back to eclipse.
Wouldn't it be so much nicer if you can get useful parameter names and the javadoc direct in the syntax completion window like you get it when you develop plugins against the standard RCP target.
Follow this steps to teach the eclipse IDE that it shoukld search for the source in another place.
First go to your plugin in the package Explorer in your eclipse IDE. Open the "Plugin Dependenices" and search for the plugin for which you want do add java source. In our example this is org.eclipse.swt.win32.win32.x86.versionNumber.
Download the Eclipse RCP source from the eclipse download archive page in the correct version. In our example the correct version is 3.6.2.
Unzip the "org.eclipse.swt.win32.win32.x86.source.version.jar" from the downloaded SDK to a new directory where you want to store all java source packages for Notes. Do not place this directory somewhere in the Notes program directory.
Right click the Notes plugin in package explorer and select "Properties" from the context menu. Paste the fully qualified path to the extracted source plugin in the Location path or select external File and browse to the source plugin file. Then finish the dialog with ok. Now your have context help for every SWT Class in your eclipse IDE.
You can repeat the above steps for other plugins in Notes which are eclipse based, for example jface, eclipse forms or the workbench. Be aware, that most other plugins are not version 3.6.2, but 3.4.2. So you have to download the 3.4.2 SDK from the download archive.
I think this is really a great step forward for every plugin developer for Notes.
Tuesday, August 6, 2013
Holiday reading: IBM Redbooks: Lotus Domino Development Best Practices
Lotus Domino Development Best Practices
Performance Considerations
Tuesday, July 30, 2013
IBM Notes Traveler Administration REST API
IBM has posted a detailed description of the new REST API of the Traveler 9.0.0.1 Server. With this new API third party software developers who provide mobile device management software can access and make changes to the traveler configuration.
For example over this API you can get device, or user lists. You can access the device policies, blacklist or wipe devices.
But this API is not restricted to third party developers. Every Traveler Admin can use this to integrate their own managment solutions with the new traveler server.
As this new API is based on the Standard REST API of Domino you should read my other Posts regarding the Domino REST API
The PDF with the documentation is available in the Traveler Wiki.
Monday, July 29, 2013
New concurrent access resolution clauses in V7R1
So what was wrong with concurrent access till V7R1. When a job changes some rows under commitment control, no other job can access this row even when this job only want to read the data for a query. The job has to wait until the blocking job commits his transaction. The query job can fail if the job reaches the access timeout before the blocking job has finished his transaction.
But now we have new possibilities to control the behavior in the query job.
New with V6R1 "SKIP LOCKED DATA"
When you add this clause to your select statement the query will ignore every row currently blocked by an uncommited transaction. In my opinion this option is not really an improvement, because with this clause you often get wrong results.
New with V7R1 "USE CURRENTLY COMMITED"
When you add this clause to your select statement the query will ignore uncommited changes, but will process the original values of the locked rows. So the result of the query, will be correct, and the query will not wait for record locks caused by open transactions.
For further informations and examples you can have a look at developer works
Sunday, July 28, 2013
Verschlüsselungsoption die nachträgliches Entschlüsseln verhindern soll.
Nach den Enthüllungen von Ed Snowden wird klar, dass die Geheimdienste auch verschlüsselten Traffic im großen Stil aufzeichnen in der Hoffnung diesen später mit dem geheimen Schlüssel eines Diensteanbieters zu entschlüsseln. Gerüchteweise hat die NSA bereits bei Facebook und Co schon vorgefühlt, ob sie die geheimen Schlüssel bekommen können. Damit lässt sich im Nachhinein jede aufgezeichnete Kommunikation entschlüsseln. Wie das funktioniert und was man dagegen machen kann erklärt Heise Security in einem neuen Artikel http://www.heise.de/security/artikel/Zukunftssicher-Verschluesseln-mit-Perfect-Forward-Secrecy-1923800.html