Tuesday, July 22, 2014

What is ASP.NET MVC

Hi Tracy,

Today we'll learn the basics of ASP.NET MVC. So let's get started.

ASP.NET MVC is a framework for building web applications using a MVC (Model View Controller). Let me put each of these in a nutshell.


  1. Model -> Responsible for Handling/using the data required for the application.
  2. View -> Responsible for presenting the data in the visual format by using the data provided by the model
  3. Controller -> controls the data retrieval from view to model and provides data from model back to view.
Tracy: Now I understand, but where do I put my business logic in M or V or C?

Good Question! The Business logic are mostly written in the Model layer but there are two types of Buisness Logic.

  1. Domain Logic
  2. Application Logic.
Domain logic goes into Model layer. Tracy: That's a no brainer

Where as Application logic is for example rule for logging or tracing or reading only a csv file are not dependent on Domain. We call them as cross cutting concerns. Which can reside in Model or controller or even better a separate layer. (Example like Microsoft Enterprise Libraries).

Tracy: Mr. MVC, Excuse me do I know you?

MVC doesn't want to say Hello World! since, Its been around with us for decades. ASP.NET MVC is a framework built using the MVC architectural pattern.

in the next post let's see what is ASP.NET MVC life Cycle. Where does it starts and what happens after the request hits the IIS.

Monday, July 14, 2014

Free Microsoft E-Books available for Download


Microsoft has released a bunch of free e-books for Free. Why would someone interested in the topic not tempted to download the e-books when its exclusively free.

Download faster. Microsoft will close the free download as it reaches 2 Million downloads. So Hurry up.

http://blogs.msdn.com/b/mssmallbiz/archive/2014/07/07/largest-collection-of-free-microsoft-ebooks-ever-including-windows-8-1-windows-8-windows-7-office-2013-office-365-office-2010-sharepoint-2013-dynamics-crm-powershell-exchange-server-lync-2013-system-center-azure-cloud-sql.aspx

Sunday, June 24, 2012

Forefront Identity Management

Forefront Identity management is a new tool I recently came across. Forefront Identity Management tool is a tool for Identity life cycle Management tool. 


Synchronizes identity from one system to various other systems example (from Active Directory to Dynamics AX or SAP or some open source ERP tools).


Cost Optimization


Organization spends a lot of money in managing credentials through employee support service in creating, removing or managing access to various portals and sub systems within the IT infrastructure.


Advantages of using FIM


It helps in managing policies and automated enablement of access management.

Thursday, February 16, 2012

Best Book for Real world Workflow Solutions


PROFESSIONAL Workflow in SharePoint® 2010
REAL WORLD BUSINESS WORKFLOW SOLUTIONS
By Wrox Publication

Modifying Web.config using SPFeatureReceiver

 SPWebConfigModification class of the Microsoft.SharePoint.Administration namespace, which allows you to dynamically register entities. These modifications are persisted in the configuration database where they function as a kind of virtual web.config that effectively serves as the final layer of the .config file stack for the SharePoint Foundation web application. The changes become effective when theSPWebService.ApplyWebConfigModifications method is called.


Add/remove Web.config files while removing the feature activated/ Deactivated Event


Note:
Works only if it runs in the user context of an administrator on the front-end web server.


Reference:
http://msdn.microsoft.com/en-us/library/bb861909.aspx 

Monday, October 25, 2010

SharePoint 2010 Enterprise Search IT Professional Training

Very good resource for Sharepoint 2010 Enterprise Search.



Sunday, October 24, 2010

Is Application development effort for Apple or Blackberry fruitful?

Apple and Blackberry are competing for market share and the new entrants are Android, Win Mobile 7, Palm Pre 2, Meego (I dnt consider Symbian a smart phone os though they claim it is). Recently Android has overtaken RIM.

The biggest strength for any Mobile platforms are Applications in their App stores. where Apple is king of the jungle. If app stores are biggest strength so are the app developers.
I was looking into and was trying to spend considerable amount of time understanding the mobile framework, but before I dig deep. I wanted to do a check if they are really benefitial. I found a big issue which scarred me away from spending time on it.

