Posts tonen met het label Domino. Alle posts tonen
Posts tonen met het label Domino. Alle posts tonen

dinsdag 10 november 2009

View URL in Xpages in the Client

I'm busy with a highly configurable FAQ database build with XPages.
The custom styling of the website is based on a Notes document, who is containing the styles.
I'm using relative url's like,
href="/css/e-office.css"

When I load the application in the Client then my styling is broken.
In the source I see a weird URL for my stylesheet.
href="/xsp/Paddington%20R8!!bb/faq.nsf/xsp/css/e-office.css?SessionID=ID12-147ef17222171000"

There is in the url een extra 'xsp' before the /css/e-office.css
How can I avoid this, because I think this is the cause that my stylesheet is not properly loaded in the client.

zaterdag 7 november 2009

How to get Content of Stylesheet design element ( Update )

Yesterday I was asking a way to get the content out of a Stylesheet Design element, see
previous post.
Thanks to Tim Tripcony I solved the problem.
Solution
First of all I downloaded the base64 class from this website.

Then I created the function 'getStylesheet'
Dim nc As NotesNoteCollection
Dim domParser As NotesDOMParser
Dim docNode As NotesDOMDocumentNode
Dim base64 As New Base64()

Dim stream As NotesStream, stream1 As NotesStream
Dim exporter As NotesDXLExporter

Set nc = db.CreateNoteCollection(False)
nc.Selectstylesheetresources=True
Call nc.BuildCollection

Set stream = session.CreateStream
Set stream1 = session.CreateStream

Call stream1.Truncate

Set exporter = session.CreateDXLExporter(nc, stream)
Call exporter.Process

Set domParser=session.CreateDOMParser(stream, stream1)

Call domParser.Serialize
Call domParser.Process
'get the document node
Set docNode = domParser.Document

Call findFileData(domParser, docNode)

GetStylesheet = base64.decode(stream1.Readtext())

Call stream.Close()
Call stream1.Close()
End Function


And a function 'findFileData', to loop through the DOM Nodes and generate the content of the FileData Tag as DOMParser output.

Function findFileData ( domParser As NotesDOMParser, node As NotesDOMNode) As string
Dim child As NotesDOMNode
Dim elt As NotesDOMNode
Dim attrs As NotesDOMNamedNodeMap
Dim a As NotesDOMAttributeNode
Dim LF As String
LF = Chr(13)+Chr(10)

If Not node.IsNull Then
Select Case node.NodeType
Case DOMNODETYPE_DOCUMENT_NODE: ' If it is a Document node
Set child = node.FirstChild ' Get the first node
Dim numChildNodes As Integer
numChildNodes = node.NumberOfChildNodes

While numChildNodes > 0
Set child = child.NextSibling ' Get next node
numChildNodes = numChildNodes - 1
Call findFileData(domParser, child)
Wend
Case DOMNODETYPE_TEXT_NODE: ' Plain text node
If(node.Parentnode.Nodename="filedata")Then
domParser.Output(node.NodeValue+LF)
Exit function
End If
Case DOMNODETYPE_ELEMENT_NODE: ' Most nodes are Elements
Set elt = node

Dim numAttributes As Integer, numChildren As Integer
numAttributes = elt.attributes.numberofentries

Set attrs = elt.Attributes ' Get attributes

Dim i As Integer
For i = 1 To numAttributes ' Loop through them
Set a = attrs.GetItem(i)
Next

numChildren = elt.NumberOfChildNodes
Set child = elt.FirstChild ' Get child
While numChildren > 0
Call findFileData(domParser, child)
Set child = child.NextSibling ' Get next child
numChildren = numChildren - 1
Wend

Case Else:

End Select 'node.NodeType
End If 'Not node.IsNull
End Function


In the function 'getStylesheet' I run the code
GetStylesheet = base64.decode(stream1.Readtext())

to return the decoded text.

vrijdag 6 november 2009

How to get Content of Stylesheet design element

I have a database who have one stylesheet design element.
With Lotusscript I try to get the content of this design element.

The code who gets the design element is below:

