Using ExcelTemplate Grouping

Starting in version 7.1 of ExcelWriter, you can use grouping and nesting markers to display flat data in a grouped and nested format using the ExcelTemplate object and a OOXML (.xlsx) template. Not a current ExcelWriter user? No problem: you can download a free evaluation and follow along!

Introduction

If you have hierarchical data in an Excel report, grouping the data is a good way to make it easier to read. ExcelTemplate now features grouping a nesting options that make it easy to group hierarchical data. The basic feature of ExcelTemplate grouping and nesting is removing unnecessary repeated values from a field if it is given hierarchical data in a flat format. We’ll focus on a single group in this post; for information on grouping and nesting multiple groups, you can check our documentation, and be sure to check back here for further blog posts. Advanced features such as headers and footers are also discussed in our documentation and will also be described in a future blog post.

Creating a Data Set for grouping

Though grouping and nesting is meant to show hierarchical data, the input data for a template with grouping and nesting must be in flat format. This means that a data set for nesting and grouping will have repeated values for fields that are higher in the hierarchy. In this case, salesperson José Saraiva of PostOne Bicycles is faced with sales data that looks like this: Continue reading Using ExcelTemplate Grouping

Managing SharePoint 2010 Farm Solutions with Windows PowerShell

In SharePoint 2007, you can manage solutions using the stsadm command. In SharePoint 2010, stsadm still works, but is deprecated in favor of PowerShell cmdlets. Whereas with stsadm you use a command-line switch to specify the operation to perform, with PowerShell you use separate cmdlets. Below are the list of stsadm commands and equivalent PowerShell commands for common tasks to manage a farm solution. SharePoint 2010 also includes support for sandbox solutions. While they are not discussed here, you’d use similar cmdlets to manage them as well.

When running a cmdlet, the cmdlet returns right away, but the operation will take some time to complete. If you attempt to execute one cmdlet immediately after another, you may get an error if the previous operation hasn’t finished running.

To get further information on a cmdlet, for instance add-spsolution, just type get-help add-spsolution in PowerShell. Continue reading Managing SharePoint 2010 Farm Solutions with Windows PowerShell

System.BadImageFormatException on a 64-bit Machine

The other day, one of our customers was switching over to 64-bit development machines, and encountered the following issue:

System.BadImageFormatException:

Could not load file or assembly ‘(assembly name)’ or one of its dependencies. An attempt was made to load a program with an incorrect format.

The likely reason is that you (or in this instance, our customer) are trying to load a 32-bit assembly into a 64-bit application. This can happen when you have the Any CPU platform selected.

Solution:

If your scenario sounds like the one I described, try setting your application to run in x86 mode. In Visual Studio this can be done by going to Build -> Configuration Manager…

…and setting the Platform to be x86.

CRM 4.0: Coverage Dates Contract Acts Like Number of Cases Contract

Lately we’ve discovered an issue with Contracts not allowing users to create an unlimited number of Cases against them, even though the template of the Contracts was set as Coverage Dates.
The behavior could be described as follows:
An active Contract with contract template type Coverage Dates will show contracts lines with the “available number of cases” value set to 1.  As soon as you create and resolve one Case, the “remaining cases” value becomes 0. As a result, no more Cases can be created against the Contact.
To figure out where the issue is coming from and how to fix it – we looked at the way we create our Contracts and what is involved in the process.

Let’s say you’re using a heavily customized Microsoft Dynamic CRM. One of the business requirements you may come across is the need to generate Contracts programmatically. This need might arise via the necessity of integrating CRM with other legacy systems you have or simply to ease the life of your customer service reps by letting them create new Contracts in one click. Continue reading CRM 4.0: Coverage Dates Contract Acts Like Number of Cases Contract

SharePoint 2010 Development: Getting Started


[Image via Tihomir Ignatov]

Setting up a SharePoint Development Server

Recently I wanted to start some SharePoint 2010 development, and taking Microsoft’s recommendation that developing for SharePoint be conducted on a machine that already has it installed, I set out to create development-optimized SharePoint environment.

One of the greatest tools I came across was the SharePoint 2010 Easy Setup Script. The script is a set of Windows PowerShell scripts that install and configure all the pre-requisites and products to get you developing for SharePoint in no time.

