Sunday, 6 January 2013

Event Handler Code


        //writing the note in the notepad
        public void writeToNotepad(string strTxt)
        {
            StreamWriter strWriter = File.AppendText(@"c:\Hello.txt");
            strWriter.Write(strTxt + "\n");
            strWriter.Close();
        }
        //Db information
        public void saveData(string strUserName, string dtTime, string strDesc)
        {
            //dtTime = DateTime.Now.ToString() ;
            SqlConnection con = new SqlConnection("server=madan;uid=sa;pwd=madan@123;database=mydb");
            string sqlStr = "insert into allevents values('" + strUserName + "','" + dtTime + "','" + strDesc + "')";
            SqlCommand cmd = new SqlCommand(sqlStr, con);
            try
            {
                con.Open();
                cmd.ExecuteNonQuery();
            }
            catch (SqlException ex)
            {
            }
            finally
            {
                con.Close();
            }
        }
       /// <summary>
       /// An item is being added.
       /// </summary>
       public override void ItemAdding(SPItemEventProperties properties)
       {
           writeToNotepad("Item Adding :" + properties.ListItem.Title + " Adding time " + DateTime.Now.ToString());
           saveData("Madan", DateTime.Now.ToString(), "Item adding");
           //saveData("Madan", DateTime.Now.ToString(), "Iteam Adding");
       }
       /// <summary>
       /// An item is being updated.
       /// </summary>
       public override void ItemUpdating(SPItemEventProperties properties)
       {
           writeToNotepad("Item Updating :" + properties.ListItem.Title + " Updating time " + DateTime.Now.ToString());
           saveData("Madan", DateTime.Now.ToString(), "Item Updating");
       }
       /// <summary>
       /// An item is being deleted.
       /// </summary>
       public override void ItemDeleting(SPItemEventProperties properties)
       {
           properties.Cancel = true;
           properties.ErrorMessage = "Evening batch you dont have the delete permissions..";
       }
       /// <summary>
       /// An item is being checked in.
       /// </summary>
       public override void ItemCheckingIn(SPItemEventProperties properties)
       {
           base.ItemCheckingIn(properties);
       }
       /// <summary>
       /// An item is being checked out.
       /// </summary>
       public override void ItemCheckingOut(SPItemEventProperties properties)
       {
           base.ItemCheckingOut(properties);
       }
       /// <summary>
       /// A file is being moved.
       /// </summary>
       public override void ItemFileMoving(SPItemEventProperties properties)
       {
           base.ItemFileMoving(properties);
       }
       public override void ItemDeleted(SPItemEventProperties properties)
       {
           base.ItemDeleted(properties);
       }

Saturday, 5 January 2013

Create a Custom Feature in Site Settings Multiple Group Locations

  1. Go to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES physical location
  2. Create a folder (Ex: ManageLinks)
  3. Create the following two files

                   1. Feature.xml
                   2. Elements.xml

    4.   In  Feature.xml   Write the following code

<?xml version="1.0" encoding="utf-8" ?>
<Feature xmlns="http://schemas.microsoft.com/sharepoint/"
         Id="2294626A-735B-4CA7-B371-11848CA40348"
         Description="Manage eMail Links"
         Hidden="False"
         Title="Manage eMails"
         Scope="Web" >
   
    <ElementManifests>
        <ElementManifest Location="Elements.xml" />
    </ElementManifests>
</Feature>
        

    5. In Elements.xml Write the following code

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/" >
    <CustomAction Id="B8EA2F40-61A9-4685-9CCE-7CC4D8612B0C"
                  Title="MSN"
                  GroupId="Galleries"
                  Description="Redirecting Hotmail Account"
                  Location="Microsoft.SharePoint.SiteSettings"
                  Sequence="0">
        <UrlAction Url="http://www.microsft.com"/>

    </CustomAction>

    <CustomAction Id="88E02BDD-A84A-47B3-8335-7BD2F16A11A3"
                  Title="Yahoo"
                  GroupId="Customization"
                  Description="Redirecting Yahoo Account"
                  Location="Microsoft.SharePoint.SiteSettings"
                  Sequence="0">
        <UrlAction Url="http://www.Yahoo.com"/>

    </CustomAction>

    <CustomAction Id="158D92D0-4C0C-4B6B-82EC-9DD92C2F4BC5"
                  Title="Gmail"
                  GroupId="SiteCollectionAdmin"
                  Description="Redirecting Gmail Account"
                  Location="Microsoft.SharePoint.SiteSettings"
                  Sequence="0">
        <UrlAction Url="http://www.gmail.com" />

    </CustomAction>

</Elements>

6.  Now go to command prompt in server . of the following location

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Bin

Use the following command to Install the Feature using STSADM.

stsadm -o installfeature -name "ManageLinks"

You will get operation completed message.

Now go site home page, Click on Site Action, Click on Site Settings.


Under Site Actions, Click on Manage Site Features

Find ManageLinks Feature and Click on Activate Button.