More than 50% of apps built for mobile applications are neither downloaded nor considered useful. among the rest of 50% some 25% applications are free. so the probability for someone paying to use the app i developed is very less.

I assume (based on my creativity and capability to build a Mobile app) can't charge more than 2$ per download.
If i get 100 downloads per month for max of 8 months I will earn 100*8*2=1600$ in 8 months? I dnt know how long that will continue. Also i need to target a particular mobile platform and platform OS version. I feel the strength going forward will be in the web applications even in mobile space. Web will continue to rule the connected systems.
If some one has a point to prove me wrong will be helpful. I just wanted to know from actual app developers is this the market situation? or there is lot of scope for earning potential. Nee d your inputs and comments
Thanks in Advance

DISCLAIMER. The views expressed in this presentation are the views of my own. There is no adequate research supporting this presentation has been done. It's upon the reader decision.

Sunday, October 3, 2010

Introduction to TOGAF

TOGAF -> The Open Group Architecture Framework is like a open source software.. All the TOGAF practisioners and Enterprise Architects contribute to the development of TOGAF Framework which is accepted widely. TOGAF now is at Version 9.

TOGAF has set of building blocks called references models which are used, experimemented and tested practices and framework model.

TOGAF can be used to develop or establish an enterprise architecture for a enterprise as a whole or a particular department of the enterprise.

The core of TOGAF is ADM (Architecture Development Method) which enables to create a customized framework (differentiator from other vendor provide architecture framework) aligned to the long term business strategic goals


Saturday, March 13, 2010

References for Software Architecture

www.bredemeyer.com/
www.itarchitect.co.uk/links/
www.softwarearchitectureportal.org
www.zifa.com
www.iasahome.org/
http://www.togaf.com/

Tuesday, August 18, 2009

OFF CAMPUS Ph.D/Doctorate Programme (Ph.D ASPIRANTS SCHEME) BITS Pilani

The PhD programme consists of no course work, just thesis. The guide has to be from your organization. BITS appoints a review committee to review your proposal and thesis etc. You have to clear a qualifying exam to be registered for the programme. You need to give some talks in your place of work to earn course credit. The min duration is 2 years and max is 5 years.
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, PILANI
PhD Qualifying Examination dates are Jan 22-24, 2009 and Aug 27-29,2009

OFF CAMPUS Ph.D (Ph.D ASPIRANTS SCHEME)

Under the Ph.D. aspirants scheme, BITS offers a unique opportunity for experienced personnel and professionals employed in various fields to work towards the Ph.D. degree in the settings of their respective work environments. The topic of research can emanate from the inhouse R & D needs of the host organisation and a senior professional of high academic standing from the organisation can be proposed as the supervisor. Under the scheme, professionals can seek permission to take the Ph.D. qualifying examination even before formalities of admission are completed.

Eligibility

As per the current rules, only those working professionals either possessing any BITS degree or working at a collaborating organization of BITS, Pilani are eligible to apply for off-campus PhD. Professionals eligible as per this rule, may apply as higher degree holder or through the M. Phil (Applied) route
1. Higher Degree Holders: Candidate holding a higher degree of the Institute or its equivalent, namely, M.E. / M.Phil. / M.S. /M.Pharm.
2. M.Phil. (Applied) Route: Candidate of high academic standing and proven competence not holding a degree equivalent to a higher degree of BITS, provided he can submit technical and professional documents giving evidence indicating that he has acquired knowledge equivalent to one of the higher degrees of the Institute, and acceptance of the same by the Institute

Admissions Modality