Running these scripts will install evaluation versions of: Continue reading SharePoint 2010 Development: Getting Started

5 Exciting SharePoint Apps

Choosing a SharePoint application isn’t exactly as easy as choosing one for Twitter, iPhone/iPad or Gmail—as of now, the closest the EIM behemoth comes to having a centralized marketplace is Microsoft PinPoint, which is hardly comprehensive. The majority of SharePoint apps and web parts are either sold by their individual creators or housed under a handful of big developers like CorasWorks, filtering and pinpointing (cough cough) the one you want a lengthy and inefficient process. Which isn’t to say there aren’t any good apps out there. There are plenty, but you have to look. (Or let me do the looking for you.) The following five apps stood out among the dozens I examined in terms of their usefulness, scalability and pop-factor (no dundering Windows 95-era dinosaurs here). Think I’ve missed one? Feel free to add it in the comments.

1) Loqu8 Insight

What it does: Billed as an “augmented learning” solution, this application provides its users with contextual pop-ups pulled from Bing, Google and Google Docs, foreign language translation services, LinkedIn and Salesforce while they’re in SharePoint, Outlook, Word, Excel and/or PowerPoint.

 

Example: Jerry is tasked with creating a presentation in SharePoint on how to use social media in the workplace. One problem: he doesn’t really know what this “social media stuff” is, so he activates Loqu8, selects the Bing or Google search tab in the Loqu8 pop-up window and then scrolls over those mysterious words. The window instantly populates with search results, including an article on using social media in the workplace. Cha-ching! Continue reading 5 Exciting SharePoint Apps

Add Remote Network Service Account to SQL Server

I make extensive use of virtual machines for testing purposes. I recently needed to allow the Network Service account of one of my VMs to connect to SQL Server on another of my VMs. Both machines are on the same domain, so I thought I could use the search feature on the new login dialog to find the Network Service for that machine. Unfortunately it was not so simple. I also had quite a difficult time find information about it on Google.

It turns out to be rather simple though. You just append $ to the name of the remote machine. Suppose my remote machine is on the domain “OURS”, and the machine’s name is “MINE”. Then the SQL login for the Network Service account on MINE is “OURS\MINE$”. You won’t be able to verify this with “Check Name” though. You’ll have to actually try connecting the the SQL Server from the remote machine to make sure it works properly.

Hopefully this will save someone else an hour or two of searching on Google.

Windows Server 2008 R2 domain controller: Fixing SceCli Event 1202

When running IIS, SQL Server, or SharePoint on a Windows Server 2008 R2 domain controller, you may encounter this error:

Application Event
Event ID: 1202
Source: SceCli
Security Policies were propagated with warning. 0x534 : No mapping between account names and security IDs was done.

I ran into this error when building a virtual machine to run a self contained SharePoint environment, which required that the VM also be a domain controller. This event will show up repeatedly every few minutes in the application event log. The error occurs because the domain controller doesn’t have a concept of “local” accounts and doesn’t know how to resolve some account names that are added by IIS and SQL Server to the domain controller security policy. Microsoft has released a hotfix 977695 to resolve the issue. Continue reading Windows Server 2008 R2 domain controller: Fixing SceCli Event 1202

Using PowerShell to Convert SharePoint 2007 List Templates (STP) for SharePoint 2010

This method of converting SharePoint 2007 list templates for use in SharePoint 2010 is not supported by Microsoft. Use at your own risk. Your mileage may vary.

SharePoint 2007 List Templates in SharePoint 2010

I recently needed to move a number of list templates from SharePoint 2007 to SharePoint 2010. Unfortunately, SharePoint 2010 just doesn’t support this. The only supported method to move these lists across is to upgrade the whole content database. That just wasn’t an option for me, so I needed to find another way.

Luckily, I discovered an excellent blog post by Tom (Belgium) that describes a method for getting SharePoint 2007 list templates working in SharePoint 2010.

Tom’s basic method is:

  1. Extract the contents of the STP file (it’s really just a CAB file)
  2. Edit the manifest.xml file, changing the ProductVersion element from 3 to 4
  3. Repackage the STP file

I have had success with this method for both templates for lists and document libraries. Continue reading Using PowerShell to Convert SharePoint 2007 List Templates (STP) for SharePoint 2010

Blogged