"The day you stop learning SharePoint is the day you stop using it."

SHAREPOINT 2010 RIBBON CUSTOMIZATION - Display a warning message box on click of Cancel button of EditForm Ribbon

One of our customer based in Singapore requested to display a warning message on click of Cancel button of an EditForm of SharePoint Foundation 2010 document library. This feature is not available OOB, you need to develop a custom feature through Visual Studio 2010 as I did.

You need to follow the below sequence of steps to achieve the above goal:-
   1)    Go to the server where your SharePoint Server/Foundation is installed.
   2)    Start Visual Studio 2010 and Create an Empty SharePoint Project.
   3)    Select the site for debugging and select “Deploy as a Sanboxed Solution.”

Now your new Empty SharePoint Project is created.
   4)    In the Solution Explorer, right click Feature folder and Select “Add Feature.”









 


5) After adding Feature, add an Empty Element by right clicking the Project and select Add -> New Item.












  

6) Select the Empty Element template and provide an appropriate name to it.



 










7)    
Open the Elements.xml under CustomRibbonElement (Empty Element template). I named the Empty Element as “CustomRibbonElement.”













  


8)   
Now in the opened Elements.xml you need to add xml code to create the custom feature.

And here is the complete code:
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <CustomAction
     Id="DisplayDialogBox"
     Location="CommandUI.Ribbon"
     RegistrationId="101"
   RegistrationType="List">
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition Location="Ribbon.DocLibListForm.Edit.Commit.Cancel"/>
      </CommandUIDefinitions>
    </CommandUIExtension>
  </CustomAction>
  
  <CustomAction Id="Ribbon.Edit.Cancel.Msgbox"
                  Location="CommandUI.Ribbon" >
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition Location="Ribbon.DocLibListForm.Edit.Commit.Controls._children">
          <Button
                Id="Ribbon.Edit.Cancel.MyButton"
                Sequence="20"
                Command="ConfirmClose"
                Image16by16="/_layouts/$Resources:core,Language;/images/formatmap16x16.png" Image16by16Top="0" Image16by16Left="-248"
                Image32by32="/_layouts/$Resources:core,Language;/images/formatmap32x32.png" Image32by32Top="-448" Image32by32Left="-288"
                LabelText="$Resources:core,cui_ButListFormCancel;"
                ToolTipTitle="$Resources:core,cui_ButListFormCancel;"
                ToolTipDescription="$Resources:core,cui_STT_ButListFormCancel;"
                TemplateAlias="o1"/>
        </CommandUIDefinition>
      </CommandUIDefinitions>
      <CommandUIHandlers>
        <CommandUIHandler Command="ConfirmClose"
                          CommandAction="javascript:if(confirm('Are you sure, you want to Cancel?')){SP.UI.ModalDialog.get_childDialog().close();}"/>
      </CommandUIHandlers>
    </CommandUIExtension>
  </CustomAction>
  
</Elements>



Now you are at the final step. Build the solution and deploy.

Please make a note here the solution will be automatically deploy to the site you selected for debugging. To deploy the solution to any web application you should use the SharePoint 2010 Management Shell.

To add and install the custom feature to any web application refer to the Microsoft technet site:
First add the solution: http://technet.microsoft.com/en-us/library/ff607552.aspxSecond install the solution: http://technet.microsoft.com/en-us/library/ff607534.aspx

Here is the output:
 












Share:

Increase SharePoint Site template and List template size (2007/2010)

You are trying to save a site or a list (with content) as a template in SharePoint 2007/2010, but it gives you this error:
"The list is too large to save as a template. The size of a template cannot exceed 10485760 bytes."
OR "The site is too large to save as template. The size of template cannot exceed 10485760 bytes.”

It is pretty easy to increase the size of template in SharePoint. This quick little stsadm command will allow to increase the template size for site and list both. Open the Windows Command Prompt and change the path to 
“C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN”\ and then type the below stsadm command: 

stsadm -o setproperty -pn max-template-document-size -pv 524287999 


The above command will allow you to save the site/list to 500 MB. Increasing the size beyond 500 MB will not allow you to do so, it will throw an error. 
Just remember the default size is 10MB (10485760).
Well the above script is applicable for MOSS 2007, now lets see the script for SharePoint 2010.
 

For SharePoint 2010, open Windows PowerShell and type the below command:

$intTemplateSize=524287999
$svcWebService= [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$svcWebService.MaxTemplateDocumentSize = $intTemplateSize
$svcWebService.Update()
Share:

Delete InfoPath Published Columns or Hidden Columns

Some of you may have encountered the problem of deleting the InfoPath published columns. These columns are actually published as Content Types, so better we call them as content types. A custom column is easy to delete using OOB feature but deleting an InfoPath published column is pain in the arse. Below is a small script that will help you delete the InfoPath published columns.

Note:
The below PowerShell Script can be use to delete any type of column - custom, InfoPath, or hidden

function Delete-WorkflowColumn ($webURL, $listName, $columnName)
    {
        #Setup variables from the user input
        $web = Get-SPWeb $webURL
        $list = $web.Lists[$listName]
        $column = $list.Fields[$columnName]
       
        #Make sure the column is not hidden or read only
        $column.Hidden = $false
        $column.ReadOnlyField = $false
        $column.Update()

        #Delete column and dispose of the web object
        $list.Fields.Delete($column)
        write-host "Deleted column"
        $web.Dispose()
    } //Press Enter

Delete-WorkflowColumn -webURL http://pro1:4444/sites/test -listName "EmpList" 

-columnName "EmpAddress"
//Press Enter

That's All... You are Done !!!




Share:

SharePoint-StackExchange Moderator

Author's Profile

My photo
India
A SharePoint Enthusiast working as a Lead Solution Architect for an IT Software & Consulting Company in Mumbai. I believe in giving back to the community through which I also learn and develop and eventually grow as an individual and professional. This blog is a small contribution to the community where I live in and may help someone who is seeking knowledge like me.

Popular Posts

Powered by Blogger.

Contact Form

Name

Email *

Message *

Total Pageviews