1. The Candidate has to apply in the prescribed application form available from the Admissions Officer. BITS, Pilani.
Following information and documents have to be enclosed with the application form:
i) Candidates holding a formal higher degree of BITS or its equivalent (M.E./M.Pharm./M.Phil./M.S.) and opting to take Qualifying Examination on the course package of this degree should submit the following:
· Mark sheet, the list and syllabus of each course prescribed for the fulfillment of the higher degree.
· List of prescribed textbooks for each course.
· Final examination question paper for each course indicating the level of subject treatment
ii) Professionals of high standing and proven competence holding only a first degree and not holding a higher degree(M. Phil. Apply Route).
Should identify the Higher Degree of BITS and its prescribed course package in which Ph.D. qualifying examination is to be taken and to which the professional standing can be notionally equated. As per past experience it is observed that the M.Phil. (Applied) degree of BITS is most suited for many candidates in this category. A list of courses for this degree is given below : and a minimum number of eight courses are to be chosen from the list.

Course No. Course Name
BITS E511 Computer Application I
BITS E512 Computer Application II
BITS E521 Technical Communication I
BITS E522 Technical Communication II
BITS E531 Social, Behavioral & Economic Science I
BITS E532 Social, Behavioral & Economic Science II
BITS E533 Modern Experimental Techniques I
BITS E534 Modern Experimental Techniques II
BITS E535 Management Methods & Techniques I
BITS E536 Management Methods & Techniques II
BITS E537 System Sciences and Engineering I
BITS E538 System Sciences and Engineering II
BITS E541 Chemical and Life Science I
BITS E542 Chemical and Life Science II
BITS E543 Instrumentation Engineering I
BITS E544 Instrumentation Engineering II
BITS E545 Project & Consultancy I
BITS E546 Project & Consultancy II
BITS E547 Public Administration I
BITS E548 Public Administration II
BITS E551 Physical and Mathematical Sciences I
BITS E552 Physical and Mathematical Sciences II
BITS E561 Use of English for Professional Purposes I
BITS E562 Use of English for Professional Purposes II
BITS E571 Methods & Planning & Development I
BITS E572 Methods & Planning & Development II
BITS E573 Study in Advanced Topics I
BITS E574 Study in Advanced Topics II
BITS E583 Case Studies I
BITS E584 Case Studies II
BITS E591 Science & Technology Development I
BITS E592 Science & Technology Development II
BITS E593 Reading Courses I
BITS E594 Reading Courses II
SKILL G661 Research Methodology I
SKILL G662 Research Methodology II

Read the course descriptions for above courses in Section VI of BITS Bulletin to arrive at the correct course package.
For each of the course identified in the above package, technical documents, published papers and reports prepared by the candidate in his professional capacity have to be compiled and submitted. The course-wise documents are examined and a pronouncement of suitability for the purpose of Ph.D. Qualifying examination is made.These documents together with some prescribed readings will broadly form the syllabus.

Additional Information to be Submitted

a) The proposed place of work and availability of facilities for research work along with organizational consent. Normally this has to be the place of work of the candidate.

b) Summary of your high professional standing and research competence. List papers and books published.

c) Tentative details of proposed topic of research and supervisor in the format given below:
Name of the candidate
Organization proposed as place of work
Proposed supervisor Name :
Qualification :
Designation :
Organization :
His affiliation with the candidate's organization :
Proposed topic of research
Objective of the proposed research
Background of proposed research
Methodology/work plan
Literature references
Major facilities needed for research work

d) Bio-data of the proposed supervisor, his consent and no objection from his organization.

2. Normal last dates for submission of completed application
forms are:

I Semester : 5.00 PM on 30th June
II Semester : 5.00 PM on 30th November

3. If found suitable, the candidate may be asked to come for interaction before being permitted to appear in the Ph.D. Qualifying Examination consisting of written and oral test.

4. If a candidate passes the qualifying examination , he has to immediately seek admission to the Ph.D. programme and register in each semester thereafter.

Qualifying Examination

All candidates have to pass the Ph.D. Qualifying Examination, normally held at Pilani. The Ph. D. qualifying examination consists of three written papers (open book) , each normally of 3 hours
duration, and an oral test. The examination will test the student's knowledge, grasp of fundamentals and his ability to use them in unknown situations. It is designed to be equivalent to the standard,
content and intent of the comprehensive examination of the named higher degree courses.