Set nc = db.CreateNoteCollection(False)
nc.Selectstylesheetresources=True
Call nc.BuildCollection

nid = nc.GetFirstNoteId()
Set docCSS = db.GetDocumentByID(nid)

When I look in the debugger at the items then there is not an item who contains the content.

Is there an other way to get the content of this design element?

woensdag 21 oktober 2009

Xpage: Selected value of a Listbox

I'm buiding a new Xpage application, now I'm facing a problem.
On the Xpage is a Listbox, with possibilty to store multiple values.

Is there an easy way to get the selected value of the Listbox with Server Side Javascript?

donderdag 8 oktober 2009

Xpage: getWeek() function in Server Side JS

I'm busy with the rebuild of our Planning database. To display the planning of the employees you will need the weeknumber

In Javascript object Date there is no native method to get the weeknumber. So you need to extend the Date object.
To get is work in Xpages, put the following code in a Server Side JS scriptlibrary and include this scriptlibrary in the resources of the xpage or custom control:
/**
* Get the ISO week date week number
*/
Date.prototype.getWeek = function () {
// Create a copy of this date object
var target = new Date(this.valueOf());

// ISO week date weeks start on monday
// so correct the day number
var dayNr = (this.getDay() + 6) % 7;

// Set the target to the thursday of this week so the
// target date is in the right year
target.setDate(target.getDate() - dayNr + 3);

// ISO 8601 states that week 1 is the week
// with january 4th in it
var jan4 = new Date(target.getFullYear(), 0, 4);

// Number of days between target date and january 4th
var dayDiff = (target - jan4) / 86400000;

// Calculate week number: Week 1 (january 4th) plus the
// number of weeks between target date and january 4th
var weekNr = 1 + Math.ceil(dayDiff / 7);

return weekNr;
}


Here is an example of how you can use of the getWeek method.
var dt = new Date();
var wk = dt.getWeek();

woensdag 23 september 2009

Digital Image Gallery rebuild in Xpages

For a while I have developed a Digital Image Gallery. Mainly I made use of JSON to get all the configuration parameters and gallery.
In Release 8.5.1 of Domino Xpages are also supported in the Client.

And with the shipping date within 20 days, I rebuild my Digital Image Gallery in Xpages.
It was quite easy, less coding.
In 2 days the development was done.
Preview

donderdag 17 september 2009

FTSearch and Domino console

I perform a FTSearch on a database, but database is not Full text indexed.
When I watch the Domino Server console I see this message.



The Domino Server gives you a advice, funny.

donderdag 10 september 2009

Xpages: Profile documents

Profile documents are easy to use in Xpage development.
But when you add some fields to a Profile documents, you need first restart the Domino server before you can use this fields.
That's because Profile documents are heaveliy cached at the Domino server.

donderdag 16 juli 2009

Xpage tip:getValue() of getSubmittedValue()

Momenteel ben ik tussendoor bezig met het bouwen van een xpage.
Daarbij maak ik gebruik een veld met typeahead en een paar combo boxen die dynamisch gevuld worden.
Ik gebruik om de nieuwe waardes ophalen voor een combobox gebruik van 'context.reloadPage()'

Nadeel is dat dan Validatie van de pagina af gaat.
Dit kan je ondervangen door in de Event tab, 'No validation' tab aan te vinken.
Nadat ik deze setting had aangevinkt, werkte het updaten van de verschillende componenten niet meer. Leek net of de variabelen niet meer geupdate werden.
En dat klopte.
Mijn code in de onChange Event
sessionScope.company = getComponent("company").getValue();

Op Twitter vond ik de oplossing
Nieuwe code in de onChange Event
sessionScope.company = getComponent("company").getSubmittedValue();

donderdag 11 juni 2009

De afgelopen week

Afgelopen week zijn we in Zwitserland geweest, ondermeer om LGT Alpin Halbe Marathon Plus te lopen in Liechtenstein.

Donderdag
Heenreis naar Zwitserland, ging voorspoedig. Blijft altijd een gaaf gezicht als de alpen langzaam opdoemen.

