Showing posts with label SharePoint. Show all posts
Showing posts with label SharePoint. Show all posts

3.11.2016

SharePoint Online - Promoted Links Nuances



  1. By default it will create a very limited view of the tiles that only spans horizontally. It will be limited to a maximum of 30 items. You also can not modify this view. To get around this maximum item limitation create a NEW standard view. Modify the new view to meet your needs.
  2. The tiles will only scroll horizontally. A simple fix for this is to add the following CSS to a custom page via a script webpart. This will target the promoted links webpart by hiding the arrow navigation and forcing the tiles to be a bit more responsive.

    .ms-promlink-header{
    display:none;
    }
    .ms-promlink-body {
    width: 100%;
    }

8.05.2014

SharePoint 2010 - Search Sevice Application Problems (Event IDs: 6482, 6398, 2159)

SharePoint really has a mind of it's own. For whatever reason one day all of the search service applications stopped working. I found several articles that stated that all of the search service application  objects needed to be deleted and rebuilt. Other article indicating that the indexes needed to be cleared out. Finally, I found this one line powershell gem that fixed my issue of event IDs: 6482, 6398, 2159. Voila...all the event errors stopped.


Get-SPEnterpriseSearchServiceInstance -Local | Start-SPEnterpriseSearchServiceInstance

http://social.msdn.microsoft.com/Forums/en-US/3e24eaae-86a3-4f6c-89de-1dc38f3a55f5/the-search-application-guid-on-server-servername-did-not-finish-loading?forum=sharepointsearchprevious

7.07.2014

SharePoint 2010 - Change Column Types

Sometimes InfoPath doesn't promote fields they way you would like to the SharePoint list. For instance, currency is promoted to a list as a decimal, or a decimal is promoted as an integer. Powershell to the rescue!

Output all of the list columns
$w = Get-SPWeb "https://site";   
$l = $w.GetList("https://site/listname/");
$l.Fields | sort StaticName,Type | ?{$_.CanBeDeleted -eq $true -and $_.Hidden -eq $false} | FT Title,StaticName,Type;


Change Column Type
$w = Get-SPWeb "https://site";   
$l = $w.GetList("https://site/listname/");
 
$column = $l.Fields["Amount Due"];
#$column.AllowDeletion = $false;
#$column.Sealed = $true;
$column.Type = "Number";
$column.Update($true);
$web.Dispose();

6.25.2014

SharePoint - List Filtering on Dates

This is an excellent article that describes how to connect date field web parts to a custom list, to perform range filtering.
http://www.bjw.co.nz/developer/sharepoint-2010/101-list-filtering-by-date-range

4.25.2014

SharePoint & Antivirus

Folders to consider for exclusion in antivirus programs:

C:\Program Files\Microsoft Office Servers\14.0\Logs
C:\Program Files\Microsoft Office Servers\
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\

C:\Program Files\Microsoft SQL Server
C:\Program Files (x86)\Microsoft SQL Server

Sources:

4.10.2014

SharePoint 2010 - Enabling the Developer Dashboard

Enabling via powershell:

$contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$dashboardSetting = $contentService.DeveloperDashboardSettings
$dashboardSetting.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::On
$dashboardSetting.Update()


http://msdn.microsoft.com/en-us/library/office/gg512103(v=office.14).aspx
http://msdn.microsoft.com/en-us/library/office/ff512745(v=office.14).aspx

1.29.2014

SharePoint 2010 - InfoPath - Web Browser Settings

There is a glitch in the form rendering processes. Even with all the apparent settings set correctly in Central Admin and in the Form Library itself, the form still tries to open in the client filler application. There are some workarounds.
  1. Add this query parameter to the URL string. (Documentation)
    https://intranet.mysite.org/FormLibrary/Forms/template.xsn?OpenIn=Browser
  2. Using powershell to force the settings on the library:
       http://technet.microsoft.com/en-us/library/ff805082(v=office.14).aspx
       Set-SPInfoPathFormsService -AllowUserFormBrowserRendering $true
The actual fix for me was to just do a full publish of the form again. For whatever reason the "Quick Publish" did not correct the issue.

10.17.2013

SharePoint 2010 - Metatag Visibility Access

