<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-34728599</atom:id><lastBuildDate>Tue, 24 Jan 2012 15:13:57 +0000</lastBuildDate><category>lotus notes</category><category>lotus formula</category><category>me</category><category>lotus issues</category><category>SEO</category><category>javascript</category><category>CSS</category><category>lotus approach</category><category>web</category><category>lotus community</category><category>lotus integration</category><category>Domino</category><category>notes api c++</category><category>xpage</category><category>XML-XSL</category><category>lotus script</category><category>lotus perfomance</category><category>lotus news</category><category>XSS</category><category>lotus fun</category><category>lotus features</category><category>Google</category><category>lotus and java</category><title>Find the best way</title><description>Tips for Java, JavaScript, HTML, CSS, SEO and Lotus</description><link>http://dpastov.blogspot.com/</link><managingEditor>noreply@blogger.com (Dmytro Pastovenskyi)</managingEditor><generator>Blogger</generator><openSearch:totalResults>201</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/dpastov" /><feedburner:info uri="dpastov" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-6253294894195823808</guid><pubDate>Tue, 24 Jan 2012 08:37:00 +0000</pubDate><atom:updated>2012-01-24T09:39:25.114+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">notes api c++</category><category domain="http://www.blogger.com/atom/ns#">Domino</category><title>Error pages in Domino</title><description>&lt;span style="font-family: Verdana, sans-serif;"&gt;First of all I'd like to briefly describe few another ways we can use to manage error pages in Domino.&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Also notice, I will definitely update post few times more after all.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;1. Lazy solution&amp;nbsp;&lt;span style="background-color: white; line-height: 17px; text-align: left;"&gt;$$ReturnGeneralError and&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: white; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 17px; text-align: left;"&gt;MessageString&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="line-height: 17px;"&gt;It's the most fast and easy solutions, it require to create 1 design element (form)&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; line-height: 17px;"&gt;$$ReturnGeneralError, style it and add&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; line-height: 17px;"&gt;MessageString somewhere to explain what is wrong&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;Benefits&lt;/u&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;- I see only 1 advantage compare to another approaches, its time to implement. Once you create&amp;nbsp;&lt;span style="background-color: white; line-height: 17px; text-align: left;"&gt;$$ReturnGeneralError it starts to work. So few clicks and few minutes to manage output UI and you have solution.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;Disadvantages&lt;/u&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;- works inside of application only. So if you have 10 web applications, you need to manage error page in each of it. However you can setup inheritance and manage all error pages from 1 place etc.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;- not very flexible on my opinion as we can operate with form-design elements only.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;2. HTTP response headers&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Simply create error page as design element or as document (does not matter) and create rule for your website in Domino Directory database. It does not require special knowledge and it is simple to use.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-Bh1PANvAbXQ/TxqSCQ6ceXI/AAAAAAAAKaY/2SpTXqferz0/s1600/error_404_response_header.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="136" src="http://2.bp.blogspot.com/-Bh1PANvAbXQ/TxqSCQ6ceXI/AAAAAAAAKaY/2SpTXqferz0/s320/error_404_response_header.png" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;Benefits&lt;/u&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;- easy to manage&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;- path to Error page (means we can use different database to keep error pages)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;- we can use both: Design Elements and Documents as error page.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;Disadvantages&lt;/u&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;- require minor Administration of Domino skills.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;-&amp;nbsp;&lt;span style="color: black; line-height: 18px;"&gt;&lt;span style="text-decoration: none;"&gt;it works in the same way as client side redirection. i.e.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; line-height: 18px;"&gt;&lt;span style="text-decoration: none;"&gt;user will see “blink” of standard 404 page&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; line-height: 18px;"&gt;&lt;span style="text-decoration: none;"&gt;&amp;nbsp;before loading custom 404 page.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style="font-family: Arial, sans-serif; font-size: large; line-height: 20px;"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style="line-height: 18px;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;3. "Whole server" solution&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: black; font-family: Verdana, sans-serif; line-height: 18px; text-decoration: none;"&gt;Use HTTPMultiErrorPage property in the Notes.ini file, for example HTTPMultiErrorPage=/error.html.&amp;nbsp;Create rule on the Domino server for /error.html to be substituted corresponding page.&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;Benefits:&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;Disadvatages:&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif; line-height: 18px;"&gt;&lt;b&gt;4. DSPAI as error handler for Domino&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="line-height: 18px;"&gt;Most complicated approach but also most flexible from my point of view. There is quite low information about how to use it. It requires knowledge of Notes C Api as well. If you want to see how it looks,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif; line-height: 18px;"&gt;here is very good exampe (it helped me a lot) on&amp;nbsp;&lt;a href="http://www.eview.com/eview/volr6.nsf/0/39552123B298D66C852569520065460A/$File/dsapilog.c"&gt;loggin using DSAPI&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="line-height: 18px;"&gt;Company I worked in use&amp;nbsp;&lt;a href="http://dpastov.blogspot.com/2011/11/solution-for-lotus-domino-to-trailing.html"&gt;DSAPI for handling URL&lt;/a&gt;&amp;nbsp;already, and now we are near to implement error handling using DSAPI as well (it already implemented it on development server, so soon I will show you real links etc).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="line-height: 18px;"&gt;DSAPI allows us to catch responses Domino generated for users and we can replace output in case if responce 400, 404 or any another.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="line-height: 18px;"&gt;I will post most important part of logic here, just to how overview how DSAPI works and what is gives to us. Notice I've changed code a bit, to show only most important part of it (I will copy comments from Paul's example just to make things faster)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="line-height: 18px;"&gt;&lt;u&gt;1. initiation of filter and register for response event&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre style="word-wrap: break-word;"&gt;&lt;span style="color: blue; font-family: Verdana, sans-serif; font-size: x-small;"&gt;/*---
* FilterInit() - Required filter entry point. Called upon
* filter startup, which occurs when HTTP server task is started.
*/&lt;/span&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif; font-size: x-small;"&gt;DLLEXPORT unsigned int FilterInit(FilterInitData* filterInitData) {
   filterInitData-&amp;gt;eventFlags = kFilterResponse;
}&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="word-wrap: break-word;"&gt;&lt;span style="font-family: Verdana, sans-serif; line-height: 18px; white-space: pre-wrap;"&gt;so what we did there, say to filter that we want to process response events&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="word-wrap: break-word;"&gt;&lt;u style="font-family: Verdana, sans-serif; line-height: 18px;"&gt;2. Link events we registered with functions&lt;/u&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: blue; font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 14px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="white-space: pre-wrap;"&gt;/*---&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;span style="color: blue; font-family: Verdana, sans-serif; font-size: x-small;"&gt;* HttpFilterProc() - Required filter entry point. Dispatches the event notifications to the appropriate functions for handling the events.
*/
DLLEXPORT DWORD HttpFilterProc(FilterContext *pContext, DWORD dwEventType, void *pEventData)
{
 switch (dwEventType) {
  case kFilterResponse:
   return Response(pContext, pEventData);
 }

 return kFilterNotHandled;
}&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Now we can process Responses to users&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;u style="font-family: Verdana, sans-serif;"&gt;3. This is how we process Response to users&lt;/u&gt;&lt;/pre&gt;
&lt;pre style="word-wrap: break-word;"&gt;&lt;span style="color: blue; font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="white-space: pre-wrap;"&gt;int Response(FilterContext* context, FilterResponseHeaders* eventData) {
 int responce = eventData-&amp;gt;responseCode;

 if (responce==404) {
  if (&lt;b&gt;Send404(context)&lt;/b&gt; == TRUE) {
   return kFilterHandledRequest;
  }
 }
 return kFilterNotHandled;
}&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="word-wrap: break-word;"&gt;&lt;u style="font-family: Verdana, sans-serif; white-space: pre-wrap;"&gt;4. Finally code for Send404() how we replace content to users&lt;/u&gt;&lt;/pre&gt;
&lt;pre style="word-wrap: break-word;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="white-space: pre-wrap;"&gt;While you read code you need to know that when we load filter we also initiate a table with KEY-HTML arrays. Yes we keep in memory Error HTML pages with keys we need. Our Keys - domain, we handle error pages on domain level, means for domain1.com - is 1 error page, for domain2.com is another error page. But you can do it in another way its up to you.&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="word-wrap: break-word;"&gt;&lt;span style="color: blue; font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="white-space: pre-wrap;"&gt;int Send404(FilterContext* context) {
 FilterResponseHeaders         response;
 unsigned int   errID = 0;
 char     szBuffer[DEFAULT_BUFFER_SIZE]={0};
 char     pszErrorPage[ERRRO_PAGE_SIZE]={0};
 FilterParsedRequestLine pRequestLine;
 unsigned int   pErrID;
 int      i;

 // As we are returning the entire page to the browser, we can 
 // set the response code to 404 (so the domino web log will show the error)
 response.responseCode=404;
 response.reasonText="Bad Request";
 
 // get domain name (its our key), could be done faster? right now its simple walk via 10-20 documents which is fine for now
 context-&amp;gt;ServerSupport(context, kGetParsedRequest, &amp;amp;pRequestLine, NULL, NULL, &amp;amp;pErrID);
 for(i=0; i&amp;lt;errorPagesCount;i++) {
  if (strcmp(errorKey[i], pRequestLine.pHostName)==0) {
   strcpy(pszErrorPage, errorHTML[i]);
   i=errorPagesCount;
  }
 }

 if(strlen(pszErrorPage)&amp;lt;10) {
  sprintf(szBuffer, "Error page on %s is very small, something wrong", pRequestLine.pHostName);
  writeToLog(CRITICAL_MSG, szBuffer);
  return FALSE;
 }

 sprintf(szBuffer, "Content-Type: text/html; charset=UTF-8\n\nContent-length: %i\n\n", strlen(pszErrorPage));
 response.headerText = szBuffer;

 if (context-&amp;gt;ServerSupport(context, kWriteResponseHeaders, &amp;amp;response, 0, 0, &amp;amp;errID) != TRUE) {
  sprintf(szBuffer, "Error sending redirect, code: %d", errID);
  writeToLog(CRITICAL_MSG, szBuffer);
  return FALSE;
 }
    if (context-&amp;gt;WriteClient(context, pszErrorPage, (unsigned int) strlen(pszErrorPage), 0, &amp;amp;errID) != TRUE) {
  sprintf(szBuffer, "Error sending redirect, code: %d", errID);
  writeToLog(CRITICAL_MSG, szBuffer);
  return FALSE;
 }
 return TRUE;
}&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="word-wrap: break-word;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="white-space: pre-wrap;"&gt;OK guys,&amp;nbsp;&lt;/span&gt;&lt;span style="white-space: pre-wrap;"&gt;I've shared &lt;/span&gt;&lt;span style="white-space: pre-wrap;"&gt;most complicated part of this DSAPI for error handling, rest you have complete yourself (homework :)), but feel free to ask my help here if you need.&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;u&gt;benefits:&lt;/u&gt;&lt;br /&gt;- most flexible approach (at least from those which I know)&lt;br /&gt;- our logic control everything we want and we clearly see what is going on&lt;br /&gt;&lt;u&gt;disadvantages:&lt;/u&gt;&lt;br /&gt;- most complicated ways from all I described&lt;br /&gt;- require knowledge of Notes C API&lt;br /&gt;- I did not try yet this solution with Linux servers (but I know it is possible to do)&lt;br /&gt;- it may crash your Domino server in case if you did you filter wrong (memory leak etc)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="white-space: pre-wrap;"&gt;&lt;b&gt;5. xPage &lt;/b&gt;error handling &lt;strike&gt;is on way &lt;/strike&gt;(on pause actually) and would be nice if somebody help me with that. I've read few articles in past from Per Henrik:&lt;/span&gt;&amp;nbsp;&lt;a href="http://per.lausten.dk/blog/2011/01/xpages-custom-404-and-error-page.html" target="_blank"&gt;XPages custom 404 and error page&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://per.lausten.dk/blog/2011/06/controlling-the-http-response-status-code-in-xpages.html" target="_blank"&gt;Controlling the HTTP response status code in XPages&lt;/a&gt;, I think they can be very useful for those who doing in xPages. We will try this approach as we have ongoing huge projects based on xPage.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Hey:&lt;br /&gt;- ask to update/more details to article&lt;br /&gt;- notify me about issues&lt;br /&gt;- let me know if you know better way to handle errors&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;strongly&lt;/b&gt;&amp;nbsp;recommended as it can help to many developers in future.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-6253294894195823808?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/sypIIHW2wac/error-pages-in-domino.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-Bh1PANvAbXQ/TxqSCQ6ceXI/AAAAAAAAKaY/2SpTXqferz0/s72-c/error_404_response_header.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2012/01/error-pages-in-domino.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-4369212660564148763</guid><pubDate>Mon, 12 Dec 2011 16:49:00 +0000</pubDate><atom:updated>2011-12-12T18:00:59.171+01:00</atom:updated><title>Using Velocity in Domino</title><description>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We are using &lt;a href="http://velocity.apache.org/index.html"&gt;velocity framework&lt;/a&gt; to solve our task with html templates and when we started to work with velocity we faced up with problem below&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;i&gt;java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key member_access_not_allowed at&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;i&gt;java.util.MissingResourceException.(MissingResourceException.java:50) at java.util.ResourceBundle.getObject(ResourceBundle.java:400) at java.util.ResourceBundle.getString(ResourceBundle.java:421) at lotus.notes.JavaString.getFormattedString(Unknown Source) at lotus.notes.AgentSecurityManager.checkMemberAccess(Unknown Source) at java.lang.Class.checkMemberAccess(Class.java:112) at java.lang.Class.getDeclaredMethods(Class.java:675) at org.apache.velocity.util.introspection.ClassMap.populateMethodCacheWith(ClassMap.java:167)&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;thanks to my friend &lt;a href="http://lotusandjava.blogspot.com/"&gt;&lt;b&gt;Adnrew Kuba&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;we have found the issue in velocity's source (well it is an issue only for Domino).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;i&gt;org.apache.velocity.util.introspection.ClassMap.populateMethodCacheWith(MethodCache, Class)&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;that line we have to change to get only Public methods but not all declared as it requires more access then Domino gives by default (we are not able to to get all private methods into Domino for security reason), so we just changed &lt;b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;getDeclaredMethods&lt;/span&gt;&lt;/b&gt;&amp;nbsp;to &lt;b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;getMethods&lt;/span&gt;&lt;/b&gt;&amp;nbsp;and problem has gone.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-4369212660564148763?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/PUbTsH4GM3c/using-velocity-in-domino.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>2</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/12/using-velocity-in-domino.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-8639048739358458077</guid><pubDate>Tue, 01 Nov 2011 08:54:00 +0000</pubDate><atom:updated>2011-12-12T17:52:55.944+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SEO</category><category domain="http://www.blogger.com/atom/ns#">Domino</category><title>Solution for Lotus Domino to the trailing slash problem</title><description>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2 months ago I've posted article about &lt;/span&gt;&lt;a href="http://dpastov.blogspot.com/2011/08/domino-resolve-url-with-and-without.html" style="font-family: Verdana, sans-serif;"&gt;solution which can solve our problem in Domino with last trailing slash in URL&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;. As I mentioned in my previous post, Domino does not care about url with/without last trailing slash, both way would work for Domino. Well, some of you maybe even find this feature useful because it gives less problems, however what if we talk about SEO (Search Engine Optimization)?&lt;/span&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;There is actually article from google about &lt;/span&gt;&lt;a href="http://googlewebmastercentral.blogspot.com/2010/04/to-slash-or-not-to-slash.html" style="font-family: Verdana, sans-serif;"&gt;to slash or not to slash&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;, where they explain that they handle similar URL with and without last trailing slash as 2 different URL, they also propose ways how to solve this. If you ask what is bad here, answer is quite simple: just image that each URL has it's power/score for google. In case if we have only 1 possible URL for our page all scrore go to it, otherwise we will split them (high score will go to URL which is more often used by people in web).&lt;/span&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Now about solution we implemented on our website. We used DSAPI to solve it as it does not do affect speed so much as different solutions. If you want to read more deeply about technical staff, you may want to read this article:&amp;nbsp;&lt;/span&gt;&lt;a href="http://techtalk.e-conomic.com/lotus-domino-dsapi-filter/" style="font-family: Verdana, sans-serif;"&gt;solution to the trailing slash problem&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;.&lt;/span&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Yes it works like it should, no impact to page load's speed which was "very-very" important to us. And I heared google start to love us a bit more after that.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-8639048739358458077?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/bKpGqNjhG7s/solution-for-lotus-domino-to-trailing.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>0</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/11/solution-for-lotus-domino-to-trailing.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-3341822125515636455</guid><pubDate>Sat, 08 Oct 2011 17:19:00 +0000</pubDate><atom:updated>2011-10-08T19:23:14.902+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">javascript</category><title>JavaScript: use power of console</title><description>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;console.log() - is pretty nice way to display debug information without interrupting user's actions. But do you know that 'console object' has lot of other useful methods? In this article I will try to show another important method in console object.&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;1. power of output&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;most common case for using console object is:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;&lt;i&gt;console.log("hello word")&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;but here few more ways how we can use it&lt;/span&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;console.log("string1", "string2", 1, 2, {proper1:"val1", proper2: 5});&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;console.log("Do you know that word %s same for all language except english %s. %d &amp;lt; %d", "ananas", "pineapple", 1, 2);&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; margin-left: 1em; margin-right: 1em;"&gt;&lt;a href="http://3.bp.blogspot.com/-qcol0mtcXoA/TpCB_5I74II/AAAAAAAAKZE/t7OXhHdPzC8/s1600/output.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="32" src="http://3.bp.blogspot.com/-qcol0mtcXoA/TpCB_5I74II/AAAAAAAAKZE/t7OXhHdPzC8/s320/output.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;There are few another kind of log (works same as log but has different status)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;console.debug(),&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;console.info(),&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;console.warn(),&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;console.error()&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;console.group() and console.groupEnd() allow you to format very nice output with categories, it is very usefull when you have tons of data in log so you can easy control what is related to etc.&lt;/span&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;console.group("Food")&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;console.group("Fruit")&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;console.log("Apple")&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;console.groupEnd("Fruit")&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;console.group("Vegetables")&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;console.log("Potato")&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;console.groupEnd("Vegetables")&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;console.groupEnd("Food")&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; margin-left: 1em; margin-right: 1em;"&gt;&lt;a href="http://1.bp.blogspot.com/-3tD75LGqvO8/TpCCDGRHWEI/AAAAAAAAKZI/FtMFesGuwWw/s1600/group.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="54" src="http://1.bp.blogspot.com/-3tD75LGqvO8/TpCCDGRHWEI/AAAAAAAAKZI/FtMFesGuwWw/s320/group.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2. power of time&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;just put&amp;nbsp;&lt;b&gt;console.time()/&lt;/b&gt;&lt;b&gt;console.timeEnd()&amp;nbsp;&lt;/b&gt;before/after code where you want to measure time&amp;nbsp;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Aslo there are profile methods &lt;b&gt;console.profile()&lt;/b&gt; and &lt;b&gt;console.profileEnd()&lt;/b&gt;&amp;nbsp;which allow to see "stack".&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3. power of inspection&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;I guess most of us often want to see specific properties in HTML fragment, for such tasks we can use console.dir(object) or console.dirxml(element)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Some usefull articles about logging:&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://getfirebug.com/logging"&gt;Firebug about logging&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;a href="http://v0.joehewitt.com/software/firebug/docs.php"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Joe Hewitts about console&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-3341822125515636455?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/CTcBQMBX838/javascript-use-power-of-console.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-qcol0mtcXoA/TpCB_5I74II/AAAAAAAAKZE/t7OXhHdPzC8/s72-c/output.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/10/javascript-use-power-of-console.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-6795370460164037700</guid><pubDate>Tue, 20 Sep 2011 07:00:00 +0000</pubDate><atom:updated>2011-09-20T16:22:21.349+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SEO</category><title>Page-layout rel = «next | prev»</title><description>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Along with the attribute &lt;a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html"&gt;rel = «canonical»&lt;/a&gt; to specify a 'search robot' to duplicate content, it is now possible to use the HTML reference value rel = "next" and rel = "prev" to indicate the position of the current page with neighbors in the navigation box. F.x. you have article splitted on 10 pages and you use next/prev buttons in order to move from one page to another. If you want to be sure that most of 'score' from 'google spider' will go to main page red="next"/"prev" is the very good options.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;b&gt;Here is more details about our example&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.example.com/article?story=abc&amp;amp;page=1"&gt;www.example.com/article?id=123page=1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.example.com/article?story=abc&amp;amp;page=1"&gt;www.example.com/article?id=123page=2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.example.com/article?story=abc&amp;amp;page=1"&gt;www.example.com/article?id=123page=3&lt;/a&gt;&lt;br /&gt;...&lt;br /&gt;&lt;a href="http://www.example.com/article?story=abc&amp;amp;page=1"&gt;www.example.com/article?id=123page=10&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Now about rel="next" and rel="prev"&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.example.com/article?story=abc&amp;amp;page=1"&gt;www.example.com/article?id=123page=1&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;&amp;lt;link rel="&lt;b&gt;next&lt;/b&gt;" href="http://www.example.com/article?id=123&amp;amp;page=2" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.example.com/article?story=abc&amp;amp;page=1"&gt;www.example.com/article?id=123page=2&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;&amp;lt;link rel="&lt;b&gt;next&lt;/b&gt;" href="http://www.example.com/article?id=123&amp;amp;page=3" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;&amp;lt;link rel="&lt;b&gt;prev&lt;/b&gt;" href="http://www.example.com/article?id=123&amp;amp;page=1" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.example.com/article?story=abc&amp;amp;page=1"&gt;www.example.com/article?id=123page=3&lt;/a&gt; &lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;&amp;lt;link rel="&lt;b&gt;next&lt;/b&gt;" href="http://www.example.com/article?id=123&amp;amp;page=4" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;&amp;lt;link rel="&lt;b&gt;prev&lt;/b&gt;" href="http://www.example.com/article?id=123&amp;amp;page=2" /&amp;gt;&lt;/span&gt;&lt;a href="http://www.example.com/article?story=abc&amp;amp;page=1"&gt;www.example.com/article?id=123page=10&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;&amp;lt;link rel="&lt;b&gt;prev&lt;/b&gt;" href="http://www.example.com/article?id=123&amp;amp;page=9" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Few notes:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;
&lt;li&gt;First page should have only rel=«next».&amp;nbsp;&lt;/li&gt;
&lt;li&gt;All pages between 1-st and last usually should have both only rel=«next» and rel="prev".&lt;/li&gt;
&lt;li&gt;Last page should have olny rel=«prev».&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Allowed to use the value rel=«previous» as an alternative to rel=”prev”. Not sure if it has sence :)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;In case if you fail with that Google will continue to index your content with own heuristic logic.&lt;/li&gt;
&lt;/span&gt;&lt;/ul&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul style="list-style-image: initial; list-style-position: initial; list-style-type: disc; margin-bottom: 1.5em; margin-left: 2.65em; margin-right: 1em; margin-top: 1.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #4d7386;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ul&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="background-color: #f8f8f8; color: #4d7386;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: black;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: #f8f8f8; color: #4d7386;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: black;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="background-color: #f8f8f8; color: #4d7386;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: black;"&gt;&lt;span class="Apple-style-span" style="white-space: nowrap;"&gt;sources:&amp;nbsp;&lt;a href="http://googlewebmastercentral.blogspot.com/2011/09/view-all-in-search-results.html"&gt;View-all in search results&lt;/a&gt;&amp;nbsp;and &lt;a href="http://habrahabr.ru/blogs/google/128746/"&gt;Page-layout rel = «next | prev»&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="background-color: #f8f8f8; color: #4d7386;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: black;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&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/34728599-6795370460164037700?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/uiYlaycIo40/page-layout-rel-next-prev.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>0</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/09/page-layout-rel-next-prev.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-1576344544030192149</guid><pubDate>Wed, 03 Aug 2011 07:24:00 +0000</pubDate><atom:updated>2011-08-03T09:27:19.318+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Google</category><title>Chrome 13 ready</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-oGMnzXitJCE/Tjj4OWUS4UI/AAAAAAAAKYg/_8sn6unPGMc/s1600/chrome13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="206" src="http://3.bp.blogspot.com/-oGMnzXitJCE/Tjj4OWUS4UI/AAAAAAAAKYg/_8sn6unPGMc/s320/chrome13.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-1576344544030192149?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/rML9SSuMC2g/new-version-of-chrome-ready-to-be.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-oGMnzXitJCE/Tjj4OWUS4UI/AAAAAAAAKYg/_8sn6unPGMc/s72-c/chrome13.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/08/new-version-of-chrome-ready-to-be.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-3505153881253612202</guid><pubDate>Tue, 02 Aug 2011 14:43:00 +0000</pubDate><atom:updated>2011-10-28T20:17:28.189+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SEO</category><category domain="http://www.blogger.com/atom/ns#">Domino</category><title>Domino resolve URL with and without trailing as same URL, wrong?</title><description>We are faced with a problem (for us) with Domino. The problem is that Domino processes  those 2 URL as similar same URL:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://host/page" style="color: #5c81a7; font-family: verdana, arial, sans-serif; font-size: 11px;"&gt;http://host/0/unid&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://host/page/" style="color: #5c81a7; font-family: verdana, arial, sans-serif; font-size: 11px;"&gt;http://host/0/unid/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
the difference in 'trailing' (for those who thinks in same way as Domino :]). Well, it would be not a problem at all if you do internal staff, even very useful, problems start when we talk about SEO.&lt;br /&gt;
&lt;br /&gt;
It actually affects our websites, as f.x. google 'eats' 2 URL (I mentioned above) as 2 different URL so their 'value' will be split on 2 part + 2 URL with same content also very bad as it is duplicate.&lt;br /&gt;
&lt;br /&gt;
We should be able to either make 301's from the NOT CORRECT to the CORRECT URLs, or respond with a 404 (not found). Both options would be good.&lt;br /&gt;
&lt;br /&gt;
Does anybody know ways how to do it?&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;[update from 28 October 2011]&lt;/b&gt; we've found solution with DSAPI filter, here you can read&lt;b&gt;&amp;nbsp;&lt;a href="http://techtalk.e-conomic.com/lotus-domino-dsapi-filter/"&gt;Solution to the trailing slash problem in Lotus Domino&lt;/a&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-3505153881253612202?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/Jg5XNpAlkFE/domino-resolve-url-with-and-without.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>3</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/08/domino-resolve-url-with-and-without.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-1564756768385510219</guid><pubDate>Sat, 23 Jul 2011 08:34:00 +0000</pubDate><atom:updated>2011-07-23T10:39:15.484+02:00</atom:updated><title>How to prevent text selection</title><description>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;"&gt;There are few ways&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;"&gt;&lt;br /&gt;1. Apply&amp;nbsp;'&lt;code style="font-size: 1em;"&gt;preventDefault'&lt;/code&gt;&amp;nbsp;for events&amp;nbsp;'&lt;code style="font-size: 1em;"&gt;onselectstart'&lt;/code&gt;&amp;nbsp;and&amp;nbsp;'&lt;code style="font-size: 1em;"&gt;onmousedown'&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre style="font-size: 1em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;"&gt;&lt;code class="javascript" style="background-attachment: initial; background-clip: initial; background-color: #f8f8f8; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; display: block; font-size: 12px; padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em;"&gt;&lt;span class="keyword" style="color: #4d7386;"&gt;var&lt;/span&gt; element = document.getElementById(&lt;span class="string" style="color: #339900;"&gt;'content'&lt;/span&gt;);
element.onselectstart = &lt;span class="function"&gt;&lt;span class="keyword" style="color: #4d7386;"&gt;function&lt;/span&gt; &lt;span class="params"&gt;()&lt;/span&gt; {&lt;/span&gt; &lt;span class="keyword" style="color: #4d7386;"&gt;return&lt;/span&gt; &lt;span class="literal" style="color: #4d7386;"&gt;false&lt;/span&gt;; }
element.onmousedown = &lt;span class="function"&gt;&lt;span class="keyword" style="color: #4d7386;"&gt;function&lt;/span&gt; &lt;span class="params"&gt;()&lt;/span&gt; {&lt;/span&gt; &lt;span class="keyword" style="color: #4d7386;"&gt;return&lt;/span&gt; &lt;span class="literal" style="color: #4d7386;"&gt;false&lt;/span&gt;; }
&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;"&gt;
&lt;br /&gt;2. Add attribute&amp;nbsp;'&lt;code style="font-size: 1em;"&gt;unselectable'&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre style="font-size: 1em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;"&gt;&lt;code class="javascript" style="background-attachment: initial; background-clip: initial; background-color: #f8f8f8; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; display: block; font-size: 12px; padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em;"&gt;$(document.body).attr(&lt;span class="string" style="color: #339900;"&gt;'unselectable'&lt;/span&gt;, &lt;span class="string" style="color: #339900;"&gt;'on'&lt;/span&gt;)
&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;"&gt;
&lt;br /&gt;3. Add style&amp;nbsp;'&lt;code style="font-size: 1em;"&gt;user-select: none'&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre style="font-size: 1em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;"&gt;&lt;code class="css ruby" style="background-attachment: initial; background-clip: initial; background-color: #f8f8f8; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; display: block; font-size: 12px; padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em;"&gt;.&lt;span class="identifier"&gt;g&lt;/span&gt;-&lt;span class="identifier"&gt;unselectable&lt;/span&gt; {
  -&lt;span class="identifier"&gt;moz&lt;/span&gt;-&lt;span class="identifier"&gt;user&lt;/span&gt;-&lt;span class="identifier"&gt;&lt;span class="keymethods"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span class="symbol" style="color: #968e5b;"&gt;:&lt;/span&gt; &lt;span class="identifier"&gt;none&lt;/span&gt;;
  -&lt;span class="identifier"&gt;khtml&lt;/span&gt;-&lt;span class="identifier"&gt;user&lt;/span&gt;-&lt;span class="identifier"&gt;&lt;span class="keymethods"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span class="symbol" style="color: #968e5b;"&gt;:&lt;/span&gt; &lt;span class="identifier"&gt;none&lt;/span&gt;;
  -&lt;span class="identifier"&gt;webkit&lt;/span&gt;-&lt;span class="identifier"&gt;user&lt;/span&gt;-&lt;span class="identifier"&gt;&lt;span class="keymethods"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span class="symbol" style="color: #968e5b;"&gt;:&lt;/span&gt; &lt;span class="identifier"&gt;none&lt;/span&gt;;
  &lt;span class="identifier"&gt;user&lt;/span&gt;-&lt;span class="identifier"&gt;&lt;span class="keymethods"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span class="symbol" style="color: #968e5b;"&gt;:&lt;/span&gt; &lt;span class="identifier"&gt;none&lt;/span&gt;;
}
&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;"&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;"&gt;4. Use disabled textarea&lt;/span&gt;&lt;br /&gt;
&lt;pre style="font-size: 1em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;"&gt;&lt;code class="html" style="background-attachment: initial; background-clip: initial; background-color: #f8f8f8; background-image: initial; background-origin: initial; display: block; font-size: 12px; padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em;"&gt;&lt;span class="tag" style="color: #4d7386;"&gt;&amp;lt;&lt;span class="keyword" style="color: #4d7386;"&gt;textarea&lt;/span&gt;&lt;span class="attribute" style="color: #2f98ff;"&gt; disabled=&lt;span class="value" style="color: #339900;"&gt;"disabled"&lt;/span&gt;&lt;/span&gt;&lt;span class="attribute" style="color: #2f98ff;"&gt; style=&lt;span class="value" style="color: #339900;"&gt;"border:none;color:#000;background:#fff; font-family:Arial;"&lt;/span&gt;&lt;/span&gt;&amp;gt;&lt;/span&gt;
    how to prevent text selection?
