Thursday, March 21, 2019

Embedding a Visio Diagram in SharePoint Online using Visio JavaScript API

Why?

Couple of reasons,
  1. Time taken to load the diagram using Visio Web Access web part is very high.
  2. Microsoft no longer is recommend to use Visio Services with SharePoint Online.


We no longer recommend using Visio Services (also called Visio Web Access)  or the Visio Web Access Web Part with SharePoint Online. These features will be retired from Office 365 and SharePoint Online. We will stop Visio Services and stop supporting the Visio Web Access Web Part in September 2018.
Note   In SharePoint Server, these features will be supported in accordance with the Microsoft Lifecycle Policy.
Use Visio Online from now on. Visio Online is your choice for future solutions in SharePoint Online. Visio Online is a new way to view, edit, and share Visio diagrams on the web. For more information, see View, create, and edit a diagram in Visio Online and Visio Online help.



Steps followed

  1. Edit the page you want to add the diagram.
  2. Insert Script Editor web part into the page
  3. Click on the "EDIT SNIPPET" and paste the following code
    1. Replace the value of the url with the "Embed URL" of the Visio  Online document


Only reason why I used the above approach is to hide the toolbars and borders.

You can use the following approach as well.

  1. Just copy the "Embed Code" of the Visio Online document



  1. Copy  that into an "Embed Code" snippet in a page.

Thursday, June 18, 2015

99X Technology wins Great Place To Work award for 3 consecutive years


We, 99X Technology, won the Great Place To Work award for the third consecutive year recently. It is indeed a fantastic feeling to be a part of this achievement as an employee. To achieve this award for 3 consecutive years is a phenomenal effort, in my opinion.

We are the only Sri Lankan IT company to be listed for three consecutive years as one of Sri Lanka's top 20 Best Companies to Work For. Not only that, we are also the first and only Sri Lankan company to be named one of Asia's 25 Best Workplaces in the small and medium-sized workplaces category.

During this year, we secured the following awards:
·        Adjudged One of Sri Lanka's Top 20 Best Companies To Work For
·        Category Award for Best Practice in Developing (People Development)
·        Category Award for Best Practice in Employee Recognition
·        Gold in the Medium Sized Enterprise Category
·        Adjudged One of the Top 25 Best Small and Medium-Sized Workplaces in Asia for 2015


Here is the complete list of 2015’s Best Companies to Work For in Sri Lanka: http://lmd.lk/sri-lankas-best-companies-to-work-for-2015/

Thursday, May 28, 2015

Taxonomy hidden list is not synced after updating terms in termstore

Problem: After updating terms in term store, the value is not reflected in the list view. But in edit form it shows the updated term value.

Solution: Having done some investigation, figured out that the, TaxonomyHiddenList for the site collection has not been updated by the “Taxonomy Update Scheduler” timer job.
In order to sync the list manually, ran the following PS command.

$site = Get-SPSite "site collection url"
[Microsoft.SharePoint.Taxonomy.TaxonomySession]::SyncHiddenList($site)


Thursday, May 08, 2014

Configure SSL for SharePoint 2013

I am not going to reinvent the wheel here.There is a very nice post on this topic.
http://blogs.msdn.com/b/fabdulwahab/archive/2013/01/21/configure-ssl-for-sharepoint-2013.aspx
PS: Performed the steps in Windows Server 2008 R2 without any issues even though the post is targeted for Windows Server 2012

Sunday, November 04, 2012

How to re associate list workflows with lists after a migration in SharePoint 2010

Recently I had been exercised on migrating a sub site into a root web in a different site collection.One of the major issue, out of many, was none of the list work flows were working.

After further investigations, figured out that the issue was due to old list Id’s that were associated with the workflows from the source site which I exported.

Follow the steps below to re associate new list Id’s with the workflow using MS SharePoint Designer.

Step 1: Open the site in SPD

Step 2: Locate the workflow you want to re associate with new list Id's (See image below)

blogpost-workflow-1

