Friday, February 26, 2016

Xamarin - Behind the scene

Hi,

For a while now , I am just swinging between technologies, azure , services and now started Xamarin :). Always wanted to learn App [cross platform, as I am lazy :)]. Today on first day itself really found some cool stuff, transferred into diagram and sharing with all of you -

Reference
Hope this helps!!

Friday, April 3, 2015

Install Assembly in Old GAC

Hi,

New release  - new problems.
New release + old application -  more problems !! :(

New GAC is in world "c:\windows\Microsoft.net...." but does it mean business no longer need updated version of 3.5 assemblies and eventually developer.

 There may be multiple reasons to access to old GAC, but the visual studio (12 onwards) the command prompt takes to new GAC so how to install in old GAC.

Our old sweet GACutil.exe is still there but hidden at "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin" use this and enjoy!!

Thanks
Ruchi

Wednesday, February 18, 2015

SharePoint 2013 - Edit Item form error - Could not load XSL file. The system cannot find the file specified. (Exception from HRESULT: 0x80070002)

HI,

I have seen my colleagues struggling from this error and now I was also in same trap :(. The very common solution to this problem over internet is "Enabling publishing feature at site collection level" but in my case this does not work.
It is actually the error which is being thrown at UI. could not load xls file. so what's the solution??


The solution is right there - check your style library, it should have ItemStyle.xls  at your style library, if not there, download from any fresh sitecollection and upload , it should work -

Cheers!!


 

Saturday, January 31, 2015

Understanding .cmp , export and import in Sharepoint 2013

Hi,

I was doing some R&D to understand export functionality , found a very good blog -
http://techtrainingnotes.blogspot.com/2007/12/exploring-sharepoint-cmp-backup-files.html

Interestingly the core concept still holds true!!
ZipFile which comes with .net Framework 4.5 can not read this .cmp format :( .

their specification is way different. So still use Microsoft.Deployment.Compression.dll.

Enjoy
 

Tuesday, December 9, 2014

Life - Short span

logged in after so many time. just to write some thoughts ..going in mind..just now lost a great-great friend / mentor forever "Bhavin" https://in.linkedin.com/in/bhavinraichura.
There are very few people you always adore, you always want to work with them. and I lost one such mentor / great vision today.
Many things coming and going in mind, including the always puzzling life and how it is short or big . who decides how much long or short life some one has. for some ppl life is never ending and for some it is cut short.
 Importantly the person who is gone is gone, I do not know what happened to him but I know what happened to rest, the heart goes with them. When a daughter misses his father , when a son misses his mother, when a child misses either of the parent and when parents are there to see their child going forever.
   I just have one request to life line maker, either give some good number on life line or do not give any. why so much pain? if you want to trouble us , there are different ways why do you take person forever, we can still be together , fighting and struggling, why to vanish. or if at all Vanish ..erase complete group together do not break into pieces. There is no need to make diseases or reasons, just tell us, your time is up.
You know god it is really difficult to bear all this, simply stop doing this!

Saturday, August 2, 2014

On-Prem Data On office 365 Team site

hi,
lastly I was working on one of the common scenario with new release :) " Bringing On-Premise data to Office 365".

with all authentication problems and restriction in creating App, I was trying for OOB way. The options I had -

  • PowerBI - [No for my scene as real time was required, and this gives scheduling option latest for 1 day]
  • Excel Web Access - [ Still good , only problem was data refresh which was achieved through javascript EWA refresh]
  • Good Old JavaScript - [ The best but takes away data modeling from business user for future]

You know I am not considering Access App even as option why? there is no OOB way to sync On-Prem data. which effectively means once you created you web DB you will not get latest from On-Prem, why cause this web DB is nothing but Sql Azure DB, so no real application , until customer promise there will be no change in on-prem DB :(

So I am going ahead with EWA :(

Enjoy !!
Ruchi
- not always working in ideal world 

Friday, February 21, 2014

HTML 5 / CSS3 Questions and Answers


New and basic in HTML5 & CSS3

Hi,

Lastly I was going through HTML5 and CSS3 and found few basic and good thing.

The thing which I was working for long, without knowing their official name and sometimes clear impact.

Trying to share the same with all  in question and Answer patter J

 

Think whole HTML page as word Document, use
 

Q : What is section, article and aside?

Ans: All three are new HTML5 tags created for keeping similar items grouped in more logical way.

can replaces overuse of

the same purpose as article inside section.


Q: What is orderd, unordered , definition list?

Ans: unordered
    , ordered
      , definition

Q: What is reset Style sheet?

Ans: It erases all the style applied to a page and give designer to apply his style from scratch.

Example :  in start of page write –

Html,body,table,div,span,object,iframe…etc

Without anystyle with them they are resetting page with 0 style.

Q: Some example of CSS selectors?

Ans: Id selector (getElementByID()), class selector, child selector, sibling selector etc.

Q: What is document Flow?

Ans:  It is a system by which renderer (like browser) renders pieces of visible content on screen so that they flow one after another in predictable way.

Q: What is CSS Box Model?

Ans: A simple rectangular box which makes visible box on screen, not only but many more things like text also makes css box model. Display : block or display : none is example. It can be defined as –

·         Content area

·         Border area

·         Padding area

·         Margin area

Q: What is @Media Query?

Ans : lets developer to specify device specific properties, so for table that section will render and for phone another, No more dependency on ‘useragent’ to find out the type of browser.

@media scree and (max-width: 520px)

{

//mention your phone style here

}

Q: What is anonymous function in JavaScript?

Ans : function who does not have assigned name and can be used as return from another function,as call back function, self invoking function.

Function()

{

//code

}

Q: What is self-invoking function?

Ans: The function that are executed as soon as they defined.

Function ()

{

}();

This is important from safety of global variable as they can be accessed and overridden by any function .

Q : What is web storage?

Ans : 2 types of web storage – sessionStorage and localStorage.

 
Keep upgrading !!

Wednesday, February 12, 2014

SharePoint / microsoft Online teamsite developers Problem

Hi,
Got chance to work on SharePoint online Team site. Trying to summarize the first hand problems I faced -

  1. Correlation ID is of no use - as it is generated on server and server is not in your control.
  2. ULS viewer - no use, developer has no access to server.
  3. Cross Site publishing feature not available on team site also publishing feature depends on other features which needs web level scope.
  4.  Designer is a way to customize until developer is allowed to do so. (but at page level :))
  5. I couldn't find a simple way for backup and restore without shelling out money. [MSFT normally backup in 15 days and once your back up is restored your recent data is gone, go to 3rd party and shell out money]
  6. learn good javascript.
Will keep blog few more findings later.

keep coding!!
 

Thursday, January 23, 2014

Passed 70-332

with all my multiple IDs problems, finally able to complete 70-332 (SharePoint 2013 advanced solution ).

I really appreciate the help offered by prometric and MCP help line on sorting my IDs.

 

Friday, December 13, 2013

70-332 (advanced Soltuion of Microsoft Sharepoint Server 2013) - Part1


My notes when reading from “Michael Doyle” book –

Thanks Michael for writing such a nice book.

Below are some points which I want to remember always J . Plan is to write such point from each chapter. I hope it will help others.

Recovery time Objective - > uptime of server.

·         99.9% -> 8.76 hours in year

·         99.99% -> 53 minute in year

·         99.999%-> 6minute in year

 

Recovery Point Object- > calculation of RPO depends on-

·         Amount of data lost

·         Cost to the company of lost data

·         Cost to the company for the time to recover data.

SQL server mirror - > As per TechNet this feature is going to be removed from future version , plan to use “AlwaysOn Availability group “.Mirroring is implemented on a per-database basis and works only with databases that use the full recovery model.

 

Database mirroring maintains two copies of a single database that must reside on different server instances of SQL Server Database Engine. Typically, these server instances reside on computers in different locations. Starting database mirroring on a database, initiates a relationship, known as a database mirroring session, between these server instances. Database mirroring involves redoing every insert, update, and delete operation that occurs on the principal database onto the mirror database as quickly as possible. Redoing is accomplished by sending a stream of active transaction log records to the mirror server, which applies log records to the mirror database, in sequence, as quickly as possible. Unlike replication, which works at the logical level, database mirroring works at the level of the physical log record. Beginning in SQL Server 2008, the principal server compresses the stream of transaction log records before sending it to the mirror server.

Sql Server Clustering : two or more SQl Server node that act as a single Sql server instance. A Sql server cluster contains –

·         A network name for cluster instance.

·         One or more IP address for cluster instance.

·         A combination of one or more disk.

·         At least one sql server with one SQL server Agent, Full text search service.

·         Registry key for checkpoints across nodes and dlls for failover process.

AlwaysOn [SQL server 2012]: Database mirroring +

A database can use either “AlwaysOn” or Database mirroring, not both.

SQL server log Shipping : SQL Server Log shipping allows you to automatically send transaction log backups from a primary database on a primary server instance to one or more secondary databases on separate secondary server instances. Log Shipping can be combined with DB mirroring.

Log Shipping versus Database Mirroring –

1.       Infinite number of receivers in case of log shipping.

2.       Failover is always manual.

3.       Failover duration is slow as compared to database mirroring.

4.       Log shipping use both committed and uncommitted transactions, db mirroring just use committed transactions.

SAN [Storage Area Network]: set of disk and tape can be viewed as single entity. Accessed at file block level.

RAID Redundant Array of inexpensive Disk

RAID 0 : disk stripping as writes blocks of data across disks.

RAID 1: Disk Mirroring, requires two disk, every bit is written over two disks.

RAID 5: data stripping with parity. Data is written over 3 disks.

RAID 10: equivalent to RAID 0 +1. Two sets of disk each with RAID 0 configuration.

Wednesday, September 4, 2013

Scorecard Marketplace – A Reference Model to Deliver Dashboards on Tablets

Hi,
Its nice to be here again :). Finally I  am back to my routine looks like  :d

Want to share great news, my second paper got published .!!

It is something from windows8. which I was working lastly-- here you go

Scorecard Marketplace – A Reference Model to Deliver Dashboards on Tablets

Ruchi
 

Friday, December 28, 2012

SkypeCall from Windows8 Xaml

hi,

I got oppertunity to integrate skype call over windows8 through XAML.

Till date no SKD is avaiable to integrate this using XAML or C# in windows8. then what could be solution - ???

The simplest solution-
  • invoke web browser using XAML (I used webView control for this)
  • on page load of invoked URL write windows.location.href = callto:
Enjoy :)

Thursday, October 25, 2012

Office web App, Hello World - Agave


Office Web App

Hello world


Lastly I got chance to explore office web app. During my exploration I found it difficult to get all items, even for helloworld at one place. So trying to sum up here –

Prerequisite –

·         Office 13/15 – download here - http://superuser.com/questions/449923/office-2013-offline-installer

·         Install visual studio 2012

·         install Visual studio 2012 tools to create office web apps

All the packs are available in 32/64 bit versions.

Once you install all these you are ready to create your first web app –

Screen below shows ‘file-> new ->

 

 

 

Screen 2, after you click “OK” -
 
 

So office web app is nothing but HTML5 and javascript. The manifest.xml, keeps in information about your app. For all the old programmers –

Few Observations

1.    Office web App is html, so no COM and COM+ object.

2.    Essentially it is all about cloud / azure. Every new product/ enhancement is keeping this flavor. Which enables end user to work seamlessly from any device.

This changes the deployment options – The four possible deployment options are –

·         Market place (which is now a days de facto for almost every customization in MSFT)

·         SharePoint 2013 app catalog (wow!! finally I understood why app catalog in SPS 2013)

·         Exchange server for mail apps

·         Local folder deployment.

All this good so far – but I now with this much move to cloud I am puzzled –

How far this is going to help or where it will end?

Is that one day we will return to our local PC?

 

For more information about office web app follow MSDN blogs –

http://blogs.msdn.com/b/officeapps/

 

Friday, June 8, 2012

Changing video on mouse click for video tag in HTML5

hi,
I wanted to have TV kind of facility where I can chose video and on click of selected video, the video should display in designated area.Below is the snippet for creating TV.To achieve this, complete video tag must be re-written dynamically where value of source need to be set on every click. In below snippet test is the function invoked on mouse click within canvas

      function test(e) {

           var xPos = parseInt(e.offsetX);
           var yPos = parseInt(e.offsetY);
           DeleteNode();
           createNode();
           var viSource = document.getElementById("mySrc");
           if ((xPos>0 && xPos <136))
             if((yPos>50 && yPos<201))
             {
              viSource.src = "VideoTutorial/WindowsBlogWin8CPDemo_med_ch9.mp4";
              viSource.type = "video/MP4";
              //alert("value inside video tag::" + document.getElementById("videoDiv").innerHTML);
           }
     if ((xPos > 0 && xPos < 136))
               if ((yPos > 200 && yPos < 351)) {
                   viSource.src = "VideoTutorial/863_WinAzureForWin8Nick.mp4";
                  viSource.type = "video/MP4";
                  //alert("value inside video tag::" + document.getElementById("videoDiv").innerHTML);

               }

       }

 function DeleteNode() {
           var vDiv = document.getElementById("videoDiv");
           var videoElements = document.getElementsByTagName("video");
           if (videoElements.length > 0) {
               vDiv.removeChild(document.getElementById("myvideo"));
           }
           //alert("Div Element after deleting existing video node: "+vDiv.innerHTML);

          }

       function createNode() {
             var vDiv = document.getElementById("videoDiv");
             var videoElements = document.getElementsByTagName("video");
             if (videoElements.length == 0) {
                 var vVideo = document.createElement("video")
                 vVideo.id = "myvideo";
                vVideo.setAttribute("width", "400px");
                 vVideo.setAttribute("height", "300px");
                 vVideo.setAttribute("autoplay", "autoplay");
                 vVideo.setAttribute("controls", "controls");
                 vDiv.appendChild(vVideo);
                 var source = document.createElement("source")
                 source.id = "mySrc";
                 vVideo.appendChild(source);

             }
            //alert("Div element after creating video node: "+vDiv.innerHTML);

           }

          And the output will look like -

Enjoy

Wednesday, May 2, 2012

Metro App invoking WCF service , Simples WCF, Metro App Consuming WCF.


Metro App invoking WCF service





Hi All,



I created the very basic Metro App “Split application”. The post is can be segregated in two halves. The first one explains about the default coding which comes automatically when developer choose the template “SplitApplication” from visual Studio 2011, and second half talks about customization in data part of UI.

The first half of Story

 The default application creates data source in-memory and displays that. I consumed web service and created navigation page.

The Key learning’s are –

·         The source which is going to be binding either to dataGrid or ListView should be ObservabaleCollection

·         In GridView to make item clickable “IsItemClickEnabled” must be true.

·         Get ready to code async way.



Below is the diagram for default source code and application given –

The Flow of events for the sample split application is  ->

·         App.Xaml.cs loads the Items.xaml .

·         The item.xaml is bind to SourceData, which provides the ObservableCollection of Data.

·         GridView and ListView are in item.xaml are bind to ObservableCollections of SampleData. [The controls in xaml are using resource which are defined in StandarStyle.xaml inside common folder. The standard250X250Itemtemplate defines title and subtitle by default, modification in these resource  will have effect in display of controls.]

·         The GridView in item.xaml has IsItemClicabk true and event receiver is attached to “ItemClick’ which navigates and load to SplitPage.

My Experiment with custom WCFService

The second half of Story



Create one WCF service, which reads data from xml file and returns it.

Two public methods – GetAllBooks() and GetBookByID()

Create one page – myItems.

Goto App.xaml  write - _rootFrame.Navigate(typeof(myItems));



Add reference to custom web service.

Goto myItems.xaml.

Open “OnNaviagte”;

Bind your collection which returns ObservableCollection of object. [This will make changes to UI hence it must be in different thread] so the code is like –

Protected override void OnNavigatedTo(NavigationEventArgs e)

{

This.DefaultViewModel[“Items”] = e.Parameter;

BookStoreService.Service1Client  svr = new BookStoreService.Service1Client();

Svr.OpenAsync();

System.Threaading.Tasks.Task> result = svr.GetAllBookAsync();

Dispatcher.Invoke(Windows.UI.Core.CoreDispatcherPriority.Normal,(obj,invokeArgs) =>

{

itemGridView.ItemsSource = result.Result;

},this.null);

}

Go to Item_Click event. { this.Frame.Navigate(typeof(mySplitPage),e.Clickedtem));

From this code you got it J Add another page of type split and name it to myitemDetail.

 Do F5..You are done. !!

Friday, April 20, 2012

HTML5, Offline, AppCache, .cache = text/cahce-manifest


Hi,

Since I started on HTML5, metro and win8. The interesting things are , IndexDB, offline etc. sadly I couldn't find end-end simple how to get offline working. Below I will explain the simplest How to -

1.      Create asp.net site. Simple site given by Visual Studio.

2.      Think about the resource you want to cache, since this is simplest; I limited myself to cache one image file.

3.      Create a web application in IIS and set virtual directory.

For this web application set the MIME type

            File type = .cache

            Map to – text/cache-manifest

4.      Go to page where is defined.

5.      Modify this with  

6.      Create a file give the same name as defined in manifest=. So I am giving it simple.cache

Simple.cache should look like –



CACHE MANIFEST

CACHE:

<> (with extension and relatives ness>>



Since my cache file is simple.cache, and image file I plan to cache is “mylogo.png” (this is stored in root location for site) so the overall file is



CACHE MANIFEST

CACHE:

mylogo.png



Now run your site. Since the server is available it will run without any problem.

Now stop IIS and rerun site. This time the UI is different as it is coming under offline capability.



Now if you are starting IIS again and want to see original site delete cache from bowser setting. Without this, cached version will be displayed for this simple site.



Enjoy!!