Vor Oder Zurück?

Sommerzeit - Winterzeit“Same procedure as every year”. Es ist mal wieder soweit. In der Nacht zum Sonntag werden die Uhren auf Sommerzeit umgestellt.
Aber wird die Uhr nun eine Stunde vorgestellt, oder schenkt man uns eine Stunde Schlaf zusätzlich dadurch, daÃ? die Uhrzeit quasi “eingefroren” wird und es in der Nacht gleich 2 x 2:00 Uhr schlägt?

Alljährlich stellen sich diese Frage unzählige Mitmenschen. Die verzweifelten Versuche, auf die Frage nach dem Vor oder Zurück eine Antwort zusammen zu stümpern, kann man dann all abendlich in den Nachrichten belächeln. Dabei ist die Antwort eigentlich ganz einfach , und mit der passenden Eselsbrücke weiss man auch nächstes mal wieder Bescheid, ohne erst bei GOOGLE nachzuschlagen.

  • Zur Sommerzeit werden die Gartenmöbel vor das Haus gestellt.
  • Zur Winterzeit werden die Möbel wieder zurück ins Haus geholt.

Also, am Sonntag die Uhren eine Stunde vorstellen! 🙂


jXLS – Excel Reports from XLS templates

A common requirement for many reporting applications is to provide the ability to export reports to Microsoft Excel format. This can be challenging for a number of reasons, including:

  • Most reporting engines require the use of a report design tool to develop reports.
  • Reports designed to be exported to PDF or HTML do not always translate well to XLS format.
  • Advanced Excel functionality such as complex forumlas, macros, and charts are not always available through the reporting engines.
jXLS - Excel Reports from XLS templates

jXLS is an open source Java library that greatly simplies this process by providing the ability to use XLS templates as the basis for generating reports in Excel format.
You only need a few lines of code to generate the output … And ( this my favourite ), you do not need to have MS Excel installed on the machine running the code.


public class JavaAgent extends AgentBase {

public void NotesMain() {
try {

Session session = getSession();
AgentContext agentContext = session.getAgentContext();

List staff = new ArrayList();
staff.add(new Employee("Derek", 35, 3000, 0.30));
staff.add(new Employee("Elsa", 28, 1500, 0.15));
staff.add(new Employee("Oleg", 32, 2300, 0.25));
staff.add(new Employee("Neil", 34, 2500, 0.00));
staff.add(new Employee("Maria", 34, 1700, 0.15));
staff.add(new Employee("John", 35, 2800, 0.20));
staff.add(new Employee("Leonid", 29, 1700, 0.20));
Map beans = new HashMap();
beans.put("employee", staff);
XLSTransformer transformer = new XLSTransformer();
transformer.transformXLS("c:\\in.xls", beans, "c:\\out.xls");

} catch (Exception ex) {
ex.printStackTrace();
}
}
}


Make Attractive Exports Of Categorized Views

While there are plenty of Excel export routines for Notes posted in places like the Notes.net Sandbox, OpenNTF,and several blogs, I wanted a routine that was relatively simple code-wisebut had the ability to produce clean-looking exports even or views withmultiple levels of categorization, hidden columns, and even total columns. ( Kevin Pettitt )

{ Link }


View Navigation

I was looking for a solution to replace the standard view navigation by something more “stylish”. And the solution should be easy to implement.

Domino Web Navigation - old style

I googled and came across an old article written by Bob Obringer ( The Ultimate Domino View Navigator ). His solution can be implemented with just a basic understanding of Domino Web Development.
I built it into an existing database in just a few minutes and the result is impressive.

Domino Web Navigation - new

The navigator can be customized using CSS. So jump over and download the needed files to “pimp” your web views 😉


Coding faster lookups in IBM Lotus Notes and Domino

Level: Intermediate

Raphael Savir, Principal Developer, LS Development Corporation

13 Mar 2007

Read about 11 tips for coding faster lookups in IBM Lotus Notes and Domino. The author looks at the @DbLookup @Formula in Lotus Notes and Domino and describes some new tips for developers to use when coding new applications or troubleshooting performance problems in existing applications.

Read the full article


Comments of Andre Guirard on Designer wishlist items

Hynek Kobelka posted his list of all the items which he likes or dislikes so far in Notes 8. Amongst this list are 2 features, I expected to see in the new Notes 8 client. Computed view headers and embedded views from another database.

Obviously these features will not make it into the Notes 8 codestream. Andre Guirard ( the Project Lead for the Domino Designer client ) posted his comments on this in the Notes/Domino 8 Public Beta Forum.

No computed â??View Titlesâ??. Many have asked for this for years. We really need these to create multi-language applications. Instead we get a new option â??Do not display column titleâ??. What good is this for ? (And is it different from having a blank title ?)

Agreed, this is a much-requested feature that did not make it into 8.0 (we’re not adding more features at this point). We understand the importance of this in creating multilingual apps that have reasonable performance (you don’t want a separate view for each language). This is high on my list of next things I’d like to get into the product. (note: it’s not like I get to decide, but I do get a vote, and I can also bug the decision makers. 🙂 )

If you insert an â??Embedded-Viewâ?? into a Form/Page, then you can select the view from any other database. However once you do this the replica-ID of the target database seems to be â??hardcodedâ??. There is still no option to insert an â??embedded viewâ?? where the source database would be computed. After all these years where we are only such a small step from our goal, we still donâ??t get it. Sorry but that is a REAL disappointment.