Step3: Change the 4 list Id’s numbered in below image with the new Id’s

blogpost-workflow-2

  • DocLibID
    • The list Id for the workflow definitions lists (This is a hidden list and you can use SharePoint manager to get the list id)-Refer the image below

blogpost-workflow-3

  • ListID
    • The list Id that needs to associate with the workflow
  • TaskListID
    • "Workflow Tasks" list Id
  • HistoryListId
    • "Workflow History" list Id

Saturday, March 17, 2012

Colombo SharePoint Camp 2012


This is surely going to be a quite a different experience for some of the SharePoint geeks in the community.Simply because, we are planning to have one kind of a hands on experience with SharePoint.

More info at http://www.colombosharepointcamp.com/

Saturday, November 05, 2011

In pursuit with the world’s largest jigsaw puzzle

DSC06474
One of my ambitions is to do the worlds largest jigsaw puzzle (called LIFE) which is 24000 pieces in future.In doing so I have started the miniature version of LIFE which is 3000 pieces.Currently I have completed quarter of it which is around 700-800 pieces.Planning to complete this end of the year if time permits to do so.
Here is the full image of LIFE after you complete it.

Here is my last puzzle.

Friday, October 21, 2011

Configuring Forms Based Authentication (FBA) in SharePoint 2010

One of my favorite configuration tasks from SharePoint 2007 is to configure multiple authentication providers. So I wanted to do the same thing in SharePoint 2010 too. Here I will be using the MSSQL database as the membership store for the users.
Steps
  1. Create MSSQL membership store
  2. Create the new web application
  3. Configure support for FBA
    1. In Central Administration
    2. In new web application
    3. In STS web service (new in SharePoint 2010)
  4. Adding user policies to the web application
  5. Login to the site
Step 1: Create MSSQL membership store
This is where all the user details going to be store.
  • Create the database
    • Run the ASP.NET SQL Server Setup Wizard located at C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe and follows the instructions.
clip_image002 clip_image004 clip_image006
clip_image008clip_image010 clip_image012
    • Once completed create a separate database user and assign that user and add the “db_owner” role.
  • Add users into the membership store
    • Launch the Visual Studio and create a web site project
    • Add a connection string pointing to the above created database
    • Launch the “ASP.NET Configuration” wizard in “Website” menu item.
    • Click on the “Security” link and select the “internet” option and add users in to the store.
clip_image014
Step 2: Create the new web application
  • Go to Central Administration > Manage web applications and click on the “New” in the ribbon
  • Set the settings in the dialog box as in the below images (Check the red boxes)
clip_image002[4]
clip_image004[4]
  • Once the web application created, create the site collection as well.
Step 3: Configure FBA support
  • Edit the web.config for the central administration in the virtual directories folder
    • Add the following entry just above the </system.web> node
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="AspNetSqlProvider" passwordAttemptWindow="10" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" description="Stores and retrieves membership data from the Microsoft SQL Server database" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<roleManager defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<clear />
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="AspNetSqlProvider" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
    • Add the below connectionString details just above the </configuration> node and put the corresponding values for the database,user id and password
<connectionStrings>
<add connectionString="Data Source=eccolw7ira;Initial Catalog=<database>;User ID=<user id>;Password=<password>" name="AspNetSqlProvider" />
</connectionStrings>
  • Edit the web.config for the corresponding site in the virtual directories folder
    • Add the following entry just above the </system.web> node.
      • Note : If the membership entry is already available , add only the missing entries (Highlighted in Yellow) from the bellow entry.
<membership defaultProvider="i">
<providers>
<add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="AspNetSqlProvider" passwordAttemptWindow="10" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" description="Stores and retrieves membership data from the Microsoft SQL Server database" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<roleManager defaultProvider="c">
<providers>
<add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="AspNetSqlProvider" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
    • Add the below connectionString details just above the </configuration> node and put the corresponding values for the database,user id and password
