Friday, January 23, 2009

How to add EXT And EXT.ND to an XPAGE

I like to build forms and layouts in xpages, i like picklist and advanced funtionality of extnd, here is a screen shot of a ext.nd picklist on an xpage, the best of both worlds? I am testing to see how well i can use these togeather.

To get the ext libraries and other goodies on the xpage a create a custom control with a computed field with the type set to html.


Put in the html to load ext and extnd as a computed value like


Then create another custom control the exact same way and put your picklist code in it.

Put these at the top of the xpage as controls.

Create a button on the page and make the name( id) What you need it to be in your extnd code. like "show-dialog-btn1", but realize in the dom it will show like "view:_id1:tabPanel2:show-dialog-btn1" so in extnd code put it in like this

// for button 1, this is an example of how to attach to click event through Javasciprt
showBtn = Ext.get('view:_id1:tabPanel2:show-dialog-btn1');
showBtn.on('click', this.showPL, this);


Using firebug in firefox makes it simple to find what these items are called, so then you can set your fields values based on what you return from the picklist.

Any ideas on how to do this better? I just started trying to use xpages yesterday, so there may be better ways of doing some of this stuff.

Thursday, January 22, 2009

Anyone know how to set security on an xpage?

Is the security set on the notes form / view? Are there anything like readers and authors fields?

I have an application with two forms, both forms need to be able to be read by anonymous, 1 form only created by group A and the other form only created by group B. I have set form security that way but both groups can create both forms through the xpage!

Any help is appreciated. What am i missing? I have done searches for xpages and security and xpages and acl to no avail.

Monday, January 12, 2009

To Whom Ever created the Domino Configuration Tuner

Thank You!!

This tool saves me so much time and gives me suggestions on settings i had no idea existed.

And the UI is awesome!



I found names , thanks Ulrich

Taken from this link
_________________________________________________________________


Extended Team

DCT got out-the-door because of wonderful contributions from the following team mates. Thank you.

Amy Reuss Caton, Andrew Eisenberg, Andrew Nolet, Ann Innis, Ayla Lari, Ben Pontrello, Bill Hume, Bob Balaban, Bob Schloss, Bob Stachel, Brent Davis, Brian Arnett, Brian Gallagher, Brian Richards, Brian Van Schaick, Carolynn McCarthy, Chad Scott, Collin Murray, Constance Martin-Wilson, Dan Rosato, Dave Davidson, David Attardo, David Kern, David Ogle, Debra B Thomas, Dominique Evans, Don Chamberlin, Ed Brill, Ed Knowlton, Eric Thibodeau, Gail Hughes, Gary Rheaume, George Demetriou, Ghislain Busque, Gilles Carrier, Greg Pflaum, Harry Murray, Ignacio Gende, Ilene Seelemann, James Cooper, Janet Thomas, Jason LaVoie, Jeff Eisen, Jeff Mitchell, Jennifer Kelley, Jenny Szawlewicz, Jerome Simeon, Jim Kirkpatrick, Jim Puckett, Jim Rouleau, Joanna Dapkevich, Joe Malek, John Curtis, John Paganetti, John Roman, John Woods, Julie Kadashevich, Kar Chung, Katherine Holden, Kathie Collins, Kathleen Henault, Kathleen Smith, Ken Brunsen, Ken Hampson, Ken Lin, Kevin Cavanaugh, Kristin Keene, Leah Busque, Leanne Newton, Leslie Steele, LotusLarry Mancini, Maher Samman, Margaret Rora, Mark Costello, Mark Skurla, Mary Jrolf, Mary Pagucci, Melissa A Klein, Melora Goosey, Meredith Roman, Merrill Kashiwabara, Michael Fraenkel, Michele Franklin, Mike Barcomb, Mike Gagnon, Mike Kerrigan, Murray Hurvitz, Neil Graham, Nirmala Venkatraman, Paul Dell'Anno, Peter Mierswa, Peter Rubinstein, Philip Fratini, Pietro Torchia, Raj Patil, Ralph LeBlanc, Razeyah Stephen, Rich Buck, Rich Epstein, Rob Gearhart, Robert Bishop, Robert Ingram, Robert McDonald, Russ Holden, Sam McNulty, Scott Boag, Scott Hopper, Scott Davidson, Scott Morris, Scott Puls, Scott Vrusho, Sharon Adler, Silvia S Pighin, Steve Gerdt, Steve Watts, Sudhakar Gaddam, Sumeet Toprani, Susan Bulloch, Susan Ricercato, Tim Southgate, Todd Flolo, Tracey Nolander, Varad M Rajulu, Vinod Seraphin, Vittorio de Gioia, William Whelan