Sample question papers of some courses may be seen to know the type of questions asked in the qualifying examination.

For On-campus students, the admission to the PhD programme shall be provisional in the first instance and will be confirmed only after passing the qualifying examination within the prescribed time.
Whenever a candidate is unable to pass the qualifying examination within the prescribed time he will automatically be disqualified from the programme.

Topic of research

Topic of research can evolve from the nature of work involvement of the candidate in his own organization.

Supervisor is normally a person who is holding a Ph.D. degree from a reputed institution or who has research publications in reputed national and international journals to his credit. And has preferably supervised doctoral level research work. Proposed supervisor has to be a person from the candidate's own organization or an associated organization located in the same place. Only one supervisor is stipulated by the Academic Regulations and there is no co-supervisor.

Course Structure

Pattern 1 : For candidates who pass Ph.D. Qualifying examination before admission.
BITS E793T Practice Lect. Series I
BITS C790T Independent Study
BITS E794T Practice Lect. Series II
BITS C799T PhD Thesis

NOTE:

All operations are governed by the 'Academic Regulations' of the Institute. For admission in the Second Semester the registration starts in that semester. In pattern 1 above, it is assumed that the topic of research, locale of research work and supervisor are approved by the Research Board in the First semester and for the 2nd pattern it is assumed that the candidate completes the higher degree requirements at the end of First semester of second year and clears the Ph.D. qualifying examination immediately after this. He submits his research proposal and the Research Board approves the same before the beginning of first semester of third year.

Registration in Ph.D. Thesis is done only after the Topic of Research, locale of research work and Supervisor are approved by the Research Board. Registration in Thesis can be advanced/postponed
depending on the approval by the Research Board. Registration has to be continued till the submission of thesis.

Before submission, the exact title of the thesis has to be approved by the Research Board.

A minimum of 50 units are to be completed to fulfill the eligibility requirements of a higher degree of BITS.

Duration

No minimum time limit is prescribed. Registration in prescribed minimum number of units and components normally requires 4-6 semesters depending on the time of approval of topic/supervisor and
locale of research work by the Research Board. An upper limit of ten semesters for submission of thesis starting from the semester subsequent to passing the Qualifying examination is normally considered.

© Research and Consultancy Division, BITS

Sunday, May 17, 2009

Visual Studio 2010 Beta 1 download for MSDN Subscriber on (18-May-2009) tomorrow

.Net developers Visual Studio 2010 Beta 1 is getting released on 18-May-2009 for MSDN subscribers and on 20-May-2009 for general public.
Fasten your seat belts lets get our hands dirty 

Orginal Post by MSDN blogger Jihad Dannawi

Monday, May 11, 2009

Copying Folder with files into SharePoint

STEP 1

Open the Document Library into which the Folders are to be copied

    Click on Action à Open with Windows Explorer



 

STEP 2

A new window like the screen below opens. Copy the source folders ( All required folder) along with the files and paste it into this location.


Saturday, April 18, 2009

How to convert your own javascript function into inbuilt function

How to convert your own JavaScript function into inbuilt function.
Ex:
String.prototype.ReplaceAll = function(stringToFind,stringToReplace)
{
var temp = this;
var index = temp.indexOf(stringToFind);
while(index != -1)
{
temp = temp.replace(stringToFind,stringToReplace);
index = temp.indexOf(stringToFind);
}
return temp;
}