<connectionStrings>
<add connectionString="Data Source=eccolw7ira;Initial Catalog=<database>;User ID=<user id>;Password=<password>" name="AspNetSqlProvider" />
</connectionStrings>
  • Edit the web.config located at C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\SecurityToken
    • Add the following entry just above the </configuration> node

<system.web>
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="AspNetSqlProvider" passwordAttemptWindow="10" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" description="Stores and retrieves membership data from the Microsoft SQL Server database" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<roleManager defaultProvider="AspNetSqlRoleProvider" enabled="true" cacheRolesInCookie="false">
<providers>
<add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="AspNetSqlProvider" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
</system.web>
<connectionStrings>
<add connectionString="Data Source=eccolw7ira;Initial Catalog=<database>;User ID=<user id>;Password=<password>" name="AspNetSqlProvider" />
</connectionStrings>
Step 4: Adding user policies into the web application
  • Go to Central administration > Manage web applications and select the web application and click on the “User Ploicy” button in ribbon.
  • Click on the “Add users” link and select the “Default” as the zone and click on “Next”.
  • Type the user name in the “Users” text box and click on the People Picker icon.
  • If everything configured correctly you should see the user name get underlined in the “users” box. OR
  • Click on the “Browse” button under the users text box and type the user name in the search text box and click on the search button.
  • And you should see the user name in the search result.
clip_image002[6]
Step 5: Login to the site
  • Open the site in browser and select the “Forms Authentication” from the drop down
clip_image004[6]
  • Provide the user credentials and you should be redirected to the home page
image

Wednesday, May 18, 2011

Setting assembly version automatically when building in a Bamboo server

Scenario :
How to instruct your msbuild script to set the correct “AssemblyVersion” of your libraries using “AssemblyInfo.cs”  when building in a Bamboo server.In Puzzlepart it is vital to have the current build number and the current revision number in the assembly version of products.
Solution :
Assembly version syntax : <major version>.<minor version>.<build number>.<revision>
More info can be found here about the syntax. 
Step 1 : First you need to make sure the corresponding Build-Specific Variable are passed into the build script.
How ?
In Bamboo build configuration under the “Builder” tab you have “Options” where you can pass msbuild command line switches.
example : /p:BuildKey=${bamboo.buildKey} /p:BuildPlanName=${bamboo.buildPlanName} /p:BuildNumber=${bamboo.buildNumber} /p:Revision=${bamboo.custom.svn.revision.number}
image
Step 2 : Accessing those variables from the msbuild script
<PropertyGroup>
    <MajorVersion Condition="'$(MajorVersion)' == ''">1</MajorVersion>
    <MinorVersion Condition="'$(MinorVersion)' == ''">0</MinorVersion>
    <BuildNumber Condition="'$(BuildNumber)' == ''">0</BuildNumber>
    <Revision Condition="'$(Revision)' == ''">0</Revision>
    <BuildPlanName Condition="'$(BuildPlanName)' == ''">LocalBuild</BuildPlanName>
    <BuildKey Condition="'$(BuildKey)' == ''">NOKEY</BuildKey>


  </PropertyGroup>
Step 3 : Create the Assembly version using those properties
<PropertyGroup>
       <ComputedAssemblyName>$(MajorVersion).$(MinorVersion).$(BuildNumber).$(Revision)</ComputedAssemblyName>
</PropertyGroup>
Step 4 : Use the assembly version in “AssemblyInfo” task
<AssemblyInfo CodeLanguage="CS"
      OutputFile="$(ApplicationName)\Properties\AssemblyInfo.cs"
      AssemblyTitle="ApplicationName"
      AssemblyDescription="Description"
      AssemblyCompany=""
      AssemblyProduct="$(ApplicationName)"
      AssemblyCopyright="Copyright © "
      ComVisible="false"
      CLSCompliant="false"
      Guid="248D49F7-BC5D-4413-8E4A-98B4654B1594"
      AssemblyVersion="$(ComputedAssemblyName)" />

Monday, February 14, 2011