By default it would appear that the taxonomy information is not readily visible to all users, outside of the administrator. This list hidden list requires the following permissions:
https://servername/Lists/TaxonomyHiddenList/
  • NT AUTHORITY\authenticated users           Read  
  • System Account (SHAREPOINT\system)     Full Control 

10.16.2013

SharePoint 2010 - InfoPath Time Picker

Creating a time picker in InfoPath is a real pain. I opted to not create the sharepoint lists and just load the options manually within the form. To pull this off you need to create 4 fields.
  1. MyDateTime = DateTime control. The final location of the information. Not actually used in the form. Just a container for storage.
  2. mDatePicker = Date control.
  3. mHourPicker = Text box in drop down format. Options are 00 - 23.
  4. mTimePicker = Text box in drop down format. Options are 00,15,30,45.
The concatenation used to apply the final value to MyDateTime is actually this, not what was in the article.
concat(mDatePicker, “T”, mHourPicker, “:”, mMinutePicker, “:00″)

This article does explain it quite well.
http://www.moderntoad.com/2012/02/23/infopath-date-hour-and-minute-picker-to-replicate-sharepoint-experience/

9.30.2013

SharePoint 2010 - Chrome Compatibility Fix

This little gem works really well at getting Chrome to load javascript correctly. IE8 does not like this and will throw an error.

<!--[if !IE]><!-->
<script type="text/javascript">
   window[addEventListener ? 'addEventListener' : 'attachEvent'](addEventListener ? 'load' : 'onload', function(){
    if(_spBodyOnLoadWrapper){
      _spBodyOnLoadWrapper();
    }
   });
</script>
<!--<![endif]--> 


http://royaltutorials.com/sharepoint-2010-javascriptribbon-not-working-in-chrome/
http://withinsharepoint.com/archives/256

9.27.2013

SharePoint 2010 - Javascript Client Object Model

The following working example uses Javascript, JQuery, and CAML.

 http://msdn.microsoft.com/en-us/library/jj245759.aspx
 http://www.sharepointnutsandbolts.com/2010/10/sp2010-ajaxpart-2-using-javascript.html

======================================================

<div style="padding: 20px;">
<hr />
<h3>
Calculate Total Subs Reserved for a Single Day (Pending/Approved)</h3>
<table border="0" cellpadding="0" cellspacing="4">
  <tbody>
<tr>
    <td height="55"><input class="input-small search-query" id="targetDay" maxlength="10" name="targetDay" placeholder="YYYY-MM-DD" style="font-size: 150%;" type="text" /></td>
    <td width="80"><button class="btn btn-primary" id="btnGo" type="button">GO</button></td>
    <td width="200"><div id="totalSubsResults" style="color: red; font-weight: bold;">
</div>
</td>
  </tr>
