276 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
EntwicklerCamp 2016: XPages erweitern und ausbauen
Fri, Apr 15th 2016 13
EntwicklerCamp 2016: Ein Leben ohne Notes Client
Thu, Apr 14th 2016 6
Kurze Werbeunterbrechung
Tue, Mar 8th 2016 13
How To Crash a Domino Server
Sun, Feb 21st 2016 10
Vaadin IBM Challenge
Mon, Dec 14th 2015 7
Things I never blogged about: XPages & Google’s EventBus
Tue, Dec 1st 2015 9
Things I never blogged about: The XPagesExecutor Service
Sun, Nov 29th 2015 8
Top 10
Kurze Werbeunterbrechung
Tue, Mar 8th 2016 13
EntwicklerCamp 2016: XPages erweitern und ausbauen
Fri, Apr 15th 2016 13
Debug Retrofit REST applications
Fri, Nov 27th 2015 10
How To Crash a Domino Server
Sun, Feb 21st 2016 10
Things I never blogged about: XPages & Google’s EventBus
Tue, Dec 1st 2015 9
XPages: WebContent Files (1) – Create a file using the Java NAPI
Tue, Nov 18th 2014 8
Security: Usefull HTTP Response Headers
Wed, Jan 14th 2015 8
Things I never blogged about: The XPagesExecutor Service
Sun, Nov 29th 2015 8
XPages: Bindings, SSJS, EL and Bindings
Thu, Jul 2nd 2015 7
Testing XPages (2): BrowserMob Proxy
Thu, Sep 17th 2015 7


Sven Hasselbach
Blog Title blog@hasselba.ch
Blog URL http://blog.hasselba.ch
RSS Feed http://hasselba.ch/blog/?feed=rss2
Validate Feed feedvalidator.org or validator.w3.org
Feed Last Checked Apr 15, 2016 7:42:21 AM EST. Realtime Update:
Location Wiesbaden, Hessen, Germany