If you include the highlighted part in front of your function you can use it like inbuilt function.
Ex: content.ReplaceAll(‘Script','JavaScript');
This will work within the application.

Courtesy: Senthil Kumar Muthusamy

Tuesday, February 24, 2009

Oracle Schema Providers for VSTS 2010

Quest software has announced Oracle schema provider for VSTS 2010. Earlier VSTS 2010 supports SQL Server now quest software has introduced a tool that integrates with VSTS 2010. All these days oracle developers who work with VSTS had to do lot of manual works but this tool helps in ironing out those wrinkles.

The following are functions that can be performed
  1. Oracle code and db design change management in VSTS
  2. Generate test data
  3. Compare Schema and merge changes
  4. Automate your daily build
  5. Import your Oracle Database (offline database and design development. great feature according to me)
  6. Refactor your code
  7. Communicate with the rest of the team
  8. Track changes in TFS.

Ref: http://www.quest.com/VSTS

Friday, January 2, 2009

Highlight of Web in 2008

This video contains the highlights of services that are provided by web in 2008. Some of the features we use day in and day out and are really cool features. we hope to see more enhanced version of 2008 services and obviously few new services in 2009.



Video created by Orli Yakuel.

Monday, December 22, 2008

Better way to get informations like Survey, Feedback, Status Report

Requesting information through Email?

Tired of Consolidating the email response received with information from the mail recipients?InfoPath and Outlook 2007 there to rescue. Move all the response to a folder
and click on export to excel button in outlook 2007 to get all the
information with response from all the respondents in a excel file.

Design an InfoPath form by just dragging and dropping controls into the form.


Go to Tools Form Options Security and Trust Tab

Enable full Trust and check on Sign this form Template. If the name doesn’t appear click on create certificate.


Select File Publish and select To a list of e-mail recipients.



Add the Columns that is required to be displayed in the outlook view



Enter the list of recipients in the To list and/or CC list



Create a new folder in Outlook with folder content type as InfoPath form Items as shown in
the screen shot below



Move all the response mails to the newly created folder. You can even write a rule to
automatically move mail responses to the folder created, Click on export to excel button in Outlook 2007







Get the consolidated information in the excel file without even opening the mail responses.



Monday, October 27, 2008

Visual Studio 2010 and .NET Framework 4.0 CTP Available

Visual Studio 2010 and .Net Framework the future technology is ready for the community technology preview

Some bits of the preview

C# 4.0, Domain Specific Language feature, Functional Language features, Democratizing Application Lifecycle Management, Enabling emerging trends, Inspiring developer delight and Riding the next generation platform wave.

The overview is available here

The CTP Download is available here

Friday, July 4, 2008

First day of the month oracle SQL Query

pretty much simple way get the First day of any month using SQL Query is

select trunc(sysdate,'MONTH') from dual

Trunc Function of PL/SQL when passed with a 'Month' parameter will return the first date of a month.

instead of sysdate use the date value you want

sysdate trunc(my_birth_day,'MONTH') from My_Details

Wednesday, June 18, 2008

The Sharepoint Developer Introduction for .NET Developers

A good resource for dotnet developers for a hands on Microsoft Office Sharepoint Server 2007 Development.

There are not much developers who are experts in MOSS 2007 Developments. This is the Microsoft's step for the .net communities to gain momentum in sharepoint development.

Video Tutorials and hands on Sessions are included and are really informative.

The Sharepoint Developer Introduction for .NET Developers

Tuesday, June 17, 2008

Architect Webcast Series

Aspiring Architect Series 2008 - A Web Cast series for aspiring architects.
Checkout the following link

Architect Webcast series

Sunday, June 15, 2008

Software Patterns

Architectural Patterns

• Highest level patterns
• Determines overall system architecture and provides the skeleton for the system
• Determines and specifies the relationship, roles and responsibilities of each subsystem
• It organizes the relationship between the sub systems
Eg.. SOA, Layered Architecture

Design Patterns

Used to fine tune the overall architecture and solve problems specific to the subsystem
It does structuring components, delegating and distributing workloads and organizing the communication and creation of components

Three Categories
• Creational Pattern
• Structural Pattern
• Behavioral Pattern

Implementation Patterns or Idioms

Defines solutions specific to a language
Even if I know the syntax in a language, to do efficient implementation one should use some specific styles that the language provides.

Tuesday, June 3, 2008

Yet Another reason why Properties should be used instead of Fields


Today, I did a little experiments on Properties VS Fields. It is better to use properties especially when that property is to interact with the other DLLs or external Assemblies.


Scenario: library.library.Name is a field in my library which I refer in my winapp. I executed it worked fine. I wanted to validate Name field for special characters so I decided to change “Name” (At present a Field in library) to a property so that I could validate it in the set property.


As the member name and the return type (string) did not change I did not recompile my winapp. But I got the following exception “Field not found” as it’s a property now.



Conclusion: When you need a member to interact with the external assemblies or DLLs or EXEs make it a property instead of field. This enables you to add validators later within your class.




Tuesday, May 27, 2008

want to use Session Variables in Sharepoint?

SharePoint by default does not use session state. You need to explicitly change it in the Web.Config file of your sharepoint web application
<httpmodules>
<clear>
<add type="System.Web.Caching.OutputCacheModule" name="OutputCache">
<add type="System.Web.Security.WindowsAuthenticationModule" name="WindowsAuthentication">
<add type="System.Web.SessionState.SessionStateModule" name="Session">
</httpmodules>

and also

<pages enablesessionstate="true" enableviewstate="true" enableviewstatemac="true" validaterequest="false">

Friday, May 23, 2008

Sick of unexpected error in sharepoint? Want to see asp.net like error page with stack trace?

In the web.config of the sharepoint web application set the following settings
"<"SafeMode MaxControls=“200“ CallStack=“true">"
"<"customErrors mode=“Off“/">"

Wednesday, April 23, 2008

Steps for creating features

1. create a directory structure in visual studio as follows
Featues / "<"featuesname">" / feature.xml
Add schema to feature.xml from loc -">" web server xtn\12\template\xml\wss12.xsd
"<"feature ID=”” Title=”” Description= “” Scope = “” Hidden=”false”
"<"feature id="””" title="””" description="“”" scope="“”" hidden="”false”"">" "<"!-Note users cant activate or deactivate the feature only admin can-">"
"<"elementmanifests">"
"<"elementmanifest location="”Elements.xml”"">"
"<"elementmanifests">""<"elementmanifest location="”Elements.xml”"">"
2. Add new file Elements.xml
"<"elements">""<"elements">"
"<"module name="””" path="”url”"">"
"<"file url="””" type="”Ghostable”"">"

3. Inherit from SPFeatureReceiver class
Override the events FeatureInstalled, FeatureActivated,
Featureuninstalled, Featuredeactivated, Featureuninstalling, Featuredeactivating
4. put the DLL in GAC
5. In feature.xml ad these tags
"<"Feature ID=””
ReceiverClass=
ReciverAssembly=

Steps for Creating Item Event Handlers

  1. Open VS 2005 -> Select a class Library project -> Name it ____Handlers.
  2. Inherit the class from SPItemEventReceiver.
  3. override ItemAdded, ItemUpdated (Asynchronous Events)
    Item Adding, ItemUpdating (Synchronous Events)
  4. Install the DLL in GAC
  5. There are Two ways to register an Event Handler a. Install Features b. Through code
  6. To Register through code -> Open new console project
    Open site -> web -> get the list through code use the following method to register
  7. List.EventReceivers.Add(, , );

Friday, January 4, 2008

This Code Creates Document Library, Creates Group and users and assigns it to Sharepoint Document Library

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;

namespace DocLibCreator
{
public class DocLibCreator
{
private SPWeb web;
private SPMember _Owner;
public SPGroup Group;
private string _utCode;
public Guid ListID;

public string utCode
{
get { return _utCode; }
set {
try
{
_utCode = value;
SPUser user;
if (Group != null)
{
user = web.Site.RootWeb.EnsureUser(_utCode);
AddUsersToGroup(user);
}
}
catch (SPException e)
{
//System.Windows.Forms.MessageBox.Show(e.Message);
}
}
}



public MercureSiteCreator(SPWeb web)
{
this.web = web;

}

private SPUser GetExistingUser(string _userString)
{
//parse the string after the delimiter '#'
int delimIndex = _userString.IndexOf("#");
string userStr = _userString.Substring(delimIndex + 1);
SPUser user = null;
foreach (SPUser thisUser in web.Users)
{ //if this is current user
if (thisUser.Name.ToLower().IndexOf(userStr.ToLower()) > -1)
{
user = thisUser;
break;
}
}
return user;
}

public SPMember owner
{
get { return web.CurrentUser; }
}

private string _groupName;

public string GroupName
{
get { return _groupName; }
set
{
_groupName = value;
Group = GetSiteGroup(_groupName);

}
}

private bool AddUsersToGroup(SPUser User)
{
if (!IsUserInGroup(User, Group.Name))
{
Group.AddUser(User);
web.AssociatedVisitorGroup.AddUser(User);
web.Site.RootWeb.AssociatedVisitorGroup.AddUser(User);
return true;
}

return false;
}

private bool IsUserInGroup(SPUser user, string grpName)
{
foreach (SPGroup group in user.Groups)
if (group.Name.ToLower().Trim() == grpName.ToLower().Trim())
return true;

return false;
}
public Guid createDocLibrary( string title)
{
Nullable id = GetExistingList(web, title);
if (!id.HasValue)
id = web.Lists.Add(title, "This was created Programatically", SPListTemplateType.DocumentLibrary);
ListID = id.Value;
return id.Value;
}

private Guid? GetExistingList(SPWeb myWeb, string title)
{
foreach (SPList list in myWeb.Lists)
{
if (list.Title.ToLower().Trim() == title.ToLower().Trim())
return list.ID;
}
return null;
}

private SPGroup GetSiteGroup(string groupName)
{
SPGroup group = null;
group = GetExistingSiteGroup(web.Site.RootWeb, groupName);
if (group == null)
{
web.Site.RootWeb.SiteGroups.Add(groupName, owner, null, "");
group = GetExistingSiteGroup(web.Site.RootWeb, groupName);
}




return group;
}

private SPGroup GetExistingSiteGroup(SPWeb webs, string name)
{
foreach (SPGroup group in webs.SiteGroups)
if (group.Name.ToLower().Trim() == name.ToLower().Trim())
return group;
return null;
}


public void CreatePermissions()
{
SPRoleAssignment roleAssignment = new SPRoleAssignment(Group);
SPRoleDefinition role = web.Site.RootWeb.RoleDefinitions["Read"];

if (!roleAssignment.RoleDefinitionBindings.Contains(role))
roleAssignment.RoleDefinitionBindings.Add(role);

SPList list = web.Lists[ListID];
//Check inheritance
if (!list.HasUniqueRoleAssignments)
{
list.BreakRoleInheritance(false);
}
list.RoleAssignments.Add(roleAssignment);
list.Update();
}
}
}

Tuesday, December 4, 2007

Assigning Lookup Field's value

SPFieldLookup lkupField = listItemHelp.Fields[field.name] as SPFieldLookup;

if (lkupField != null)
{
System.Guid g = new Guid(lkupField.LookupList);
SPList lookupList = webTestSite.Lists[g];
SPQuery query = new SPQuery();
query.Query = ""
+ " " + field.value + "
";

SPListItemCollection Items = lookupList.GetItems(query);
if (Items != null && Items.Count > 0)
{
string Value = Items[0].ID + ";#" + Items[0][lkupField.LookupField];
listItemHelp[field.name] = Value;
}
}

How to initiate the stsadmin from .Net

Process p= new process();
ProcessStartInfo pi = newProcessStartInfo("stsadmin.exe");
pi.Arguments = "-o arguments"
pi.Windowstyle = ProcessWindowStyle.Hidden;
p.startInfo = pi;
p.start();

Tuesday, October 23, 2007

Google has increased the storage pool by 33%

Today when i tried to check my mails in gmail i noticed my storage size, it was over 4341.443086 megabytes (and Counting) of free storage. Its enourmous i could sense the future of online storage services. I still remember using 4 MB free mail storage service of another mail service provider but now i am using more than 4Gb of gmail services.

Sunday, August 26, 2007

New Features in Visual Studio 2008

  • .NET Framework multi targeting.
  • Setting breakpoints and Debugging through the script code and Jscript intellisense support.
  • LINQ designers and LINQDataSource Control is added.
  • Split window with Design and Source page combined.
  • Visual studio tools for office 2007 is fully integrated
  • ASP.NET AJAX controls have been added
  • Supports XAML for presentation
  • You can build applications that target Microsoft Office SharePoint Server
  • RAD tools to easily consume WCF Services (Added Workflow Activity in WF to consume a WCF service)
  • Login/Logout, Role management and profile services for windows applications
  • WF Designer and Debugger integration
  • Added IronPython Programming Language.
  • Windows Vista Look & Feel

Introduction to LINQ (Language Integrated Query)

What is LINQ?

LINQ is a new feature to be released as a language enhancement in VB 9.0 and C# 3.0. it is an Object relational mapper which enables an unified approach to query databases, XML files and text files.
LINQ bridge between data domain (Database and XML Files) and programming domain (Objects). it brings together the power of SQL or Query language into the programming languages like C# 3.0 and VB 9.0.

Different flavors of LINQ exists and they are

LINQ to SQL
LINQ to XML
LINQ to XSD (a wrapper around LINQ to XML)
LINQ to Dataset
PLINQ (for Parallel processing)
LINQ to Objects
LINQ to Entities (Included in ADO.NET VNext)

LINQ is not a compiler feature its a language feature any one can extend LINQ and customize them, Some of them are

LINQ to Sharepoint (Can be found in CODEPLEX open source community)
LINQ to Active directory

List of Feature .NET Framework

Features in .net 2.0

1. Webparts
2. Profile services
3. membership services & membership controls
4. Role management services
5. Master Pages
6. Sitemaps
7. Dataset designer (Enables to easily create strongly typed dataset and Data access layer)
8. Caching
SQL Cache dependency
SQL Cache dependency(with broker service)
Partial page caching
9. Annonymous delegates
10. Partial class
11. Generics
12. Personalization
13. Data controls (sqldatasource, xmldatasource, object datasource, etc)
14. New Provider Model
15. ASP.Net configuration tool
16. Reporting services
17. Type Forwarding

Note: There are even more features in .net 2.0

Features in .Net 3.0

1. Windows Communication Foundation ( The Unified Framework For Rapidly Building
Service-Oriented Applications )
2. Windows Presentation Foundation
3. Windows Cardspace
4. Windows Workflow Foundation (Tools and engine for building workflow-enabled apps )


Features in .Net 3.5

1. Ajax enabled controls
2. LINQ, DLINQ, BLINQ, PLINQ, XLINQ
3. LINQ to SQL, Linq to XML, Linq to datasets
4. Extension methods
5. Lambda expressions
6. Query expressions
7. Expression trees
8. Anonymous types
9. collection and object initializers
10. Typed local variables and arrays
11. LinqSqlDataSource control added
12. Enables debugging of javascript and intellisense for javascript

Scrum (Software Engineering Process)

Scrum is a process for building software. scrum is not a methodology.
scrum enables the members not to disturbed often by the management, To know where they are. Members are given the freedom to do what they want, they dont need approvals and other stuffs from the management for what they are doing because all my members are already experts.

So the management believes what ever they do will most probably give a good results. Members are assigned tasks and at every iterration all the management needs is result or the product. Each iterations in scrum is called as scrum sprint (Time Box).

Scrum assumes the team involved in the process are
- highly performing
- intelligient in their functional areas
- cross functional domain and business experts are involved
- self managing team with more responsibilities
- Project duration is small

Frequent scrum meeting among the team members (not with the management) happens to discuss what they have done and they have to do next.
Done here means Documented, implemented, tested Quality assured and Complete.

One of the member in the team is considered as Scrum master, who is responsible for ensuring quality assurance.