Thursday, July 28, 2011

Comparing Content Management Systems

Recently I needed to compare the features of different Content Management Systems (CMS) and came up to the following site which has a huge list of Systems with the ability to compare their features.

http://www.cmsmatrix.org/

Thursday, July 07, 2011

Came Back to Australia

Since last May I was back in Australia with my wife, so didn’t had a chance to update my site for a long time. This time I will be staying in Adelaide for long.

Thought to share some pictures I took on my way here through Singapore.

Following are some photos I took while we were in some indoor gardens at Singapore Airport.

IMG_2819IMG_2826IMG_2894IMG_2896IMG_2897IMG_2900IMG_2901IMG_2904IMG_2887

Some photos I captured while we were in Singapore City.

IMG_2841IMG_2852IMG_2853IMG_2856IMG_2866IMG_2867IMG_2868IMG_2871IMG_2872IMG_2875IMG_2876IMG_2882IMG_2884

Even though this was my second time in Singapore I will never be bored being in Singapore due to vast variety of facilities Changi airport is providing.

In flight to Adelaide, Australia on Singapore Airlines Airbus A330.

IMG_2918

Tuesday, April 26, 2011

Database Not Accessible

Recently after restoring a database backup which I got from another server I repeatedly encountered an error when logged in using a user who is given permission. But when ‘sa’ account is used I could work with the database without any problem.

The error message was “The database DATABASE NAME is not accessible. (ObjectExplorer)” which was not helpful since it didn’t give any clue to figure out the issue.

image

Later I found that the issue is because the user in the restored database is not properly mapped to the user in the new server and the resolution for this is to run the stored procedure sp_change_users_login to correct the orphaned user.

  • sp_change_users_login 'update_one', 'USER', 'LOGIN' – Links the given user in the current database to the specified login.
  • sp_change_users_login 'auto_fix', 'USER' – Links the given user in the current database to the login having the same name in the current server.

After running this you will be able to access the restored database without any issue using the mentioned database user.

Sunday, April 03, 2011

SharePoint 2010 Videos

Thought to share few sites I found which might help you start development on SharePoint 2010.

Official Microsoft SharePoint Site

Getting started developing on SharePoint

SharePoint Resources for Developers – This has links to many SharePoint learning videos

Using SharePoint 2010

Hope these helps.

Menu Overlapping with Report

If you had lengthier menus in you ASP.Net application and had used report viewer control you may have faced the problem of report and menu overlapping when ever the report is loaded with data. For example in my sample application it appeared as below.

image

To correct this behavior you need to set the z-index for menu and report viewer using CSS class property. For this I have used the following CSS classes in the Style.CSS.

  1. /* CSS Class for the Menu. */
  2. div.menu
  3. {
  4.     padding: 4px 0px 4px 8px;
  5. }
  6.  
  7. /* CSS Class for a Menu Item. */
  8. div.menu ul
  9. {
  10.     list-style: none;
  11.     margin: 0px;
  12.     padding: 0px;
  13.     width: auto;
  14.     z-index: 1; /* Setting the control to appear on top of level 0 controls for e.g. report viewer. */
  15. }
  16.  
  17. /* CSS Class for the Report Viewer. */
  18. .report
  19. {
  20.     z-index: 0; /* Setting the control to appear below the level 1 controls for e.g. menu items. */
  21. }

To apply the CSS use a code similar to following.

Appling CSS Class to menu in master page.

  1. <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu"
  2. EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
  3.     <Items>
  4.         <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
  5.         <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/>
  6.         <asp:MenuItem Text="New Item" Value="New Item">
  7.             <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  8.             <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  9.             <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  10.             <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  11.             <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  12.             <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  13.             <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  14.             <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  15.             <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  16.         </asp:MenuItem>
  17.         <asp:MenuItem Text="New Item" Value="New Item">
  18.             <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  19.             <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  20.             <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  21.         </asp:MenuItem>
  22.         <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  23.         <asp:MenuItem Text="New Item" Value="New Item"></asp:MenuItem>
  24.     </Items>
  25. </asp:Menu>

