<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web-design Archives - Dragonsoft Technology View</title>
	<atom:link href="https://blog.dragonsoft.us/category/technology/web-design/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.dragonsoft.us/category/technology/web-design/</link>
	<description>Talk about Technologies, Software Architecture and Management</description>
	<lastBuildDate>Sun, 06 Nov 2022 06:31:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://blog.dragonsoft.us/wp-content/uploads/2022/04/logo-main-bw-150x150.png</url>
	<title>Web-design Archives - Dragonsoft Technology View</title>
	<link>https://blog.dragonsoft.us/category/technology/web-design/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">2577970</site>	<item>
		<title>GreyDragon v.1.3.9 has been released</title>
		<link>https://blog.dragonsoft.us/2022/11/05/greydragon-v-1-3-9-has-been-released/</link>
					<comments>https://blog.dragonsoft.us/2022/11/05/greydragon-v-1-3-9-has-been-released/#respond</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Sun, 06 Nov 2022 06:26:55 +0000</pubDate>
				<category><![CDATA[Piwigo]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web-design]]></category>
		<category><![CDATA[GreyDragon Theme]]></category>
		<category><![CDATA[PIWIGO]]></category>
		<guid isPermaLink="false">https://blog.dragonsoft.us/?p=2171</guid>

					<description><![CDATA[<p>Copyright &#169; 2026 Dragonsoft Technology View. This Feed is for personal non-commercial use only.</p>
<p>The post <a href="https://blog.dragonsoft.us/2022/11/05/greydragon-v-1-3-9-has-been-released/">GreyDragon v.1.3.9 has been released</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<ul class="wp-block-list">
<li>Fixed issue with undefined variable p_pict_descr and p_pict_comment in footer JS</li>



<li>Removed some compatibility warnings by adjusting tags</li>



<li>Font Awesome updated to 6.2</li>



<li>Bootstrap CSS updated to 5.0.2</li>



<li>Deprecated support PNG for IE 7</li>



<li>Deprecated obsolete.list</li>
</ul>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2022/11/05/greydragon-v-1-3-9-has-been-released/">GreyDragon v.1.3.9 has been released</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2022/11/05/greydragon-v-1-3-9-has-been-released/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2171</post-id>	</item>
		<item>
		<title>GDThumb 1.0.25 has been released</title>
		<link>https://blog.dragonsoft.us/2022/10/30/gdthumb-1-0-25-has-been-released/</link>
					<comments>https://blog.dragonsoft.us/2022/10/30/gdthumb-1-0-25-has-been-released/#comments</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Sun, 30 Oct 2022 23:48:30 +0000</pubDate>
				<category><![CDATA[Piwigo]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web-design]]></category>
		<category><![CDATA[PIWIGO]]></category>
		<guid isPermaLink="false">https://blog.dragonsoft.us/?p=2169</guid>

					<description><![CDATA[<p>Copyright &#169; 2026 Dragonsoft Technology View. This Feed is for personal non-commercial use only.</p>
<p>The post <a href="https://blog.dragonsoft.us/2022/10/30/gdthumb-1-0-25-has-been-released/">GDThumb 1.0.25 has been released</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<ul class="wp-block-list">
<li>Support for PIWIGO 13 verified</li>



<li>ADMIN: Updated reference to styles from GreyDragon Theme</li>



<li>Added antiflicker logic to improve CLS</li>
</ul>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2022/10/30/gdthumb-1-0-25-has-been-released/">GDThumb 1.0.25 has been released</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2022/10/30/gdthumb-1-0-25-has-been-released/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2169</post-id>	</item>
		<item>
		<title>GreyDragon v.1.3.8 has been released</title>
		<link>https://blog.dragonsoft.us/2022/10/30/greydragon-v-1-3-8-has-been-released/</link>
					<comments>https://blog.dragonsoft.us/2022/10/30/greydragon-v-1-3-8-has-been-released/#respond</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Sun, 30 Oct 2022 23:45:25 +0000</pubDate>
				<category><![CDATA[Piwigo]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web-design]]></category>
		<category><![CDATA[GreyDragon Theme]]></category>
		<category><![CDATA[PIWIGO]]></category>
		<guid isPermaLink="false">https://blog.dragonsoft.us/?p=2167</guid>

					<description><![CDATA[<p>Copyright &#169; 2026 Dragonsoft Technology View. This Feed is for personal non-commercial use only.</p>
<p>The post <a href="https://blog.dragonsoft.us/2022/10/30/greydragon-v-1-3-8-has-been-released/">GreyDragon v.1.3.8 has been released</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<ul class="wp-block-list">
<li>Verified compatibility with PIWIGO 13.x</li>



<li>Added detection for Home Page when settings need to be updated.</li>



<li>Added removal of home page content when the feature is turned off.</li>



<li>Adjusted help for improved full-width CSS</li>



<li>TR: Improved translation string to make PIWIGO version reference dynamic</li>



<li>HELP: Adjusted Full body width suggestion to reflect current style references</li>
</ul>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2022/10/30/greydragon-v-1-3-8-has-been-released/">GreyDragon v.1.3.8 has been released</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2022/10/30/greydragon-v-1-3-8-has-been-released/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2167</post-id>	</item>
		<item>
		<title>GreyDragon v.1.3.5 has been released</title>
		<link>https://blog.dragonsoft.us/2021/03/04/greydragon-v-1-3-5-has-been-released/</link>
					<comments>https://blog.dragonsoft.us/2021/03/04/greydragon-v-1-3-5-has-been-released/#respond</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Thu, 04 Mar 2021 21:48:47 +0000</pubDate>
				<category><![CDATA[Piwigo]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web-design]]></category>
		<category><![CDATA[GreyDragon Theme]]></category>
		<category><![CDATA[PIWIGO]]></category>
		<guid isPermaLink="false">https://blog.dragonsoft.us/?p=1879</guid>

					<description><![CDATA[<p>Verified compatibility with PIWIGO 11.x Translation files synced from repo Fix misalignment of admin section header for PW 11+ Fix issue with plugin detection Copyright &#169; 2026 Dragonsoft Technology View. This Feed is for personal non-commercial use only.</p>
<p>The post <a href="https://blog.dragonsoft.us/2021/03/04/greydragon-v-1-3-5-has-been-released/">GreyDragon v.1.3.5 has been released</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<ul class="wp-block-list"><li>Verified compatibility with PIWIGO 11.x</li><li>Translation files synced from repo</li><li>Fix misalignment of admin section header for PW 11+</li><li>Fix issue with plugin detection</li></ul>



<p class="wp-block-paragraph"></p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2021/03/04/greydragon-v-1-3-5-has-been-released/">GreyDragon v.1.3.5 has been released</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2021/03/04/greydragon-v-1-3-5-has-been-released/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1879</post-id>	</item>
		<item>
		<title>WordPress Network and sub-domain setup</title>
		<link>https://blog.dragonsoft.us/2016/09/26/wordpress-network-and-sub-domain-setup/</link>
					<comments>https://blog.dragonsoft.us/2016/09/26/wordpress-network-and-sub-domain-setup/#respond</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Tue, 27 Sep 2016 01:38:34 +0000</pubDate>
				<category><![CDATA[Web-design]]></category>
		<category><![CDATA[multi-site]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1729</guid>

					<description><![CDATA[<p>This is really a short note but may require some thinking when one run into it&#8230; so there you go. Let me start by saying that I do have strong preference sub domain based WordPress Network instance over sub-folder. In my opinion it is easier to maintain, and allow to<a class="moretag" href="https://blog.dragonsoft.us/2016/09/26/wordpress-network-and-sub-domain-setup/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2016/09/26/wordpress-network-and-sub-domain-setup/">WordPress Network and sub-domain setup</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>This is really a short note but may require some thinking when one run into it&#8230; so there you go.</p>
<p>Let me start by saying that I do have strong preference sub domain based WordPress Network instance over sub-folder.<br />
In my opinion it is easier to maintain, and allow to manage stronger security.</p>
<p>Ok, &#8220;what is the problem?&#8221;, you ask.</p>
<p>Let&#8217;s say you have setup your blog as sub-domain to your main site. It may be the same machine or different instance altogether.<br />
You run it for a while and there come time when you decided you want to host second blog and want to share the same WordPress instance.</p>
<p>Multi site support in WordPress is for a while and it is easy to setup and easy to maintain.</p>
<p>For most part that is it &#8211; simply follow these <a href="https://codex.wordpress.org/Create_A_Network">steps.</a></p>
<p>But there is a catch, if you run blog on the sub-domain, network setup wizard would warn you that you cannot enable network using sub-domain.<br />
Not a problem &#8211; modify your wp-config.php by adding the following lines</p>
<pre class="brush: plain; title: ; notranslate">/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );

/* Multisite */
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', '&lt;your-domain-name&gt;');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
</pre>
<p>Now you can logoff and log back in and you should be able to create new sit using different sub-domain.</p>
<p>This is not all &#8211; what you will most likely run into is inability to use the same users across both sites.</p>
<blockquote><p>Note: It is important to understand that by using the same names across multiple sites you may slightly reduce your security protection.<br />
So make sure that you are:</p>
<ul>
<li>Keep your Network instance up to date with updates</li>
<li>Using Security plugin like iThemes Security</li>
<li>Change admin user to something other than &#8220;admin&#8221;</li>
<li>Protect site from brute force attacks</li>
</ul>
</blockquote>
<p>What could happen is that when trying login to second site or switch between sites from Admin panel you would get message that your browser does not support cookies or you will not be able navigate to second site&#8217;s Dashboard.</p>
<p>What is the problem? Problem is how WordPress maintains user session using cookies.</p>
<p>To fix it add one more line into your wp-config.php file</p>
<pre class="brush: plain; title: ; notranslate">define( 'COOKIE_DOMAIN', $_SERVER&#x5B; 'HTTP_HOST' ] );</pre>
<p>Now you should be all set</p>
<hr/>
<p><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span></p>
<p>The post <a href="https://blog.dragonsoft.us/2016/09/26/wordpress-network-and-sub-domain-setup/">WordPress Network and sub-domain setup</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2016/09/26/wordpress-network-and-sub-domain-setup/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1729</post-id>	</item>
		<item>
		<title>IPad, web and developers</title>
		<link>https://blog.dragonsoft.us/2011/08/02/ipad-web-and-developers/</link>
					<comments>https://blog.dragonsoft.us/2011/08/02/ipad-web-and-developers/#respond</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Wed, 03 Aug 2011 02:57:18 +0000</pubDate>
				<category><![CDATA[Web-design]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[page source]]></category>
		<category><![CDATA[safari]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1312</guid>

					<description><![CDATA[<p>When we use something for long time we are used to some things. When looking at web sites and think about how they are built, development tools are of big help. We can look at source, explore styles and java script behind any page. So it is just &#8220;Wow&#8221; kind<a class="moretag" href="https://blog.dragonsoft.us/2011/08/02/ipad-web-and-developers/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2011/08/02/ipad-web-and-developers/">IPad, web and developers</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>When we use something for long time we are used to some things.<br />
When looking at web sites and think about how they are built, development tools are of big help.<br />
We can look at source, explore styles and java script behind any page.<br />
So it is just &#8220;Wow&#8221; kind of situation when you try to do the same on iPad and there are no similar tools at your disposal&#8230;<br />
Luckily there are people around and they share their infinite wisdom.<br />
So if you are looking for the way to see page source try method discussed <a href="http://banagale.com/view-source-from-safari-on-ipad.htm" target="_blank">here</a></p>
<hr/>
<p><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span></p>
<p>The post <a href="https://blog.dragonsoft.us/2011/08/02/ipad-web-and-developers/">IPad, web and developers</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2011/08/02/ipad-web-and-developers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1312</post-id>	</item>
		<item>
		<title>UI prototypes and iPad/iPhone wireframes</title>
		<link>https://blog.dragonsoft.us/2011/03/01/ui-prototypes-and-ipadiphone-wireframes/</link>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Tue, 01 Mar 2011 21:42:07 +0000</pubDate>
				<category><![CDATA[Web-design]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[stencil]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[visio]]></category>
		<category><![CDATA[wireframing]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1220</guid>

					<description><![CDATA[<p>Working on earlier design of the new system there are different ways in approaching UI design &#8211; from white board, favorite piece of napkin to modeling tools. Well, one can skeep it all together and jump into Visual Studio or Eclipse and start jamming together some nice forms. Experience shows again and again<a class="moretag" href="https://blog.dragonsoft.us/2011/03/01/ui-prototypes-and-ipadiphone-wireframes/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2011/03/01/ui-prototypes-and-ipadiphone-wireframes/">UI prototypes and iPad/iPhone wireframes</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Working on earlier design of the new system there are different ways in approaching UI design &#8211; from white board, favorite piece of napkin to modeling tools. Well, one can skeep it all together and jump into Visual Studio or Eclipse and start jamming together some nice forms.</p>
<p>Experience shows again and again that using prototyping in software development allows shaving hours, days or even months from release schedule.<br />
From various types of concepts and prototypes UI prototypes are most difficult and if missed could kill any project down the road.</p>
<p>Setting proper UI expectations, creating reference materials for your project plan, getting earlier feedback from potential or existing customers &#8211; benefits are many.</p>
<p>How elements are placed on the screen? What themes/colors/styles are to be used? How screen is changed following workflow? How dialogs are organized?<br />
Questions asked and answered earlier can become crucial for the project as early as getting a &#8220;GO&#8221; and as late as releasing version 1.0 and being forced to roll it back.</p>
<p>Do not underestimate power of the visualization!</p>
<p><strong>Designing UI</strong></p>
<p>There are plenty of tools around which give you some infrastructure to do UI prototypes.<br />
To mention few:</p>
<ul>
<li>Microsoft Visio &#8211; among others there is a Wireframe Diagram, Storyboards, workflow diagrams</li>
<li>FrameMaker</li>
<li>PowerPoint</li>
<li>Photoshop</li>
<li>OmniGraffle for Mac or iPad</li>
<li><a href="http://wireframesketcher.com/" target="_blank" rel="noopener">WireframeSketcher</a> plugin for Eclipse &#8211; basic wireframes with sequencing</li>
<li><a href="http://balsamiq.com/products/mockups" target="_blank" rel="noopener">Balsamiq</a> Mockups &#8211; cross platform, community supported device elements library</li>
<li><a href="http://www.axure.com" target="_blank" rel="noopener">Axure</a> &#8211; web-oriented, interactive</li>
<li><a href="http://www.mockupscreens.com" target="_blank" rel="noopener">MockupScreens </a>&#8211; slightly outdated</li>
<li>Remember PVCS? Serena offers <a href="http://www.serena.com/products/prototype-composer/index.html" target="_blank" rel="noopener">Serena Prototype Composer</a> &#8211; activity flow and UI elements integration</li>
</ul>
<p><strong>Stick with what you have or Visio stencils</strong></p>
<p>There could be many options, but I like to stick with what I am most familiar or have in my reach. So I choose Visio 2010 (part of MSDN).</p>
<p>By default however, Visio provides only with basic controls, toolbars, dialogs. What missing are actual stencils (collection of shapes) to be used to do UI design for the target platform.</p>
<p>Designing for Windows is different from designing for Android, iPhone or iPad and availability proper UI elements in our disposal is important.</p>
<p><strong>No One is Left Behind</strong></p>
<p>Internet is powerful thing and most of the time someone already went on the journey of helping others.<br />
Problem is that it is difficult to find libraries for Visio. There is an option though &#8211; exporting from OMNIGRAFFLE in XML format for Visio.</p>
<p>Let&#8217;s list some:</p>
<ul>
<li>Nice <a href="http://graffletopia.com/stencils/570" target="_blank" rel="noopener">iPad styled stencils</a> for OMNIGRAFFLE</li>
<li>Long list of <a href="http://speckyboy.com/2010/04/30/iphone-and-ipad-development-gui-kits-stencils-and-icons/" target="_blank" rel="noopener">different libraries</a> available in different formats which is useful and starting point</li>
</ul>
<hr/>
<p><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span></p>
<p>The post <a href="https://blog.dragonsoft.us/2011/03/01/ui-prototypes-and-ipadiphone-wireframes/">UI prototypes and iPad/iPhone wireframes</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1220</post-id>	</item>
		<item>
		<title>How to add key navigation to your web-site</title>
		<link>https://blog.dragonsoft.us/2010/04/08/how-to-add-key-navigation-to-your-web-site/</link>
					<comments>https://blog.dragonsoft.us/2010/04/08/how-to-add-key-navigation-to-your-web-site/#respond</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Thu, 08 Apr 2010 05:41:46 +0000</pubDate>
				<category><![CDATA[Web-design]]></category>
		<category><![CDATA[Gallery 3]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[keyboard navigation]]></category>
		<category><![CDATA[keydown]]></category>
		<category><![CDATA[keydown event]]></category>
		<category><![CDATA[menalto]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1134</guid>

					<description><![CDATA[<p>This is probably an old topic which still raises here and there. Day ago while waiting for delayed flight on United, I was doing some follow up on the discussion about my Theme for Gallery 3 and was asked if I could add support for Keyboard navigation. In general, it is<a class="moretag" href="https://blog.dragonsoft.us/2010/04/08/how-to-add-key-navigation-to-your-web-site/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2010/04/08/how-to-add-key-navigation-to-your-web-site/">How to add key navigation to your web-site</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>This is probably an old topic which still raises here and there.</p>
<p>Day ago while waiting for delayed flight on United, I was doing some follow up on the discussion about <a href="http://gallery.menalto.com/node/91519">my Theme for Gallery 3</a> and was asked if I could add support for Keyboard navigation.</p>
<p>In general, it is easy topic, especially when jQuery is supported for the web-site.</p>
<p>An objective is to allow visitor use keyboard to navigate. In my case it is applied to Gallery pagination enabling use of Left/Right/Up keys to move between photos or album pages.</p>
<p>While being simple in implementation, it adds a convenience for the end user enabling keyboard navigation versus mouse clicks.</p>
<p>So let&#8217;s add it&#8230;</p>
<p>First, we need some &#8220;anchors&#8221; on the page to find dynamically what our keys would do when pressed.</p>
<p>In case of my theme, I have paginator control allowing user navigate first/prev/next/last or go level up in the gallery structure (small arrow buttons/links), but it could be anything.</p>
<p>If we are to be W3C-friendly, then &lt;link&gt; tag in the header is more appropriate, but I am not going to use it in the example below. So let&#8217;s assume we have 5 links as following</p>
<pre class="brush: xml; title: ; notranslate">&lt;a title=&quot;First (Ctrl+Left)&quot; id=&quot;g-navi-first&quot; href=&quot;/first.html&quot;&gt;First&lt;/a&gt;
&lt;a title=&quot;Prev (Left)&quot; id=&quot;g-navi-prev&quot; href=&quot;/prev.html&quot;&gt;Prev&lt;/a&gt;
&lt;a title=&quot;Parent (Ctrl+Up)&quot; id=&quot;g-navi-parent&quot; href=&quot;/parent.html&quot;&gt;Parent&lt;/a&gt;
&lt;a title=&quot;Next (Right)&quot; id=&quot;g-navi-next&quot; href=&quot;/next.html&quot;&gt;Next&lt;/a&gt;
&lt;a title=&quot;Last (Ctrl+Right)&quot; id=&quot;g-navi-last&quot; href=&quot;/last.html&quot;&gt;Last&lt;/a&gt;</pre>
<p>As you can see we have 5 different actions to take and we have selected key combinations we are going to use.<br />
Code above by itself, would only work with mouse click.<br />
What we need next is very small jQuery code to bring life into it and add desired keyboard sensitivity.<br />
<em>Please notice that it would override default arrow key based scroll support of the browser. So if you want to keep both then simply adjust code below to your liking.</em></p>
<p>There goes the code. Simply dump it into JS file and add reference in your page:</p>
<pre class="brush: jscript; title: ; notranslate">/**
*
* Copyright (c) 2010 Serguei Dosyukov, http://blog.dragonsoft.us
*
*/

$.fn.KbdNavigation = function() {

  $(this).bind(&quot;keydown&quot;, function(event) {
    var lnk = &quot;&quot;;
    var lnk_first, lnk_prev, lnk_parent, lnk_next, lnk_last;
    lnk_first  = $(&quot;#g-navi-first&quot;).attr(&quot;href&quot;);
    lnk_prev   = $(&quot;#g-navi-prev&quot;).attr(&quot;href&quot;);
    lnk_parent = $(&quot;#g-navi-parent&quot;).attr(&quot;href&quot;);
    lnk_next   = $(&quot;#g-navi-next&quot;).attr(&quot;href&quot;);
    lnk_last   = $(&quot;#g-navi-last&quot;).attr(&quot;href&quot;);
   
    switch(event.keyCode) {
      case 0x25: // Ctr+Left/Left
        if(event.ctrlKey) { lnk = lnk_first; } else { lnk = lnk_prev; }
        break; 
      case 0x26: // Ctrl+Up
        if(event.ctrlKey) { lnk = lnk_parent; }
        break;
      case 0x27: // Ctrl+Right/Right
        if(event.ctrlKey) { lnk = lnk_last; } else { lnk = lnk_next; }
        break; 
    }
   
    if(lnk) {
      window.location = lnk;
      return true;
    }
   
    return true;
  });
}

$(document).ready( function() {
  $(document).KbdNavigation({});
});</pre>
<hr/>
<p><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span></p>
<p>The post <a href="https://blog.dragonsoft.us/2010/04/08/how-to-add-key-navigation-to-your-web-site/">How to add key navigation to your web-site</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2010/04/08/how-to-add-key-navigation-to-your-web-site/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1134</post-id>	</item>
		<item>
		<title>PHP, MySQL and error &#8220;2006: MySQL server has gone away&#8221;</title>
		<link>https://blog.dragonsoft.us/2010/03/24/php-mysql-and-error-2006-mysql-server-has-gone-away/</link>
					<comments>https://blog.dragonsoft.us/2010/03/24/php-mysql-and-error-2006-mysql-server-has-gone-away/#respond</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Wed, 24 Mar 2010 05:34:07 +0000</pubDate>
				<category><![CDATA[Web-design]]></category>
		<category><![CDATA[enable reconnect]]></category>
		<category><![CDATA[error 2006]]></category>
		<category><![CDATA[Gallery 3]]></category>
		<category><![CDATA[menalto]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[MySQL server has gone away]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1129</guid>

					<description><![CDATA[<p>As a hobby I like to do little photography. Same time I do not like to give my photos to someone else to host, so I have my gallery. It runs on Menalto&#8217;s Gallery 3 engine &#8211; nice, open source, PHP based with MySQL back-end. Not my primary programming language,<a class="moretag" href="https://blog.dragonsoft.us/2010/03/24/php-mysql-and-error-2006-mysql-server-has-gone-away/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2010/03/24/php-mysql-and-error-2006-mysql-server-has-gone-away/">PHP, MySQL and error &#8220;2006: MySQL server has gone away&#8221;</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>As a hobby I like to do little photography.</p>
<p>Same time I do not like to give my photos to someone else to host, so I have my gallery.</p>
<p>It runs on Menalto&#8217;s Gallery 3 engine &#8211; nice, open source, PHP based with MySQL back-end.</p>
<p>Not my primary programming language, but allows me to host and enhance my blog, keep my gallery and small web-site.</p>
<p>Last night, while bringing some old photos over from my backup gallery (G3 is still under development and I do not want to recreate gallery if anything to happen, and it did &#8211; I killed the setup&#8230;), I noticed that import process start to fail. Several attempts to recover did not give much of the progress and I went digging error logs.</p>
<div>
<p>Well,.. I learned something interesting. I am not a PHP programmer, at least it is not that I do for living, or not at this time&#8230; but even doing simple house work forces you learn things <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
G3 runs on Kohana framework and there is a wrapper for DB access.</p>
<p>What happend was that some of the SQL requests began timing out</p>
<blockquote><p>Database_Exception [ 44 ]: #2006: MySQL server has gone away</p></blockquote>
<p>In case when queries are not optimal, one has to learn how to manage PHP&#8230; through php.ini&#8230;</p>
<p>MySQL timeout related errors are &#8220;fixed&#8221; by telling mysql to reconnect&#8230; and for that &#8220;tricks&#8221; are handy&#8230;<br />
From browsing, reading, browsing, filtering, &#8230; while waiting for G2 Import I have found a solution which lead me <a href="http://www.php.net/manual/en/ini.list.php" target="_blank">here</a>. One of interest is called <strong>mysqli.reconnect</strong>. Little magic &#8211; simply adding the following line in PHP.INI would tell MySQL reconnect.</p>
<blockquote><p>mysqli.reconnect=1</p></blockquote>
<p>It may be still slow, but at least connection would recover gracefully.</p>
<p>We can talk about code styles, code protection and error handling, but line above is a hidden gold on the end of the rainbow called PHP.</p>
</div>
<hr/>
<p><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span></p>
<p>The post <a href="https://blog.dragonsoft.us/2010/03/24/php-mysql-and-error-2006-mysql-server-has-gone-away/">PHP, MySQL and error &#8220;2006: MySQL server has gone away&#8221;</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2010/03/24/php-mysql-and-error-2006-mysql-server-has-gone-away/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1129</post-id>	</item>
		<item>
		<title>Crystal Reports 2008 and ASP.Net : speed up the first session</title>
		<link>https://blog.dragonsoft.us/2009/09/23/crystal-reports-2008-and-asp-net-speed-up-first-session/</link>
					<comments>https://blog.dragonsoft.us/2009/09/23/crystal-reports-2008-and-asp-net-speed-up-first-session/#comments</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Wed, 23 Sep 2009 12:21:04 +0000</pubDate>
				<category><![CDATA[Crystal Reports]]></category>
		<category><![CDATA[Fun stuff with C#]]></category>
		<category><![CDATA[Web-design]]></category>
		<category><![CDATA[.net 2.0]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[certificate revocation List]]></category>
		<category><![CDATA[code access security]]></category>
		<category><![CDATA[crl]]></category>
		<category><![CDATA[crl.verisign.net]]></category>
		<category><![CDATA[crystal reports viewer]]></category>
		<category><![CDATA[generatePublisherEvidence]]></category>
		<category><![CDATA[Slow start up]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1010</guid>

					<description><![CDATA[<p>Did you ever noticed that after restart of the IIS ASP.Net page which has Crystal Reports Viewer would take much longer to come up? Some of it is expected since on initial start up, a number of Crystal assemblies and objects need to be created and this does take time. I<a class="moretag" href="https://blog.dragonsoft.us/2009/09/23/crystal-reports-2008-and-asp-net-speed-up-first-session/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2009/09/23/crystal-reports-2008-and-asp-net-speed-up-first-session/">Crystal Reports 2008 and ASP.Net : speed up the first session</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Did you ever noticed that after restart of the IIS ASP.Net page which has Crystal Reports Viewer would take much longer to come up?</p>
<p>Some of it is expected since on initial start up, a number of Crystal assemblies and objects need to be created and this does take time.<br />
I want to emphasize that discussion below is related to the first run of any reports. We have to actually restart/reset IIS to see problem again.</p>
<blockquote><p>Note: There was a question about IIS&#8217; Application Pools recycling which could cause similar effect. Make sure your application pool <a href="http://support.microsoft.com/kb/332088" target="_blank">is set properly</a>.</p></blockquote>
<p><strong>Setting up a playground</strong></p>
<p>Let&#8217;s assume ASP.Net pages were already migrated to use .Net 3.x and look at what happen behind the scene.</p>
<p>Remember that after restart IIS starts from ground up. This means several things in respect to our page content:</p>
<ul>
<li>.Net assemblies need to be preloaded and validated if necessary.<br />
Since Crystal Reports 2008 comes as .Net 2.0-based core and we may already moved to .Net 3.x, CR2008 Engine and some additional files need to be loaded and validated aside from one which already used by any previously loaded pages.</li>
<li>For each session engine would create a cached version of RPT file in temp folder.</li>
<li>Some code would have to be brought to the client machine for Viewer to operate properly.</li>
<li>Database connection established, data retrieved, processed, paged and sent to the client Viewer.</li>
</ul>
<p>That about it, now we ready to work with reports. Please notice that after that initial load, any other reports would come up faster. We could even close the browser or use another browser (ex. go from IE to FF) and it would be still faster than the first time, so there is something important about the first step above&#8230;</p>
<p><strong>Combing the sand</strong></p>
<p>Let&#8217;s try to break the IIS initialization process to get more detailed view.</p>
<p>Since we already had some ASP.Net pages loaded before coming to CR related page, we could disregard .Net core initialization procedure. It is there on IIS side: used and ready.</p>
<p>Ok, next thing is CR engine related stuff. There is some 5Mb of files in <strong>crystalreportviewers12</strong> folder to support CR Viewer in ASP.Net and we need to send some of them over the network. In addition to that there is Crystal Reports Engine assemblies which need to be loaded by IIS at the time of the first use. And this is our spot to dig.</p>
<p>If we try and trace what exactly going on we would notice that aside from IIS loading a few dozen assemblies, there is also process associated with trying connect to CRL.VERISIGN.NET.</p>
<p><strong>What is it?</strong></p>
<p>&#8220;Problem&#8221; is that assemblies are Authenticode signed and therefore need to be verified or it technical terms they need to be checked against <a href="http://technet.microsoft.com/en-us/library/bb457027.aspx" target="_blank">Certificate Revocation List (CRL)</a> by <a href="http://msdn.microsoft.com/en-us/library/system.security.policy.publisher.aspx" target="_blank">Publisher</a> for <a href="http://msdn.microsoft.com/en-us/library/930b76w0.aspx" target="_blank">Code Access Security (CAS)</a>.</p>
<p>Default behavior is that they need to be verified by the certificate authority. If certificate is not present on the same machine (I have my doubts that SAP doing anything about that, but I could be wrong), validation need to be done via central repository mentioned above, or if machine does not have network/internet access the .NET thread might timeout waiting to connect.</p>
<blockquote><p>Yes, by performing strong name signing of assemblies or placing the CA certificate on the same machine issue would be avoided, but it seems not being a case.</p></blockquote>
<p><strong>Building the castle</strong></p>
<p>Since assemblies are provided by SAP, we cannot remove digital signature and it is a hassle to keep certificates current by obtaining them from CA every time they expire. Let&#8217;s concentrate on the Publisher mentioned above and turn it off.</p>
<blockquote><p><em>It is all-or-nothing solution since it would require turning off CRC for the entire IIS.</em></p></blockquote>
<p>When working with regular .Net apps, it can be done on the app level (assuming <a href="http://support.microsoft.com/kb/936707" target="_blank">we already have fix for .Net 2.0</a>) by adding the following section in &lt;Application&gt;.exe.config</p>
<pre class="brush: xml; title: ; notranslate">&lt;configuration&gt;
  &lt;runtime&gt;
    &lt;generatePublisherEvidence enabled=&quot;false&quot;/&gt;
  &lt;/runtime&gt;
&lt;/configuration&gt;</pre>
<p>This new element described in <a href="http://msdn.microsoft.com/en-us/library/bb629393.aspx" target="_blank">this MSDN article</a>. Interesting note there (why not to turn it then by default? Oh, security concerns&#8230; UAC anyone?):</p>
<blockquote><p>We recommend that services use the <span><span>&lt;generatePublisherEvidence&gt;</span></span> element to improve startup performance. Using this element can also help avoid delays that can cause a time-out and the cancellation of the service startup.</p></blockquote>
<p>Since there is no such config file for our ASP.Net app (web.config would not work here, because it defines settings that are only AppDomain wide and we need process wide for aspnet_isapi.dll being the hosting environment for the runtime), we would have to turn code access security (CAS) publisher policy off for the entire IIS.<br />
There are two options:</p>
<ul>
<li>Create a file called w3wp.exe.config (for IIS6, or aspnet_wp.exe.config for IIS5). This will affect all .NET based web applications on the system.</li>
<li>Or to specify this in machine.config, but then this affects every .NET application on the machine and is not available for override in individual Apps.</li>
</ul>
<p><strong>Adding the summer cabin</strong></p>
<p>There is one more step which could be taken to improve performance by preloading some of the core assemblies while site visitor is doing something else.<br />
I wouldn&#8217;t go into much details here, since it is implementation/application environment specific, but just give a hint:</p>
<ul>
<li>some other place in application, create a background process which would create CR document object, load some not essential report file, retrieve some data and then disapear without the trace. This would allow Crystal Reports Engine being initialized in the background offsetting time needed for the actual CR related page load. Don&#8217;t force garbage collection though, this may cancel desired effect.</li>
</ul>
<p><strong>Results</strong></p>
<p>In some situation I observed 50% to 70% drop in start-up time&#8230;<br />
Have fun!</p>
<hr/>
<p><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span></p>
<p>The post <a href="https://blog.dragonsoft.us/2009/09/23/crystal-reports-2008-and-asp-net-speed-up-first-session/">Crystal Reports 2008 and ASP.Net : speed up the first session</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2009/09/23/crystal-reports-2008-and-asp-net-speed-up-first-session/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1010</post-id>	</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Minified using Disk
Database Caching 15/84 queries in 0.055 seconds using Disk

Served from: blog.dragonsoft.us @ 2026-06-01 11:27:06 by W3 Total Cache
-->