Arctic SharePoint Challenge 2011

The team Puzzlepart is sponsoring one of the most intriguing event you would ever going to experience during this winter.
Are you ready to take on the challenge ?
Visit http://arcticsharepointchallenge.com/ for more info and feel free to follow @SPChallenge (Dexter the Lynx challenge mascot) on twitter.

Sunday, November 14, 2010

2010 Formula 1 world champion decider at Yas Marina circuit in Abu Dhabi


What a cracking finale it will turn out to be in just a little less than 5 hours from the time I am writing this post, after the yesterday’s qualifying session at Yas Marina circuit.Theoretically all the top 4 driver’s  has a chance to become the champion but I will put this as any one of them can lose it easily.

The table bellow will show you how tight the championship race can be as the current standings.

Pos Driver Nationality Team Points
1
Fernando Alonso Spanish Ferrari 246
2 Mark Webber Australian RBR-Renault 238
3 Sebastian Vettel German RBR-Renault 231
4 Lewis Hamilton British McLaren-Mercedes 222

Sebastian Vettel scripted it perfectly at yesterday’s qualifying session by securing the pole position while his team mate Mark Webber had a worst qualifying which he managed only the 5th place in the grid.Lewis Hamilton and current championship leader Fernando Alonso secured the 2nd and 3rd place respectively.
Unless something dramatic happen the stage has been set perfectly for the Fernando Alonso to take his 3rd championship title.
There will be lot of pressure on him and he can be a hero or a zero in a matter of milliseconds.And there are so many permutations on who going to be the champion by judging the current standings.Believe me, I don’t even thinking about those combinations right now.
I can’t wait to see the start of the race and first turn of the circuit where drivers at front rows will be itching to go pass each other and take the advantage.
Since I am a Ferrari fan, my money is on two times championed Fernando Alonso but you never know, I will keep my fingers crossed.

Saturday, November 06, 2010

First ever series win in Australia

What a performance by the the Sri Lankan cricket team down under making history to win the first ever series beating Aussies(Current number 1 ranked team in the world by ICC and see the full rankings) in their own backyard.It was a real professional effort by the team and they fully deserve that win with the brand of cricket they are playing at the moment.This performance will augurs well for them in 2011 cricket world cup which is going to be held in sub continent.
This performance reminds me that,we were doing well in down under in 1995/96 tour to Australia and went onto win the world cup in 1996 which also held in sub continent.I don’t know this is a coincident or not but believe me, history repeats itself.
All kick started with the Twenty 20 win at Perth where rest of the world thought will be an impossible task for Lankans to cope with purely because of the bouncier conditions.Against the all critics they won that game convincingly.In my opinion that really did make them believing, they have a real good opportunity to beat Australians in their own backyard.
Then came back to Melbourne for the 1st ODI and pull off a miracle to comeback from 8 wickets down for just 107 runs and chased down 240 to win the game by one wicket which is one of the greatest come back of ODI’s history by Lankans.In doing so Angelo Mathews and Lasith Malinga beat the 27 years old world record for the 9th wicket partnership held by Kapil Dev and Syed Kirmani.
And then in the 2nd ODI at Sydney they script another convincing win, hence the first ever series win in down under.This was too an all round performance by the Sri Lankans and Aussies were really down and out.
Now I am looking forward to the tomorrows game at Brisbane which is a dead rubber as far as the series is concern but Lankans have a real good chance to make it a clean sweep which is not an easy task by any means against the Aussies in Australia.I am wondering how many teams have done that before.
Wishing you all the best to you Sri Lankans to achieve that feat too.
GO Lankans GO.

Wednesday, September 29, 2010

Integrating ReSharper into Visual Studio 2010

