My Lotus Notes Christmas List

My Lotus Notes Christmas List

Christmas is upon us, and I realized that I forgot to send my Christmas list to Lotus/IBM. Since it probably won’t get there in time if I put it in the mail, I decided to post it here on the forum instead. I know that a lot of these are things that other people have asked for before too, but it never hurts to put it on the list, right?

Also, if any of these are things I have already received and just didn’t realize it, please tell me where to find it in my closet. I have so many toys in there already that sometimes I forget where things are.

First, here’s my list for ND6:

STOCKING STUFFERS (little things that shouldn’t be hard to implement):

  1. Ability to automatically disable all return receipts on every e-mail I receive (either as a preference or a rule). Yes, I can code this myself, but why not have it built in.

  2. Iif statement in LotusScript (I know, I can write this as a function in about 5 lines, but it’s just such a common thing to do…)

  3. LotusScript access to @Command( [FileExport] )

  4. Add a “portrait/landscape” option for @Command( [FilePrint] ), notesUIDocument.Print, and notesUIView.Print

  5. New method for NotesRichTextItem: GetContentsAsHTML (I know I can do this sort of thing for rich text fields that are stored as MIME, but I want to be able to do it for ANY rich text field, and I know it’s already been coded because Domino has been doing it for years)


BIG PRESENTS (harder to implement, but not major code revisions):

  1. Options for personal address book and ReMail-type calendar view ( http://www.research.ibm.com/remail/calendar.html ) as the contents of the bottom left pane in the mail template (in addition to Follow-Up, New Notices, and To-Do)

  2. New options for exporting views and documents: HTML, XML, DXL, PDF

  3. Ability to use LotusScript or Java instead of just @Formulas in a custom SmartIcon/toolbar button

  4. Ability to include more than just plain mono-formatted text in the header/footer of a form when it’s printed

  5. An option to return the text of the line of code that caused an error in a LotusScript routine (if the compiler knows which line of code the error occurred on with Erl, then maybe it also knows the text of the code that’s on that line?)

  6. Provide an option to either capture the Notes client status bar messages (right-click and copy to the clipboard?) or log them to a text file – and I’m not talking about the messages I generate with a Print statement in script (I already know that I can send those to a text file, thank you), I want this for things like the huge stream of messages that fly by when I manually refresh the design of a database.


MOMMY, I WANT A FERRARI (big code changes, but boy would they be nice):

  1. Better visual class handling in Designer IDE (instead of displaying a class as one gigantic chunk of code in the Declarations section)

  2. Support for Optional parameters in custom LotusScript subs/functions (or the ability to overload them)

  3. Addition of Text Styles and Colors as Shared Resources so you could easily make global changes to all the views, forms, pages, etc. in a Notes application (even converting the old-school Paragraph Styles into the Shared Resource model would help, although I’d like to be able to use it for things like view column and action bar fonts too). And if the Text Styles automatically became CSS styles when a page was displayed in a web browser, I would probably weep with tears of joy (even just optional HTML tags for Class, Style, and ID would be a start).

  4. “Render as HTML” option for design elements, allowing a page, form, view, etc. to be displayed as an HTML page in the Notes client instead of as a native Notes rendering of the element (which would allow us to use things like CSS in our Notes design and truly design only once for the client and the web if we wanted to)

  5. Either update NotesPeek for ND6.x or open-source the thing


Since I’ve been especially good this year, I also have some Christmas wishes for the LDD site:

  1. Provide some official way of submitting bug fixes and enhancement requests that doesn’t involve either a fax machine or a support incident

  2. RSS feeds for the LDD forums, the Sandbox, and the KnowledgeBase

  3. The ability to see ALL the responses to a forum message on a single page, instead of having to click each individual link to see each individual response


Thanks Santa/Iris/Lotus/IBM. I’ll even leave some milk and cookies out for you, if that would help. And if your elves don’t have time to build all of these toys by Christmas, I understand. I can wait until January if I need to.

Sincerely,

Julian

Subject: My Lotus Notes Christmas List

I’d vote for those suggestions, particularly the circa-1991 IDE issues. I’d also add one more minor feature:

  • Form option: Automatically open in Edit mode if formula is true

And cross-language functionality… it’s gotten better in ND6, but even more would be great. Want to select all documents in a UI view via LotusScript? No-can-do, but there’s @Command([EditSelectAll]), NotesUIView.SelectDocument (which only lets you select one, deselecting any others that may be selected) and even NotesUIView.DeselectAll! How many people out there have @Formula agents and LS agents that call each other just to tackle little UI things like this?

Subject: My Lotus Notes Christmas List

Dear Santa, please bring me (and all the other boys and girls of course) a combobox skin for editable view columns.

And ditto what everyone said about the IDE. I write Lotusscript classes every day, I use them in almost every application. I need the IDE to show me where I am in all that mass.

Subject: My Lotus Notes Christmas List

For RSS, I’d like to see an @Date command that would return a date in RFC 822 format. It should return GMT time as an option.@RSSDate([GMT]; DateCreated)

Sun, 21 Dec 2003 18:55:00 GMT

RFC 822

http://asg.web.cmu.edu/rfc/rfc822.html#sec-5

Subject: My Lotus Notes Christmas List

Talking about FERRARI, what I would like to see is a “@Function Library” !

Subject: My Lotus Notes Christmas List

#1 : ability to cache entire http generated pages, even for authenticated users, via an extension of $CacheValid or @SetHTTPHeader Server side

#2 : ability for web agents to reside in memory

#3 : native gzip/zlib support for http server

#4 : ability to set every element html attributes (specially embeded views) and ability to compute them

#5 bring the more relationnal aspect you can leveraging DB2. If possible expose a transaction API

#6 support multiple views and other widgets on the web (calendar, active x file upload)

#7 PIXEL sizing tables

#8 @GetContentAsHTML / getContentAsHtml()

#9 alignate HTML generation (for ex, some borders are generated, but no some others, for table in particular)

#10 a “per form” switch for level of HTML generated to keep backward compatibility but allow better html generation

#11 let Domino server and Notes client be a KEY citizen in workplace strategy and integrate them via webservices etc…

#12 CSS Editor

#13 Script (ls/js etc…) events for framesets

#14 and last for today : bring up a KILLER notes client UI, notes client templates etc…

#15 remove the Java init/term thread for servlets/jsp with local calls and improve perf for remote ones

#16 go to websphere studio team and tell them they should look at designer so it becomes SIMPLER, lighter, and more productive :wink:

Michael, who keeps believing in santa :wink:

Subject: My Lotus Notes Christmas List: gzip shrinks webpages> 50%

Your number three on the list, native gzip support works for a long time in iss, apache and all major browsers. What is Lotus waiting for? We all spend a terrific amount of time creating light webpages, while one little extra http process may do the trick 3 times better.

http://www.lotus.com/ldd/nd6forum.nsf/0/745a36e69b55114e86256db30061b666

Best wishes,

Laurens

Subject: RE: My Lotus Notes Christmas List: gzip shrinks webpages> 50%

It doesn’t fix anything – it just moves the location of the bottleneck. If you are thinking of using GZIP as an excuse to build heavy pages, then you’re deluding yourself severely. Good design can shrink pages by much more than service-time compression can, while reducing (rather than increasing) the server load at the same time.

Subject: RE: My Lotus Notes Christmas List: gzip shrinks webpages> 50%

Thank you for your confidence in us Stan. :wink:

I try everything to create light webpages:

  • css and js on seperate pages (load once, use often)

  • hard coded html instead of Notes generated

  • elimination of all unnecessairy html (e.g. closing tags). Even file names and names of divs and spans I use are short

  • limited amount of images, images optimized with Photoshop 7

  • etc. etc.

I even create pages that require an absolute minimum of calculations. No formulas or ls calculations, just straight serving of pages.

I put so much time and effort in optimizing pages, that it drives me crazy that an easy solution by Notes is not implemented.

I see my CPU (PIV, 2.8) underutilized and clients of me (Big four auditors, e.g.) wait for pages to download over the broadband connection they share with thousands of collegues.

Subject: RE: My Lotus Notes Christmas List: gzip shrinks webpages> 50%

You are aware, of course, that no one needs to give M. Bourak lessons on good, efficient web page design, right? :wink:

And changing the location of the bottleneck from the network to the CPU, with no inherent increase in administrative complexity? I’ll take that trade 100% of the time.

Subject: No NotesPeek, but…

I found a neat tool called ScanEZ. It is a lot more than NotesPeek, and a bit more pricy as it isn’t free, but I think you should have a look at it. I am using it almost daily now: you can view/edit/delete profile documents, regular documents, make mass modifications (add a field to a bunch of documents) and so on.

There is a trial available at www.ytria.com

I’d buy you one licence for Christmas, but my kids took all my budget (still got to figure out what I’ll be doing for my wife!!!).

Have a great holiday season to you all.

Ben Dubuc

Subject: RE: No NotesPeek, but…

ScanEZ is ok but for a really functional tool that you can not live with out, try NoteMan.

The original put together from those smart folks at MartinScott.

www.noteman.com

I have heard this tool being referred to as Notes poke

Kevin

Subject: RE: No NotesPeek, but…

And there is a new NotesPeek for ND6 as well:

http://www-10.lotus.com/ldd/sandbox.nsf/ByDateNJ/2791869f4e1d3fa385256f2c00432973?OpenDocument

Subject: My Lotus Notes Christmas List

Ooh… how’d I miss this party? :slight_smile:

There’s only one present I really want. http://server/db.nsf/0/UNID?ReadDocument that returns the DXL export equivalent of the doc. This should be a feature that I can turn on and off on a FORM or DOCUMENT basis.

Then, if you want to have the best web server in existence, you can find a way to deliver Notes Forms as XSLT, and do client-side transforms that format documents at the remote end. Do this, and you will quintuple the service capacity of a Domino server, push web development standards forward by about 5 years, and make the competition eat your dust.

Subject: Write it in half a day yourself using a Java Servlet!

While this posting is a little late, I couldn’t help offering my ten cents worth.

Write a tiny Java Servlet that does what you ask for in your ?ReadDocument (or ?ReadNote). The syntax would have to be somewhat modified e.g. http://host/servlet/ReadNote?replica=xxx&unid=xxx or http://host/servlet/ReadNote?db=db.nsf&unid=xxx

Although a servlet bypasses ordinary database acl security because it runs outside a database scope, you could ensure a some level of security, by having the sevlet only generate the dxl for the note if it has a special, say, $AllowDXL field set to “1”, and you could use the session cookie to establish credentials.

The servlet does not have the performance penalty of an agent, since initialization is done on first call.

It shouldn’t take more than half a day to write this servlet for anyone familiar with Java/Servlets and XML, and the Domino 6 Designer Help even has info to get you going: http://www-12.lotus.com/ldd/doc/domino_notes/Rnext/help6_designer.nsf/855dc7fcfd5fec9a85256b870069c0ab/e5b243be743bb49c85256c54004b8696?OpenDocument

Anyone up for the challenge?

Subject: *Or Lotuscript for that matter

Subject: RE: *Or Lotuscript for that matter

Well, the only way that I know of to trigger lotusscript from the internet is via an agent, and that requires the code to do the full inititialization on each call. That’s the beauty of a Java Servlet. Initialize once, call many times.

Or did you have something different in mind?

Subject: No, that would be the way

The initialization issue is only an issue with fairly high levels of calls, and most apps where I have wanted (and even coded) this sort of solution have not required a lot of calls.

Incidentally, that is one of the advantages of Java, although enhancements in ND6 have made Lotuscript re-initialization less of a problem.

Subject: RE: No, that would be the way

Actually, the agent initialization times with ND6 are a tiny bit higher than in R5 due to more security features. The caching improvements made in ND6 may offset that, depending on what your handles your agent needs. Chances are a servlet would be much faster.

In any case, Nathan’s point was that this would be an easy way for another system to pull data from Domino and work with it. Making this part of the native server at the compiled executable level would be the most efficient method possible, and shouldn’t take much for Lotus to develop… all of the technology is there, they just need to wrap the ?ReadNote command around it.

Subject: RE: My Lotus Notes Christmas List

Isn’t that similar to the ?ReadNote command? You hear little pieces about it mentioned here and there (including information about it being disabled for “security reasons”). On-demand DXL of a note would be fantastic, and should encourage even further integration between Domino and Websphere (which IBM seems to want, so hopefully they’ll take note and do it).

Technically you could do this now with an agent (a small one at that), but you’d be throwing all performance out the window.

I’d have to check the API to see if everything needed is exposed, but it might be possible to write a DSAPI filter that would allow this capability now without much of a performance hit. Of course, that probably wouldn’t follow the security model at all, etc., etc.