<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7171479490330362206</id><updated>2012-02-17T08:21:43.828+05:30</updated><title type='text'>Making Our 'LotusDomino' Easy!</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Susheel Sandeep Murali</name><uri>https://profiles.google.com/111703396543357613428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-lmqqfhL57zc/AAAAAAAAAAI/AAAAAAAAAAA/xNcQldm4cgI/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-8347962291609536179</id><published>2008-04-13T01:12:00.010+05:30</published><updated>2009-06-18T13:44:18.099+05:30</updated><title type='text'>Display Gannt Chart in a web page using @Formula</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_sOjKJWg-Xdw/SAE3dznt80I/AAAAAAAAA2w/BEudXu3kvx4/s1600-h/gchart.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5188489230920053570" style="WIDTH: 602px; CURSOR: hand; HEIGHT: 215px" height="126" alt="" src="http://4.bp.blogspot.com/_sOjKJWg-Xdw/SAE3dznt80I/AAAAAAAAA2w/BEudXu3kvx4/s320/gchart.jpg" width="602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Display schedules in a gannt chart using @formula.&lt;br /&gt;&lt;br /&gt;This formula works based on schedule start date, end date and duration values.&lt;br /&gt;&lt;br /&gt;These values can be populated using @Dblookup from a view or using lotus script agent. This example uses @DbLookup.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Schedule information input:&lt;br /&gt;&lt;br /&gt;- A View with name "Tasks" (you can change the view name in Input_data field formula)&lt;br /&gt;&lt;br /&gt;- 1st column Hidden (Schedule_StartDate, Ascending order sorted)&lt;br /&gt;&lt;br /&gt;- 2nd column : Task Name ( required)&lt;br /&gt;&lt;br /&gt;- 3rd column : Schedule_StartDate (required)&lt;br /&gt;&lt;br /&gt;- 4th column : Schedule_EndDate (required)&lt;br /&gt;&lt;br /&gt;- 5th column : Duration ( required)&lt;br /&gt;&lt;br /&gt;- 6th column : Assigned To (optional)&lt;br /&gt;&lt;br /&gt;- 7th column : Document Unique ID (used to display URL href link)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.Create a form named Gannt Chart or something&lt;br /&gt;&lt;br /&gt;2.Create a computed field Input_data or anyname&lt;br /&gt;&lt;br /&gt;This field got schedule information input and other reference fields&lt;br /&gt;&lt;br /&gt;code:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-family:arial;"&gt;ViewName:="Tasks";&lt;br /&gt;&lt;br /&gt;REM {Input data, add error conditions if required};&lt;br /&gt;&lt;br /&gt;FIELD tasknames:=@DbColumn("":"";"":"";ViewName;2);&lt;br /&gt;&lt;br /&gt;FIELD taskstartdate:=@DbColumn("":"";"":"";ViewName;3);&lt;br /&gt;&lt;br /&gt;FIELD taskenddate:=@DbColumn("":"";"":"";ViewName;4);&lt;br /&gt;&lt;br /&gt;FIELD taskduration:=@DbColumn("":"";"":"";ViewName;5);&lt;br /&gt;&lt;br /&gt;FIELD resources:=@DbColumn("":"";"":"";ViewName;6);&lt;br /&gt;&lt;br /&gt;FIELD docids:=@DbColumn("":"";"":"";ViewName;7);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FIELD DbPath:=@ReplaceSubstring(@Subset(@DbName; -1); " " : "\\"; "+" : "/");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;REM {calculate first day of the schedule start date month};&lt;br /&gt;&lt;br /&gt;FIELD schedule_startdate:=@ToTime(@Min(taskstartdate));&lt;br /&gt;&lt;br /&gt;FIELD schedule_startdate:=@ToTime(@Text(@Month(schedule_startdate))+"/01/"+@Text(@Year(schedule_startdate)));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;REM {calculate last day of the schedule end date month};&lt;br /&gt;&lt;br /&gt;FIELD schedule_enddate:=@Max(taskenddate);&lt;br /&gt;&lt;br /&gt;schedule_enddate:=@ToTime(@Text(@Month(schedule_enddate))+"/01/"+@Text(@Year(schedule_enddate)));&lt;br /&gt;&lt;br /&gt;schedule_enddate:=@Adjust(@Adjust(schedule_enddate;0;1;0;0;0;0);0;0;-1;0;0;0);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;REM {Total days between firstday and last day of the schedule dates};&lt;br /&gt;&lt;br /&gt;FIELD totaldays:=((schedule_enddate-schedule_startdate)/86400)+1;&lt;br /&gt;&lt;br /&gt;tmpdate1:=schedule_startdate;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FIELD schedule_months:="";&lt;br /&gt;&lt;br /&gt;@While(tmpdate1&lt;= schedule_enddate; tmpdate1:=@Adjust(tmpdate1;0;1;0;0;0;0); @Set("schedule_months";schedule_months:@Text(@Date(@Adjust(tmpdate1;0;0;-1;0;0;0)))) ); schedule_months:=@Trim(schedule_months); FIELD schedule_months:=schedule_months; schedule_months:=@ToTime(schedule_months); schedule_months1:=@Text(@Month(schedule_months))+"/01/"+@Text(@Year(schedule_months)); FIELD fulldays:=@Explode(@ToTime("["+schedule_months1+" - "+@Text(schedule_months)+"]")); REM {Reference fields}; FIELD monthlist:="January":"February":"March":"April":"May":"June":"July":"August":"September":"October":"November":"December"; FIELD weekdays:="S":"M":"T":"W":"T":"F":"S"; ""&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3.Create a computed text and enable pass thru HTML code:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#000099;"&gt;&lt;br /&gt;&lt;br /&gt;schedule_bgcolor:="#FFD39B";&lt;br /&gt;&lt;br /&gt;weekend_bgcolor:="#cccccc";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;REM {Populate month names};&lt;br /&gt;&lt;br /&gt;schedule_months:=@ToTime(schedule_months);&lt;br /&gt;&lt;br /&gt;tmp1:="&amp;lt;th colspan="+@Text(@Day(schedule_months))+" align=center&amp;gt;"+@Transform(@Month(schedule_months);"x";monthlist[x])+", "+@Text(@Year(schedule_months))+"&amp;lt;/th&amp;gt;";&lt;br /&gt;&lt;br /&gt;month_html:="&amp;lt;tr&amp;gt;&amp;lt;th rowspan=3 class=\"locked\"&amp;gt;Task Name&amp;lt;/th&amp;gt;"+@Implode(tmp1)+"&amp;lt;/tr&amp;gt;";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;REM {Populdate Weekday title};&lt;br /&gt;&lt;br /&gt;tmp:=@Date(@ToTime(fulldays));&lt;br /&gt;&lt;br /&gt;weekdays1:=@Transform(@Weekday(tmp);"x";weekdays[x]);&lt;br /&gt;&lt;br /&gt;weekends:=@Replace(weekdays1;"S";"bgcolor=\""+weekend_bgcolor+"\"");&lt;br /&gt;&lt;br /&gt;tmp1:="&amp;lt;th "+weekends+"&amp;gt;"+weekdays1+"&amp;lt;/th&amp;gt;";&lt;br /&gt;&lt;br /&gt;weekday_html:="&amp;lt;tr&amp;gt;"+@Implode(tmp1)+"&amp;lt;/tr&amp;gt;";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;REM {Populdate days};&lt;br /&gt;&lt;br /&gt;tmp:=@Day(@ToTime(fulldays));&lt;br /&gt;&lt;br /&gt;tmp2:="&amp;lt;th "+weekends+"&amp;gt;"+@Replace(@Text(tmp);"1":"2":"3":"4":"5":"6":"7":"8":"9";"01":"02":"03":"04":"05":"06":"07":"08":"09")+"&amp;lt;/th&amp;gt;";&lt;br /&gt;&lt;br /&gt;days_html:="&amp;lt;tr&amp;gt;"+@Implode(tmp2)+"&amp;lt;/tr&amp;gt;";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;REM {Populate Tasks};&lt;br /&gt;&lt;br /&gt;html_td:="&amp;lt;td "+weekends+"&amp;gt; &amp;lt;/td&amp;gt;";&lt;br /&gt;&lt;br /&gt;task_html:=task_html;&lt;br /&gt;&lt;br /&gt;@For(n :=1; n&lt;=@Elements(tasknames); n:= n + 1; title:=tasknames[n]; firstday:=((@ToTime(taskstartdate[n])-@ToTime(schedule_startdate))/86400)+1; nodays:=@ToNumber(taskduration[n]); hlinktitle:=@If(@Length(title)&gt;nodays*4;@Left(title;nodays*4)+"..";title);&lt;br /&gt;&lt;br /&gt;hlink:="&amp;lt;a href=/"+DbPath+"/0/"+docids[n]+"?opendocument&amp;gt;"+hlinktitle+"&amp;lt;/a&amp;gt;";&lt;br /&gt;&lt;br /&gt;task_html:= task_html+"&amp;lt;tr&amp;gt;&amp;lt;td nowrap class=\"locked\"&amp;gt;"+" "+@If(@Length(title)&gt;40;@Right(title;40);title)+"&amp;lt;/td&amp;gt;"+@If(firstday&gt;1;@Implode(@Subset(html_td;firstday-1));"")+"&amp;lt;td colspan="+@Text(nodays)+" bgcolor="+schedule_bgcolor+"&amp;gt;&amp;lt;center&amp;gt;"+hlink+"&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;"+@Implode(@Subset(html_td;(firstday+nodays-1)-totaldays))+"&amp;lt;/tr&amp;gt;"&lt;br /&gt;&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"&amp;lt;table cellpadding=0 cellspacing=0&amp;gt;"+month_html+weekday_html+days_html+task_html+"&amp;lt;/table&amp;gt;" &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. Adding style to gannt chart (optional)&lt;br /&gt;&lt;br /&gt;- this style sheet freezes the column header (month names, days) and Task name.&lt;br /&gt;&lt;br /&gt;4.1 Place the gannt chart computed text inside a div tag with id "ViewBody"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&amp;lt;div id="ViewBody"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;computed value&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4.2. Create a css style sheet page (ie:style.css)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000099;"&gt;div#ViewBody {&lt;br /&gt;&lt;br /&gt;width: 90%;&lt;br /&gt;&lt;br /&gt;height: 300px;&lt;br /&gt;&lt;br /&gt;overflow: auto;&lt;br /&gt;&lt;br /&gt;scrollbar-base-color:#999;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;div#ViewBody table th {&lt;br /&gt;&lt;br /&gt;width: 100px;&lt;br /&gt;&lt;br /&gt;position:relative;&lt;br /&gt;&lt;br /&gt;top: expression(document.getElementById("ViewBody").scrollTop-1);&lt;br /&gt;&lt;br /&gt;z-index: 30;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;ViewBody th.locked {&lt;br /&gt;&lt;br /&gt;font-size: 10px;&lt;br /&gt;&lt;br /&gt;color: black;&lt;br /&gt;&lt;br /&gt;background-color: lightblue;&lt;br /&gt;&lt;br /&gt;border-right: 2px solid silver;&lt;br /&gt;&lt;br /&gt;position: relative;&lt;br /&gt;&lt;br /&gt;cursor: default;&lt;br /&gt;&lt;br /&gt;left: expression(parentNode.parentNode.parentNode.parentNode.scrollLeft-2);&lt;br /&gt;&lt;br /&gt;z-index: 40;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;div#ViewBody td.locked {&lt;br /&gt;&lt;br /&gt;font-size: 12px;&lt;br /&gt;&lt;br /&gt;color: black;&lt;br /&gt;&lt;br /&gt;background-color: #efefef;&lt;br /&gt;&lt;br /&gt;border-right: 2px solid silver;&lt;br /&gt;&lt;br /&gt;border-bottom: 1px solid silver;&lt;br /&gt;&lt;br /&gt;WHITE-SPACE: nowrap;&lt;br /&gt;&lt;br /&gt;left: expression(parentNode.parentNode.parentNode.parentNode.scrollLeft-2);&lt;br /&gt;&lt;br /&gt;position: relative;&lt;br /&gt;&lt;br /&gt;z-index: 10;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;div#ViewBody td {&lt;br /&gt;&lt;br /&gt;font-size: 12px;&lt;br /&gt;&lt;br /&gt;color: #c0c0c0;&lt;br /&gt;&lt;br /&gt;border-top: #bbbbbb 0px solid; border-right: #bbbbbb 1px solid;&lt;br /&gt;&lt;br /&gt;border-bottom: #bbbbbb 0px; border-left: #bbbbbb 1px;&lt;br /&gt;&lt;br /&gt;padding: 1px;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;div#ViewBody th {&lt;br /&gt;&lt;br /&gt;font-size: 10px;&lt;br /&gt;&lt;br /&gt;color: black;&lt;br /&gt;&lt;br /&gt;padding:4px;&lt;br /&gt;&lt;br /&gt;text-align: center;&lt;br /&gt;&lt;br /&gt;background-color: #efefef;&lt;br /&gt;&lt;br /&gt;border-top: #bbbbbb 0px solid; border-right: #bbbbbb 1px solid;&lt;br /&gt;&lt;br /&gt;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;div#ViewBody a {&lt;br /&gt;&lt;br /&gt;font-size: 10px;&lt;br /&gt;&lt;br /&gt;TEXT-DECORATION: none&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4.3. Use this style sheet in Gannt Chart form&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_sOjKJWg-Xdw/RsO7WUabZDI/AAAAAAAAAO0/wVnLSMS05to/s1600-h/notesi.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5099125195224605746" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_sOjKJWg-Xdw/RsO7WUabZDI/AAAAAAAAAO0/wVnLSMS05to/s320/notesi.gif" border="0" /&gt;&lt;/a&gt; &lt;/td&gt;&lt;td valign="center"&gt;&lt;a href="http://www.geocities.com/dominobeans/downloads/GanntChart.zip"&gt;&lt;span style="font-size:100%;color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;GANNT CHART COMPONENT DATABASE DOWNLOAD LINK&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-8347962291609536179?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/8347962291609536179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=8347962291609536179&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/8347962291609536179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/8347962291609536179'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2008/04/display-gannt-chart-in-web-page-using.html' title='Display Gannt Chart in a web page using @Formula'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_sOjKJWg-Xdw/SAE3dznt80I/AAAAAAAAA2w/BEudXu3kvx4/s72-c/gchart.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-3718625170374923664</id><published>2007-11-12T17:41:00.000+05:30</published><updated>2007-11-12T18:40:24.881+05:30</updated><title type='text'>Export to Excel on Web</title><content type='html'>We have seen many ways to export the notes view contents onto an Excel Sheet and this is one of the simplest ways of them. It is a 3 step process as explained below:&lt;br /&gt;&lt;br /&gt;Step 1: &lt;br /&gt;Create a hidden view on the database with all the columns included which are required for the Excel Export.&lt;br /&gt;&lt;br /&gt;Step 2:&lt;br /&gt;Create a new notes form and key in the information following the syntax below:&lt;br /&gt;Line 1: Type of the query&lt;br /&gt;Line 2: Version &lt;br /&gt;Line 3: URL (http://Server_Name/Database/Excel Export View Name)&lt;br /&gt;Line 4: POST parameters&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fbvEx--f9XE/RzhIOrTI-qI/AAAAAAAAAVw/PWrNeH6Djvg/s1600-h/Export_iqy.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_fbvEx--f9XE/RzhIOrTI-qI/AAAAAAAAAVw/PWrNeH6Djvg/s400/Export_iqy.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5131931192367053474" /&gt;&lt;/a&gt;&lt;br /&gt;Optionally, you can include the formatting parameters following these 4 lines as shown in the example below.&lt;br /&gt;Eg:&lt;br /&gt;WEB&lt;br /&gt;1&lt;br /&gt;http://SERVER_NAME/DATABASE/ExportToExcel&lt;br /&gt;Selection=AllTables&lt;br /&gt;Formatting=All&lt;br /&gt;PreFormattedTextToColumns=True&lt;br /&gt;ConsecutiveDelimitersAsOne=True&lt;br /&gt;SingleBlockTextImport=True&lt;br /&gt;DisableDateRecognition=True&lt;br /&gt;&lt;br /&gt;Save the form as a web query form. (Extension : ".iqy")&lt;br /&gt;&lt;br /&gt;For more information on "web query" concept, &lt;a href='http://support.microsoft.com/kb/157482'&gt;Click here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Step 3:&lt;br /&gt;Create a $$ViewTemplate for the export view to preview the view on web. Also, include an action button called "Export to Excel" which has this code beneath:&lt;br /&gt;"Export.iqy?ReadForm"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fbvEx--f9XE/RzhIi7TI-rI/AAAAAAAAAV4/-9o3KSMmcgo/s1600-h/%24%24ViewTemplate.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_fbvEx--f9XE/RzhIi7TI-rI/AAAAAAAAAV4/-9o3KSMmcgo/s400/%24%24ViewTemplate.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5131931540259404466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Preview on web and Excel Export works like a charm!&lt;br /&gt;Screendumps below gives you an idea:&lt;br /&gt;&lt;br /&gt;Screen 1: View on web with "Export to Excel" link&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fbvEx--f9XE/RzhI_bTI-sI/AAAAAAAAAWA/KJp51Iy7-dw/s1600-h/Export1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_fbvEx--f9XE/RzhI_bTI-sI/AAAAAAAAAWA/KJp51Iy7-dw/s400/Export1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5131932029885676226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Screen 2: On clicking "Export to Excel" link, an excel file opens up with the following message. Click "Open" to proceed.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fbvEx--f9XE/RzhJs7TI-uI/AAAAAAAAAWQ/QxoxBs5W4z0/s1600-h/Export2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_fbvEx--f9XE/RzhJs7TI-uI/AAAAAAAAAWQ/QxoxBs5W4z0/s400/Export2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5131932811569724130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Screen 3: Excel retrieves data from the database.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fbvEx--f9XE/RzhJ9bTI-vI/AAAAAAAAAWY/GIi2_oh5H4o/s1600-h/Export3.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_fbvEx--f9XE/RzhJ9bTI-vI/AAAAAAAAAWY/GIi2_oh5H4o/s400/Export3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5131933095037565682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Screen 4: Final Report&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fbvEx--f9XE/RzhKMrTI-wI/AAAAAAAAAWg/bC30Rg9yVuY/s1600-h/Export4.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_fbvEx--f9XE/RzhKMrTI-wI/AAAAAAAAAWg/bC30Rg9yVuY/s400/Export4.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5131933357030570754" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-3718625170374923664?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/3718625170374923664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=3718625170374923664&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/3718625170374923664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/3718625170374923664'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/11/export-to-excel-on-web.html' title='Export to Excel on Web'/><author><name>Susheel Sandeep Murali</name><uri>https://profiles.google.com/111703396543357613428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-lmqqfhL57zc/AAAAAAAAAAI/AAAAAAAAAAA/xNcQldm4cgI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fbvEx--f9XE/RzhIOrTI-qI/AAAAAAAAAVw/PWrNeH6Djvg/s72-c/Export_iqy.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-526826949035481935</id><published>2007-10-16T20:40:00.002+05:30</published><updated>2009-06-18T13:47:56.760+05:30</updated><title type='text'>IBM Lotus Domino : Composite Applications</title><content type='html'>&lt;a href="http://www.ibm.com/developerworks/lotus/library/notes8-lead-manager/"&gt;&lt;font color="blue" size="2"&gt;&lt;br /&gt;The Lead Manager application in IBM Lotus Notes V8: An overview&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Learn how to combine multiple Lotus Notes applications and other technologies to produce a unified interface in which users can conduct their business more effectively and supply innovative business solutions.&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/lotus/library/notes8-component-design/"&gt;&lt;font color="blue" size="2"&gt;&lt;br /&gt;Designing composite applications: Component design&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;This article charts some basic approaches for designing components for composite application development that have maximum reuse. You can use many different strategies to provide the optimum components.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/blogs/page/CompApps"&gt;&lt;font color="blue" size="2"&gt;IBM Blog site for Composite applications &lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Bring information and collaboration into the context of your daily business processes using composite applications&lt;br /&gt;This web log is a joint effort by the key technical architects and user experience professionals to open a direct line of communication with developers about the capabilities of user facing composite applications. The primary focus will be on Lotus Notes/Domino, WebSphere Portal, Lotus Expeditor, and future Lotus products to be named later. We will also be commenting on composite application trends that we see in the broader market. It's important to note that none of us speak officially for IBM, nor can we make product commitments or discuss products that have not been announced.&lt;br /&gt;&lt;br /&gt;Two simple tutorials to build NSF based apps with NSF and Eclipse components&lt;br /&gt;&lt;a href="http://www-03.ibm.com/developerworks/blogs/resources/CompApps/CompAppsTutorialPart1M4.pdf"&gt;&lt;font color="blue" size="2"&gt;Build NSF based composite application Tutorial 1 (PDF)&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;The first tutorial shows a very simple NSF based composite application with one NSF component and two component views that communicate via property broker between each other.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www-03.ibm.com/developerworks/blogs/resources/CompApps/CompAppsTutorialPart2M4.pdf"&gt;&lt;font color="blue" size="2"&gt;Build NSF based composite application Tutorial 2 (PDF)&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;The second tutorial adds another component to the same application. The tutorial shows how this Eclipse component can be built with the Eclipse IDE.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-526826949035481935?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/526826949035481935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=526826949035481935&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/526826949035481935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/526826949035481935'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/10/ibm-lotus-domino-composite-applications.html' title='IBM Lotus Domino : Composite Applications'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-8388980333278197145</id><published>2007-09-25T23:23:00.001+05:30</published><updated>2009-06-18T13:48:37.397+05:30</updated><title type='text'>Lotus Enterprise Integrator (LEI) - Articles</title><content type='html'>&lt;a href="http://www-128.ibm.com/developerworks/lotus/library/LEI-attachments/index.html"&gt;&lt;font size="2" color="blue"&gt;&lt;br /&gt;Moving Domino attachments to your RDBMS with LEI, without writing script&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&lt;br /&gt;Lotus Enterprise Integrator (LEI) 6.x can move attachments from a Domino database into an RDBMS table, making them readable from within the RDBMS itself. Best of all, you can do this quickly without writing a single line of script code! &lt;/font&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/lotus/library/lclsx-attachments/index.html?S_TACT=105AGX13&amp;S_CMP=EDU"&gt;&lt;font size="2" color="blue"&gt;&lt;br /&gt;Working with file attachments in the LCLSX&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&lt;br /&gt;This article describes how you can work with file attachments in Lotus Connectors LotusScript Extension (LCLSX). We show how LCLSX handles file attachments and present a sample application to demonstrate file attachment processing.&lt;br /&gt;&lt;/font&gt;&lt;a href="http://www.ibm.com/developerworks/lotus/library/lei-sap/index.html?S_TACT=105AGX13&amp;S_CMP=EDU"&gt;&lt;font size="2" color="blue"&gt;&lt;br /&gt;Integrating IBM Lotus Domino and SAP&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&lt;br /&gt;Learn how to build an application that reads data out of SAP and places it into a Domino database, using powerful tools such as Lotus Enterprise Integrator, Domino Enterprise Connection Services, and Lotus Connectors LotusScript Extension.&lt;/font&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/lotus/library/lei7/index.html?S_TACT=105AGX13&amp;S_CMP=EDU"&gt;&lt;font size="2" color="blue"&gt;&lt;br /&gt;What is new in Lotus Enterprise Integrator (LEI) 7&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&lt;br /&gt;IBM Lotus Enterprise Integrator for Domino (LEI) allows users to access data across multiple platforms. With LEI, users can work with corporate data, irrespective of where the data actually resides. This lets you leverage your existing store of company knowledge, without having to port this information to a common platform or application. &lt;br /&gt;IBM recently released Lotus Enterprise Integrator 7, the latest version of LEI. This article gives you a short tour of the enhancements made in LEI 7. &lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-8388980333278197145?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/8388980333278197145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=8388980333278197145&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/8388980333278197145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/8388980333278197145'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/09/lotus-enterprise-integrator-lei.html' title='Lotus Enterprise Integrator (LEI) - Articles'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-4069193008743564230</id><published>2007-09-19T20:34:00.001+05:30</published><updated>2009-06-18T13:49:01.473+05:30</updated><title type='text'>IBM Lotus Connections - Articles</title><content type='html'>&lt;a href="http://www.ibm.com/developerworks/lotus/library/connections-overview/?S_TACT=105AGX01&amp;amp;S_CMP=LP"&gt;&lt;font size="2" color="blue"&gt;Enhancing productivity with social computing&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Get an overview of IBM Lotus Connections and its five features: Profiles, Communities, Blogs, Dogear, and Activities. The technical requirements for the product are included along with simple ways to extend the services outside the product.&lt;br&gt;&lt;br /&gt;&lt;font size="4"&gt;Deploying IBM Lotus Connections series:&lt;/font&gt;&lt;br&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/lotus/library/connections-deploy-pt1/"&gt;&lt;font size="2" color="blue"&gt;Part1: Planning and architecture considerations&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&lt;br /&gt;Focuses on planning and architecture considerations to ensure that your deployment is built properly. Learn from an expert on recommended planning and architecture practices.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/lotus/library/connections-deploy-pt2/"&gt; &lt;font size="2" color="blue"&gt;Part2: Post-installation tuning&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;font size="2"&gt;Focuses on post-installation tuning tips to ensure that your deployment does not suffer from common performance pitfalls. Learn from an expert on recommended practices to perform after the initial installation of Lotus Connections is complete.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/lotus/library/connections-deploy-pt3/"&gt;&lt;font size="2" color="blue"&gt;Part3: Maintenance&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;font size="2"&gt;Focuses on system maintenance, backup and recovery strategies, and tips to protect your environment from unexpected data loss or corruption. This article also covers practices for policing your Lotus Connections content.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/lotus/library/connections-deploy-pt4/"&gt;&lt;font size="2" color="blue"&gt;Part4: Troubleshooting&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;font size="2"&gt;Focuses on tips for troubleshooting during installation. It describes how to diagnose an installation problem, how to recognize which components cause the problem, and how to solve the most common problems.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/lotus/library/connections-deploy-pt5/"&gt;&lt;font size="2" color="blue"&gt;Part5: Branding and customization&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;font size="2"&gt;Demonstrates how to brand and how to customize the IBM Lotus Connections user interface. Learn how to make changes to ensure that Lotus Connections has the right look and feel for your enterprise.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/lotus/library/connections-deploy-pt6/"&gt;&lt;font size="2" color="blue"&gt;Part6: Integrating with other systems&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;font size="2"&gt;Focuses on integrating IBM Lotus Connections with other systems using the Atom API. This article is intended for I/T specialists and developers and is helpful when exploring options to integrate Lotus Connections into your applications.&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/lotus/library/connections-deploy-pt7/"&gt;&lt;font size="2" color="blue"&gt;Part7: Application programming interface&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;font size="2"&gt;Covers working with the Lotus Connections APIs. This article is intended for I/T specialists and developers and is helpful when building programs that use Lotus Connections data and services.&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-4069193008743564230?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/4069193008743564230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=4069193008743564230&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/4069193008743564230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/4069193008743564230'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/09/ibm-lotus-connections-articles.html' title='IBM Lotus Connections - Articles'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-2716950736444212502</id><published>2007-08-31T07:19:00.001+05:30</published><updated>2009-06-18T13:51:00.712+05:30</updated><title type='text'>LOTUSSCRIPT CODE FOR FILE OPEN DIALOG BOX</title><content type='html'>Lotus script code to show file open dialog box to browse and select files in windows.&lt;br /&gt;&lt;br /&gt;Sample Agent code with settings "Manually from the Actions menu" and "Run Once (@Commands may be used)"&lt;br /&gt;&lt;br /&gt;Declarations event:&lt;br /&gt;-----------------------&lt;br /&gt;&lt;span style="color:blue;"&gt;Declare Function NEMGetFile Lib "nnotesws" ( wUnk As Integer, Byval FileName As String, Byval Filter As String, Byval Title As String ) As Integer&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Initialize event:&lt;br /&gt;-----------------------&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;Sub Initialize&lt;br /&gt;&lt;br /&gt;Dim strFileName As String*256&lt;br /&gt;Dim strTitle As String&lt;br /&gt;Dim strFilter As String&lt;br /&gt;&lt;br /&gt;strFileName = ""&lt;br /&gt;strTitle = "Please select the Excel file to be imported"&lt;br /&gt;strFilter = "MS Excel Files*.xls" 'Filter is set to show only .xls files&lt;br /&gt;&lt;br /&gt;' Show file dialog box till a Excel file is selected&lt;br /&gt;Do&lt;br /&gt;ErrorStatus=False&lt;br /&gt;If NEMGetFile( 0, strFileName, strFilter, strTitle) = 0 Then&lt;br /&gt;retval=Msgbox( "You have not selected an Excel file for processing. Do you want to exit ?",4+256,"Abort")&lt;br /&gt;If retval=7 Then&lt;br /&gt;ErrorStatus=True&lt;br /&gt;Else&lt;br /&gt;Exit Sub&lt;br /&gt;End If&lt;br /&gt;End If&lt;br /&gt;Loop Until ErrorStatus=False&lt;br /&gt;&lt;br /&gt;Msgbox strFileName&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;End Sub&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-2716950736444212502?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/2716950736444212502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=2716950736444212502&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/2716950736444212502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/2716950736444212502'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/08/lotusscript-code-for-file-open-dialog.html' title='LOTUSSCRIPT CODE FOR FILE OPEN DIALOG BOX'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-5533625123758580145</id><published>2007-08-21T07:39:00.001+05:30</published><updated>2009-06-18T13:51:26.008+05:30</updated><title type='text'>DIALOG LIST DESIGN FOR WEB</title><content type='html'>A Javascript popup window design to simulate Notes Dialog list component. &lt;br /&gt;Sample database design:&lt;br /&gt;&lt;br /&gt;Screenshot1: &lt;br /&gt;Parent form with PickSingle and PickMultiple fields&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_sOjKJWg-Xdw/RspJ4UabZHI/AAAAAAAAAQ8/9EcAhlAOpKI/s1600-h/DialogList1_Pic1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_sOjKJWg-Xdw/RspJ4UabZHI/AAAAAAAAAQ8/9EcAhlAOpKI/s320/DialogList1_Pic1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5100970759851566194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Screenshot2: &lt;br /&gt;Single field selection dialog list.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_sOjKJWg-Xdw/RspJ-UabZII/AAAAAAAAARE/ugl9IHhChro/s1600-h/DialogList1_Pic2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_sOjKJWg-Xdw/RspJ-UabZII/AAAAAAAAARE/ugl9IHhChro/s320/DialogList1_Pic2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5100970862930781314" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Screenshot3:&lt;br /&gt;Multiple field selection dialog list.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_sOjKJWg-Xdw/RspKFEabZJI/AAAAAAAAARM/poMSKODFigk/s1600-h/DialogList1_Pic3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_sOjKJWg-Xdw/RspKFEabZJI/AAAAAAAAARM/poMSKODFigk/s320/DialogList1_Pic3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5100970978894898322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_sOjKJWg-Xdw/RsO7WUabZDI/AAAAAAAAAO0/wVnLSMS05to/s1600-h/notesi.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_sOjKJWg-Xdw/RsO7WUabZDI/AAAAAAAAAO0/wVnLSMS05to/s320/notesi.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5099125195224605746" /&gt;&lt;/a&gt; &lt;/td&gt;&lt;td valign=center&gt;&lt;a href="http://www.geocities.com/dominobeans/downloads/jsdialog.zip"&gt;&lt;font size=3 color="blue"&gt;&lt;br&gt;DIALOG LIST COMPONENT DATABASE DOWNLOAD LINK&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-5533625123758580145?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/5533625123758580145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=5533625123758580145&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/5533625123758580145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/5533625123758580145'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/08/dialog-list-design-for-web.html' title='DIALOG LIST DESIGN FOR WEB'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_sOjKJWg-Xdw/RspJ4UabZHI/AAAAAAAAAQ8/9EcAhlAOpKI/s72-c/DialogList1_Pic1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-4907732870708723169</id><published>2007-08-16T08:17:00.001+05:30</published><updated>2009-06-18T13:51:43.972+05:30</updated><title type='text'>Javascript Folder Tree design</title><content type='html'>Folder tree design using javascript and DHTML. Lotus Notes view with parent child reporting id columns can be used as input parameter to build the tree. &lt;br /&gt;&lt;br /&gt;Screenshot:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_sOjKJWg-Xdw/RsO7QEabZCI/AAAAAAAAAOs/lSIbzSXNlY4/s1600-h/jstree_screenshot.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_sOjKJWg-Xdw/RsO7QEabZCI/AAAAAAAAAOs/lSIbzSXNlY4/s320/jstree_screenshot.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5099125087850423330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Design synapsis for the Sample database:&lt;br /&gt;&lt;br /&gt;tree.js (page): Javascript to build the javascript&lt;br /&gt;tree.css (page) : CSS for the folder tree design&lt;br /&gt;JSDeptOrder (View) :  Input view with 'Tree view contents as HTML' property enabled&lt;br /&gt;TreeView (form) : Displays the folder tree&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_sOjKJWg-Xdw/RsO7WUabZDI/AAAAAAAAAO0/wVnLSMS05to/s1600-h/notesi.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_sOjKJWg-Xdw/RsO7WUabZDI/AAAAAAAAAO0/wVnLSMS05to/s320/notesi.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5099125195224605746" /&gt;&lt;/a&gt; &lt;/td&gt;&lt;td valign=center&gt;&lt;a href="http://www.geocities.com/dominobeans/downloads/jstree.zip"&gt;&lt;font size=3 color="blue"&gt;&lt;br&gt;JS TREE DATABASE DOWNLOAD LINK&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-4907732870708723169?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/4907732870708723169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=4907732870708723169&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/4907732870708723169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/4907732870708723169'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/08/javascript-folder-tree-design.html' title='Javascript Folder Tree design'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_sOjKJWg-Xdw/RsO7QEabZCI/AAAAAAAAAOs/lSIbzSXNlY4/s72-c/jstree_screenshot.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-7069403086612260342</id><published>2007-08-03T23:08:00.001+05:30</published><updated>2009-06-18T13:52:21.417+05:30</updated><title type='text'>Domino View design Part4: View Navigation using UP and DOWN arrow keys</title><content type='html'>A Javascript technique enables domino view document(s) navigation using UP and DOWN arrow keys and ENTER key to open a document. You don't need to use mouse to browse documents and click event to open the document.&lt;br /&gt;&lt;br /&gt;JS Functions:&lt;br /&gt;1. view_onloadfunction() - This function called from form 'onLoad()' event, this sets the keypressHandler() function for the contents of View body div tag also sets border and header colors. You can avoid this function by calling the keypressHander() directly from onload event.&lt;br /&gt;&lt;br /&gt;2. view_keypressHandler() - This function operates whenever there is a key pressed. For KeyUp, KeyDown events, this will increment or decrement the rowid and call the highlight row function.&lt;br /&gt;&lt;br /&gt;3.highlightrow() - This function loops through all the TR tags and hightlight the selected row and changes the first column image to arrow image.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Follow these steps to implement this tip.&lt;br /&gt;&lt;br /&gt;1.Create a $$ViewTemplateDefault form&lt;br /&gt;&lt;br /&gt;2.Create a DIV tag with name "ViewBody"&lt;br /&gt;&lt;br /&gt;3.Embed a view or create a $$ViewBody field&lt;br /&gt;&lt;br /&gt;4.End the DIV tag&lt;br /&gt;&lt;br /&gt;5.In the 'JSHeader' event copy paste the javascript below&lt;br /&gt;&lt;font color="blue"&gt;&lt;br /&gt;var rowid = 1;&lt;br /&gt;var totalrows = 0;&lt;br /&gt;var keypress_scroll_limit = 20;&lt;br /&gt;var viewdivid = "ViewBody";&lt;br /&gt;var columnheadercolor = 'lightblue';&lt;br /&gt;var rowhighlightcolor = '#efefef';&lt;br /&gt;var rowhighlightimage = "/icons/expand.gif";&lt;br /&gt;&lt;br /&gt;//function to set the keypress event and some table color, border setting&lt;br /&gt;//this function called from 'onload()' event&lt;br /&gt;function view_onloadfunction() {&lt;br /&gt;var viewdivobj = document.getElementsByName(viewdivid).item(0);&lt;br /&gt;var tableElements = viewdivobj.getElementsByTagName('table');&lt;br /&gt;var table = tableElements[tableElements.length - 1] ;&lt;br /&gt;table.border=1;&lt;br /&gt;headers = table.getElementsByTagName("th") ;&lt;br /&gt;rows = table.getElementsByTagName("tr") ;&lt;br /&gt;totalrows = rows.length;  &lt;br /&gt;&lt;br /&gt;for( i = 0; i &lt; headers.length; i++) {&lt;br /&gt; headers[i].bgColor = columnheadercolor ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//hightlight the first row&lt;br /&gt;highlightrow(rowid);&lt;br /&gt;// view key press handler function &lt;br /&gt;viewdivobj.onkeydown = view_keypressHandler;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// VIEW KEY PRESS HANDLER&lt;br /&gt;function view_keypressHandler (evt)&lt;br /&gt;{&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  if(!evt &amp;&amp; window.event) {&lt;br /&gt;    evt = window.event;&lt;br /&gt;  }&lt;br /&gt;  var key = evt.keyCode;&lt;br /&gt; &lt;br /&gt;  var KEYUP = 38;&lt;br /&gt;  var KEYDOWN = 40;&lt;br /&gt;  var KEYENTER = 13;&lt;br /&gt;  var KEYTAB = 9;&lt;br /&gt;  // act only for these key press events&lt;br /&gt;  if ((key != KEYUP) &amp;&amp; (key != KEYDOWN) &amp;&amp; (key != KEYENTER) &amp;&amp; (key != KEYTAB))&lt;br /&gt;    return true;&lt;br /&gt;  &lt;br /&gt;    if (key == KEYUP) {&lt;br /&gt;       if(rowid != 1) {&lt;br /&gt;    rowid = rowid -1;    }&lt;br /&gt;    highlightrow(rowid);&lt;br /&gt;    if(rowid &gt;= totalrows - keypress_scroll_limit) {&lt;br /&gt;    // control the scrollbar movement while KEYUP &lt;br /&gt;    return false;&lt;br /&gt;  }&lt;br /&gt;    }&lt;br /&gt;    if (key == KEYDOWN) {&lt;br /&gt;      if(rowid&gt;=totalrows-1) {&lt;br /&gt;      rowid = rowid; }&lt;br /&gt;      else {&lt;br /&gt;     rowid = rowid + 1; }     &lt;br /&gt;  highlightrow(rowid);&lt;br /&gt;  if(rowid&lt;=keypress_scroll_limit) {&lt;br /&gt;  // control the scrollbar movement while KEYDOWN&lt;br /&gt;  return false;&lt;br /&gt;  }&lt;br /&gt;      }&lt;br /&gt;  return true;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//function to hightlight the current row&lt;br /&gt;function highlightrow(rownum)&lt;br /&gt;{&lt;br /&gt; var viewdivobj = document.getElementsByName(viewdivid).item(0);&lt;br /&gt; var tableElements = viewdivobj.getElementsByTagName('table');&lt;br /&gt; var table = tableElements[tableElements.length - 1] ;&lt;br /&gt; rows = table.getElementsByTagName("tr") ;&lt;br /&gt; for( i = 1; i &lt; rows.length; i++) {&lt;br /&gt;  if( i == rownum) { &lt;br /&gt;  rows[i].bgColor = rowhighlightcolor;  // The row background color used for highlighting&lt;br /&gt;  Atag = rows[i].getElementsByTagName("A");&lt;br /&gt;    if(Atag.length &gt; 0) { &lt;br /&gt;   Ahref = Atag[0].href;&lt;br /&gt;  Atag[0].focus();&lt;br /&gt;  // By default domino create a blankimage  in the first column, &lt;br /&gt;  // we change the image src to our custom arrow image&lt;br /&gt;  AImage = rows[i].cells[0].getElementsByTagName("IMG");&lt;br /&gt;  AImage[0].height = 10;&lt;br /&gt;  AImage[0].src = rowhighlightimage; // You can also use custom arrow image&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;  else {&lt;br /&gt;  rows[i].bgColor = '#ffffff'; &lt;br /&gt;  AImage = rows[i].cells[0].getElementsByTagName("IMG");&lt;br /&gt;  AImage[0].height = 0&lt;br /&gt;  AImage[0].src = "";&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;6.Call 'view_onloadfunction()' javascript function in the 'onLoad()' event&lt;br /&gt;7. Open the view in web browser&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_sOjKJWg-Xdw/RrNohp2LZdI/AAAAAAAAANQ/V0YGZW9bD4c/s1600-h/DominoViewPart4_Image1.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5094530530864227794" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_sOjKJWg-Xdw/RrNohp2LZdI/AAAAAAAAANQ/V0YGZW9bD4c/s320/DominoViewPart4_Image1.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can see the first row highlighted with color and a blue arrow key image on the left side. Now you can use UP and DOWN arrow keys to navigate the document.Press the ENTER key to open the document.&lt;br /&gt;&lt;br /&gt;Note: The script will start work only when the cursor is inside the view body. If you are moving the cursor manually into some other page and pressing the UP and DOWN buttons will not trigger the view body key press event. In that case you have click any where inside the view body to start the event handler again.&lt;br /&gt;&lt;br /&gt;Other Domino View Design Tips:&lt;br /&gt;&lt;a href="http://molelive.blogspot.com/2007/07/domino-view-design-part1-alternate-row.html"&gt;Domino View design Part1: Alternate row color&lt;/a&gt;&lt;br /&gt;&lt;a href="http://molelive.blogspot.com/2007/07/domino-view-design-part2-freezing.html"&gt;Domino View design Part2: Freezing Column Headers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://molelive.blogspot.com/2007/08/view-design-part3-freezing-first-column.html"&gt;Domino View design Part3: Freezing first column&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-7069403086612260342?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/7069403086612260342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=7069403086612260342&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/7069403086612260342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/7069403086612260342'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/08/domino-view-design-part4-view.html' title='Domino View design Part4: View Navigation using UP and DOWN arrow keys'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sOjKJWg-Xdw/RrNohp2LZdI/AAAAAAAAANQ/V0YGZW9bD4c/s72-c/DominoViewPart4_Image1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-7004301567862210725</id><published>2007-08-03T02:32:00.001+05:30</published><updated>2009-06-18T13:57:42.669+05:30</updated><title type='text'>Domino View design Part3: Freezing first column</title><content type='html'>Column locking using CSS and Javascript. &lt;br /&gt;In web, multiple columns views are displayed with horizontal scroll bar. When you move the scroll bar to the right, the left side columns will start disappear and most of the times the first column will be a key column and you want to see other column values with respective to the key column. In Microsoft excel sheet you can use the 'freeze pane' feature to lock a column. Similarly this design tip will help you to freeze the first column. &lt;br /&gt;&lt;br /&gt;Steps:&lt;br /&gt;&lt;br /&gt;1.Create a $$ViewTemplateDefault form&lt;br /&gt;&lt;br /&gt;2.Create a DIV tag with name "ViewBody"&lt;br /&gt;&lt;br /&gt;3.Embed a view or create a $$ViewBody field&lt;br /&gt;&lt;br /&gt;4.End the DIV tag&lt;br /&gt;&lt;br /&gt;5.In the 'JSHeader' event copy paste the javascript below&lt;br /&gt;&lt;font color="blue"&gt;&lt;br /&gt;var columnlengthmax = 5; // Maximum column length configuration. &lt;br /&gt;&lt;br /&gt;function freezecolumn()&lt;br /&gt;{&lt;br /&gt;   var tableElements = document.all.ViewBody.getElementsByTagName('table');&lt;br /&gt;   var table = tableElements[tableElements.length - 1] ;&lt;br /&gt;   table.cellSpacing = '0' ;&lt;br /&gt;   table.border=1&lt;br /&gt;   headers = table.getElementsByTagName("th") ;&lt;br /&gt;   columnlength = headers.length; // Number of columns in the view&lt;br /&gt;   for( i = 0; i &lt; headers.length; i++) {&lt;br /&gt;        headers[i].bgColor = '#cccccc' ;&lt;br /&gt;      }&lt;br /&gt;   rows = table.getElementsByTagName("tr") ;&lt;br /&gt;   var counter = 0&lt;br /&gt;   for( i = 0; i &lt; rows.length; i++) {&lt;br /&gt;      //LOCK THE FIRST COLUMN IF THE COLUMN WIDTH EXCEEDS&lt;br /&gt;      if(columnlength &gt;= columnlengthmax) {&lt;br /&gt;      var tr = rows.item(i);&lt;br /&gt;      // SET THE FIRST COLUMN CLASS NAME as 'locked'&lt;br /&gt;      tr.cells[0].className = 'locked';&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;6.Call 'freezecolumn()' javascript function in the 'onLoad()' event. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7.Link to style.css in the Head event&lt;br /&gt;(Refer the screenshot of blog entry 'Domino View design Part2: Freezing Column Headers')&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;8. Create a page with name "style.css" and paste the the css style tags&lt;br /&gt;&lt;font color="blue"&gt;&lt;br /&gt;&lt;br /&gt;div#ViewBody {&lt;br /&gt;width: 100%;&lt;br /&gt;height: 200px;&lt;br /&gt;overflow: auto;&lt;br /&gt;scrollbar-base-color:#ffeaff;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;div#ViewBody table th {&lt;br /&gt;width: 100px;&lt;br /&gt;background-color: lightblue;&lt;br /&gt;position:relative;&lt;br /&gt;top: expression(document.getElementById("ViewBody").scrollTop-1); &lt;br /&gt;z-index: 30;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;div#ViewBody th.locked {&lt;br /&gt;background-color: lightblue;&lt;br /&gt;border-right: 2px solid silver;&lt;br /&gt;position:relative;&lt;br /&gt;cursor: default; &lt;br /&gt;left: expression(parentNode.parentNode.parentNode.parentNode.scrollLeft); &lt;br /&gt;z-index: 40;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;div#ViewBody td.locked {&lt;br /&gt;background-color: #efefef;&lt;br /&gt;border-right: 2px solid silver;&lt;br /&gt;left: expression(parentNode.parentNode.parentNode.parentNode.scrollLeft); &lt;br /&gt;position: relative;&lt;br /&gt;z-index: 10;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;Note: by changing height parameter, you can control the height of the view display,&lt;br /&gt;Also by changing the z-index, you can the change the column header starting position.&lt;br /&gt;&lt;br /&gt;7. Open the view in web browser&lt;br /&gt;If you scroll the view using horizontal scroll bar, you can see the first column is in freeze mode.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_sOjKJWg-Xdw/RrJHZ52LZcI/AAAAAAAAANI/DbpWm_KU4DI/s1600-h/DominoViewPart3_Image1.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_sOjKJWg-Xdw/RrJHZ52LZcI/AAAAAAAAANI/DbpWm_KU4DI/s320/DominoViewPart3_Image1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5094212638859814338" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-7004301567862210725?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/7004301567862210725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=7004301567862210725&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/7004301567862210725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/7004301567862210725'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/08/view-design-part3-freezing-first-column.html' title='Domino View design Part3: Freezing first column'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sOjKJWg-Xdw/RrJHZ52LZcI/AAAAAAAAANI/DbpWm_KU4DI/s72-c/DominoViewPart3_Image1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-1808536722465571606</id><published>2007-07-31T21:41:00.000+05:30</published><updated>2007-08-03T23:23:08.667+05:30</updated><title type='text'>Domino View design Part2: Freezing Column Headers</title><content type='html'>Views with more documents requires vertical scrolling to see the documents. When you scroll down, the column headers will disappear from the window view. Using CSS we can apply style to 'TH' tag to appear in the same position even when you scroll.&lt;br /&gt;&lt;br /&gt;Steps:&lt;br /&gt;&lt;br /&gt;1.Create a $$ViewTemplateDefault form&lt;br /&gt;&lt;br /&gt;2.Create a DIV tag with name "ViewBody"&lt;br /&gt;&lt;br /&gt;3.Embed a view or create a $$ViewBody field&lt;br /&gt;&lt;br /&gt;4.End the DIV tag&lt;br /&gt;&lt;br /&gt;5.Link to style.css in the Head event&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_sOjKJWg-Xdw/Rq9ff52LZZI/AAAAAAAAAMw/vg5LXmKIcjQ/s1600-h/DominoViewPart2_Image1.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5093394705287964050" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_sOjKJWg-Xdw/Rq9ff52LZZI/AAAAAAAAAMw/vg5LXmKIcjQ/s320/DominoViewPart2_Image1.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6. Create a page with name "style.css" and paste the the css style tags&lt;br /&gt;&lt;font color="blue"&gt;&lt;br /&gt;div#ViewBody {&lt;br /&gt;width: 100%;&lt;br /&gt;height: 200px;&lt;br /&gt;overflow: auto;&lt;br /&gt;scrollbar-base-color:#ffeaff;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;div#ViewBody table th {&lt;br /&gt;width: 100px;&lt;br /&gt;background-color: lightblue;&lt;br /&gt;position:relative;&lt;br /&gt;top: expression(document.getElementById("ViewBody").scrollTop-1);&lt;br /&gt;z-index: 10;&lt;br /&gt;}&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_sOjKJWg-Xdw/Rq9fvZ2LZaI/AAAAAAAAAM4/PsJyi-9bWWo/s1600-h/DominoViewPart2_Image2.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5093394971575936418" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_sOjKJWg-Xdw/Rq9fvZ2LZaI/AAAAAAAAAM4/PsJyi-9bWWo/s320/DominoViewPart2_Image2.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note: by changing height parameter, you can control the height of the view display,&lt;br /&gt;Also by changing the z-index, you can the change the column header starting position.&lt;br /&gt;&lt;br /&gt;7. Open the view in web browser&lt;br /&gt;If you scroll the view, you can see the column header is in static position.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_sOjKJWg-Xdw/Rq9f2Z2LZbI/AAAAAAAAANA/IbBTfuOT9Gs/s1600-h/DominoViewPart2_Image3.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5093395091835020722" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_sOjKJWg-Xdw/Rq9f2Z2LZbI/AAAAAAAAANA/IbBTfuOT9Gs/s320/DominoViewPart2_Image3.JPG" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-1808536722465571606?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/1808536722465571606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=1808536722465571606&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/1808536722465571606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/1808536722465571606'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/07/domino-view-design-part2-freezing.html' title='Domino View design Part2: Freezing Column Headers'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_sOjKJWg-Xdw/Rq9ff52LZZI/AAAAAAAAAMw/vg5LXmKIcjQ/s72-c/DominoViewPart2_Image1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-255895268408959895</id><published>2007-07-30T18:45:00.001+05:30</published><updated>2009-06-18T14:00:10.797+05:30</updated><title type='text'>Domino View design Part1: Alternate row color</title><content type='html'>&lt;div&gt;Simple javascript technique to control view display on web. This script executes after the view loaded on the page, this script make use of table, th, td, row objects to manipulate the style. Works well with standard view.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;1.Create a $$ViewTemplateDefault form &lt;/div&gt;&lt;br /&gt;&lt;div&gt;2.Create a DIV tag with name "ViewBody"&lt;/div&gt;&lt;br /&gt;&lt;div&gt;3.Embed a view or create a $$ViewBody field&lt;/div&gt;&lt;br /&gt;&lt;div&gt;4.End the DIV tag&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_sOjKJWg-Xdw/Rq3k-Z2LZXI/AAAAAAAAAMg/kgSfmdMJSO4/s1600-h/DominoViewPart1_Image1.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5092978514367047026" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_sOjKJWg-Xdw/Rq3k-Z2LZXI/AAAAAAAAAMg/kgSfmdMJSO4/s320/DominoViewPart1_Image1.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;5.Copy paste the following javascript to the 'JSHeader' event of the form&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;font color="blue"&gt;&lt;br /&gt;// ALTERNATE ROW COLOR BUILDING&lt;/div&gt;&lt;div&gt;function transformView() {&lt;br /&gt;var tableElements = document.all.ViewBody.getElementsByTagName('table'); &lt;/div&gt;&lt;div&gt;var table = tableElements[tableElements.length - 1] ; &lt;/div&gt;&lt;div&gt;table.cellSpacing = '0' ; &lt;/div&gt;&lt;div&gt;table.border=1 &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;headers = table.getElementsByTagName("th") ; &lt;/div&gt;&lt;div&gt;for( i = 0; i &lt;/div&gt;&lt;div&gt;headers[i].bgColor = '#cccccc' ; &lt;/div&gt;&lt;div&gt;} &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;rows = table.getElementsByTagName("tr") ; &lt;/div&gt;&lt;div&gt;var counter = 0 &lt;/div&gt;&lt;div&gt;for( i = 0; i &lt;&gt;&lt;div&gt;rows[i].bgColor = (i % 2 ? '#efefef' : '') ; &lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;} &lt;/div&gt;&lt;/font&gt;&lt;div&gt;&lt;br /&gt;6.Call the 'transformView()' function in the 'onLoad()' event of the form. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;strong&gt;Domino view in browser:&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_sOjKJWg-Xdw/Rq3lFp2LZYI/AAAAAAAAAMo/xrrBcMHJ3k4/s1600-h/DominoViewPart1_Image2.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5092978638921098626" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_sOjKJWg-Xdw/Rq3lFp2LZYI/AAAAAAAAAMo/xrrBcMHJ3k4/s320/DominoViewPart1_Image2.JPG" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-255895268408959895?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/255895268408959895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=255895268408959895&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/255895268408959895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/255895268408959895'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/07/domino-view-design-part1-alternate-row.html' title='Domino View design Part1: Alternate row color'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_sOjKJWg-Xdw/Rq3k-Z2LZXI/AAAAAAAAAMg/kgSfmdMJSO4/s72-c/DominoViewPart1_Image1.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-960246473384623040</id><published>2007-07-17T20:23:00.000+05:30</published><updated>2007-07-17T20:25:54.580+05:30</updated><title type='text'>LotusScript to create a dynamic tabular report from a Lotus Notes document collection</title><content type='html'>Tip from: Blessan V Philip&lt;br /&gt;Source: &lt;a href="http://searchdomino.techtarget.com/"&gt;http://searchdomino.techtarget.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This LotusScript code enables the creation of a dynamic tabular report from a Lotus Notes document collection, which offers similar results to copying a table from a view. The function 'CreateTable' uses the following parameters:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;FldTitles:&lt;/strong&gt; This is an array of the titles required in the tabular report.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;FldNames:&lt;/strong&gt; These are the field names/item names existing in the Lotus Notes document, corresponding against field titles.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;doccoll:&lt;/strong&gt; This is a notesdocumentcollection command that needs to be displayed in a formatted way.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;rtitem:&lt;/strong&gt; This is a NotesRichTextItem , which will save the tabular report.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;msgTitle:&lt;/strong&gt; This is a report heading displayed in the rich-text item.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;msgBody:&lt;/strong&gt; This is the message body following the message header.&lt;br /&gt;&lt;br /&gt;The following example is LotusScript code in a scheduled agent which collates a document collection from a Lotus Notes view and calls the function. The returned rich-text item is mailed to the Lotus Notes user as mail body to a set of recipients.&lt;br /&gt;&lt;br /&gt;'=============================&lt;br /&gt;'Use it in the global declaration&lt;br /&gt;Dim session As  notessession&lt;br /&gt;Dim db As NotesDatabase&lt;br /&gt;'===========================&lt;br /&gt;Sub Initialize&lt;br /&gt;Dim VwDocCreated As NotesView&lt;br /&gt;Dim doccoll As&lt;br /&gt;NotesDocumentCollection&lt;br /&gt;Dim maildoc As NotesDocument&lt;br /&gt;Dim ritem As notesrichtextitem&lt;br /&gt;Dim FldTitles(4) As String&lt;br /&gt;Dim FldNames(4)  As String&lt;br /&gt;Dim msgTitle As String&lt;br /&gt;Dim msgBody As String&lt;br /&gt;Dim Recep(1) As String&lt;br /&gt;&lt;br /&gt;Set session=New NotesSession&lt;br /&gt;Set db=session.CurrentDatabase&lt;br /&gt;' view to be used&lt;br /&gt;Set VwDocCreated=db.GetView&lt;br /&gt;("(DocsCreatedToday)")&lt;br /&gt;'document collection generated&lt;br /&gt;from the specified view&lt;br /&gt;Set doccoll=VwDocCreated.&lt;br /&gt;GetAllDocumentsByKey("Y",True)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' Field titles/ Report headings to be set&lt;br /&gt;FldTitles(0)="Category"&lt;br /&gt;FldTitles(1)="Sub Category"&lt;br /&gt;FldTitles(2)="Title"&lt;br /&gt;FldTitles(3)="Content Date"&lt;br /&gt;FldTitles(4)="Document Link"&lt;br /&gt;&lt;br /&gt;' Field names/ item names in the&lt;br /&gt;documents corresponding to the field titles&lt;br /&gt;FldNames(0)="Categories"&lt;br /&gt;FldNames(1)="SubCaty"&lt;br /&gt;FldNames(2)="Subject"&lt;br /&gt;FldNames(3)="DocContentsDate"&lt;br /&gt;FldNames(4)="Doc_Link"    &lt;br /&gt;'  For using a document link   &lt;br /&gt;use the field name as 'Doc_Link'&lt;br /&gt;&lt;br /&gt;'Recepients mailing address&lt;br /&gt;Recep(0)="XXX@abcom" &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'Message title&lt;br /&gt;msgTitle="This is an auto generated mail.&lt;br /&gt; Please do not reply"&lt;br /&gt;&lt;br /&gt;'Message body&lt;br /&gt;msgBody="Following describes the&lt;br /&gt; documents created on "+Format&lt;br /&gt;(Now,"DD-MMM-YYYY")&lt;br /&gt;&lt;br /&gt;If doccoll.Count&gt;0 Then &lt;br /&gt;Set maildoc=db.CreateDocument&lt;br /&gt;maildoc.form="memo"&lt;br /&gt;maildoc.subject=db.Title+": &lt;br /&gt;Documents created on "+Format&lt;br /&gt;(Now,"DD-MMM-YYYY")&lt;br /&gt;maildoc.sendto=Recep&lt;br /&gt;Set ritem=New NotesRichTextItem&lt;br /&gt;(maildoc,"body")&lt;br /&gt;' passing the rich text item &amp; other&lt;br /&gt;relevant details&lt;br /&gt;Set ritem=CreateTable(FldTitles,&lt;br /&gt;FldNames,doccoll,ritem,msgTitle,msgBody)&lt;br /&gt;&lt;br /&gt;ritem.AddNewline(2)&lt;br /&gt;ritem.AppendText("--------------------&lt;br /&gt;------------------------------------------------&lt;br /&gt;------------------------------------------------------")&lt;br /&gt; &lt;br /&gt;maildoc.Send(False)&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;'**Function starts 'from here***&lt;br /&gt;Function CreateTable(FldTitles&lt;br /&gt;As Variant ,FldNames As Variant,&lt;br /&gt;doccoll  As notesdocumentcollection ,&lt;br /&gt;rtitem As NotesRichTextItem,msgTitle&lt;br /&gt;As String,msgBody As String ) As&lt;br /&gt; NotesRichTextItem&lt;br /&gt;'Takes  Documentcollection &amp; creates&lt;br /&gt;  tabular information on to the passed &lt;br /&gt;rtitem (rich text item)&lt;br /&gt;&lt;br /&gt;Dim TempNitem As NotesItem&lt;br /&gt;Dim TempNm As NotesName&lt;br /&gt;&lt;br /&gt;Set ritem=rtitem&lt;br /&gt;Set rtnav = ritem.CreateNavigator&lt;br /&gt;Set rstyle=session.CreateRichTextStyle&lt;br /&gt;&lt;br /&gt;'===================================================&lt;br /&gt;'heading in the body section of the mail&lt;br /&gt;rstyle.Bold=True&lt;br /&gt;rstyle.NotesColor=COLOR_RED&lt;br /&gt;rstyle.Underline=True&lt;br /&gt;rstyle.NotesFont=FONT_COURIER&lt;br /&gt;rstyle.FontSize=12&lt;br /&gt;Call  ritem.AppendStyle(rstyle)&lt;br /&gt;ritem.AppendText(msgTitle)&lt;br /&gt;&lt;br /&gt;rstyle.Underline=False&lt;br /&gt;rstyle.NotesColor=COLOR_BLACK&lt;br /&gt;ritem.AddNewline(2)&lt;br /&gt;&lt;br /&gt;rstyle.FontSize=10&lt;br /&gt;rstyle.Bold=False&lt;br /&gt;rstyle.NotesColor=COLOR_BLACK&lt;br /&gt;Call  ritem.AppendStyle(rstyle)&lt;br /&gt;ritem.AppendText(msgBody)&lt;br /&gt;ritem.AddNewline(1)&lt;br /&gt;&lt;br /&gt;'===================================================&lt;br /&gt;rows=doccoll.Count +1&lt;br /&gt;cols=Cint(Ubound(FldTitles)+1)&lt;br /&gt;&lt;br /&gt;Call ritem.AppendTable(rows,cols)&lt;br /&gt;Call rtnav.FindFirstElement&lt;br /&gt;(RTELEM_TYPE_TABLECELL)&lt;br /&gt;'=================================================&lt;br /&gt;'heading of the table&lt;br /&gt;rstyle.Bold=True&lt;br /&gt;rstyle.NotesColor=COLOR_BLUE&lt;br /&gt;rstyle.FontSize=10&lt;br /&gt;Call  ritem.AppendStyle(rstyle)&lt;br /&gt;&lt;br /&gt;For i=0 To Ubound(FldTitles)&lt;br /&gt;Call ritem.BeginInsert(rtnav)&lt;br /&gt;Call ritem.AppendText(FldTitles(i))&lt;br /&gt;Call ritem.EndInsert&lt;br /&gt;Call rtnav.FindNextElement&lt;br /&gt;(RTELEM_TYPE_TABLECELL)&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;'=================================================&lt;br /&gt;rstyle.FontSize=10&lt;br /&gt;rstyle.Bold=False&lt;br /&gt;rstyle.NotesColor=COLOR_BLACK&lt;br /&gt;Call  ritem.AppendStyle(rstyle)&lt;br /&gt;&lt;br /&gt;Set  doc=doccoll.GetFirstDocument&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;While Not (doc Is Nothing)&lt;br /&gt;&lt;br /&gt;For i=0 To Ubound(FldNames)&lt;br /&gt;'check for date/ names document link&lt;br /&gt;Call ritem.BeginInsert(rtnav)&lt;br /&gt;&lt;br /&gt;If FldNames(i)="Doc_Link" Then&lt;br /&gt;Call ritem.AppendDocLink&lt;br /&gt;(doc,doc.Created)&lt;br /&gt; Else&lt;br /&gt;Set TempNitem=doc.GetFirstItem&lt;br /&gt;(FldNames(i))   &lt;br /&gt;If TempNitem.IsNames Then&lt;br /&gt;Set TempNm=Nothing&lt;br /&gt;Set TempNm=New NotesName&lt;br /&gt;(TempNitem.Values(0))&lt;br /&gt;Call ritem.AppendText(TempNm.Common)&lt;br /&gt;Elseif Isdate(TempNitem.Values(0)) Then&lt;br /&gt;Call ritem.AppendText(Format&lt;br /&gt;(TempNitem.Values(0),"DD-MMM-YYYY"))  &lt;br /&gt;&lt;br /&gt;Else&lt;br /&gt;Call ritem.AppendText&lt;br /&gt;(TempNitem.Values(0))    &lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;Call ritem.EndInsert&lt;br /&gt;Call rtnav.FindNextElement&lt;br /&gt;(RTELEM_TYPE_TABLECELL)  &lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Set doc=doccoll.GetNextDocument(doc)&lt;br /&gt;&lt;br /&gt;Wend&lt;br /&gt;&lt;br /&gt;Set CreateTable=ritem&lt;br /&gt;&lt;br /&gt;End Function&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-960246473384623040?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/960246473384623040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=960246473384623040&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/960246473384623040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/960246473384623040'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/07/lotusscript-to-create-dynamic-tabular.html' title='LotusScript to create a dynamic tabular report from a Lotus Notes document collection'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-8221698459279039153</id><published>2007-07-17T01:44:00.000+05:30</published><updated>2007-07-17T01:53:10.258+05:30</updated><title type='text'>SIMPLE AUDIT TRAIL USING @FORMULA</title><content type='html'>Formula based design to capture audit trail for notes field values. No lotus script program required and no need to modify the save event programs.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Create the following fields and add the formulas&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_sOjKJWg-Xdw/RpvTId10cWI/AAAAAAAAALA/khmZtwguMtU/s1600-h/audittrail.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5087892346447884642" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_sOjKJWg-Xdw/RpvTId10cWI/AAAAAAAAALA/khmZtwguMtU/s320/audittrail.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Audit_CurrentValue&lt;/strong&gt; - Hidden field to store field name configuration&lt;br /&gt;&lt;em&gt;&lt;span style="color:#3366ff;"&gt;var1:="Employee Name":"Employee Number":"Department":"Designation";&lt;br /&gt;var2:=EmpName:@Text(EmpNumber):EmpDept:EmpDesg;&lt;br /&gt;var1+"="+var2&lt;/span&gt;&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;Audit_ChangedValue&lt;/strong&gt; - Hidden field to identify changed values&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;em&gt;tChanges := @If(@IsNewDoc;"";@Replace(Audit_OldValue;Audit_CurrentValue;""));&lt;br /&gt;@Trim(tChanges)&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Audit_OldValue&lt;/strong&gt; - Hidden field to store old field values&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;em&gt;@If(@IsDocBeingSaved;Audit_CurrentValue;Audit_OldValue)&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Audit_History&lt;/strong&gt; - Field to display audit history&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;em&gt;hisDateTime:=@Text(@Now) + " (" + @Text(@Name([CN]; @V3UserName)) + ")";&lt;br /&gt;@If(@IsDocBeingSaved;Audit_History:@If(Audit_ChangedValue!="";hisDateTime;""):@Implode(Audit_ChangedValue;",");Audit_History)&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Sample Output:&lt;/strong&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;07/16/2007 03:46:47 PM (User name)&lt;br /&gt;Employee Number=2000,Designation=Consultant&lt;br /&gt;07/16/2007 04:01:46 PM (User name)&lt;br /&gt;Employee Number=3000,Department=Lotus Notes Development,Designation=Programmer&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;You can also display both new value and old value&lt;br /&gt;&lt;/strong&gt;Change the formula of Audid_ChangedValue to&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#3366ff;"&gt;tChanges:= @Trim(@If(@IsNewDoc;"";@Replace(Audit_OldValue;Audit_CurrentValue;"")));&lt;br /&gt;@If(tChanges="";"";@Transform(tChanges;"X1";X1+"-&gt;"+@Right(Audit_CurrentValue[@Member(X1;Audit_OldValue)];"=")))&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sample output:&lt;/strong&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;07/16/2007 04:07:21 PM (User name)&lt;br /&gt;Department=Lotus Notes-&gt;Lotus Domino,Designation=Programmer-&gt;Developer&lt;br /&gt;07/16/2007 04:07:40 PM (User name)&lt;br /&gt;Employee Name=Manny-&gt;Manikandan&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-8221698459279039153?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/8221698459279039153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=8221698459279039153&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/8221698459279039153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/8221698459279039153'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/07/simple-audit-trail-using-formula.html' title='SIMPLE AUDIT TRAIL USING @FORMULA'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sOjKJWg-Xdw/RpvTId10cWI/AAAAAAAAALA/khmZtwguMtU/s72-c/audittrail.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-3744996198292114639</id><published>2007-07-15T09:05:00.000+05:30</published><updated>2007-07-15T10:14:18.812+05:30</updated><title type='text'>VIEW PICKLIST DESIGN FOR WEB</title><content type='html'>&lt;b&gt;Here is the simple design technique for creating view picklist for web interface similar to Notes Client view picklist component&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Design the picklist selection view&lt;br /&gt;&lt;br /&gt;Design the column of the view to display radio button (Single document selection) or checkbox (Multiple document selection)&lt;br /&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_sOjKJWg-Xdw/RpmgnN10cRI/AAAAAAAAAKU/xqu4T6Xw-6k/s320/viewpicklist1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5087263507401175250" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: left" alt="" src="http://4.bp.blogspot.com/_sOjKJWg-Xdw/RpmgnN10cRI/AAAAAAAAAKU/xqu4T6Xw-6k/s320/viewpicklist1.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;You can design the radio button/checkbox to return more then one value,&lt;br /&gt;&lt;br /&gt;In this example the radio button is designed to return two field values with the seperator "$~$"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Embed this Picklist view to a Picklist Selection Popup form.&lt;br /&gt;&lt;br /&gt;&lt;p align="left"&gt;&lt;img id="BLOGGER_PHOTO_ID_5087264585437966562" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: left" alt="" src="http://3.bp.blogspot.com/_sOjKJWg-Xdw/RpmhF910cSI/AAAAAAAAAKc/_VeKdnm7vws/s320/viewpicklist2.jpg" border="0" /&gt;&lt;/p&gt;- Create a form and embed the picklist view and select display using "View display property"&lt;br /&gt;- Query_String CGI Variable field to receive the parameters sent by the opening form&lt;br /&gt;- retFieldName, retFieldColumns fields to store the quesry string parameters parsed from Query_String field&lt;br /&gt;- In OK button copy/paste the javascript code&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var sField1 = document.forms[0].retFieldName.value;&lt;br /&gt;var nColumn1 = document.forms[0].retFieldColumn.value;&lt;br /&gt;frm = document.forms[0];&lt;br /&gt;&lt;br /&gt;for ( var i = 0; i &lt;&gt;if ( frm.selectdoc[i].checked ) vals = frm.selectdoc[i].value.split( '$~$' );&lt;br /&gt;&lt;br /&gt;&lt;div&gt;} &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;if (typeof vals == "undefined") { &lt;/div&gt;&lt;div&gt;rField2=document.forms[0].selectdoc;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;if(rField2.checked) {&lt;/div&gt;&lt;div&gt;vals = frm.selectdocs.value.split( ',' );&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;} &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;if (typeof vals == "undefined") return alert('Pleas select a document.'); &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;//get a handle the backend form field that the value is going to&lt;/div&gt;&lt;div&gt;obj = eval( "window.opener.document.forms[0]." + sField1 ); &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;//set the value in the field and then close this window.&lt;/div&gt;&lt;div&gt;obj.value = vals[ nColumn1-1 ]; &lt;/div&gt;&lt;div&gt;window.close();&lt;br /&gt;&lt;br /&gt;- In Close button copy/paste the javascript code&lt;br /&gt;&lt;br /&gt;window.close();&lt;br /&gt;&lt;br /&gt;3.Create a image or button to call the ViewPickList form&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;a href="http://2.bp.blogspot.com/_sOjKJWg-Xdw/RpmhQt10cTI/AAAAAAAAAKk/EUDzpxNvySc/s320/viewpicklist3.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5087265010639728882" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_sOjKJWg-Xdw/RpmhQt10cTI/AAAAAAAAAKk/EUDzpxNvySc/s320/viewpicklist3.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- Create a field to receive the picklist values&lt;br /&gt;- Create a image/button hotspot and copy/paste the below javascript code&lt;br /&gt;&lt;br /&gt;var formname='ViewPicklist1';&lt;br /&gt;var height = 350;&lt;br /&gt;var width = 600;&lt;br /&gt;var returnfieldname = "PickSingle";&lt;br /&gt;var returncolumnnumber ="1";&lt;br /&gt;popupWin = windowOpener('/'+webpath + '/'+formname+'?openform&amp;RET_FIELD='+returnfieldname+'&amp;amp;RET_COLUMN='+returncolumnnumber+'&amp;' ,&lt;br /&gt;'Address','width='+width+', height='+height+', status=no, resize, scrollbars=no' );&lt;br /&gt;&lt;br /&gt;4. The Output&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_sOjKJWg-Xdw/Rpmhet10cUI/AAAAAAAAAKs/zS9PN8Rwsmw/s320/viewpicklist4.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5087265560395542786" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_sOjKJWg-Xdw/Rpmhet10cUI/AAAAAAAAAKs/zS9PN8Rwsmw/s320/viewpicklist4.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-3744996198292114639?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/3744996198292114639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=3744996198292114639&amp;isPopup=true' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/3744996198292114639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/3744996198292114639'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/07/view-picklist-design-for-web.html' title='VIEW PICKLIST DESIGN FOR WEB'/><author><name>Manny</name><uri>http://www.blogger.com/profile/04972879992431847609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_sOjKJWg-Xdw/RpmgnN10cRI/AAAAAAAAAKU/xqu4T6Xw-6k/s72-c/viewpicklist1.jpg' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7171479490330362206.post-5826089964121849917</id><published>2007-07-13T00:13:00.000+05:30</published><updated>2007-07-13T01:15:30.760+05:30</updated><title type='text'>Wonder Button</title><content type='html'>Hi,&lt;br /&gt;Here is a small piece of code which goes under a button placed on the Toolbar Menu within Notes Workspace.&lt;br /&gt;[You can add a personalised button on the toolbar by accessing 'File Menu-&gt;Preferences-&gt;Toolbar Preference-&gt;Customize-&gt;New Button']&lt;br /&gt;Once you are through with adding the button on to the Toolbar, Copy&amp;Paste the below code and Save the button. Now, you are all set to use this new 'Wonder Button'.&lt;br /&gt;&lt;br /&gt;'Wonder Button' helps you in tweaking field values of a document on the view without opening the document.Here's how it works:&lt;br /&gt;&lt;br /&gt;STEP 1: Select a document from the view and Click on the the 'Wonder Button' icon. You will get an Option to Set or Delete fields of the selected document.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fbvEx--f9XE/RpZ_dgGPIDI/AAAAAAAAAQw/DeQAmJT1YDU/s1600-h/Options.JPG"&gt;&lt;img style="float:center; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_fbvEx--f9XE/RpZ_dgGPIDI/AAAAAAAAAQw/DeQAmJT1YDU/s320/Options.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5086392973970579506" /&gt;&lt;/a&gt;&lt;br /&gt;STEP 2: Choose the option as 'Set', you will be asked to choose the field you want to tweak from the list of available fields.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fbvEx--f9XE/RpZ_wwGPIEI/AAAAAAAAAQ4/DxqD2SiUg48/s1600-h/Options2.JPG"&gt;&lt;img style="float:center; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_fbvEx--f9XE/RpZ_wwGPIEI/AAAAAAAAAQ4/DxqD2SiUg48/s320/Options2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5086393304683061314" /&gt;&lt;/a&gt;&lt;br /&gt;STEP 3: Choose the correct type of the field before proceeding.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fbvEx--f9XE/RpaAPgGPIFI/AAAAAAAAARA/Wj4fX0L4hZA/s1600-h/Options3.JPG"&gt;&lt;img style="float:Center; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_fbvEx--f9XE/RpaAPgGPIFI/AAAAAAAAARA/Wj4fX0L4hZA/s320/Options3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5086393832964038738" /&gt;&lt;/a&gt;&lt;br /&gt;STEP 4: Enter the new value for the field.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fbvEx--f9XE/RpaBIwGPIHI/AAAAAAAAARQ/qzyL8O50jbc/s1600-h/Options4.JPG"&gt;&lt;img style="float:center; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_fbvEx--f9XE/RpaBIwGPIHI/AAAAAAAAARQ/qzyL8O50jbc/s320/Options4.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5086394816511549554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;VOILA....your document has got the new value on the modified field and saved.&lt;br /&gt;Go on and use this Wonder Button and let me know your thoughts on this.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;-Susheel&lt;br /&gt;&lt;br /&gt;CODE : &lt;br /&gt;actionSelect := @Prompt([OkCancelList]:[NoSort];"Select Action";"";"Set Field";"Set Field":"Delete Field"); &lt;br /&gt;List := @DocFields; &lt;br /&gt;DataTypes := "Text" : "Date" : "Integer" : "Password" : "Name" : "Common Name" : "Remove Field" : "Text Multi Value" : "Date Multi Value" : "Integer Multi Value" : "Name Multi Value" : "Common Name Multi Value"; &lt;br /&gt;EditField := @Prompt( [OkCancelList] ; "Select a field to alter" ; "Select the field:" ; "CustomerReply" ; List ) ; &lt;br /&gt;&lt;br /&gt;@If( actionSelect = "Delete Field"; @Return( @SetField( EditField; @DeleteField ) ) ; "" ); &lt;br /&gt;DataType := @Prompt( [OkCancelList] : [NoSort] ; "data type or action for field: " + EditField ; "Please Select the correct data type or action for field: " + EditField ; "Text" ; DataTypes ); &lt;br /&gt;&lt;br /&gt;RawValue := @If( &lt;br /&gt;         @Contains( DataType ; "Name Multi Value" ); @PickList( [Name] ); &lt;br /&gt;         @Contains( DataType ; "Name" ) ; @PickList( [Name] : [Single] ); &lt;br /&gt;         DataType = "Remove Field" ; "" ; &lt;br /&gt;         @Contains( DataType ; "Multi Value" ); @Prompt( [OkCancelEdit] ; "New Value for field: " + EditField ; "Please enter the new desired value for: " + EditField + " seperated with : for each value." ; @Abstract([TextOnly] ; 254 ; "" ; @Text( EditField ) ) ); &lt;br /&gt;         @Prompt( [OkCancelEdit] ; "New Value for field: " + EditField ; "Please enter the new desired value for: " + EditField + "." ; @Abstract([TextOnly] ; 254 ; "" ; @Text( EditField) ) ) ); &lt;br /&gt;&lt;br /&gt;@If( &lt;br /&gt;        DataType = "Date" ; @If( @SetField( EditField ; @TextToTime( RawValue ) ) ); &lt;br /&gt;        DataType = "Integer" ; @If( @IsError( @TextToNumber( RawValue ) ) ; "" ; @SetField( EditField ; @TextToNumber( RawValue ) ) ) ; &lt;br /&gt;        DataType = "Common Name" ; @SetField( EditField ; @Name( [CN]; RawValue ) ) ; &lt;br /&gt;        DataType = "Password" ; @SetField( EditField ; @Password( RawValue ) ) ; &lt;br /&gt;        DataType = "Remove Field" ; @SetField( EditField ; @DeleteField ) ; &lt;br /&gt;        DataType = "Text Multi Value" ; @SetField( EditField ; @Explode( RawValue ; ":" ) ) ; &lt;br /&gt;        DataType = "Date Multi Value" ; @SetField( EditField ; @TextToTime( @Explode( RawValue ; ":" ) ) ) ; &lt;br /&gt;        DataType = "Integer Multi Value" ; @If( @IsError( @TextToNumber( @Explode( RawValue ; ":" ) ) ) ; "" ; @SetField( EditField ; @TextToNumber( @Explode( RawValue ; ":" ) ) ) ) ; &lt;br /&gt;        DataType = "Name Multi Value" ; @SetField( EditField ; @Explode( RawValue ; ":" ) ) ; &lt;br /&gt;        DataType = "Common Name Multi Value" ; @SetField( EditField ; @Name( [CN]; @Explode( RawValue ; ":" ) ) ); &lt;br /&gt;        @SetField( EditField ; RawValue ) &lt;br /&gt;); &lt;br /&gt;""&lt;br /&gt;&lt;br /&gt;DISCLAIMER : All the due credits goes to the original author of this piece of code.&lt;br /&gt;Im just sharing this here to help fellow Notes Developers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7171479490330362206-5826089964121849917?l=molelive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://molelive.blogspot.com/feeds/5826089964121849917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7171479490330362206&amp;postID=5826089964121849917&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/5826089964121849917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7171479490330362206/posts/default/5826089964121849917'/><link rel='alternate' type='text/html' href='http://molelive.blogspot.com/2007/07/wonder-button.html' title='Wonder Button'/><author><name>Susheel Sandeep Murali</name><uri>https://profiles.google.com/111703396543357613428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-lmqqfhL57zc/AAAAAAAAAAI/AAAAAAAAAAA/xNcQldm4cgI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fbvEx--f9XE/RpZ_dgGPIDI/AAAAAAAAAQw/DeQAmJT1YDU/s72-c/Options.JPG' height='72' width='72'/><thr:total>1</thr:total></entry></feed>
