|
Written by Bruno Grange
|
|
Tuesday, 24 August 2010 09:12 |
I have, at times in the past, advised people to try turning on document compression in their databases as a way to improve performance, thinking that if the application is I/O bound, the extra time spent in compressing/uncompressing the data, would be more than made up for by the time savings of not having to read as much data. Apparently, though, the benchmarks show that it's a rare situation where this would work, and that using compression actually slows things down at least a percent or two in most cases. Windows and 8.5.2 has the best performance, but still not good enough to make trying this worthwhile. Compression still does an excellent job of saving disk space, however!
|
|
|
Written by Bruno Grange
|
|
Saturday, 14 August 2010 11:00 |
|
I am back from two days in St. Louis at the IamLUG User Group meeting. Many others have blogged about individual sessions, including Mitch Cohen's virtual recap of my Notes/Domino strategy session. So here are some general thoughts.

First, Chris Miller and the team running the event did a great job. Everything seemed flawless to me, other than some minor audio issues on the UStream early in the keynote. The sessions were well-attended, and as feels appropriate with the "culture" of this particular event, open and informal. The sponsors seemed quite busy throughout the event and the speakers all seemed happy with their sessions. Second, the reason that we come to these events is to have the direct conversations about ideas, possibilities, issues, and challenges. I learned a ton from talking with so many of you, and came away with several new opportunities. Third, we may have set the bar too high with the first IamLUG in 2009. It was a fortuitous coincidence of timing that we were able to use the 2009 IamLUG to announce the "Lotus Knows" initiative. Normally, honestly, the summer months are quieter. We have some announcements coming in the next few weeks, but none of them quite ready and none of them quite relevant enough to bring to St. Louis. I thought Doug Cox did an excellent job getting the story of his development team out in the keynote, but several people were looking for more. We'll have to be more careful about that in the future. Last, as with Lotusphere, I feel like I didn't really get the chance to talk to everyone. Sure, a group of 30 geeks went to dinner on Sunday night, and that was a great time. But there are at least that many who I did nothing more than shake hands or say "hi" during these two days. Wish I could have stayed longer, or at least that there were more hours in the day. Next time, always next time.
From Ed Brill's blog.
|
|
Written by Bruno Grange
|
|
Wednesday, 04 August 2010 11:23 |
So you have a lovely agent that exports your data in excel format using the lovely table format but you want it to present the file using the current day-month-year instead of coming up as save as the agent name each time.
Solution is easy after the magic line that exports the file as ms-excel xls mime format thingy you add the content disposition line.
Print "Content-Type:application/vnd.ms-excel" Print "Content-disposition: filename=Ninja_Report_" & Day(Today) & "-" & month(Today) & "-" & year(Today) & ".xls"
Super.
Works well with:http://www.notesninjas.com/A555F9/nn.nsf/ByAlias/WebExcelExport
|
|
Written by Bruno Grange
|
|
Thursday, 22 July 2010 09:15 |
Part of the reason I've been blogging less lately, is that I've been working on articles for the Designer wiki. A couple of new ones are published today: Searching for Documents discusses different search techniques and how to decide which is appropriate in different situations, and How to Write a Controlled-Access Section Editors Formula. These go toward a series of articles that will be referenced by a new FAQ for beginning developers, also to appear in the wiki. As always, I recognize that some readers of this blog have much more experience than I in developing Notes applications, so any feedback is welcome. Remember, it's a wiki, so if you see a mistake you have the option to just correct it, but comments (here or there) are also fine.
|
|
Written by Bruno Grange
|
|
Tuesday, 20 July 2010 13:56 |
|
The requirement: Create a "my documents" view for the user. The obstacle: @Username can't be used in a shared view selection formula. That's because for a view index calculated by the server, @Username is the name of the server. Common approaches: - Create a "Desktop private on first use" view; now if you use @Username, it's the user's own name. Drawbacks are that it tends to be slow, especially the first time it's used, takes up space on the user's disk, and updating the design of the view is a challenge since there's nothing to force an update of users' private copies.
- Use NotesView.SelectionFormula to update the view's selection formula every time someone opens it. This is a really dumb idea for several reasons: it's slow, it requires users have Designer access, changes to design elements at runtime often don't work well since the client caches design elements, and users would interfere with each other by using the view at the same time. Don't even think about doing this.
- Create a single view containing all users' documents, categorized by username. Then use the view in a way that has it display only a single category. There are two ways to do this in the Notes client:
- Embed the view on a form or page design element, and use a Single Category formula such as @Username or @V3UserName. Very easy, but there are some things that don't work so well in an embedded view, including full-text search, sort by clicking column headers, and view links and bookmarks.
- Open the view as you normally would, but use Postopen view event code to limit the display to the user's category by means of a call to @SetViewInfo.
It's this last technique I describe below. How to Do It: The formula for the view Postopen event is: @SetViewInfo([SetViewFilter]; @UserName; "columnName"; 1; 1) where you would substitute the actual column name of the categorized column, in place of columnName. The formula for the view Queryclose must clear the limitation, or it will affect other views in your application. Here's the formula for that: @SetTargetFrame("frameName"); @UpdateFormulaContext; @Command([OpenView]; @Subset(@ViewTitle; -1)); @SetViewInfo([SetViewFilter]; ""; "columnName"; 1) where you need to substitute for frameName, the name of the frame containing your view, and for columnName, the name of the categorized column. This assumes the view is displayed in a frame of a frameset, as is typical for a Notes client application. If it is not the case for your application, you can leave off the first line. The purpose of opening the view that's already open, as we do in line 3 of the Queryopen formula, is to cause focus to enter that frame, in case it is elsewhere (as it probably will be if you clicked on a link in another frame to switch to a different view). If you don't do this, @SetViewInfo may fail because it's a view command being used in a frame that doesn't contain a view. Limitations: - The functionality 'Click on column header to sort' is not available. You can, however, use this same technique in multiple views that use different sorting after the category column, and click on column header to switch views.
- If you do a full-text search, the status bar will display the number of hits for the whole view, not just your category (but only the matches from your category will display).
|
|
Written by Bruno Grange
|
|
Thursday, 15 July 2010 07:00 |
This is an article about reviewing your Notes/Domino applications to see whether they will break when you upgrade to 8.5 or later. It's a very short article because I didn't find that much that needed to be done. Thanks to those who responded to my earlier thread asking for known issues; if I missed anything important, please comment here or on the wiki (or make the necessary changes yourself; that's why it's a wiki). Application Review for Upgrading to Version 8.5.x This isn't about adding XPage functionality to your apps, by the way; just doing the minimum to make sure they're still functional in the new version.
|
|
Written by Bruno Grange
|
|
Wednesday, 14 July 2010 12:47 |
We want OpenNTF to work for you! Please check out our exciting new content for XPages, and join our IdeaJam to tell us what we can do to make this a more useful resource for Domino developers and administrators. Open source is great! We want to improve our execution, encourage contributions, and make sure people can find what they want and rely on its quality. Please join in. Thanks.
|
|
|