Core Development Team


These are the folks that did the heavy lifting.

Amy "Word" Smith
Art "Here to Help" Thomas
Brian "I can do that for you" Arffa
Greg "Ironman of Automation" Grunwald
Harry "This is Fun" Peebles
Irene "Coding Gorilla" Ros
Keith "Island Man" LaMotte
Margaret "Elvis" Flood
Paul "Poolside" Roberge
Robert "The Very Best Chip Ever" Carter
Scott "Bring Six Up" O'Keefe
Thomas "Mr. Perfect" Gumz
William "The New Guy" Cahill

A Tip for GZIP in 8.5

If you have your files in a database you need to mark the MIME type for the gzip to work correctly.



An Example, without adding "application" the code sent to the browser was still gzipped.

Wednesday, December 31, 2008

Domino 8.5, GZIP, and EXT

Domino 8.5 will support serving of gzip files by default. This is great news! I can finally stop using hacks to get Domino to use gzip files, and writing @if statements to check for browser compatibility.

This greatly affects the first page load time.

Here is an example of the top three files for extnd gzipped versus unzipped.
434 KB savings!!!



Details from the 8.5 reviewers guide


2.8 GNU zip (gzip) files
The Domino Web server can serve files compressed by gzip (GNU zip). This feature is on by default, but you must add the compressed file to the appropriate server directory, and certain restrictions apply, as listed below.
The Domino Web Server serves files compressed by gzip (GNU zip), under the following conditions:
• The Notes.ini file does not contain the following setting: HTTPDisablePreCompressedGzipFiles=1.

• The name of the compressed file is the name of the original file with an additional extension of .gz. For example, the gzip counterpart of c:\notes\data\domino\html\foo.html is c:\notes\data\domino\html\foo.html.gz. (A browser sees this file as http://servername/foo.html.)

• The original file is present in the same directory as the gzip file. The original file is served if it is newer than the gzip file or compression is disabled.

• The browser or other client sends the request header Accept-Encoding: gzip (the default for most browsers).

• The MIME Content-type of the file matches text/* (all subtypes of type text) or application/* (all subtypes of type application). The server does not support sending a range of bytes for a file that has a gzip counterpart. The server does not send "Accept-Ranges: bytes" in the HTTP header and sends the entire compressed file.





Does anyone know of any better way to make these files smaller?



Tuesday, December 30, 2008

Advantages with using a Notes Page to contain a JavaScript file

One thing i love about Lotus Notes on the web is the use of computed text. It allows me easily to do some things i would have no idea how to do with java script. I was looking through the extnd database and noticed that a page was actually an xsl file, so when i was working with my Web Desktop i figured this could solve one of my problems i was having.

I wanted to have the users name in the start menu, in the sample code it was hard coded. So for the meantime i put the company name there. To solve this i took the text from the sample.js file and put it in a notes page. I then changed the page properties to say it contained something other than notes content or html.



I created some computed text
@name([cn];@username)
and put it in place of the company name.




I then changed the location of the sample.js file in the main web desktop page to point to this notes page.

I then had the username show up in the start menu. I think i will use something simalar to offer different desktop themes to the user in the near future.

Monday, December 29, 2008

More on customizing the start menu in the EXT Web Desktop on Domino

Here is an example of grouping together items in the start menu. In this example I create a folder with two items in it. The folder name is "In Development" and the two items inside it are Purchase Orders and Expense Reports. This code is located in the sample.js in the EXTND Database that was shown in the first post in this blog.



MyDesktop.BogusMenuModule2 = Ext.extend(MyDesktop.contracts, {
init : function(){
this.launcher = {
text: 'In Development',
iconCls: 'bogus',
handler: function() {
return false;
},
menu: {
items:[ {
text: 'Purchase Orders',
iconCls: new MyDesktop.purchaseorders().launcher.iconCls,
handler : new MyDesktop.purchaseorders().createWindow,
scope: this,
windowId: 'Purchase Orders'
},
{
text: 'Expense Reports - Moved to Applications Folder',
iconCls: new MyDesktop.expensereports().launcher.iconCls,
//handler : new MyDesktop.expensereports().createWindow,
scope: this,
windowId: 'Expense Reports'
}

] } } }});