SharePointRoot


2 Comments

Quick Data Load for SharePoint 2013 Custom List

With the new SharePoint 2013 custom list ‘Quick Edit’, Microsoft have removed the (very cool) DataSheet view – which used a Microsoft-Access ActiveX plug-in.

This would be for cross-browser compatibility – and other devices – but it’s left a bit of a gap with regard to editing multiple rows.

Specifically, when needing to upload rows and rows of data – such as from Microsoft Excel – case in point, with a spreadsheet I was emailed by a client.

There’s a simple step – using Microsoft Access 2013 (desktop tool).

Here’s the basics :

  • Create your SharePoint list – with the columns you need.
  • Eg.  Name, StateCode, Suburb (list of hotels for an InfoPath lookup)
  • Click on the “List Tab” and choose “Open with Access”

image

  • When prompted, choose to “Link to data” – NOT “Export a copy”

image

  • Flip back to your spreadsheet
  • Select the columns/rows
  • Right click – and hit “Copy” (or CTRL+C)

image

  • Back to Access
  • Highlight the cells – and click “Paste”

image

  • Takes a few seconds – and then the rows appear.

I’m using Office 365 – so takes a little longer – Melbourne –> Singapore – LOL !

image

  • Change over to SharePoint
  • Click F5 to refresh the page – too easy !

image

Hopefully that’s a useful tip for someone – cheers !


3 Comments

Sideloading of apps is not enabled on this site – Office 365

When creating an App for SharePoint 2013, there is a hidden ‘developer feature’ that must be turned on – otherwise, you will get this error (Visual Studio)

image

To turn this on for “on-prem” SharePoint 2013 – you simply need to do this :

Enable-SPFeature e374875e-06b6-11e0-b0fa-57f5dfd72085 –url http://sp.contoso.com

(Thanks to Joe Rodgers for that tip)

But, of course, it’s trickier – as you can’t run a ‘local’ PowerShell command.

I found another blog post that explained how to activate a feature on SharePoint+Office365 – thanks Kanwartej Basrai.

Here’s the full script you need to run – to activate the “developer feature” for Office365 – and thus allow you to run custom coded App’s – phew !

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

Import-Module Microsoft.Online.SharePoint.Powershell

$developerFeature = “e374875e-06b6-11e0-b0fa-57f5dfd72085″

$siteUrl = https://MYTENANT.sharepoint.com
$userName = “admin@MYTENANT.onmicrosoft.com”
$password = ConvertTo-SecureString -String ‘MyPass@word1′ -AsPlainText -Force

[Microsoft.SharePoint.Client.ClientContext]$clientContext = New-Object Microsoft.SharePoint.Client.ClientContext($siteurl)  

$clientContext.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($userName, $password)
$site = $clientContext.Site;    

$featureguid = new-object System.Guid $developerFeature    
$site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None);

$clientContext.ExecuteQuery();     

 

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

** Before you run the above script, you might have to install the ‘plug-in’ for remote connectivity – see here for info :

http://office.microsoft.com/en-au/sharepoint-help/set-up-the-sharepoint-online-management-shell-environment-HA102919087.aspx

And also – if you haven’t yet run any PowerShell commands from your local PC, make sure to “Run-As-Admin” when you open PowerShell – and execute THIS command :

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned​

Hope that helps – leave a comment if it did !

 

:-)


Leave a comment

Nintex Workflow – Error Converting Document (Conversion Job)

Within SharePoint 2010, it’s great to be able to convert a DOCX to PDF – or a bunch of other formats.

This uses the default “Word Automation Services” – which is a Service App as part of SharePoint 2010 (OOTB).

The Nintex Workflow action for “Convert Document” just needs a few parameters :

  • Source File + URL
  • File Type
  • Destination File + URL

clip_image002

However, I’ve been getting an error :

Error converting document. Conversion jobs did not complete. 1 jobs failed. 0 jobs cancelled.

An error has occurred in [WorkflowName].

Some digging about in the SharePoint Logs uncovered this gem :

Conversion jobs failed:  Input file: http://portal.dev.local/Shared%20Documents/TEST.docx; Conversion Id: 00000001-0001-1000-80a0-97d520f52b1d;

Error code: 6; Message: The file could not be downloaded from the input library due to a technical problem.  Please contact your system administrator.     (Build:23100)           