Recent Blog Posts
13
EntwicklerCamp 2016: XPages erweitern und ausbauen
Fri, Apr 15th 2016 7:42a   Sven Hasselbach
Die PDF Version meiner Entwickler Camp 2016 Session „XPages erweitern und ausbauen“ gibt es hier: ec2016-Votrag-XPagesErweiternUndAusbauen.pdf Die verwendeten Sources finden sich in diesem Repository auf GitHub: ec2016-xpages-erweitern Bei Fragen/Problemen einfach eine kurze Info an mich.
6
EntwicklerCamp 2016: Ein Leben ohne Notes Client
Thu, Apr 14th 2016 11:31a   Sven Hasselbach
Hier gibt es die PowerPoint Präsentation von meiner Entwickler Camp 2016 Session „Ein Leben ohne Notes Client“: ec2016-Votrag-LebenOhneNotesClient.pptx Die kompletten Sources finden sich in diesem Repository auf GitHub: ec2016-ein-leben-ohne-notesclient Bei Fragen/Problemen einfach eine kurze Info an mich.
13
Kurze Werbeunterbrechung
Tue, Mar 8th 2016 1:00p   Sven Hasselbach
Probleme bei der XPages-Entwicklung? Schulung gefällig? Fehlt die eine oder andere Komponente? Oder wird ein neuer Renderer benötigt, der zur Abwechslung mal den HTML Code generiert, den man gerne hätte? Ich biete gerne meine Unterstützung an. Einfach mal Kontakt aufnehmen. Gern auch per Mail: contact hasselba.ch
10
How To Crash a Domino Server
Sun, Feb 21st 2016 4:23a   Sven Hasselbach
How To Crash a Domino Server 1. Create a Java agent and do something in your finally routine (or in a ThreadDeath exception handling) which runs longer than 500ms import lotus.domino.AgentBase; public class JavaAgent extends AgentBase {     public void NotesMain() {         try {             int i = 0;             while (i < 1000) {                 i++;                 System.out.println("Round " + i);               
7
Vaadin IBM Challenge
Mon, Dec 14th 2015 3:40a   Sven Hasselbach
Since two weeks the Vaadin IBM challenge is over. While I was only able to do the bare minimum, I really enjoyed the different tasks (see here for list of steps). Congrats to the winners! And thanks to the Vaading Team & IBM for this exciting experience.
9
Things I never blogged about: XPages & Google’s EventBus
Tue, Dec 1st 2015 8:36a   Sven Hasselbach
This is another topic I wanted to blog about for a long time: The use of Google’s EventBus in XPages applications. EventBus is a replacement for the Java in-process event distribution. It makes life a lot easier. My first plan was to add the guava.jar into an OSGi plugin because of security reasons (otherwise you have to use the „grant{ permission java.security.AllPermission;}„) but I never had the time. That’s why I created a simple example which uses the jar in the lib/
8
Things I never blogged about: The XPagesExecutor Service
Sun, Nov 29th 2015 9:55a   Sven Hasselbach
The XPages engine has its own executor service to run jobs concurrently in another thread: the XPagesExecutor service. Under the hood, the service uses a ThreadPoolExecutor for executing tasks, so it allows to use Runnables or Callables/Futures for asynchronous computation. For fun, you can even run a server instance, the started threads can run as long as you want (e.g. they are not bound to the XPages lifecycle). Here is a small XPage with a button to start a Runnable via the Executor:  
5
[Discontunued] Testing XPages(3): Testing the Business Logic
Sat, Nov 28th 2015 7:47a   Sven Hasselbach
I will not develop my planned XPages Testing Framework further because for me it has no business case anymore. While there never was enough time to make it to a „real project“ for the daily development (full JUnit integration, deployed as an OSGi plugin etc) and this code is only an example, I used this technique with another code base in some projects. It was a big help during development, because it allows to „look inside“ the XPages engine while testing. How does it wo
10
Debug Retrofit REST applications
Fri, Nov 27th 2015 3:34p   Sven Hasselbach
Today I had some problems with designing a Retrofit REST application, so I needed a way to debug the request and the response from the server. After poking around, I found the HttpLoggingInterceptor from OkHttp.  It provides all the functionality I need and is really easy to implement. First you have create a OkHttpClient instance, add the interceptor and set the debug level to HttpLoggingInterceptor.Level.BODY: OkHttpClient client = new OkHttpClient(); HttpLoggingInterceptor interceptor = new
7
Testing XPages (2): BrowserMob Proxy
Thu, Sep 17th 2015 6:36a   Sven Hasselbach
When testing XPages or other web applications, you may want to have more control about the requests and responses during the JUnit testing. For example, if you want to test if a specific HTTP header exists in the response, or if it is required to add some HTTP headers to the request. But you cannot doe this out of the box with Selenium. Instead, you have to add a proxy to the Firefox controller, which then gives you a handle to the HTTP data and allows you to control the flow. An good soluti
3
Testing XPages
Wed, Sep 16th 2015 3:06a   Sven Hasselbach
When testing XPages with Selenium, you can easily pre-generate the JUnit test code with the browser plugin. But when you then change the structure of the XPage (f.e. by moving the components from an XPage to a custom control), all the IDs of the JUnit test will not work anymore. That’s why it is better to use CSS selectors to access the generated fields: driver.findElements(By.cssSelector("input[id*='idOfTheComponent']")); With the selector „id*=’idOfTheComponent'“
4
Android Development
Tue, Sep 15th 2015 8:06a   Sven Hasselbach
While I had a lot of work to do in my daily business, I was still able to complete five of six MOOCs about Android development during the last monthes. The courses were very cool, especially the ones about Concurrency and Security. Topics covered during the MOOCs: Screen configurations and sizes Activity Class, Intents and Permission, Fragments Designing user interfaces Notifying users about important events Handling concurrency Acquiring data over the network Leveraging multimedia and graphic
5
XPages: A ClientSide State
Sun, Sep 13th 2015 2:54p   Sven Hasselbach
I have created a ClientSide State for XPages, which allows horizontal scaling of XPages applications with a single click. After installing the OSGi Plugin on the servers and the DDE, you can activate it with a single click: Then, the State of the XPages application is stored on client side (in the field „$$clientstate„), and not on the server anymore. The State is AES-128 encrypted and uses some random bytes for a higher security. You can find the code on GitHub.
3
The XPages EL Directory
Wed, Jul 8th 2015 7:39a   Sven Hasselbach
I am currently working on an overview of availaible objects and properties for XPages Expression Language. A first incomplete and horrible designed version can be found here.
7
XPages: Bindings, SSJS, EL and Bindings
Thu, Jul 2nd 2015 3:01a   Sven Hasselbach
Because of reasons you should already know I avoid the use of SSJS in my XPages applications, but there are still some parts which can be easy realized in SSJS, but with EL only with a lot of effort. One of this things is accessing properties of a component which has only a getter or a setter – this will not work when using a binding. Let’s look for example at repeat control which is bound to the variable repeat. It can be easily accessed everywhere in SSJS, EL or Java, and it i
5
XPages: An optimized JavaScript Resource Renderer
Sun, Jun 21st 2015 5:27a   Sven Hasselbach
Ferry Kranenburg created a nice hack to solve the AMD loader problem with XPages and Dojo, and because of the missing ability to add a resource to the bottom of an XPage by a property, I have created a new JavaScriptRenderer which allows to control where a CSJS script will be rendered. The renderer has multiple options: NORMAL – handles the CSJS resource as always ASYNC – loads the script in an asynchronous way (with an own script tag) NOAMD – adds the no amd scripts around th
3
xsp.application.context.proxy
Wed, Jun 17th 2015 4:59a   Sven Hasselbach
Just a reminder for myself: To use a CDN for XPage resources, you can add a leading slash to the xsp.application.context.proxy property. xsp.application.context.proxy=/cdn.hasselba.ch




Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition