SoftArtisans and OfficeWriter at SPC11

[Image via Seeing Stars]
The big day is almost here! The normally child-clogged streets of Anaheim’s Downtown Disney district are filling up with performance polo-clad techies, my hootsuite is filling up with #SPC11-related tweets and my liver is already filled with anxiety. From Monday, October 3rd through Thursday, October 6th, David (@davidwihl), Chris (@chrisrbaldwin), Ben (@bcjonesey) and I (@softartisans, @officewriter) will be repping OfficeWriter and our brand spanking new SharePoint Solutions Gallery at booth 630. (If you can’t read numbers, just look for the guy in the Mohawk.) If you or anyone you know has a need for generating publishable Word and Excel reports based on SharePoint data and integrating them into your business workflows, we’d love to talk to you. We’re also bowing to the swag gods and giving away a BlackBerry Playbook. To put your name in the hat, just stop by the booth.   Continue reading SoftArtisans and OfficeWriter at SPC11

NEUGS Part 9: Dress Your SharePoint Site in Corduroy and Denim

[Image via Vogue.com]

Up until third grade, my mother called all my sartorial shots, meaning that my wardrobe consisted almost exclusively of striped Hanna Anderson dresses, navy headbands that made my temples ache, patterned tights and mary janes. (And tutus. I loved tutus with an ardent fervor that was never reciprocated.) It was a life of rigid sameness whose boundaries I suddenly became aware of the day my friend Abby’s mom took us to the nearby shopping mall. In the span of maybe ten minutes, I recognized, located and broke those boundaries with the help of a bumblebee yellow pleather vest from Limited Too.

Today, I’m going to begin to show you how find your bumblebee yellow pleather vest in SharePoint. Like my mom-curated wardrobe, an out-of-the-box  SharePoint site is barebones, and its bones are even more boring than Hanna Anderson dresses. There are three main routes through which we can give it a varying amount of pizzazz: the browser route, the supported-tools route and the custom code route. We’re going to start out with an examination of route 1. Continue reading NEUGS Part 9: Dress Your SharePoint Site in Corduroy and Denim

SPC11 Tweeting Guide: How to Use Twitter to Become Rich, Attractive and Popular

[Image via  Renegade HR]

  1. Do you currently own or have you ever owned a twitter account? If yes:
  2.  Do you use it more than once a month? If yes:
  3. Do you use it as a therapist? If yes, you might want to tone it down a bit.  No one likes a whiner! If no:
  4. Do you use it because you read/heard/saw on The Today Show/Tosh 2.0 that it offers a lot of networking opportunities? If yes:
  5. Do you think you’ve taken advantage of these networking opportunities? If yes, why are you still reading this article? Tweet my headline and get back to networking! If no: read on.

So here’s the deal, would-be networkers: SPC is a huge conference stuffed with “influencers” and “inventors” and “evangelizers” and other people of import. Unless you snag a front row seat at one of their sessions or have a honing pigeon ability that tends to kick in da club, you may not be able to meet these poobahs in real life. But you can meet, shoot the breeze, swap Qwickster jokes and photos of the grandkids, divulge industry secrets etc… with them on Twitter.

“But howwwww do I do that no one likes me sad face going to cry into my spplatypus now,” you say? Here are the steps: Continue reading SPC11 Tweeting Guide: How to Use Twitter to Become Rich, Attractive and Popular

Regex and LINQPad

Recently, I was working with a customer who needed dynamic worksheet names in their Excel workbooks.  With ExcelWriter this is no problem!  Since the input was coming from the end users, I need to perform some validation on the input to make sure it conforms to Excel’s restrictions on what a valid worksheet name can be.

Valid Worksheet Names in Excel

  1. They cannot exceed 31 characters.
  2. They cannot contain the following characters: \ / ? * [ ]
  3. The name cannot be the same as another Worksheet in the Workbook.
  4. The worksheet name cannot be blank

In this case I am interested in #2 and dealing with invalid characters.  I know that Regex is the best option for this–when I’m working with Regex, I often find testing to be a pain. I‘ll open Visual Studio, create a console application and write some code to test my patterns.  Just when I was starting to get fed up with all these random testing console applications in my projects directory, I remembered an application called LINQPad that my co-work Sean told me about. LINQPad is a standalone C#/VB/F# scratch pad that can instantly execute code. The output is displayed in a rich format.

So I came up with the following Regex Pattern: Continue reading Regex and LINQPad

Creating a % of Total Column with ExcelWriter

Intro

This is the final post in a 3-part series on creating % of Total columns in Excel spreadsheets. A % of Total column displays values as a percentage of the total sum of the values in that column. I’ve already touched on how to do this with static data in Excel and also with a pivot table.

For those who might be new to ExcelWriter, ExcelTemplate, and data markers:

ExcelWriter’s ExcelTemplate method of creating Excel files is to design a template in Excel that contains data markers. Data markers are cell values that begin with %%= or %%=$ that specifies a database column, variable, or array to insert into the spreadsheet column. ExcelWriter does this by inserting a new row into the worksheet for each row of data being imported. When this happens, ExcelWriter updates the references to the cells that are affected by the row insertion.

Solution

For this exercise, I’m starting out with a simple table that’s has a Format as Table table style applied. Column C contains our sales data. Columnd D will be the % of Total column. The table header row is row 4 and the data marker row is row 5. Note that we have data markers %%=Data.StoreName and %%=Data.StoreSales to import the Store Name and Store Sales columns from the data source. The total row is computed with formulas =SUM(C5:C5) and =SUM(D5:D5). The data marker and total rows have been pre-formatted with currency and percentage number formats.

Continue reading Creating a % of Total Column with ExcelWriter

Unshackled Microsoft Declares War

[Image via Business Insider]

Microsoft Build was touted as the most important Microsoft developer conference since 1995. Believe that hype – Microsoft is alive again, unshackled by the DOJ Consent Decree that expired in May 2011. Windows 8 is only the beginning of a multi-front war Microsoft will engage in across the entire software industry.

A smiling, upbeat Steve Sinofsky portrayed a positive message throughout the overly long keynote, but the undertone was more Churchillian:

“We shall not flag or fail. We shall go on to the end. We shall fight in tablets, we shall fight on phones and servers, we shall fight with growing confidence and growing strength in the cloud, we shall defend our island, whatever the cost may be. We shall fight on the social networks, we shall fight on the desktops, we shall fight in the browsers and in the developer communities, we shall fight with interns; we shall never surrender.”

The breadth of Microsoft’s ambition is refreshing and revitalizing. The scale of Windows 8– from phones to enormous servers–is just the beginning. Microsoft’s subtle agenda is a seamless integration with the cloud. This leverages Microsoft’s strengths of being one of the very rare companies capable of making an end-to-end experience from client to corporate server to cloud under a single set of APIs, management tools and security policies. Microsoft knows and understands that integration has always been and will continue to be the key to leveraging their platform. Corporate customers have the money and desire for this integration, rather than a hodgepodge of iPads, third party security apps and inconsistent tools.

Chris Jones presented the LiveID integration. I met Chris back in 1997 at the private developer launch of IE3. IE3 was the first version of IE that was finally superior to Netscape Navigator, both in execution and extensibility. It’s exciting to see a veteran come back to attack another Silicon Valley competitor. Competition is good for the industry and the economy in general.

Let the war begin!

NEUGS Part 8: SharePoint 2010 My Sites, or So Much Depends upon a Possessive Pronoun

 

Microsoft has this sporadic obsession with co-opting generic words. Sometimes they pick words so general they obscure their entities’ functions, and sometimes they pick words that are already incredibly common in our vernacular. The poor My Site exemplifies the latter technique, made even more inane by its possessive pronoun.  You could argue that the pronoun works as an indicator of the My Site’s purpose, but I will counter that argument with: my My Site is so much cooler than your My Site, but less cool than her My Site.