That’s not very helpful !!

BUT – there was another little tidbit – within the Event Viewer this time :

SQL Database ‘SP-Dev-PortalContent’ on SQL Server instance ‘SharePoint2010′ not found. Additional error information from SQL Server is included below.

Cannot open database “SP-Dev-PortalContent” requested by the login. The login failed.
Login failed for user ‘DEV\SP-Dev-Services’.

image

OOhhh – I think it’s a permissions problem.

When looking into SQL Server, it looks like the “Service Account” being used by the “Service App” didn’t have permission to the “Content DB”.

But – even after THAT – I’m getting another error :

There is a compatibility range mismatch between the Web server and database “SP-Dev-PortalContent”, and connections to the data have been blocked to due to this incompatibility.

This can happen when a content database has not been upgraded to be within the compatibility range of the Web server, or if the database has been upgraded to a higher level than the web server.

The Web server and the database must be upgraded to the same version and build level to return to compatibility range.

So – the next step was to grant “db_owner” permission

image

After doing that – I made sure to do an IISRESET – and then it would appear I’m “OK” with the permissions issue – and connecting to the Content DB.

I’m now getting a different error :

Error code: 65543; Message: The file could not be converted; it may be corrupt or otherwise invalid (the conversion process failed).

Please try opening the file in Microsoft Word, resaving it, and then resubmitting the file for conversion.

If this does not resolve the issue, contact your system administrator.

It would appear that there’s a regression issue/problem – after SP1 in SharePoint 2010 – which reset the “Word Automation Services” to run in SANDBOX mode.

There’s a great article on the connect.nintex.com site – explaining the steps required.

I made sure to run the following PowerShell commands :

$sp = Get-SPServiceApplication | where {$_.TypeName.Equals(“Word Automation Services”)} 

$sp.DisableSandbox = $true

$sp.Update()

And – that seemed to FIX the problem – after yet another IISRESET – finally !

** Thanks to Chris Buchanan for the final tip about another IISRESET.

Thanks a LOT SharePoint – doh !!

:-)


1 Comment

Document Information Panel error – proppanel.xsn + view2.xsl (invalid)

I was recently looking into a problem with a Document Information Panel – within Microsoft Word.

There was an error being shown as the document loaded :

Document Information Panel cannot open a new form.
The form cannot be opened. To fix this problem, contact the form designer.
Form template: http://spr/proppanel.xsn
Document Information Panel cannot open the following view: [CONTENT TYPE] Properties – Server
The following view file is not valid: view2.xsl
The .xsl file is not valid XSL.
xsl:choose must have at least one xsl:when child.

 image

Within my SharePoint feature, I was deploying a few custom columns – one of these was a CHOICE field :

<Field ID=”{a75f81c8-a860-4967-996a-0f7941b81119}” Name=”SenderLocation” Group=”SPR Columns” DisplayName=”Sender Location” Type=”Choice” FillInChoice=”TRUE” />

This was intended for a user to add the name of a “Sender Location” – I didn’t actually know the initial choices – so I didn’t include them – but the “FillInChoice” would allow them to add values over time.   

** NB. The fields works OK (in the DIP) if you don’t specify “FillInChoice” (default = false).   The DIP won’t error – just no choices selectable.

Here in lies the issue – related to the fact that you have to specify the choice values.

When you create a field via the User Interface, you get an error – SharePoint Choice fields require at least one choice.

image

As it turns out, my CHOICE field deployed via ELEMENTS.XML didn’t have any choice values.

Thus – when Microsoft Word was trying to display from this column (within the DIP), it was error’ing.

Simple answer was to make sure it included “at least one” CHOICE value – via the UI – or via my original feature :

<Field ID=”{a75f81c8-a860-4967-996a-0f7941b81119}” Name=”SenderLocation” Group=”SPR Columns” DisplayName=”Sender Location” Type=”Choice” FillInChoice=”TRUE” >
  <CHOICES>
    <CHOICE>OTHER</CHOICE>
  </CHOICES>
</Field>

So, if you have this error, make sure you include some values in the fieldef URL – it makes sense if you think about it. 

NB.  It will only error if/when the field is specified as “FillInChoice = true”

Happy SharePoint’ing !


Leave a comment