Appling CSS Class to report viewer.

  1. <rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" CssClass="report"
  2.     Font-Size="8pt" InteractiveDeviceInfos="(Collection)" WaitMessageFont-Names="Verdana"
  3.     WaitMessageFont-Size="14pt" Width="636px">
  4.     <LocalReport ReportPath="Report1.rdlc">
  5.         <DataSources>
  6.             <rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="DataSet1" />
  7.         </DataSources>
  8.     </LocalReport>
  9. </rsweb:ReportViewer>

 

This will correct the overlapping issue as seen below.

image

Sunday, February 27, 2011

Amazing Craft Shop Benthota – Sri Lanka

Recently when I visit my home town Benthota I happen to step into a craft shop on the way to my home thinking to buy a wooden model of an elephant. Before stepping into the shop it was appeared to me as a shop having a huge collection of animal models but I felt I am wrong after entering into the shop.

The collection was larger than I imagined, it had almost all the craft items you can possibly buy in Sri Lanka. To name some it had many different god statues, animal models, traditional masks, resting chairs, wall hangers, leather items, hand bags, shoes, African masks, etc… Since the list may go on for some time I thought to put some pictures I took of the place to give you an idea.

IMG_2343

If you are a tourist visiting Sri Lanka or if you are a Sri Lankan searching for handi/crafts I recommend you to visit this shop. You can find this shop besides the road when you are travelling from Benthota to Yathramulla.

If you need any help finding the place or buying these stuff let me know, I might be able to help you.

Monday, February 21, 2011

Saman Villas Benthota – Sri Lanka

If you are in Sri Lanka there are many places that you should visit, among them one very good and different hotel that I recommend is Saman Vilas Benthota.

Even though a friend told me that it is an amazing hotel I didn’t think that it would be such a great place until I went there. Because of its shear beauty I thought to put a post on that amazing hotel.

It is different because it will not provide you rooms but it will provide private villas for your comfort. Some of them are even having private swimming pools as well. Among the many other goodies you will get there, one thing is that you can wake up into the rising sun from your villa with a great view of the ocean. Also the food is very tasty and the presentation is also very attractive. Another specialty of the hotel is that the kitchen staff is working all 24 hours for you. If you need to have a late dinner at about 1:00 AM they are very happy to cater you without any extra payments and you only needs to ask the friendly staff.

If you would like to relax your body the best place is to go to their spa, you will be entitled to a 15 minutes free massage. If interested you can also use their library as well.

Before putting pictures I should say that it is having very nice views which are worth experiencing. No need to explain more since the following pictures that I took will prove my fact.

12

Contact them to get more details.

Hotel

Aturuwella, Benthota. Sri Lanka
Tel: +94 34 2275435, +94 34 4936200.
Fax: +94 34 2275433, +94 34 4287063.
resv@samanvilla.com

Head Office

90 Gothami Road, Colombo 08. Sri Lanka
Tel: +94 11 4866515, +94 11 2679562.
Fax: +94 11 4611049.
resv_samanvil@sltnet.lk

http://www.samanvilla.com/

Thursday, January 27, 2011

How to Allow Simple Passwords for Domain Users

Even though it is always better to use complex passwords, you may get a requirement to allow users to have simple passwords. To allow domain users to use simple passwords you need to modify the domain policy. In my following post I am using a Windows 2008 R2 machine.

1. Start Group Policy Management by clicking Start –> Administrative Tools –> Group Policy Management in your domain server or type gpmc.msc on the run window.

image

2. In the group policy management expand the forest node and then the domain node. By then you will see the domains available. Expand the domain you want the setting changed and right click on the Default Domain Policy item and select Edit. This will bring the Group Policy Management Editor.

image_thumb[16]

3. In the Group Policy Management Editor find the policy ‘Password must meet complexity requirements.’ by expanding Computer Configuration –> Policies –> Windows Settings –> Security Settings –> Account Policies and selecting Password Policy. Then right click and get the properties of the policy.

image_thumb[12]

4. To disable complex passwords select the Disabled radio button and click Apply.

image

5. To check whether the setting is really applied you can close the Group Policy Management Editor and check the settings tab at Group Policy Management.

image

Wednesday, January 26, 2011

My Wedding and Home Coming

