On Monday, there will be information on how to view the Opening General Session online
[ via Ed Brill ]
This site has been created so that people not attending Lotusphere can still get a feel for the atmosphere and any announcements that are taking place during the General Opening Session.
Another announcement by Ed Brill
I’ve been given the green light to announce that 40-plus Lotusphere presentations from the AD, ID, INV, and JMP tracks will be posted as podcasts to developerWorks during March 2007
When using @SetViewInfo to filter a view, you can reset the filter with the following formula:
@SetTargetFrame("NotesView"); @Command([OpenView]; @Subset(@ViewTitle; -1)); @SetViewInfo([SetViewFilter]; ""; ""; 1)
This will work fine as long as you do not want to go to the top of the view after removing the filter.
This is the view before setting the filter
Now we set a filter to show only entries according to a selected ticket number
Don’t be confused that the first column isn’t shown after the filter is applied ( Notes works as designed )
Now we remove / reset the filter using the formula show before
The filter is removed but the view does not show the entries from top of the view
Here is my workaround for this problem. I found out that the view opens from top, when you change to another view first and then re-open the view in question. So what can be done manually could even be done programmatically.
To avoid opening an existing view in the database with possibly a lot of documents in the view, I created a “dummy” view.
This view neither shows any documents nor it has columns and actions. A real empty view, indeed.
At least I changed the “Reset Filter” action to the following code:
@SetTargetFrame("NotesView"); @Command([OpenView];"dummy"); @Command([OpenView]; @Subset(@ViewTitle; -1)); @SetViewInfo([SetViewFilter]; ""; ""; 1)
When you now reset the filter, the view will open from top.
Technorati: Show-n-Tell Thursday
openCOD is an open source initiative for BlackBerry handheld applications and the wide variety of backend systems you might want to extract data from or update using a BlackBerry handset. Members of openCOD get together to share their ideas, expertise and enthusiasm to create BlackBerry applications and games and release the source code for others to download and use.
[via Bruce Elgort, Taking Notes]
Auf dem neuen Community-Portal www.D11B.tv können FuÃ?ball- und Comedy-Begeisterte jetzt hautnah erleben, wie es in der Umkleidekabine der deutschen Nationalelf wirklich zugeht:
Die Internetplattform bietet den Fans die Möglichkeit, brandneue, lustige Clips der Trickfilm-Serie â??Deutsche 11 backstageâ?? anzusehen, Olli Kahns virtuellen Spind beim Gewinnspiel abzusahnen, sich über Neuigkeiten auf dem Blog auszutauschen und verschiedene digitale Extras für das Handy herunterzuladen.
D is a systems programming language. Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python. Special attention is given to the needs of quality assurance, documentation, management, portability and reliability.
D is statically typed, and compiles direct to native code. It’s multiparadigm: supporting imperative, object oriented, and template metaprogramming styles. It’s a member of the C syntax family, and its look and feel is very close to C++’s.
seen at http://www.atnotes.de
Due to the big feedback with many questions, tips, feature-requests and acceptance, we decided to publish a new release 1.3 with answers and fixes to all questions to all previous releases.
This release adds new methods for dealing with attachments, the whole bunch of functions related to full-text search and many other details. It also improves handling and reporting of misconfigurations like incomplete classpath or PATH.
Please read about all further changes here:
Here you can download domingo 1.3:
beck et al. projects GmbH, München
Ytria.com released version 5 of its amazing tool ScanEZ. The new version comes with a polished UI and a lot of new functions. One of these functions is “Export To DXL”.
A complete list of new and approved functions will follow later today.
update: You can find the ScanEZ 5.0.1 release notes here
Microsoft Windows PowerShell command line shell and scripting language helps IT Professionals achieve greater productivity.
Using a new admin-focused scripting language, more than 130 standard command line tools, and consistent syntax and utilities, Windows PowerShell allows IT Professionals to more easily control system administration and accelerate automation.
Windows PowerShell is easy to adopt, learn, and use, because it works with your existing IT infrastructure and existing script investments, and because it runs on Windows XP, Windows Vista and Windows Server 2003.
The Master Chiefs of the OpenNTF Mail Experience project today made available another cool release.
It comes in two versions; a “classic” version and a “Anniversary edition” which is modified to match Web 2.0 colors and icons.
I’m now waiting for the german version.
The transfer speed of Lotus Notes® on a USB drive varies by manufacturer. In some cases, the Notes install has taken over 60 minutes. Are there any known workarounds for this issue?
This document explains, how to install to a local drive and then move the install files to a USB drive.
How often would we like to insert coloured code in our documents? I know it’s not that important but, first, it looks much nicer and, second, it’s much easy to understand a piece of source code when it is coloured. At least for me.
I played around with the new IBM Blog template. It gives you all you need to start to blog. As you can see in my blog, I sometimes post some code along with my articles. The code is automatically formatted.
Well, how could this be done in the IBM Blog template? First of all, there is no feature that will do the job out of the box. So I googled and found Alex Gorbatchevs “dp.SyntaxHighlighter“.
Here are the steps to inplement syntax highlighting into the IBM Blog template. At the end of this article you’ll find the necessary files in a zip archive. The archive contains shBrushLS.js. This file contains the keywords and classes for Lotus Script along with REGEXP for formatting Single-Line and Multi-Line comments.
Open the IBM Bolg template in Designer and add the .js files to the files section of the template. Add the .css file to the StyleSheet section of the template.
Now open the “HTML Templates” section in the navigation pane of your blog and click “Block Templates”
Add the following lines to the HTMLBottom template document
and these lines to the HTMLTop template document.
Do not forget to save the documents 😉
You can now start to post your code. You have to use a TEXTAREA tag as shown in the picture below. For mor informations on how to use the script, please take a look at the doumentation.
When you now open the article in the web, it should look like this …
I encountered a few problems when using the textarea tag. It seems that all CRLF are replaced by nothing and the code appears in one single line. So I had to modify the existing Lotus Script code in the DXLiveContentEngine lib of the template.
I added the following code to the “renderBlogItem” function ( starting at line 750 )
If rtitem.Type=1 Then 'is rich text Set rtitem2=doc.getfirstitem("rt") html=rtitem2.GetFormattedText(False,32767) ' --- added 05.11.2006, Ulrich Krause Dim strHTML As String strHTML = R5ReplaceSubstring ( Mid$( HTML ,Instr ( HTML,"", Chr$(13)) html = R5ReplaceSubstring ( HTML, Mid$( HTML ,Instr(HTML,"
Neulich im Helpdesk:
Das kommt davon, wenn man den Umgang mit Fremdwörtern nicht konfekt beherrscht. … 😉
In an earlier post I wrote about how to insert richtext from another document into a specific position in an exiting richtext item using DXL. This solution works fine but has a few limitations. One of this limitations is the handling of attachments and embedded objects.
So I was looking for another solution. I tried to use LotusScript but due to some missing methods there is no way to achive the goal.
Then I searched the C++ API and found
LNSTATUS Insert( const LNRichText &richtext, LNRTCursor *cursor )
This was exactly what I was looking for. I wrote a small console application to test this method. The function did exactly what it is supposed to do.
LNSTATUS GotoFirst( const LNString &searchstring )
method, it is possible, to insert the richtext at a specific position that can be defined by a placeholder. The placeholder can be of any name.
To delete the placeholder before inserting the replacing content, I use
rtTarget.Delete( &cursor, sizeof( InsertionPoint ));
I guess this is what IBM does when you use the FindAndReplace method of the NotesRichTextRange class. But with this metod you can replace text only. Replacing a string with richtext is not supported. I wonder, why IBM does not enhance this method. In my oppinion this is not very hard to do; as I stated before, the Notes API already has this functionality.
After a few more tests with attachments and embedded objects, I put all this stuff into an DLL. Now the function can be used from inside LotusScript. I decided to provide this new functionality as an DLL because all of my attempts to create an LSX ( using the LSX toolkit ) constantly crashes my client. Even with some help from Bill Buchan and Benjamin Langhinrich I was not able to build a stable function. Maybe i will succeed some day …
To use the InsertRichTextItem function from LotusScript, you have to copy “rt.dll” to your notes executable directory. Since the function uses the C++ API, you have to copy “lcppn70.dll”, too. I have created and tested the function with Notes 7.0.1, but it should work in former versions of Notes as well.
In the Declaration section of your Lotus Script put the following lines
Declare Function InsertRichTextItem Lib "rt" (_ Byval dbServer As String,_ Byval dbPath As String,_ Byval lngSourceNoteID As Long,_ Byval strSourceRTField As String,_ Byval lngTargetNoteID As Long,_ Byval strTargetRTField As String,_ Byval InsertionPoint As String) As String
The function is called as follows
strRet = InsertRichTextItem ( DB_SERVER, DB_FILE, SourceNOTEID, "Body", TargetNOTEID, "Body","
The function returns “OK” when completed successfully, otherwise it throws an error.
Sub Click(Source As Button) Dim s As New NotesSession Dim db As NotesDatabase Dim col As NotesDocumentCollection Dim doc As NotesDocument Dim SourceDoc As NotesDocument ' contains the richtext to be inserted Dim TargetDoc As NotesDocument ' insert RT here Dim rtItem As NotesRichTextItem Dim retval As Integer Set db = s.GetDatabase( DB_SERVER, DB_FILE) Set col = db.AllDocuments Set SourceDoc = col.GetNthDocument(2) ' SecondDocument Set TargetDoc = col.GetNthDocument(1) ' FirstDocument Dim SourceNOTEID As Long Dim TargetNOTEID As Long ' Convert NOTEID from HEX to Long TargetNOTEID = Val("&H" + TargetDoc.NoteID) SourceNOTEID = Val("&H" + SourceDoc.NoteID) Msgbox InsertRichTextItem ( DB_SERVER, DB_FILE, SourceNOTEID, "Body", TargetNOTEID, "Body","
Attached you’ll find a sample database. The necessary files are included in the “first document” – doc.
If you find this function useful, pls. let me know.
Technorati: Show-n-Tell Thursday