Saturday, December 25, 2010

ATM with notes facility

ATM – Automated Teller Machine usage has become part of our day to day life activities. We withdraw very often in a month right from the salary day J till account balance is zero. L

But the pain part apart from zero balance is the calculation that where I have spent it. Monthly or quarterly or annual bank account statement helps us in these calculations, but only to certain extent, as it only shows the withdrawal amount with date and time. So there has to be facility in ATM while withdrawing to enter note against each transaction.

Eg. While withdrawing cash for paying house rent then just enter a note – “House Rent” in ATM, while withdrawing.

This will make life easier with just one more step!!

Image Courtesy :clipartguide.com

Sunday, December 12, 2010

What is GREEN in GO-GREEN Midnight MARATHON?


Yesterday night, thousands of Bangaloreans came out to participate in “Bengaluru Midnight Marathon 2010”. They all were running for a noble cause i.e. to SAVE our planet EARTH with so called theme “Run for GREEN”.

Even I was present at that event. I found that “GO GREEN” marathon was violating its fundamental rule which is to... GO GREEN.

· There was lots of lighting done on road as if we were celebrating Christmas or Diwali. Such decorations were not at all required as we were running for noble cause to stop “wastage of energy”. To add to it, in spite of street lights, focus lights were arranged on the road and to supply power to these focus lights special generators were arranged. These generators were generating electricity from one of the depleting resource – “Diesel”. Not to mention, these generators were also GENERATING pollution L.

· For marathon, one side of road was blocked! Hence only one way was available for two way traffic. This lead to the heavy traffic jam. This traffic jam again added to some more pollution
L.

· The event also promoted extensive use of plastic via “Advertisement hoardings” and “water bottles served at stalls”. I agree that water bottles are getting recycled but what about the painted hoardings?
L

In nutshell, what is the need of having such “NO-GO GREEN” marathon? There are many other ways to pass message – GO GREEN!!

Like the one I am doing now.. the electronic way - through my blog!!!


Special thanks to Abhay for formating the above text!

Wednesday, May 19, 2010

MS CRM Interview Questions



Microsoft Dynamics CRM interview Questions
Here are few question to crack mscrm interview... Will post the remaining answers soon.....

Que. Explain MS CRM Architecture.
Ans The Microsoft Dynamics CRM event processing subsystem executes plug-ins based on a message pipeline execution model. A Web service method call by a plug-in or other application results in a message being created in the Microsoft Dynamics CRM platform. The message contains business entity information and core operation information. The message is passed through the event execution pipeline where it can be read or modified by the platform core operation and any registered plug-ins.
The following figure illustrates the overall architecture of the Microsoft Dynamics CRM platform with respect to both synchronous and asynchronous event processing.

The event execution pipeline processes events either synchronously or asynchronously. The platform core operation and any plug-ins registered for synchronous execution are executed immediately. Synchronous plug-ins that are registered for the event are executed in a well defined order. Plug-ins registered for asynchronous execution are queued with the Asynchronous Service and executed at a later time.
The event pipeline is divided into 5 stages, of which only 2 are available to custom developed plug-ins. Multiple plug-ins that are registered in each stage can be further be ordered (ranked) within that stage during plug-in registration using the Event Framework plug-in registration API.

Stage

Stage Name

Description

Pre-Event

BeforeMainOperationOutsideTransaction

Stage in the pipeline for plug-ins that are to execute before the main system operation. Pre-Event is raised before the platform core operation and before database transactions are started.

Pre-Event

BeforeMainOperationInsideTransaction

For internal use only.

Platform Core Operations

MainOperation

In-transaction main operation of the system, such as create, update, delete, and so on. No custom plug-ins can be registered in this stage.

Post-Event

AfterMainOperationInsideTransaction

For internal use only.

Post-Event

AfterMainOperationOutsideTransaction

Stage in the pipeline for plug-ins which are to execute after the main operation. In general plug-ins registered in this stage do not participate in the database transaction.


Whenever application code or a workflow invokes a Microsoft Dynamics CRM Web service method, a state change in the system occurs that raises an event. The information passed as a parameter to the Web service method is internally packaged up into a Request message and processed by the pipeline. The information in the Request message is passed to the first plug-in registered for that event where it can be read or modified before being passed to the next registered plug-in for that event and so on. Plug-ins receive the message information in the form ofcontext that is passed to their Execute method. The message is also passed to the platform core operation.
Plug-ins can be registered to execute before or after the core platform operation. Pre-event registered plug-ins receive the Request message first and can modify the message information before the message is passed to the core operation. After the core platform operation has completed, the message is passed to the registered post-event plug-ins. These plug-ins have the opportunity to modify the message before the final result, known as the Response, is returned to the application or workflow that invoked the original Web service method call.
Because a single Microsoft Dynamics CRM server can host more than one organization, the execution pipeline is organization specific. There is a virtual pipeline for every organization that is defined in Microsoft Dynamics CRM. Plug-ins registered with the pipeline can only process business data for a single organization. A plug-in that is designed to work with multiple organizations must be registered with each organization's execution pipeline.