Scenario : I am running VS2008 and VS2010 in parallel in my development environment.And I had already installed ReSharper 5 before installing the VS 2010.Then I wanted to integrate the R# into VS2010.
Tried to find out how to do it by googling but to no avail.Only found out issues related to  integration issues with VS2010.
Then suddenly came to my mind that will the re installing R# help.As I re run the installer it prompted with the nice little option of changing the integration with the Visual Studio as in the bellow image.
resharper-1
When you click on the “Change” button you will get this
resharper-2
Now it’s a matter of ticking the check box for VS2010 integration and clicking the “Install” button.
Here we go, R# is at your finger tips in VS2010 now.

Sunday, September 05, 2010

SharePoint 2010 : First custom connector implementation for BCS

Today, I managed to read on BCS a bit and wanted to try out some custom connector implementation for the external systems.
Found out this code snippet from MSDN for a connector to the file system.
Managed to complete this exercise and created an external list with the External Content Type and I did see the files from the file system in the list.See bellow images.
Folder contents in file system :
source-files
External list in SP context :
list-ect
I am really impressed by this and it has already inspired me to go deep into this and hoping to create some more custom connectors for other external systems as well.
Found out lot of issues/problems while I am doing this and I just list down possible erroneous  scenarios.
  1. Business Data Connectivity Services issues
  2. Assembly deployment to the GAC
  3. Assembly information
  4. Configure Business Data Connectivity access rights
Keep those things in mind if you also get into trouble.  

Error accessing Business Data Connectivity Services in Windows 7

While I was doing some research on BCS , wanted to import a BDC model from Central Administration > Manage service applications > Business Data Connectivity Services.

As I hit the link,  following error message prompted.

 

bdc-service-error

As usual did a search on the Google and found out the following entries.

http://sensoft2000-sharepoint.blogspot.com/2010/08/error-access-services-is-unable-to.html

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=23806

Downloaded the above fix and installed.

problem solved. :)

bcs-service

More references on the issue :

http://blogs.technet.com/b/dahnesh/archive/2010/06/16/error-while-accessing-business-data-connectivity-services-on-windows-7.aspx

http://support.microsoft.com/kb/976462

http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=976462&kbln=en-us

 

Thursday, August 26, 2010

How to send Ctrl-Alt-Del key combination in remote desk top

How many times I have to search web, to find out the correct key combination to send ctrl+alt+del into remote desk top.Here it is.This will be a self note to me on this regard.From here onwards I won’t be searching the web but in my blog only, if and only if I forgot it :)

CTRL + ALT + END

CTRL + ALT + END

CTRL + ALT + END

CTRL + ALT + END

CTRL + ALT + END

Monday, July 12, 2010

Sharepoint foundation 2010 on windows 7 x64

Today,I installed Sharepoint Foundation 2010 on my laptop successfully according to this article.Downloaded the Sharepoint Foundation 2010 from here and started following the installation steps mentioned in this article.

The second step under “To set up a developer workstation” failed successfully because of this command “c:\SharePointFiles\SharePoint /extract:c:\SharePointFiles”
Here it referred to a file called “SharePoint” but the name of the downloaded application was “SharePointFoundation.exe”. So in order to pass this step I had to change the name from “SharePoint” to “SharePointFoundation” in the above command.

After that I continued with the installation steps and managed to launch the setup.exe after completing the installation of prerequisites mentioned.
In the 3rd step under the  “Step 3: Install SharePoint 2010” I select the “Server Farm” option and in the next step I selected the standalone option.I had no clue what so ever why I selected that option, but it happened for some reason and it worked.

Then I had to wait for a quite a longer time to complete the installation and prompted to run the sharepoint configuration wizard.
And finally after the configuration wizard completed, it prompted the newly created sharepoint team site.(See image at top)

Now sharepoint foundation 2010 at my finger tips so that I can start playing with it.

Sunday, July 11, 2010

My classical box guitar

Yesterday, I finished repairing my guitar which was given to me by one of my colleague, Anura.Thank you very much for giving me that and hope you won’t ask it again from me when you see the new look one.

Images before refurbishing :
View Album
I have already started lessons.Hardest part as a beginner is the tuning.Need to learn the trade sooner than later.