Search This Blog

03 October 2012

My Program has ID


The term ProgId is sometimes used when you are working around the SP Data Dictionary Manager. This is the key thing that is required to fire up a calculation or a validation program. If you are developer, you can understand the term ProgId. But for non developers (or developers like me), it is just a term. Let us explore the term, to make it more clear and useful.

In a layman's language, ProgId are the Microsoft COM CLSID terms that is in readable manner (and not like normal CLSID which we come across many times, usually in the programming errors). ProgIds can be converted to CLSID with the help of Win32 API, and can be converted back by machines. Let me put it in a more clear way.

When we create a program, a CLSID or Class Id is created. CLSID is a unique id for a particular program (more specific, a software application), just like finger print for a human being. As it is 128-bit, it is not recognizable by a human being in normal cases. In order to refer a particular CLSID, a programmer associates the ProgId to the software. The CLSID is used by a computer to identify the software component or COM.

Now, the Component Object Model (COM) is binary interface which is used to implement objects. It basically does two things. First it create dynamic object, second it communicates between the processes. It is used to implement objects in separate environment, say different machines.

To summarize these heavy terms, you can imagine ProgId as Name, CLSID as Employee Id, COM is Designation, Machines as branches (Local or Global) of a Company.

  1.  Now whatever is the branch of company, if you are travelling, your designation, or scope of work won't change. That's COM.
  2. Your Employee Id will be unique to check your details as number of days attended the office, local or global. That's CLSID.
  3. You will be recognized, or called by your Name and not your Employee Id. That's ProgID.

Hope the information was sufficient for newbees to understand. Write me if it was useful.

Have a great life…..