Even though it is sometime after my wedding, I didn’t had a chance to blog about it, and suddenly thought to put a post with some pictures of that fabulous day of my life.

Wedding Day

Poruwa Ceremony

Our Wedding Cake

Parents and Us

Home Coming Day

Friday, November 26, 2010

Disabling Browser Back Button after Logout

Recently in an application we developed there was a requirement to stop the browser back button after user logs out of the application.

The reason behind this was to stop the security risk of another user without proper permissions peeking into the earlier users screens. If you notice in many applications if the browser back is not properly handled then after the user is logged out you can re visit the site by just pressing the browser back button. This happens because the browser shows the cached page when the back is pressed. Even if you have server side code to check for the user they will not fire since the page will load from cache.

With the limited time I found a genius idea to handle this in the internet. What this javascript does is it will always try to put the user back to the last page in the history. For example, I am having a login page and a default page which I am taking a user after he logs in. You need to place the following javascript in the default page to make the above happen.





  1. <script type="text/javascript" language="JavaScript">
  2.     window.history.forward(1);
  3. </script>




Then once a user logs out from the system and if presses the back button of the browser, when the default page loads it will put the user again to login (history forward) page which is the login page. Ultimately user needs to login again to go back to the site.

Sunday, November 21, 2010

How to Set the Clock in Car Audio

After disconnecting the battery for a maintenance job, I had some clueless days while trying to reset the clock in a car audio system. Even though there should be a way to set the clock in audio systems it is bit difficult to find it without the manual of the system.

My in my scenario I found it after sometime, so thought to share it since it might help someone with the same problem.

Car audio system in which I had the issue was JVC KD-S5055.

To start the resetting you need to press and hold the “Select” button for about 5 seconds. Then a message similar to “Hour-h” will be shown in the display. Once this appears use the + and – buttons located on the left to set the hour value of the time.

Then to set the minute value you need to press the mode change buttons located on the right side. Once you press the mode change button while on the hour changing mode you will see a message similar to “Minute-m”. Then again you can use the + and – buttons to set the minutes portion of the time.

After successfully setting both hour portion and minute portion you can press the Select button again to save the changes made to he clock.

Additionally if you need the system to show the time when the device is switched on you can press the Display button located below the Select button. This will show the current time instead of the Radio/CD/Track information.

Hope this helps.

Wednesday, November 17, 2010

Sending the Same Letter to Different People with their Details

Today a friend of mine needed some help from me on sending the same letter to different people while addressing the letters differently. This can be easily achieved by using Word Mail Merge feature.

Since I am having Word 2010 installed in my machine this post will list the steps required in Word 2010.

1. To start the process type in your letter and click on Mailings on the Word 2010 ribbon.

2. Click on Start Mail Merge and select Letters.

3. Then you need to select the people you need to send the letter to. To do that you have three options Type List, Use Existing List or Select from Outlook contacts. In this post I will use the first option.

4. When you click Type new List… you will get a window in which you can create a list of users with their details as shown in the following screenshot. For simplicity I will only create 2 users.

When you are done creating the list of users click ok so you will be prompted with a save window. Save it for later use since you may need the list for future use.

5. Then in your letter go to the appropriate places you need to place the differencing information, for example I need to put the address of the receiver after the text The Manager. To do so place the cursor on the required location and press on Address Block icon on the ribbon.

From the Insert Address Block window you can customize the way the address is printed on the letter. For example if you do not want to print the company name of the recipient then you can remove the checkmark on the Insert company name field. Preview pane will show you a preview of the actual data you have in your contact list. For the simplicity I will use the default options.

When you press ok you will see something similar to the following appearing in your letter, which will be the placeholder for the address block.

Following similar method but using the Insert Merge Field icon I did add the title and the last name of the recipient into the body section of the letter as you see below.

6. Preview your work by clicking Preview Results icon, by clicking the navigation buttons on the preview results pane you can navigate through your contacts to see the actual letters that will be created. For example below screenshot shows the letter for Mr. Withana with the changes for him.

7. When you are satisfied you can finish the merge with three options, in my case I will use the first option again.

As the final output of the merge I got one new document with the 2 letters addressed to the recipients i had in my contact list as shown in the following screenshot.