Skip to main content

Custom Ribbon Action Apps For SharePoint Online/O365 :



Open Visual Studio 2013> Select Option > App For SharePoint > OK



right click on on Newly created Solution > Add New Item





Select ribbon Option > 


Click ok


Modify the element .xml  based on your requirement 

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction Id="23527d0d-e924-4838-94be-ee2e1a347210.Download Bulk Files"
                RegistrationType="List"
                RegistrationId="101"
                Location="CommandUI.Ribbon"
                Sequence="10001"
                Title="Invoke &apos;Download_Bulk_Files&apos; action">
    <CommandUIExtension>
      <!-- 
      Update the UI definitions below with the controls and the command actions
      that you want to enable for the custom action.
      -->
      <CommandUIDefinitions>
        <CommandUIDefinition Location="Ribbon.Library.Actions.Controls._children">
          <Button Id="Ribbon.Library.Actions.Download Bulk FilesButton"
                  Alt="Download Bulk Files"
                  Sequence="100"
                  Command="Invoke_Download Bulk FilesButtonRequest"
                  LabelText="Download Bulk Files"
                  TemplateAlias="o1"
                  Image32by32="_layouts/15/images/placeholder32x32.png"
                  Image16by16="_layouts/15/images/placeholder16x16.png" />
        </CommandUIDefinition>
      </CommandUIDefinitions>
      <CommandUIHandlers>
        <CommandUIHandler Command="Invoke_Download Bulk FilesButtonRequest"
                          CommandAction="~appWebUrl/Pages/ClientWebPart.aspx?{StandardTokens}&amp;SPListItemId={SelectedItemId}&amp;SPListId={SelectedListId}"/>
      </CommandUIHandlers>
    </CommandUIExtension >
  </CustomAction>
</Elements>




Write Client side Code  

<title></title>

    <script type="text/javascript" src="../Scripts/jquery-1.9.1.min.js"></script>
    <script type="text/javascript" src="/_layouts/15/MicrosoftAjax.js"></script>
    <script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
    <script type="text/javascript" src="/_layouts/15/sp.js"></script>


    <script type="text/javascript">
        // Set the style of the client web part page to be consistent with the host web.
        (function () {
            'use strict';

            alert('Downloading !');

            var clientContext;
            var listCreationInfo;
            var web;
            var list;

            clientContext = SP.ClientContext.get_current();
            web = clientContext.get_web();
            listCreationInfo = new SP.ListCreationInformation();
            listCreationInfo.set_title("Shared Documents");
            listCreationInfo.set_templateType(SP.ListTemplateType.genericList);
            list = web.get_lists().add(listCreationInfo);
            clientContext.load(list);
            clientContext.executeQueryAsync
                (
                 //function () { alert("Success!") },
                // function () { alert("Request failed") }
                  Function.createDelegate(this, successHandler),
                  Function.createDelegate(this, errorHandler)
                );

            function successHandler()
            {
                alert('pass');
            }

            function errorHandler()
            {
                alert('fail');
            }

        })();

        
    </script>


Result 

Comments

Popular posts from this blog

Business-critical processes with SharePoint and SQL

SharePoint 2010 provides the ability to connect to backend business systems, surface business data in SharePoint and make it accessible by, and useful to, employees across the organization. Almost every company of significant size uses ERP and CRM solutions to run core business processes. Over time, companies have developed detailed practices around using such systems to support vertical disciplines within the organization (e.g. product planning, financial performance management, supply-chain management, etc.),  yet challenges remain with regard to driving visibility and collaboration, based on business data, across different disciplines and teams. These challenges stem from the fact that only a fraction of employees are licensed and trained to use those backend systems, and from the high cost and complexity of integrating such systems across different functions and teams. With SharePoint and SQL, once the relevant business data is surfaced in an enterprise-wide...

Custom Actions Event Receiver

using System; using System.Collections.ObjectModel; using System.IO; using System.Runtime.InteropServices; using System.Xml; using Microsoft.SharePoint; using Microsoft.SharePoint.Administration; using Nintex.Workflow; using Nintex.Workflow.Administration; using Nintex.Workflow.Common; using System.Reflection; namespace CFSP.CustomActions.Features.WebApplication___Custom_Actions {     [Guid("07607091-449b-422b-94e4-84e6d863eb9e")]     public class WebApplication___Custom_ActionsEventReceiver : SPFeatureReceiver     {         #region Events         public override void FeatureActivated(SPFeatureReceiverProperties properties)         {             SPWebApplication parent = (SPWebApplication) properties.Feature.Parent;             AddCustomAction(parent, properties, "ReadFromPropertyBagAction.nwa");     ...

Powershell Script to Restrict Group Creation on Office 365

$GroupName = "<SecurityGroupName>" $AllowGroupCreation = "False" Connect-AzureAD $settingsObjectID = (Get-AzureADDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id if(!$settingsObjectID) { $template = Get-AzureADDirectorySettingTemplate | Where-object {$_.displayname -eq "group.unified"}     $settingsCopy = $template.CreateDirectorySetting()     New-AzureADDirectorySetting -DirectorySetting $settingsCopy     $settingsObjectID = (Get-AzureADDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id } $settingsCopy = Get-AzureADDirectorySetting -Id $settingsObjectID $settingsCopy["EnableGroupCreation"] = $AllowGroupCreation if($GroupName) { $settingsCopy["GroupCreationAllowedGroupId"] = (Get-AzureADGroup -SearchString $GroupName).objectid }  else { $settingsCopy["GroupCreationAllowedGroupId"] = $GroupName } Set-AzureADDirectorySetting -Id $...