Two new interesting CLFAD:s in XPages today

I had some strange problems today in 8.5.2FP1 that resulted in error 500.

CFLAD0246: Exception and CFLAD0134E:

The error occurred when executing this line of code currentDocument.save()
Crap I thought some internal error inside the XPages engine. I was searching for the error and thought
perhaps I should see if the error still occurs in 8.5.3. Yes box it did but in 8.5.3, I got and more developer friendly error .

Could not save the document 18B1E NotesException: Vector must contain objects all of the same class

Aha I thought I have some fields that contains multi value so I started to search there and found that I had
an array that contained numbers but in one case JS added text to this array. That was the problerm in this case.

Perhaps if there were a list of the most common CFLADS and what causes the problem would be good to have!

So hurry and upgrade to 8.5.3 and perhaps you will also benefit from some more developer friendly errors. 

xTrain – XPages seminar in Sweden

IBM in Sweden is going to host an XPages day on the 12:th of December in Stockholm.
With Ed Brill as the main speaker.

If you are interested this is the link to sign up for it.

xtrain.lotisverige.com 

Perhaps a DAOS inside can be the solution

I had a problem with growing Domino databases and didn’t have the option to turn DAOS. And I thought how could this problem be solved if I did some database design. What is the problem today with large Domino databases or large attachments today?

1. Large or many Attachments makes the database slow
2. Opening documents become slow.

DAOS solves these issues by extracting the attachment out of the database and creating a file with a hash name to get a single copy solution, Very clever. The hashing of files solution original developed by and MIT professor named Ron Rivest. He was one of the founders of RSA (the R is from his name ) 

I tough if you could have a DAOS like solution stored inside a single NSF file then you could benefit from this when if you server didn’t have DAOS enabled. And also if you did a local replica.

If the attachments were extracted from the actual document like they are in DAOS, I belive that the performance would increase. This because the attachments are only touched in they are needed and not every time the document fetched like today. But this is just a wish from me 😉  

It will be interesting to see what new features IBM will implement into the NSF container in the next ODS version. So the Domino NSF container can show that it’s the largest NoSQL database what I know of.

Have a great NSF Day!!

Applications of the future

How will applications of the future work.

I believe that applications of the future is webbased, component based and autoupdated.

text editor

I think there will be better way to separate an application into pieces and only those pieces that you need will be downloaded into your local application framework runner. I also believe that these application framework runners will run inside the web browser (i.e Chrome frame) or be apart of the web browser.

The pieces will also auto update after every time you have used them not before you use them or if you check for an update. The updates can be checked against a internet based update site or a specified local update server.
And because the application is component based, no problem adding new formats to load or save data from. A new macro language can be docked in because the customers like to develop macros in java instead of .Net.

Major release updates is old news, Users demands a constant flow of improvements. But I don’t say that all IT Administrators want this, but can they stop it?

What is your idea of future application design?

Social Development in Domino Designer

I haven’t seen any development addons for Domino Designer that could make it more social.
It would be great to have some integration that you easy could update what design elements or/and databases you are working with.
Also a easy way to update status in your projects.

I would be happy if you could have integration points in the designer that don’t require the use of creating a plugin.
Perhaps a side panel that can load an xpage and some scoped variables gives integration with the designer.

Java UI API support from XPages in the client wouldn’t be bad either.

Get a progressbar everytime a partialrefresh is fired

I was looking for some code today to get a wait sign when a partial refresh had fired. I found this great article at lotusnotus.com bu that wait sign had to be added to each event (Not my kind of thing 😉 ).

Then I remembered that I saw some code created by Tommy Valand to hijack all partial refresh events.

So I made a cut and paste coding and volia. Standby wait sign every time a partialrefresh fires.

I added code section one and two above and also this section into a scriptlibrary.

You could add this lib to a custom control and add the hijackAndPublishPartialRefresh() function in the onclientload client event. Also add dojox.widget.Standby as a dojo module resource.

When I started to use this I found that it was firing all the time, and I didn’t want that so I did some modifications

You’ll still need the hijack script and this last script.

Enjoy!!

Update, Latest version of this can be found here
using the designer import tool –> Link

Or XSnippet

Sharing and Open Source

Sharing code is good and open source projects is also good. But neither of them puts food on the table.

When sharing code and software to a community like OpenNtf.org you often do so because you have found some good stuff before and feel that you also should give something back or you want to show your expertise. And there is probably alot of other reasons but those were just two examples.

But did you know that there is several ways to get something back.

What about offer your documentation as a printed copy. The people that feel your software is great can buy a printed copy and you will earn some money. There is several services one of them is www.lulu.com

Another way is to add flattr on your site and the people can show their appreciation. For some this has been a great way.

If you have a great idea for a open source project why not crowd fund it. This is a great way, get people involved and sponsor the building of a some great software. There are several sites for this.

http://www.sponsume.com/
http://www.chipin.com/
http://cofundos.com/
http://www.kickstarter.com/

You could offer professional support for your open source project for adaptation, installation or education.
Perhaps offer to setup a XWork Server with your open source software at a fixed price.

There is probably more ways, do you know a way please drop a comment so everybody can get to know that way.

 

 

 

Local XPages problem and webpreview port

I wrote about the new function that you could change the webpreview port in 8.5.3
unfortunately this gives you another problem if you change the port.

You can’t run local XPages in the client web preview works fine, if you change the port back make sure you write 80 in the field. If you just clear the field you will still get problems.

 

My top 5 things that we need in XPages


1. Better Client and OS integration
You need to be able to do things in an XPage that you are used to in an ordinary client.

  • Copy and paste images into the rt field
  • Communicate with the eclipse client framework
  • Integration with other desktop applications
  • Finally get a full integration with symphony documents.
    (Open them directly from an XPage thru code, create from template, set content in Symphony)
2. Integrated Debugger and Memory profiler
Checkout the debugger in visualstudio this is how the debugger should work in my opinion. Start debugging in client code continue over in server side code and back again. NICE ;-). Memory profiler that is built in would also be great and not just for test environments (When do you really need them ? ).
 
3. More error handling in the designer
Today in the designer you can make errors easily that you will have a hard time finding.

 

4. WebServices
In all other modern development environments webservices is used alot. We need support for Webservices in XPages both in code and as a datasource.

 

5. Integrated Extension library
We need the extension library to be integrated into the server and client install.
If it’s installed. It’s also updated like you update Firefox or Chrome, automatically!

 

This is my top 5 things, no specific order. What are yours?

 

iOS 5 now Live

I have installed iOS 5 on my devices at first I had some problems with a error 3200 in iTunes. But that was from that Apples servers was overloading with everybody upgrading.

Some suggestions before upgrading if you haven’t done this.

1. Remove any apps that you rarely use
2. Make sure that you have updated all apps in your device
3. Make a backup copy of all your photos and remove them from the device
4. Remove and videos and music that you can

All the above things is just so you upgrade goes as smooth as possible, If you have alot of data on your device the backup will be huge and take alot of time.

Also before you start upgrade, make sure that you have Itunes 10.5

Start the upgrade and don’t be scared it will do alot of reboots before it’s done.

Happy upgrading 😉

One thing that similar between Apple and the Domino server is that upgrades is always that smooth.
If only the Notes Client install could be that smooth too.