&lt;span class="tag" style="color: #4d7386;"&gt;textarea&lt;/span&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;source (ru): &lt;a href="http://habrahabr.ru/blogs/javascript/124327/"&gt;javascript tips #2&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-1564756768385510219?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/OqNdqo9MAWU/how-to-prevent-text-selection.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>0</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/07/how-to-prevent-text-selection.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-3982935391544617732</guid><pubDate>Mon, 27 Jun 2011 14:47:00 +0000</pubDate><atom:updated>2011-06-27T17:22:49.927+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lotus and java</category><title>IBM Domino Java: No trusted certificate found. Fail?</title><description>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I've faced with quite major problem when use IBM Java (the one from &amp;nbsp;Domino 8.5.2 FP2).&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Our Domino grabs data from some webservices via 'https' (webservice does not have authentication, its free to everybody).&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;U&lt;/span&gt;sing simple Java Agent in Domino we grabbed data and was very happy :), here is few lines what we do&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="color: #000099; font-family: inherit; font-size: x-small;"&gt;&lt;i&gt;URL url = new URL("&lt;a href="https://www.e-conomic.com/secure/internal/pressiteapi.asp?command=getpreslist&amp;amp;edition=1" style="color: #0000cc;" target="_blank"&gt;https://&lt;/a&gt;here url");&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000099; font-family: inherit; font-size: x-small;"&gt;&lt;i&gt;URLConnection connection = url.openConnection();&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000099; font-family: inherit; font-size: x-small;"&gt;&lt;i&gt;HttpsURLConnection httpConn = (HttpsURLConnection) connection;&lt;span style="white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000099; font-family: inherit; font-size: x-small;"&gt;&lt;i&gt;httpConn.setRequestMethod("&lt;wbr&gt;&lt;/wbr&gt;POST");&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000099; font-family: inherit; font-size: x-small;"&gt;&lt;i&gt;httpConn.setDoOutput(true);&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000099; font-family: inherit; font-size: x-small;"&gt;&lt;i&gt;httpConn.setDoInput(true);&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000099; font-family: inherit; font-size: x-small;"&gt;&lt;i&gt;byte[] bytes = msg.getBytes("UTF-8");&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000099; font-family: inherit; font-size: x-small;"&gt;&lt;i&gt;httpConn.setRequestProperty("&lt;wbr&gt;&lt;/wbr&gt;Content-length", String.valueOf(bytes.length));&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000099; font-family: inherit; font-size: x-small;"&gt;&lt;i&gt;OutputStream out = httpConn.getOutputStream();&amp;nbsp;&lt;b&gt;// and on this line we now have an error: "no trusted certificate found"&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;It worked fine for years but their (webservice provide) certificate has expired and they generate new one using same official CA.&amp;nbsp;After they did it, Domino refuse to use new certificate and we can't grab data anymore from Domino.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;We did some tests and noticed that non Domino JVM works just fine (we did tests in Eclipse with Oracles JVM) with exactly same code and it worked fine.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Of course we tried much more thing, fx: we tried to add new certificate to cacerts storage in Domino and it did not work, we also tried to replace cacerts on Domino and use the one from Oracle JVM and lot of more things without any luck. Also when we tried to add new cert to cacerts in Domino it started to report about another issue:&amp;nbsp;&lt;b&gt;certificate chaining error&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Maybe Domino or Domino's JVM has problem/issue or we need to do something we just do not know. Would be nice to get more details about it because we are stacked now, does anybody know why we get this problem and if it is really problem in IBM Java?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;There is also post on IBM with exactly same &lt;a href="http://www-10.lotus.com/ldd/nd85forum.nsf/7756aedc25e6d81285256324005ac76c/f48e033c5ec77053852578690040e4b0?OpenDocument"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;problem with not trusted certificates&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Would be nice if somebody share his suggestions/opinions.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-3982935391544617732?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/c76od0SRRRw/ibm-java-no-trusted-certificate-found.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>4</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/06/ibm-java-no-trusted-certificate-found.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-1868920649680416611</guid><pubDate>Thu, 23 Jun 2011 07:01:00 +0000</pubDate><atom:updated>2011-06-23T09:01:23.382+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lotus and java</category><title>How to add much more debug information to your Java Project</title><description>&lt;div class="separator" style="clear: both; text-align: left;"&gt;Go to Run\Configuration manu and switch to tab Arguments and add:&amp;nbsp;-Djavax.net.debug=ssl,handshake (as I did on screen) and you will get much more debug information that could be useful for you.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-EaTY1Rm5EmA/TgLkLiiKHrI/AAAAAAAAKWA/DwMGW75Uoas/s1600/java-debug-ext.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://1.bp.blogspot.com/-EaTY1Rm5EmA/TgLkLiiKHrI/AAAAAAAAKWA/DwMGW75Uoas/s320/java-debug-ext.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-1868920649680416611?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/nWoLpJhi3UY/how-to-add-much-more-debug-information.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-EaTY1Rm5EmA/TgLkLiiKHrI/AAAAAAAAKWA/DwMGW75Uoas/s72-c/java-debug-ext.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/06/how-to-add-much-more-debug-information.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-2459366525339150285</guid><pubDate>Tue, 07 Jun 2011 14:40:00 +0000</pubDate><atom:updated>2011-06-07T16:41:15.378+02:00</atom:updated><title>Thank you MS for second update of Skype</title><description>Most of day Skype does not work and same situation in most of my friends. Only in such moments you understand how things are important like Skype :).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-2459366525339150285?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/xd9F1KBpjic/thank-you-ms-for-second-update-of-skype.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>0</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/06/thank-you-ms-for-second-update-of-skype.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-5748674902779957927</guid><pubDate>Tue, 31 May 2011 07:07:00 +0000</pubDate><atom:updated>2011-06-04T12:43:02.335+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lotus issues</category><title>Copy/Paste substitutions freezes my Lotus Notes</title><description>&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Have you ever tried to copy and paste substitutions in server's names.nsf? I'm having problem there for last few years (if I recall&amp;nbsp;correctly). Problem is quite simple, after you tried to paste&amp;nbsp;substitution&amp;nbsp;your Lotus Notes always freeze.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Previously&amp;nbsp;I used ctrl+pause to avoid this freeze but I got new laptop and pause is absent :) (and I do not know how to simulate ctrl+pause).&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Hope IBM will fix that in 8.5.3 :)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-5748674902779957927?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/UO7FYu6ktKA/copypaste-substitutions-freezes-my.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>2</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/05/copypaste-substitutions-freezes-my.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-5028684036020234226</guid><pubDate>Tue, 22 Mar 2011 13:32:00 +0000</pubDate><atom:updated>2011-03-22T15:32:37.254+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">web</category><title>have you already download new FireFox?</title><description>I've just updated it to &lt;a href="http://www.mozilla.com/en-US/firefox/new/"&gt;version 4&lt;/a&gt;. It works fine. Unfortunately I expected it would run faster then 3.X but it did not happen. FF can't beat Chrome in this area. But there is another good news: all my plug-in work fine. Only firebug required re-installation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-5028684036020234226?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/I3s7q25INyw/have-you-already-download-new-firefox.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>1</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/03/have-you-already-download-new-firefox.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-1913060373748435328</guid><pubDate>Sat, 19 Mar 2011 15:46:00 +0000</pubDate><atom:updated>2011-03-19T16:54:15.223+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lotus approach</category><title>I've moved my applications to google code.</title><description>I've upload some of my small application to &lt;a href="http://code.google.com/hosting/"&gt;google code&lt;/a&gt;. There are couple reasons why I did it:&lt;br /&gt;
- backup.&lt;br /&gt;
- we can use SVN now as on some projects I work with another people, so now we can get benefits from that as well.&lt;br /&gt;
- I just feel that it is much much more correctly :)&lt;br /&gt;
&lt;br /&gt;
If you wish to create project your own project on google code, just fill &lt;a href="http://code.google.com/hosting/createProject"&gt;google code form&lt;/a&gt;. After that using SVN do checkout and&lt;br /&gt;
input as URL repository https://*******.googlecode.com/svn/trunk/&lt;br /&gt;
[Username] is your email&lt;br /&gt;
[password] is available on &lt;a href="https://code.google.com/hosting/settings"&gt;google code setting page&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
So go on and do your first&amp;nbsp;commit&amp;nbsp;to google code&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-1913060373748435328?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/GBU9_oYgYRw/ive-moved-my-application-to-google-code.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>0</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/03/ive-moved-my-application-to-google-code.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-6964565128895464506</guid><pubDate>Fri, 04 Mar 2011 11:37:00 +0000</pubDate><atom:updated>2011-03-04T12:41:45.972+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lotus approach</category><title>SVN plug-in problems</title><description>&lt;div class="separator" style="clear: both; text-align: left;"&gt;Hi guys, we are moving our Domino applications to SVN and everything going really well except one thing.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;We are having problems with elements that really do not modified but during synchronization they get new values (look on image). It is major problem for us, because applications have many design elements and most of them often get news values (modified, noteid etc) and then we are not able to determine what elements were really changed.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;We do have workaround: do 1 more step and apply XSLT approch on exported elements and just remove these Noteinfo, modified, lastaccessed etc tags, but that is not the really correct way.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Does anybody know solution for that? If you use SVN - how you live with that?&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-F2XGphV9aLY/TXDOJkmHBRI/AAAAAAAAKNY/rMc-zIojU9U/s1600/svn-modifications.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="241" src="https://lh6.googleusercontent.com/-F2XGphV9aLY/TXDOJkmHBRI/AAAAAAAAKNY/rMc-zIojU9U/s400/svn-modifications.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-6964565128895464506?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/WC54sW6_e-I/svn-plug-in-and.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-F2XGphV9aLY/TXDOJkmHBRI/AAAAAAAAKNY/rMc-zIojU9U/s72-c/svn-modifications.JPG" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/03/svn-plug-in-and.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-3149107687502733385</guid><pubDate>Fri, 04 Mar 2011 09:26:00 +0000</pubDate><atom:updated>2011-03-28T13:04:27.812+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">xpage</category><title>IBM did forum on xPage, nice</title><description>Just noticed that &lt;a href="http://www-10.lotus.com/ldd/xpagesforum.nsf"&gt;IBM did forum for xPage&lt;/a&gt; based on xPage. I can't say it looks great, I feel it still require lot of work. &lt;a href="http://dev.e-conomic.at/"&gt;test.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-3149107687502733385?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/HozQ0Ax76YY/ibm-did-forum-on-xpage-nice.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>2</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/03/ibm-did-forum-on-xpage-nice.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-2494428273549603622</guid><pubDate>Tue, 15 Feb 2011 11:36:00 +0000</pubDate><atom:updated>2011-03-28T12:26:34.673+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lotus news</category><title>Introducing LotusLive Symphony</title><description>I've been using Google Documents for couple years already, I've even do not have office installed on my laptop at all. Now IBM did something similar? I've tried it already and should notice that Live Symphony is still far-far from Google. First what I've found - no support of right click mouse, only action bar. From another side, I'm happy that IBM tried to do that. &lt;a href="http://dev.e-conomic.at/"&gt;Test link.&lt;/a&gt; That's nice.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://3.gvt0.com/vi/g5Ou1FsdUJM/0.jpg" height="400" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/g5Ou1FsdUJM&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="480" height="400" src="http://www.youtube.com/v/g5Ou1FsdUJM&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-2494428273549603622?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/-AdoON7nmbk/introducing-lotuslive-symphony.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>0</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/02/introducing-lotuslive-symphony.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-6250613228172750277</guid><pubDate>Thu, 10 Feb 2011 23:21:00 +0000</pubDate><atom:updated>2011-02-11T00:25:54.501+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lotus notes</category><title>xPage view with categories + readers fields + don't show empty categories</title><description>I'm doing simple application right now on xPage, nothing really difficult. This application has view with couple columns as category, documents that I display into that view have readers/authors fields and I need to be able do collapse and expand of that view. Simple things, right? but not for xPage, to difficult, it just does not work :-), I've found paper on&lt;br /&gt;
&lt;a href="https://www-304.ibm.com/support/entdocview.wss?uid=swg1LO58079"&gt;IBM LO58079: XPAGE VIEW CONTROL WITH EXPANDLEVEL, VIEW WITH 'DON'T SHOW EMPTY CATEGORIES', DOCUMENTS WITH A READERS FIELDS&lt;/a&gt;&lt;br /&gt;
Actually this paper describes my situation and there is really smart solution there!&lt;br /&gt;
&lt;b&gt;Local fix&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;Remove any one of these three factors:&lt;br /&gt;
- The readers fields from the documents.&lt;br /&gt;
- The "Don't show empty categories" property from the view.&lt;br /&gt;
- The 'expandLevel' property from the view control.&lt;br /&gt;
&lt;br /&gt;
Is it joke? Would it not be better to remove whole application at all? nice that they do not say to use another sofrware for web development, but who know... probably next '&lt;b&gt;Loal fix&lt;/b&gt;'... &amp;nbsp;:-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-6250613228172750277?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/dh0jnYb_s2M/xpage-view-with-categorisations-readers.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>2</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/02/xpage-view-with-categorisations-readers.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-3764846128471666055</guid><pubDate>Mon, 31 Jan 2011 13:41:00 +0000</pubDate><atom:updated>2011-01-31T14:48:04.919+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lotus notes</category><title>Want to watch LotusSphere online?</title><description>&lt;span class="Apple-style-span" style="color: #0000ee;"&gt;&lt;u&gt;&lt;iframe frameborder="0" height="340" id="iframeplayer" scrolling="no" src="http://cdn.livestream.com/embed/ibmsoftware?layout=4&amp;amp;color=0xe7e7e7&amp;amp;autoPlay=false&amp;amp;mute=false&amp;amp;iconColorOver=0x888888&amp;amp;iconColor=0x777777&amp;amp;allowchat=true" style="border: 0; outline: 0;" width="600"&gt;&lt;/iframe&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="font-size: 11px; padding-top: 10px; text-align: center; width: 600px;"&gt;&lt;span class="Apple-style-span" style="color: #0000ee;"&gt;&lt;u&gt;Watch &lt;a href="http://www.livestream.com/?utm_source=lsplayer&amp;amp;utm_medium=embed&amp;amp;utm_campaign=footerlinks" streaming="" title="live" video=""&gt;live streaming video&lt;/a&gt; from &lt;a at="" href="http://www.livestream.com/ibmsoftware?utm_source=lsplayer&amp;amp;utm_medium=embed&amp;amp;utm_campaign=footerlinks" ibmsoftware="" livestream.com="" title="Watch"&gt;ibmsoftware&lt;/a&gt; at livestream.com&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-3764846128471666055?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/yNIKhNMmm30/want-to-watch-lotusspere-online.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>0</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/01/want-to-watch-lotusspere-online.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-5206059969327649901</guid><pubDate>Wed, 19 Jan 2011 00:03:00 +0000</pubDate><atom:updated>2011-01-19T01:06:53.076+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">xpage</category><title>trying to get full control over xPage auto generated html</title><description>I know xPage is great especially for &lt;a href="http://en.wikipedia.org/wiki/Rapid_application_development"&gt;RAD&lt;/a&gt;&amp;nbsp;but I feel bad when I see how Domino generates HTML for xPage's application and &lt;b&gt;dojo&lt;/b&gt;&amp;nbsp;why it loads even if I do not want to use it? yea, I know that most of xPage's controls use it but anywhere I want to keep control over each html-tag. I want nice html. I want to know what is going on with my html. I'm sure all of you saw what html we get from xPage, and I want to repeat once again "I'm not fan of that".&lt;br /&gt;
Here are couple steps for those who want to get some more control over xPage. I will show example with new application that has only one xPage.&lt;br /&gt;
&lt;br /&gt;
so let's start. we created new application and created new xPage, let's call it '&lt;b&gt;index&lt;/b&gt;'. Open it in browser. what do you see? My Domino generates already lot of staff.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_MZPSfV8BGS8/TTYdbvmtJ1I/AAAAAAAAKL4/2OJ0GEYNPlg/s1600/xPage-cleanup-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="99" src="http://4.bp.blogspot.com/_MZPSfV8BGS8/TTYdbvmtJ1I/AAAAAAAAKL4/2OJ0GEYNPlg/s320/xPage-cleanup-1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;1. included dojo.&lt;/div&gt;2. included css.&lt;br /&gt;
3. created form and put there ~6 fields for some reasons. I do not know why.&lt;br /&gt;
4. html, head, title, body tags and&amp;nbsp;!DOCTYPE&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;So instead to display empty page, Domino generated ~1Kb of some data we did not ask.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1-st step: &lt;a href="http://www.youatnotes.de/web/youatnotes/wiki-xpages.nsf/dx/Work_with_Dojo"&gt;disable default dojo in xPage&lt;/a&gt;.&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;You can disable the loading of the default Dojo, for example in order to use a more recent version of Dojo.&amp;nbsp;In the Package Explorer in Domino Designer open your database and find the WebContent/WEB-INF/xp.properties file.&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;&lt;i&gt;Edit the file and add&lt;/i&gt;:&amp;nbsp;&lt;span class="Apple-style-span" style="color: blue;"&gt;xsp.client.script.libraries=none&lt;/span&gt;&lt;/div&gt;Switch to Java perspective and Package Explorer there by default, so go there and make update. Save and check results. 2 line disappeared.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_MZPSfV8BGS8/TTYgfyDaFrI/AAAAAAAAKL8/GeGrFsYXg7o/s1600/xPage-cleanup-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="108" src="http://3.bp.blogspot.com/_MZPSfV8BGS8/TTYgfyDaFrI/AAAAAAAAKL8/GeGrFsYXg7o/s320/xPage-cleanup-2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;2-nd step: disable CSS.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;create new Theme and remove&amp;nbsp;&lt;span class="Apple-style-span" style="color: blue;"&gt;extends="webstandard"&lt;/span&gt; and add this Theme in application properties as one we want to use. check hmtl source again - 3 lines with css went out.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_MZPSfV8BGS8/TTYhFsDEDxI/AAAAAAAAKMA/JoIyjNqvDro/s1600/xPage-cleanup-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="97" src="http://1.bp.blogspot.com/_MZPSfV8BGS8/TTYhFsDEDxI/AAAAAAAAKMA/JoIyjNqvDro/s320/xPage-cleanup-3.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;3-nd step: &lt;a href="http://www-10.lotus.com/ldd/ddwiki.nsf/dx/xpages-form-tag-control.htm"&gt;disable default auto-generated form&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;open our index xPage and go to properties, tab Basic and set CreateForm = false. Save. Check.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_MZPSfV8BGS8/TTYiIoQkp_I/AAAAAAAAKME/0p58Wx_Kxj0/s1600/xPage-cleanup-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="47" src="http://3.bp.blogspot.com/_MZPSfV8BGS8/TTYiIoQkp_I/AAAAAAAAKME/0p58Wx_Kxj0/s320/xPage-cleanup-4.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;nice! we are quite near :)&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;4-th step. get empty blank xPage.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;I do not know yet the way how correctly suppress rest of these tags and how to change doctype, so next time when I found solution I will update article.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Funny, while I was looking for solution for 4-th step, I found&amp;nbsp;absolutely&amp;nbsp;similar article from Chris, so you can read more older one &lt;a href="http://www.dominoguru.com/pages/11182010085538.html"&gt;This is an xPage&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-5206059969327649901?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/LdMF4DyFAWM/trying-to-get-full-control-over-xpage.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_MZPSfV8BGS8/TTYdbvmtJ1I/AAAAAAAAKL4/2OJ0GEYNPlg/s72-c/xPage-cleanup-1.png" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/01/trying-to-get-full-control-over-xpage.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-2485654335236204389</guid><pubDate>Tue, 18 Jan 2011 12:35:00 +0000</pubDate><atom:updated>2011-01-18T13:35:36.191+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Google</category><title>Google Maps API - MarkerClusterer</title><description>If you ever did some job linked with google map (f.x. show markers with popup) you probably noticed problem with huge amount of markers (f.x.1000 markers). It does slow&amp;nbsp;performance&amp;nbsp;of webpage + it looks not very nice on UI (just mass of markers on same place). There is solution for such situation: MurkerClusterer, it allows to join markers into cluster with possibility to have different cluster on different zoom.&lt;br /&gt;
Here is an article about it - &lt;a href="http://googlegeodevelopers.blogspot.com/2009/04/markerclusterer-solution-to-too-many.html"&gt;markerClusterer solution to the Too Many Markers problem&lt;/a&gt;&lt;br /&gt;
For those who works with Google Maps API this article is mandatory to read.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-2485654335236204389?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/clQzqgP9iNg/google-maps-api-markerclusterer.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>1</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/01/google-maps-api-markerclusterer.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-6372261809439613752</guid><pubDate>Mon, 17 Jan 2011 23:49:00 +0000</pubDate><atom:updated>2011-01-18T00:53:31.465+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">javascript</category><title>short dojo + ajax example how to get data from db</title><description>&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;There are 3 most useful ahax-approaches I use when working with Lotus Domino:&lt;br /&gt;
- getting view as JSON. database.nsf/viewname?readviewentries&amp;amp; OutputFormat=JSON (fast and modern)&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;- agent approach (example here, most flexible and probably most slow approach)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;- page/form/view as elelemnts, f.x.&amp;nbsp;database.nsf/myform?openform&amp;amp;unid=123123 (easy to use but not &amp;nbsp;flexible, I use it very rarely)&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Very small and known example of dojo's ajax, I'm getting some information from agent and then will use it in&amp;nbsp;&lt;/span&gt;my JS later.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;var jsondata;&lt;/span&gt;&lt;br /&gt;
&lt;div style="color: blue; font-family: inherit;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;dojo.xhrGet({&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;url: "database/agentGetData?Openagent&amp;amp;param1=id1",&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;sync: true,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;load: function(data) {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;jsondata = data;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span"&gt; I'm interesting in any another 'smart' approaches, so if u have some interesting idea we can discuss in comments them.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-6372261809439613752?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/jKHyGgwDj1A/short-dojo-ajax-example-how-to-get-data.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>3</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/01/short-dojo-ajax-example-how-to-get-data.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-1341298586270180631</guid><pubDate>Sun, 16 Jan 2011 14:33:00 +0000</pubDate><atom:updated>2011-01-16T15:33:31.616+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lotus notes</category><title>nice command lotus\notes\nsd.exe -kill</title><description>Previously I've used kman.exe utilites to kill lotus notes processes, but now switch to this command.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-1341298586270180631?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/KQRhOfach-s/nice-command-lotusnotesnsdexe-kill.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>4</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/01/nice-command-lotusnotesnsdexe-kill.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-773006670874301016</guid><pubDate>Thu, 06 Jan 2011 20:33:00 +0000</pubDate><atom:updated>2011-01-06T21:34:57.975+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">me</category><title>Merry Christmas, dear Orthodox !</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_MZPSfV8BGS8/TSYmlMWTCEI/AAAAAAAAKLY/Gb95E7O7iFQ/s1600/christmas-2011.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="christmas-2011" title="Orthodox-christmas-2011" border="0" height="225" src="http://2.bp.blogspot.com/_MZPSfV8BGS8/TSYmlMWTCEI/AAAAAAAAKLY/Gb95E7O7iFQ/s320/christmas-2011.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-773006670874301016?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/A54zxdCIWuA/merry-christmas-dear-orthodox.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_MZPSfV8BGS8/TSYmlMWTCEI/AAAAAAAAKLY/Gb95E7O7iFQ/s72-c/christmas-2011.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/01/merry-christmas-dear-orthodox.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-34728599.post-6265560512681032935</guid><pubDate>Thu, 06 Jan 2011 11:50:00 +0000</pubDate><atom:updated>2011-01-06T13:22:42.604+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SEO</category><title>Improving SEO for blogspot bloggers. Lesson #1.</title><description>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;Everybody wants to have at least not worst SEO on own blogs. In case if you have you own blog on Domino or another platform, use your hands and do updates but if you are one who use blogspot, here it couple tips I would like to suggest to do. It is quite simple and fast.&lt;/div&gt;&lt;br /&gt;
&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;1. &lt;strong&gt;Title tag.&lt;/strong&gt; Check it on main page, does it says what you wanted?&lt;br /&gt;
looks on different pages as well. If you want to update it go to Design of your blog and open it as HTML, find area with title and replace it on such one&lt;br /&gt;
&lt;span style="color: blue;"&gt;&lt;br /&gt;
&amp;lt;b:if cond='data:blog.pageType == &amp;amp;quot;item&amp;amp;quot;'&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;&amp;lt;data:blog.pageName/&amp;gt; | &amp;lt;data:blog.title/&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;b:else/&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;&amp;lt;data:blog.pageTitle/&amp;gt; | Your additional keywords&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/b:if&amp;gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
Actually you are free to put there whatever you want. Mostly all says that ideal length for title tag is 69-70 chars. So remember that and try to make it near to that.&lt;br /&gt;
&lt;br /&gt;
2. By default blogspot does not include &lt;b&gt;meta tags&lt;/b&gt; such as &lt;b&gt;description &lt;/b&gt;and &lt;b&gt;keywords&lt;/b&gt;, so we have to add that manually (at least my blog did not have these tags). Good length for this tags are: meta description ~156, meta keywords is about 180 chars. Here is snapshot of what you need to add to your template.&lt;br /&gt;
&lt;span style="color: blue;"&gt;&lt;br /&gt;
&amp;lt;b:if cond='data:blog.url == data:blog.homepageUrl'&amp;gt;&lt;br /&gt;
&amp;lt;meta content='bla bla bla' name='description'/&amp;gt;&lt;br /&gt;
&amp;lt;meta content='lotus, motus, fotus, focus, etc' name='keywords'/&amp;gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
if you read logic carefully you will see that it says: add meta tags only for main page, that's because otherwise we will get these tags on all pages and that's very bad, google does not like same meta description on pages. that's duplicate and you will decrease PR. Later I will add some information how we can have unique meta tags on pages.&lt;br /&gt;
&lt;br /&gt;
3. &lt;strong&gt;sitemap&lt;/strong&gt;. I believe it is not necessary as we are already you google so it does this automatically, but anywhere, better to do :), I hope you have already enabled RSS on your blog. So just open Google Web Master add you site there and find menu Sitemap and try to add next &lt;span style="color: blue;"&gt;/atom.xml?redirect=false&amp;amp;start-index=1&amp;amp;max-results=300&lt;/span&gt;you can update max-results as u wish. If everything went fine you should see Status 'OK' and number of of URL should be same as you have in you atom.xml.&lt;br /&gt;
&lt;br /&gt;
4. that's is not linked to blogspot problem, but just remember that: &lt;br /&gt;
- Images should have &lt;strong&gt;title&lt;/strong&gt; and &lt;strong&gt;alt&lt;/strong&gt;.&lt;br /&gt;
- Tag &lt;strong&gt;&amp;lt;strong&amp;gt;&lt;/strong&gt; is better that &lt;strong&gt;&amp;lt;b&amp;gt;&lt;/strong&gt;, but as I see it requires go fix it into HTML of your entry.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;
These tips are legal and easy to implement, but remember, unique and interesting content is the key.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34728599-6265560512681032935?l=dpastov.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/dpastov/~3/P2eaez2mVOM/improving-seo-for-blogspot-bloggers.html</link><author>noreply@blogger.com (Dmytro Pastovenskyi)</author><thr:total>0</thr:total><feedburner:origLink>http://dpastov.blogspot.com/2011/01/improving-seo-for-blogspot-bloggers.html</feedburner:origLink></item></channel></rss>