Determine Site Template ID – using Internet Explorer

Further to my previous post about how to determine a “Feature ID” using the developer tools within a web browser, you can do the same for the “Site Templates” – if you’re wanting to automate – and/or refer within PowerShell, or another SharePoint feature.

When you select “New Site”, you’re prompted for the actual Site Template to use – this uses the “Silverlight” control.

BUT – if you navigate to the following URL – you’ll see the standard HTML view – this is the page that is shown when you create a Site Collection without a Site Template type selected.

http://server/_layouts/templatepick.aspx

image

  • Click F12 to open Developer Tools – and then click on the picklist (combo box).

** You might have to click the ‘refresh’ button – after switching tabs – Collaboration, Meetings, Enterprise, etc.

  • Check the HTML for the “SELECT” tag – and the various “OPTION” buttons.
  • This will give you the NAME+ID of the Site Template.

image

Eg. This is the “US Asset Operations” Site Template – which can then be used within a script :

{06E52819-0AF2-4162-BB44-221DBA13CC50}#TU_Template_US_Asset_Operations

Nice & easy – hopefully that’s a good tip for someone – I’ll certainly use that in the future…

:-)


Leave a comment

New-SPSite error – The system cannot find the file specified

Recently, I was using some PowerShell scripts to automate the creation of a bunch of Site Collections.  

The script I have goes a little like this :

$template = Get-SPWebTemplate “STS#0″

write-host “Create SC /team/HR”
New-SPSite
https://spr/team/HR -Name “Human Resources” -OwnerAlias “SPR\fred” -SecondaryOwnerAlias “SPR\brenda” -ContentDatabase SPR_SQL_TEAMS01 -QuotaTemplate LargeSiteCollection -Language 1033 -template $template

To break this apart – the parameters are :

  • URL
  • Name = Display Name of the Site Collection
  • Owner + Secondary Owner = Site Collection Admins
  • ContentDatabase = which SQL DB to use
  • QuotaTemplate = define a sizing to the Site Collection
  • Language – to use English (1033)
  • Template = sourced from the STS#0 template (Team Site)

But – I’m getting an error – which is kinda strange – and resulting in some log-looking…

EVENT LOG :

The site /team/HR could not be created.

The following exception occurred: The system cannot find the file specified. (Exception from HRESULT: 0×80070002).

I re-tried the script – and removed the “-template” parameter – AND – it worked !

When I loaded up the Site Collection – I was prompted to select the Site Collection Template (/_layouts/templatepick.aspx)…

*hhhhmmmm*

RESOLUTION :

When executing the PowerShell command, I was logged in as a Farm Admin – so I have plenty of permissions (god-mode).

HOWEVER – the PowerShell session does not have access to the local File System – and thus cannot read the files (ONET.XML) for the Site Template – aaaahhhaaa !!

The simple answer (facepalm !) is to RUN AS ADMIN when opening the PowerShell command window.

*phew*

Thankfully, that’s ALL it was !

:-)


2 Comments

Get Feature GUID – using IE Dev ToolBar

When dealing with PowerShell, it’s often tricky to work out how to get the GUID of a SharePoint feature.

There’s an easy way to grab the GUID – from within the “Site Settings > Site Collection Features” screen.

image

  1. Within Internet Explorer – click F12 for Developer Tools.
  2. Click on the ‘arrow’ – and then choose the ‘Activate’ button for the feature you’re checking
  3. In the HTML – there is an “ID” value above the button (surrounding DIV) – this is the feature ID !

image

Just need to click on the GUID – and can do a copy+paste to a PowerShell window.

The following statement will get the details for the feature (just replace with your GUID) :

Get-SPFeature |  Where-Object {$_.Id -eq “[GUID]“}

image

The above feature is the “Open Documents in Client Applications by Default” feature – I needed the ‘DisplayName’.

This means I can have a script like THIS – this activates the feature for a specific SPSite (Site Collection).

$site = Get-SPSite https://server/site
Enable-SPFeature -Identity “OpenInClient” -Url $site.Url

Very simple solution then – to determine the “DisplayName” of a feature – using the GUID, sourced from the HTML within the page.

Hope this tip is useful to someone out there – has been very helpful for me !

:-)

Follow

Get every new post delivered to your Inbox.

Join 30 other followers