Que. What is plugin context?
Ans. All plug-ins must implement the IPlugin interface. The IPlugin interface defines an Execute method, which takes anIPluginExecutionContext parameter. When a system event is fired for which a plug-in is registered, the system creates and populates the context. The system then calls the plug-in's Execute method, passing in the context as a parameter.
At run time, the execution context is passed to each registered plug-in in the pipeline when they are executed. Each plug-in in the execution pipeline is able to modify writable properties in the context. For example, given a plug-in registered for a pre-event and another plug-in registered for a post-event, the post-event plug-in can receive a context that has been modified by the pre-event plug-in. The same situation applies to plug-ins that are registered within the same stage. The context contains information that describes the run-time environment that the plug-in is executing in, information related to the execution pipeline, and entity business information.
All the properties in the class are read-only. However, your plug-in can modify the contents of those properties that are of type PropertyBag.
There are two methods provided in IPluginExecutionContext: CreateCrmService and CreateMetadataService. We recommend that plug-in code should create an instance of the Microsoft Dynamics CRM Web services through these methods. The platform provides the correct Web service URLs and network credentials for you when you use these methods. However, do not use these methods if you are writing code for a plug-in in that is used in a child pipeline. In a child pipeline, you must instantiate the CrmService or MetadataService manually. For examples about how to call these methods, see the plug-in code provided in the SDK samples.


Que. What is plugin impersonation?
Ans. Through plugin impersonation, plugin in executed with callers(user who performs operation) identity. To enable plugin impersonation, pass parameter as True in execute method.


Que. What is append and appendto functionality?
Ans. 'Append' and 'Append To' priviledges works together. 'Append To' priviledge will allow other entities to get attached with the entity. 'Append' priviledge will allow the entity to attach the records to the entity with 'Append To' privildege.
Let us understand this with simple example:
Let us say that you want to attach a note to a case then note entity should have 'Append' access right and case entity should have 'Append To' access right.
Let us take one more example to understand this. Suppose you have two custom entities called 'TestCustomEntity1' and 'TestCustomEntity2'. You want to attach the 'TestCustomeEntity2' records to 'TestCustomEntity1'records. For this you need to have 'Append' access right on 'TestCustomEntity1' entity and 'Append To' access right on 'TestCustomEntity2'.
Now guess will I be able to attach the records? Answer is "NO" because we need to create a 1:N relationship between 'TestCustomEntity1' and 'TestCustomEntity2'.
Now the user who has above mentioned access right in his security role will only be able to add 'TestCustomEntity2' records to 'TestCustomEntity1'.

Que. How many tabs you can have on form?
Ans. 8

Que. Can we increase the number of tabs?
Ans. yes

Que. What is default size of attachment you can have on email activity?
Ans. 5 mb

Que. CRM Form types
Ans. Is the user creating a new record?
crmForm.FormType == 1
Is the user updating an existing record
crmForm.FormType ==2
Is the user unable to update this record?
crmForm.FormType == 3
Is this record deactivated?
crmForm.FormType == 4
Is the user using the Quick Create form?
crmForm.FormType == 5
Is the user using the Bulk Edit form?
crmForm.FormType == 6
What is the unique ID for this record?
= crmForm.ObjectId
What type of record is this?
= crmForm.ObjectTypeCode
What type of record is this (Entity Name)?
= crmForm.ObjectTypeName
Is the user using the Outlook Client?
crmForm.IsForOutlookClient==true
Is the user using the Outlook Light Client?
crmForm.IsForOutlookLightClient == true
Is the user working On line?
crmForm.IsOnline==true
Have any fields in this form been changed?
crmForm.IsDirty==true

Que. What is 1:1, 1:N and N:N relationship?
Ans. 1:1 is self referential relationship where entity is having relationship with itself.
1:N is one to many relationship between two entities. Its used to have lookup on form.
N:N is many to many relationship between entities.

Que. What is entity moniker?
Ans. To Create N:N relationship through SDK entity moniker is used.

Que. How can we use join clause in query expression?
Ans. Using link entities

Que. What is CRM Service?
Ans, CRM Service is the main web service and it exposes Six methods such that you can write your code against CRM entities. To perform operation other than the six operations (six methods provided by mscrm) we will have to use the Execute method.

Que. What is metadata service? Where we can use metadata service?
Ans. Dictionary meaning of the word METADATA is data about data and similarly the metadata holds the information about MSCRM means the information about the entity and attribute e.g. Display name, platform name, size of the attribute, datatype of attribute etc. If we want to access any information about any entity (Dynamic or system) we will have to make use of the Metadata service. In the database we can find the metadata table and name of these table begins with keyword Metadata.