Vrijdag
Na lekker uitgeslapen te hebben, daarna Steg gereden. Daar is namelijk de finish van de 25 kilometer.
Er is nog weinig zichtbaar, maar wel de bordjes van de hele route. Die is sinds kort volledig bewegwijzerd, zodat je hem ook buiten de wedstrijd om kan lopen.
Ook alvat wat foto's gemaakt, want de zon schijnt nog.
De weersverwachting voor zaterdag is namelijk niet best. Daarna teruggereden om lekker even uit te rusten.
Om 5 uur zijn we naar Bendern gereden om onze startnummer op te halen. Leuk om al die lopers te zien.

Zaterdag
Worden om 6 uur werden we gewekt door regen, en de eerste blik naar buiten belooft ook niet veel goeds.

Aangekomen bij de start in Bendern stopt het gelukkig met regenen.
De eerste 50 minuten van de wedstrijd waren droog en toen ging het langzaam maar zeker regenen. En langzaam maar zeker ook steeds harder.
En naar mate we hoger kwamen werd het ook steeds kouder. En als klap op de vuurpijl begon het ook nog te onweren.
De Zwitserse medelopers leken zich daar niet druk over te maken, dus ook maar gewoon doorgelopen.
De paden werden steeds modderiger en ook de afdaling naar Steg was geen pretje. Eerst probeer je nog om de plassen heen te lopen maar op een gegeven moment boeit dat ook niet meer en banjer gewoon overal dwars doorheen.
Laatste 2 kilometer slaat de kou een beetje op mijn kuitspieren en die nijgen naar kramp.
Met wat moeite dit weten te voorkomen en na 3 uur en 8 minuten was ik totaal doorweekt binnen. Gelukkig stonden er bij de finish vrienden met droge kleren.
In een hotel meteen ontdaan van de natte kleren en de droge aangetrokken.
Kramp enzo waren ook meteen verdwenen.
Voor de details
Na een hete chocolademelk bibberend opgedronken te hebben zijn we naar Malbun gebracht om daar de bus naar Bendern te nemen. Moesten even hierop wachten.
Eenmaal weer bij de vrienden, heerlijk gedouched en lekker uitgerust en was de regen snel vergeten.
Het was wel een ongelofelijke, fantastische ervaring.
En vroeg naar bed.

Zondag
Uitgeslapen en nog even rond het dorp gewandeld. Om daarna Herwin naar het vliegveld in Basel gebracht.
Lichaam voelde wel heel goed aan. Wel gevoel dat ik gisteren wat gedaan had ;-)

Maandag
Weer was goed, dus besloten om nog maals naar Steg te rijden om het parkoers van de marathon verder te lopen. Eenmaal op het hoogste punt (1786 meter) even een rustpauze genomen en toen besloten het hele parkoers te lopen.
Ik was naar in totaal 2 uur bij de marathon finish in Malbun, en vanaf daar rustig via de straat teruggelopen naar Steg, om daar na 19,5 kilometer aan te komen.
Zie routedetails
's Middags inkopen gedaan.

Dinsdag
Eerste dag van de XPage workshop bij IBM Zürich. Gaaf eens te praten met Tim Clark. Het bleek dat ik al best wat weet van Xpages, vooral veel tips gehad om dingen slimmer op te lossen.

Woensdag
Tweede dag van de XPage workshop bij IBM Zürich. En in de avond nog even een afsluitende rustige duurloop gedaan. Zie details

Donderdag
Terrugreis. Ginge redelijke voorspoedig, wel veel stortbuien onderweg.

Het was leuk om zo even een week in Zwitserland te zijn.

dinsdag 19 mei 2009

XPage workshop Zurich

Als ik in Zwitserland ben om de LGT Halve Marathon Plus te lopen, wordt er door AVNet CH samen met IBM een XPage workshop gehouden in het IBM Forum Zurich.
Ik heb even overlegd binnen mijn bedrijf of ik hier aan kan deelnemen.
En men vond het een goed idee, ik was er toch.
Heb er erg veel zin om meer te weten over de nieuwste features in Lotus Notes 8.5.x.