</tbody></table>
<hr />
</div>
<script type="text/javascript">
    var allDocs;
    var GUIDSubStartDate = "_a3909a47_509a_47e3_a9e7_2e149c274379";
    var GUIDSubEndDate = "_fa7b1c2e_5d62_4edc_a3bd_aa41c9da2003";
    var GUIDSubNumber = "_c0232d29_8c9c_4c08_bf02_3ade22e7d14f";


    $('#btnGo').click(function () {
        SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);
    });
    
    
      function sharePointReady() {
        //var currentDay = '2013-10-23'
        var currentDay = $('#targetDay').val();
        
        //var ctx = new SP.ClientContext.get_current();
        var ctx = new SP.ClientContext;
        var targetList = ctx.get_web().get_lists().getByTitle('PDR');
        
        //var query = SP.CamlQuery.createAllItemsQuery();
        //allDocs = targetList.getItems(query);
        //ctx.load(allDocs);
        
        var query = new SP.CamlQuery();
        query.set_viewXml("<view><query><where><and><neq><fieldref Name='ApprovalStatus' /><value Type='Choice'>REJECTED</Value></Neq><and><leq><fieldref Name='" + GUIDSubStartDate + "' /><value IncludeTimeValue='FALSE' Type='DateTime'>" + currentDay + "</Value></Leq><geq><fieldref Name='" + GUIDSubEndDate + "' /><value IncludeTimeValue='FALSE' Type='DateTime'>" + currentDay + "</Value></Geq></And></And></Where></Query></View>");

        allDocs = targetList.getItems(query);
        ctx.load(allDocs);
        ctx.executeQueryAsync(Function.createDelegate(this, getDocsAllItemsSuccess),  Function.createDelegate(this, getDocsAllItemsFailure));
    }


    function getDocsAllItemsSuccess(sender, args) {
        var totalSubsNumber = 0;
        var listEnumerator = allDocs.getEnumerator();
        // Loop Over Records ------------
        while (listEnumerator.moveNext()) {
            var mySubsNumber = listEnumerator.get_current().get_item(GUIDSubNumber);
            //$('#detailsSubResults').append(mySubsNumber + '<br />');
            totalSubsNumber += mySubsNumber;
        }
        // Output Total ------------------
        //alert(totalSubsNumber);
        
        $("#totalSubsResults").fadeOut(500, function() {
            $(this).html("<table cellpadding=3 cellspacing=0 border=0 align=right>
<tr><td><span style=font-size:350%>"+totalSubsNumber+"</span></td><td><span style=font-size:125%>SUBS<br/>RESERVED</span></td></tr>
</table>
");
            $(this).fadeIn(500);
        });
        
    }

    function getDocsAllItemsFailure(sender, args) {
        alert('Failed to get list items. \nError: ' + args.get_message() + '\nStackTrace: ' + args.get_stackTrace());
    }
    
</script>

4.02.2013

SharePoint 2010 - List Column Deletion

This little gem saves me quite a bit of hassle when developing a new content type.

$web = Get-SPWeb https://MYSITECOLLECTION
$list = $web.Lists["PDR"]
$field = $list.Fields["ConfAttendees"]
$field.AllowDeletion = “true”
$field.Sealed = “false”
$field.Delete()
$list.Update()
$web.Dispose()

3.07.2013

SharePoint 2010 - Access Assets Database

Great microsoft article explaining the configuration steps required to enable access database sites, such as the assets tracking site.
http://technet.microsoft.com/en-us/library/ee662542.aspx

3.05.2013

PSTools - Run As User

http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx
http://technet.microsoft.com/en-us/sysinternals/bb897553
psexec -u {DOMAIN}\{USER} -p {PASSWORD} "C:\Program Files\Microsoft Office\Office14\INFOPATH.EXE" /design

2.27.2013

SharePoint 2010 - People Picker Configuration

There are so many nuances to this little tool in SharePoint. Configuration settings can only be done after installation using STSADM commands. Below are several resources I have found related to this topic.

Checking Accounts:
https://<SiteURL>/_layouts/people.aspx?MembershipGroupId=0
https://<SiteURL>/_catalogs/users/simple.aspx

People Picker Hide Inactive Accounts:
stsadm.exe -o setproperty -propertyname "HideInactiveProfiles" -propertyvalue "true"

Run These Command as SPFarm Account to Remove Old DBs:
stsadm -o sync -listolddatabases 1
stsadm -o sync –deleteolddatabases 1
stsadm -o sync –synctiming m:5 
(this is to alter the sync timing schedule in a DEV environment, default is 1 hour)

Awesome PowerShell Commands for Checking and Deleting Orphaned Users:
http://www.sharepointclowns.com/2011/04/find-and-delete-orphaned-users/

People Picker Resource Articles:
http://technet.microsoft.com/en-us/library/cc263196.aspx
http://technet.microsoft.com/en-us/library/gg602075(v=office.14).aspx
http://blog.helloitsliam.com/Lists/Posts/Post.aspx?ID=48

Resyncing an Account From AD:
Set-SPUser -Identity "<domain\username>" -web "<SiteURL>" -SyncFromAD

Manually Deleting Accounts:
1. In SQL: SELECT * FROM [WSS_Content_DatabaseName].[dbo].[UserInfo] WHERE tp_Login='DOMAIN\username'
2. Take note of the tp_ID
3. In IE, go to http://<your sharepoint site collection/_layouts/userdisp.aspx?ID=tp_ID, where tp_ID is the number you found from your select statement.
4. It should take you to the user's profile where you can click on the Delete User from Site Collection button.

2.12.2013

SharePoint 2010 - Content Type Hubs & InfoPath Forms

Here are a couple of great articles on setting up a content type hub via managed metadata service, and connecting an Infopath form to a forms library using a content type.