Here again, we understand why this is important and it’s high on my personal list. We had to focus on composite application features first, and this got edged out. We had hoped to have time for it.

Seems that we have to wait for another decade …


Undocumented @GetViewInfo Attribute in 7.0.2

There is a new attribute for the @GetViewInfo in the Notes and Domino 8 Public Beta 2.

[IsViewFiltered]
Returns True (1) if the @SetViewInfo command has been used to limit which documents are displayed in the view, False (0) otherwise. This is useful in hide formulas for view actions.

It is not documented in the Notes 7 Designer Help, but it is used in the mailtemplate I’ m using with my 7.0.2 client. According to the Hide-When formula of the “Unfilter” action in the ($Calendar) view, the attribute should work with Notes versions from 7.0.1 and above.

OkToShow := @If(@Version < @Text(258);  0; @GetViewInfo([IsViewFiltered]); 1; 0);

24 March 2007 – ShutDown Day !

It is obvious that people would find life extremely difficult without computers, maybe even impossible. If they disappeared for just one day, would we be able to cope? Be a part of one of the biggest global experiments ever to take place on the internet. The idea behind the experiment is to find out how many people can go without a computer for one whole day, and what will happen if we all participate! Shutdown your computer on this day and find out! Can you survive for 24 hours without your computer?

[ via Heise ]


For those who have TNEFConversion enabled on 7.0.2

As reported by IBM on Technote 1252932 under some circumstances the server can crash when you have TNEFEnableConversion=1 in the servers notes.ini file.
According to SPR# DPOS6PVLFC, this error should have been fixed in Domino 7.0.2 Fix Pack 1 (FP1).

Just want to let you know that we had some crashes on our Domino servers yesterday. We have FP1 installed since the day it was available. Looking into the generated NSD Files, we found that the server crashes with exactly the same stacktrace as mentioned in the above technote.

So, be aware when using TNEFEnableConversion=1.


Get Rules From Users Mailfile

A few days ago I was asked to create a report about all rules in all mailfiles. The easiest way to do this is to write an agent to examine the mailfiles.
The result of this scan is stored in a Notes database.
Put the following code into an agent ( start: manually from menue, target: All Selected Documents )

Sub Initialize
	On Error Resume Next
	Dim session As New NotesSession
	Dim NAB As NotesDatabase
	Dim resultDocs As NotesDocumentCollection
	Dim MailFiles As NotesDocumentCollection

	Dim doc As NotesDocument
	Dim NABDoc As NotesDocument
	Dim rtitem As Variant
	Dim MailFileItem As NotesItem
	Dim i As Integer
	Dim NabDocCounter As Integer
	Dim fNAME As String
	Dim logline As String
	Set NAB = session.CurrentDatabase
	Set MailFiles = NAB.UnprocessedDocuments

	Dim RetCode As Integer
	Dim MailServer As String
	Dim MailFile As String

	Dim db_AllDocsCol As NotesDocumentCollection
	Dim db_User As String
	Dim archiveDb As New NotesDatabase( "", "RULEZ.NSF" )
	Dim k As Integer
	For NabDocCounter = 1 To MailFiles.Count
		db_User = ""
		Set NABDoc = MailFiles.GetNthDocument ( NABDocCounter )
		Set MailFileItem = NABDoc.GetFirstItem ( "LastName" )
		db_User = MailFileItem.Text & ", "
		Set MailFileItem = NABDoc.GetFirstItem ( "FirstName" )
		db_User = db_User + MailFileItem.Text

		Set MailFileItem = NABDoc.GetFirstItem ( "MailServer" )
		MailServer = MailFileItem.Text
		Set MailFileItem = NABDoc.GetFirstItem ( "MailFile" )
		MailFile = MailFileItem.Text
		Dim db As New NotesDatabase ("", "" )
		Call db.Open ( MailServer, MailFile )

		If db.IsOpen Then
			Dim dateTime As New NotesDateTime(_
			Cstr(Datenumber(2000, 5, 1)))

			Set resultDocs = db.Search( {@UpperCase(Form)="MAILRULE"}, dateTime,0)
			Call ResultDocs.StampAll ("RuleOwner", db_user)
			For k = 1 To resultDocs.Count
				Set doc = resultDocs.GetNthDocument ( k )
				Call doc.CopyToDatabase ( archiveDB )
			Next
		End If
	Next
End Sub

When the agent finds rules in a mailfile, it copies the documents found into a Notesdatabase defined in the following line of code.

Dim archiveDb As New NotesDatabase( "", "RULEZ.NSF" )

The database itself does not have any design elements except a modified DEFAULT view. The view contains 3 columns.

Column 1: Field RuleOwner
Column 2: Field ConditionList
Column 3: Field ActionList

That’s all !

Technorati:


Create PDF documents on the fly ?? for Free!

Portable Document Format (PDF) is the de facto standard for the secure and reliable distribution and exchange of electronic documents and forms around the world. CutePDF Writer (formerly CutePDF Printer) is the free version of commercial PDF creation software. CutePDF Writer installs itself as a “printer subsystem”.
This enables virtually any Windows applications (must be able to print) to create professional quality PDF documents – with just a push of a button! CutePDF Writer is Vista-ready!