Que. What is discovery service?
Ans. The Discovery service is a global service that helps the caller to detemine the correct organization and URL. Microsoft CRM server may include several servers. Each server might be dedicated to multiple organization. Each of these servers will have dedicated web-service URL for faster operations. Internally the Microsoft CRM server allocation may change so the discovery service directs the request to its corresponding web-server for further processing.
In short the Discovery service responsibility is to find the 'CRM Service' and 'Metadata Service' urls.
The discovery service returns the list of organization URLs that the current-requester (current user) belongs to. During the Outlook client configuration discovery service shows he list of organization the current-user belongs to.
This web-service is used to create authentication ticket in case of Windows live authentication.


Que. What is dynamic entity? Its significance
Ans. Dynamic entity is used to create a Custom Entity record using SDK

Que.Where to use plugin and where to use workflow?
Ans. Synchronous Action - use plugin.
Asynchronous action - use workflow

Que. Suppose if I have 20 user license and I have created 20users. What will happen if I create 21st User?
Ans: The 21st User will get created in MSCRM but that user will be in disabled state.

Que.
What is difference between role based and object based security in MSCRM?
Ans. Code based security is entirely coded in the application itself. Role based security uses one of the authentication/authorization mechanisms of the application server. The fundamental concept in the role-based security is that of previlege, defined at design time, on a system wide basis. Each user has a set of privileges that are enabled for that user.
The other form of security applies to individual instance of objects. There is fundamental difference between an access right and a previlege: an access right is a right granted to a user on an object, but previlege is a right granted to a user on class of objects.

Que. What are new feature in CRM 4.0 ?
Ans.
  • Multiple organizations can be hosted and WSDL APIs are now unique per organization in MSCRM 4.0
  • Plugin and workflow now use the same event framework, allowing even more extensibility
  • Many to many relationship was not available in MSCRM 3.0
  • Multicurrency feature was not available in MSCRM 3.0
  • Plugin were called callout in MSCRM 3.0 and after registering the callout everytime we have reset IIS, which is not the case in Plugin.
Que. Can we modify the name of Root business unit?
Ans No, we need to re install MSCRM

• What is plugin?
• What type of plugin you have written?
• What is workflow?
• What is Queue in MSCRM?
• Have you ever done any no supported work in MS CRM?if yes what?
• Write sample query expression to retrieve data?
• Have u ever worked on Integration project? Like CRM integration with any other application.
• How will you show popup (dialog box) when you are getting any error in plugin?
• What is filtered view?

Friday, April 9, 2010

Weekend Mail :(

Today is one of the worst day of my life, as I have done something which I hate the most. Due to project severity, I have sent the following e-mail to my dear colleagues

==========================================================================

Guys,

We all know, it’s high time for our project as many items are pending for Sprint 1 release L.
So we all are working on this Sunday [10:00 AM à 5:00 PM]. Please plan your weekend accordingly and let me know if you have any issues.

Regards,
Kunal Chopra

=============================================================================

I really got upset after shooting this mail L . Guys, I am really sorry for screwing up your weekend. Professional life SUCKS..

Friday, April 2, 2010

Satyam ELTP

Satyam conducts ELTP-Entry Level Training Program for the fresher graduates joining satyam. I was part of it and those days were the memorable days of my life. That was my first step in professional world and training program was awesome. Apart from training program, it was the best place for social networking. I met different type of people over there and learned a lot from them.

Also we enjoyed a lot by breaking rules, one and most prominent rule over there was to switch off mobile phone, which everyone breaks in the washroom J.

OLA, Online assessment was major fever in ELTP. But as some great person said “Every problem has solution”; OLA’s solutions were dumps J.

Place to hangout: stupid eltp cafeteria, the convention centre, zoo near it, the west wing and the east wing

But yeah everyone has to be in business attire and no one can skip it. It sucks ….

There were some sessions on personality development, some were good but some were fun [as we played games in that session to make it more interesting].

Had fun on outing as part of ELTP, where we played games and also learned team spirit lesson.J

ELTP has also gifted me with the wonderful friends too. Missing you all..


Overall, I m missing ELTP training and want to be part of it again.

Good Friday

Today is GOOD FRIDAY and no office, so I am on top of the world.

Good friday is good because we are having off, but most of us like me don't know history behind good friday celebration.So I googled today and posting here the fact that I came to know about good friday.

Good Friday is the day on which Jesus Christ was crucified. Jesus Christ was born to Marry in Nezareth – a small town in Israel. He was the founder of Christianity, one of the world’s largest religions. Christ is believed to be an incarnation of God and his teachings are described in the New Testament.


It is believed that on Good Friday, Christ was arrested by clergymen. Hence, Good Friday is believed to be the time when Christians keep fast and celebrate the day over the birth of Christ. Some people believe that ‘Good’ in GOOD FRIDAY is referred to as ‘GOD’ and it is also a common belief that ‘GOOD’ is referred to the gift brought by sacrifice of Christ. And according to one of the views, on this day, it is Jesus who went to heaven. It is also celebrated as a festival of life and spirit. Some believe the term "Good" evolved from "God" or God's Friday.