Gross.

Anyways, behind the silly name lives a pretty useful product: a space that houses your personal effects, makes searchable your abilities and interests and notifies you of colleagues’ relevant activities. My Sites have a private side made up of your newsfeed and personal documents, and a public side made up of your blog, shared documents and profile. Your newsfeed and profile are stored on the My Site Host site collection and your content is stored on your individual My Site site collection, but you access them all from the same place.

Your My Network

When you navigate to your MS, you’ll be dumped on your Newsfeed, which tracks the public SharePoint activities of any colleagues you’re following, kind of like a Facebook wall. You add/remove colleagues to follow by clicking “My Colleagues” from your Newsfeed. You edit your other Newsfeed settings (interests, email notifications, types of activities followed) within your “Edit Profile” settings.

Your My Content

All of the documents and images you upload and blog posts you write are kept here. Documents can be uploaded to a private library (“Personal Documents” or a public library “Shared Documents.” If you haven’t set up your blog yet, you can create it within My Content. You can also add other web parts to this page—I added a links web part with links to some of my colleagues’ mysites, the marketing team site and the companywide portal.

Your My Profile

If you work for a big organization, this is the My Site’s most useful component. By default, it has space for your job title, status updates, contact information, topics you’d like to be asked about, recent activities, where you fall in your team’s organization chart, and things you have in common with a given viewer (eg you and Barnum Smith are both members of the StarCraft All-Stars Club). Each field’s contents is indexed by SharePoint’s search engine, so if I need to find a colleague who knows Tagalong, I can just search “tagalong” and the relevant employee(s) will pop up.  Different people within your company will see different portions of your profile; you can see what is visible to whom by choosing from the list of options under “View My Profile as seen by.”

NEUGS Part 7: (SharePoint) Listomania

Definition:
An all-purpose definition of a list is: a collection of items that have a common theme. Hallelujah, it’s a definition that stands in SharePoint. The purpose of a SharePoint list is to store and display actionable information in a way such that it can be analyzed, exported, sliced and diced, shared and acted upon. By information, I mean everything from birthday announcements to bugs to project stati. You presumably have a better idea than I do of what information you need, and as long as it can be referenced in a visible way, you can make it the subject of your sharepoint list.

Creating Your SharePoint List:
Okay, have that information ready? Good, because whatever it is will dictate the the type of list you’ll be creating to house it. In my case, the information is marketing tasks for the new line of vegan ice cream my company is launching. So I’m going to great a task list, and I’m going to create it within the product’s dedicated meeting workspace. Luckily for me, Tasks is one of the pre-configured list templates for the meeting workspace, but if your list type is not pre-configured in your site type, you can just go to “Lists,” and then click “create” and either find the appropriate template or choose “custom list” and design your own. As you can see, there are lots of ready-made options, grouped into function-based categories like “Collaboration,” “Communication,” “Search” and “Web Databases.”

Viewing Your SharePoint List:
After you create a list, SharePoint will display it to you in a list view, though you can shift it to a “Datasheet View,” which looks like an Excel spreadsheet. You can also add or subtract fields from your list by clicking “create column” in the ribbon or going to List Settings and adding/deleting columns.

Sharing the Contents of Your SharePoint List:
If I want to assign tasks to my fellow project members, the task list will send them an email notification once I’ve specificed their names. Workflow functionality like approval and dependency can be added to pertinent lists. Additionally, you can export lists to Excel using SharePoint’s out-of-the-box button if you just need to view the raw data or OfficeWriter if you need one-click reports in Excel and Word.

Lists vs Libraries:
A library is a type of list devoted exlusively to the storage of files and display of file information. And it’s such an important type that it gets equal billing with its progenitor.

Blogged