Welcome to KnowledgeLink - The AKG Blog

Does the Change in SharePoint Deployment Business Require a Change in Employee Skills?

Posted by Rance Hitt on Wed, Aug 31, 2011 @ 11:08 AM

With more and more companies making plans to move their SharePoint platforms into an 'As a Service' environment or even cloud arrangements, what does that mean for the deployment business that so many services organizations (like AKG) have come to count on?  The truth of the matter is, that due to the ubiquitous nature of SharePoint within customer environments, 'new deployment' business was already decreasing.  The decrease in new SharePoint deployment business has been more than offset by both version upgrade and the migration business; particularly the latter.  With SharePoint 2010 being more rapidly adopted by both Federal and Commercial customers, more than Microsoft even imagined, the need for successful migration capabilities is essential to meet the current demand. 

Read More

Topics: sharepoint deployment, SharePoint 2010

SharePoint 2010 Workflow Basics - Steps and Conditions (Part 1 of 3)

Posted by Sue Hernandez on Wed, Aug 31, 2011 @ 09:08 AM

Workflow Basics – Steps and Conditions (Part 1 of  3)

Steps, Conditions, and Actions are the building blocks for any workflow using SharePoint Designer 2010. 

Steps

Steps are simply a group of one or more actions and conditions which logically go together in a single unit.  New in 2010 is also the concept of an “Impersonation Step”, which will run the step in the context of a user with higher privileges.

Steps can be nested within other steps to create Sub Steps (except Impersonation Steps - they can't be nested).

TIP:  Try to limit each step to only one Logical Set of actions.  For example, don’t Send an Email and Set a Field in the same step; however do use a Utility Action (such as a string function) and Send an Email in the same step.

Conditions

I think of Conditions as being like Rules in Outlook.  Conditions are one or more limitations you would put on running the particular action.  For example, you might wish to say Originator is domain\joeUser AND the field Authorizing Manager is Equal To domain\bossUser.

There are several types of conditions available for you to use:

  • Comparing to a field in the current list or library
  • Comparing any two data sources internal to the site
    • Does not include external data sources, such as XML files or Web Services
  • Checking the title for a specific keyword
  • Checking the created and modified, and created by and modified by fields for certain date ranges or certain people, respectively.
  • Checking to ensure the user is a valid SharePoint user
  • When workflow is created on a Document Library
    • Checking the file type
    • Checking the size of the file
  • When inside an Impersonation Step
    • Checking list item permission or permission levels

 

Part 2 and 3 of SharePoint 2010 Workflow Basics to be continued this week...

~Sue

 

Read More

Topics: SharePoint Designer, SharePoint, SharePoint 2010, SharePoint Designer 2010, Workflow

AKG is giving away an iPad 2! You Could Win With a Tweet!

Posted by Lindsay O'Bannon on Wed, Aug 31, 2011 @ 08:08 AM

AKG is giving away an iPad 2! You could win with a tweet!

A $50 iTunes Gift Card will also be included to download your preferred SharePoint App for the iPad2!

 

Enter to Win on Twitter Today! 

Read More

Topics: SharePoint, Giveaway, Tweet, Twitter, iPad 2

Sharepoint in the Cloud: Is it a Viable Enterprise Option?

Posted by Reginald Ford on Tue, Aug 30, 2011 @ 20:08 PM
I recently read an article describing SharePoint in an Enterprise Cloud. We know it as SharePoint 2010 Online. It said the option, while sounding good, has it's drawbacks. With so many other software platforms going into the Cloud, one might think the option for SharePoint to follow suite might be a viable option.  It seems that the idea is good, but the support and overall operation and maintenance is challenged. It goes even further by discussing Microsoft's Business Production Online Suite(BPOS), and how it measures up in the field of support. Apparently there are a number of limitations you don't get if you have created an onsite deployment. Interesting article that I thought was worth sharing... Follow the link below from CMS Wire and read the article for yourself! http://www.cmswire.com/cms/enterprise-cms/is-cloudbased-sharepoint-2010-a-viable-enterprise-option-006852.php.
Read More

Topics: Enterprise, Cloud, SharePoint 2010 Online

How you know SharePoint is really humming...

Posted by Andy Campbell on Tue, Aug 30, 2011 @ 12:08 PM
The other day our SharePoint consulting team visited a woman in a Federal Government agency legal department.  She had been through our user-level and advanced SharePoint training.  She was setting up a process whereby legal opinions could be generated by a virtual legal team across the country and reviewed in the HQS area.  She knew the business problem and she was going to configure the SharePoint site to support her colleagues - not us.  She was going to support her users and make changes to the site according to their needs, not us.  She just wanted to run her ideas by use to make sure she was making the best choices.  We did some brainstorming, invited her to the bi-weekly conference call where she could get advice from her counterparts across the organization, and told her how to reach us when and if she needed tier two or three help.  Three hundred people like her across the organization are busy adapting SharePoint to the needs of their workgroups and colleagues every day.  We have 19,000 busy users in this SharePoint community, and we support them with one help desk person, one technical consultant, and one trainer.  That is what SharePoint looks like when it is humming.
Read More

Topics: SharePoint, sharepoint adoption, SharePoint implementation, SharePoint training, Federal Government, SharePoint success factors

SharePoint 2010 Document Library Quick Reference Guide

Posted by Ariella Beard on Tue, Aug 30, 2011 @ 09:08 AM

As a member of AKG’s professional services team, I have collaborated on many how-to and quick reference guides as a resource for our end users. This step by step guide is focused on helping refresh your memory and learn the basic features of a SharePoint 2010 document library, including:

  • Create a document library

  • Create, edit, and delete a column

  • Create a view

  • Manage your document library permissions

  • Create, upload, read, edit a document

  • Check out and check in a document

  • Turn on versioning and view version history

  • Create an alert

  • Utilize the recycle bin.

Please feel free to download the guide if you would like. If you have any suggestions on content you would like to see added to it, please feel free to comment! Download your SharePoint 2010 Document Library Guide here.

Happy collaborating,

Ariella

AKG Professional Services

Read More

Topics: SharePoint 2010, Document Library, Quick Reference Guide

How to Display the LinkedIn Company Insider Plugin on a SharePoint 2010 Web Part Page

Posted by Janetra Meyers on Mon, Aug 29, 2011 @ 15:08 PM

This is fairly easy to accomplish:

Read More

Topics: SharePoint 2010, web part, LinkedIn, Plugin

Branch a Survey Question - Quick Tips for Site Owners

Posted by David Williams on Fri, Aug 26, 2011 @ 10:08 AM

Branch a Survey Question

TIP #1: The order of your questions is very important when doing branching. Do a test survey to ensure that your branching is working correctly.

TIP #2: Branching works best with Choice or Yes/No answer types, but can also be used with other answer types.

~David

Read More

Topics: Site Owners

Moving a large SharePoint 2007 Library with Metadata– Part 3 of 3

Posted by Cynthia Miller on Thu, Aug 25, 2011 @ 12:08 PM

Using Content and Structure to Copy a Library with Folders

Read More

Topics: SharePoint 2007, Library, Metadata, Content, Structure

FedGov Migration to SharePoint 2010

Posted by Andy Campbell on Thu, Aug 25, 2011 @ 09:08 AM
Our practice of training Federal workgroup members to be advanced SharePoint users is making a huge difference in the migration of a large Federal Agency from SharePoint 2007 to 2010.  As many who have been through migration know, it is more than just flipping a technical switch.  This organization has 1,500 SharePoint sites.  The good news is that we have 300 trained "facilitators" (advanced users) who are distributed across every office.  They are going to help with the User Acceptance Testing, broken links, and trouble shooting once the new environment comes up.  Trained in the differences between 2007 and 2010, they will in turn assist their users in making the switch.  They know their links, their users, and the technology.  For more information on how we do this, or if you are looking at a major migration, give us a call.
Read More

Topics: SharePoint 2007, SharePoint 2010, migration, SharePoint training, Federal, Government, SharePoint migration, migration methodology, enterprise migration

Check out this great Social Media Resource, Scribbal

Posted by Janetra Meyers on Wed, Aug 24, 2011 @ 20:08 PM

Scribbal provides real time up to date news and information on software, development, innovation, and social media usage reports (charts, graphs, statistics) for popular Social Media platforms such as Facebook, Twitter, Foursquare, Youtube, etc... 

Read More

Topics: Social Media, Scribbal, Foursquare, Facebook, Youtube

Moving a SharePoint 2007 list or library with Metadata – Part 2 of 3

Posted by Cynthia Miller on Wed, Aug 24, 2011 @ 16:08 PM

Using Content and Structure to Copy a List

In this example the company Holiday Calendar was created on a Source site that had access to only a few people.  Since this calendar is of general interest to the whole company, it should be moved to a site where it is visible to the whole company. The “move” of this list will be done in two steps by using the Content  and Structure feature.   First it will be copied.  After the copy has been completed and the new Calendar inspected to make sure the copy was successful, it will be deleted from the original location.

Before starting the copy, go to the site where you want the new list to reside.  Create a calendar here on the Destination Site if one does not already exist.  This will be the Destination list.

Read More

Topics: moss, MOSS 2007, lists, limitations, SharePoint 2007, list, Library, Metadata, How-to

5 Apps That Bring SharePoint to the iPad- Highlights!

Posted by Lindsay O'Bannon on Tue, Aug 23, 2011 @ 09:08 AM

I recently found this great blog post discussing the options for accessing SharePoint on an iPad. Below are the key takeaways…Visit the full initial post here.

Read More

Topics: SharePoint, ipad, ipad2

Moving a large SharePoint 2007 list or library with Metadata – Part 1 of 3

Posted by Cynthia Miller on Mon, Aug 22, 2011 @ 15:08 PM

Written by: Cynthia Miller
(This is a 3 Part Blog Post- all parts will be published this week)

Read More

Topics: moss, MOSS 2007, lists, limitations, SharePoint 2007, list, Library, Metadata, SharePoint How-

AKG's "KM Solutions Built on SharePoint" Awarded as a KMWorld Trend-Setting Product of 2011

Posted by Lindsay O'Bannon on Mon, Aug 22, 2011 @ 12:08 PM

AKG's "KM Solutions built on SharePoint" were awarded one of KMWorld Magazine’s Trend Setting Products of 2011. As featured in the September 2011 issue, AKG’s approach to building KM solutions on SharePoint includes a comprehensive strategy that goes beyond the technology to incorporate a unique user adoption strategy. AKG builds solutions with the users, translating the way they work into SharePoint.

Read More

Topics: SharePoint, User Adoption, KMWorld, KM, Awards

Adding Users to a SharePoint Group- Quick Tips for Site Owners

Posted by David Williams on Mon, Aug 22, 2011 @ 11:08 AM
Adding Users to a SharePoint Group:
 

TIP #1:  Click on the icon to check if a user name is correct, or click on to browse the address book.

TIP #2:  When adding to a group, the group must already be created.

TIP #3:  It is a Best Practice to add users to groups when at all possible, instead of giving users permissions directly.

~David

Read More

Topics: sharepoint best practices, SharePoint, Group, SharePoint Tips, Site Owners

AKG’s Most Popular Resource: SharePoint 2010 Basic Features Guide

Posted by Charnece Lundy on Thu, Aug 18, 2011 @ 10:08 AM

As an AKG trainer I have designed and created many quick reference guides as resources for my end users to take away from our sessions. I create all sorts of customized training materials and present for clients via live webex, recorded sessions, and in person classroom settings.

Read More

Topics: SharePoint, User Adoption, Training, quick reference guides, 2010

How To Connect to LinkedIn from SharePoint 2010

Posted by Janetra Meyers on Wed, Aug 17, 2011 @ 10:08 AM

Written by: Janetra Meyers

The steps to accomplish this are fairly easy and the HTML portion is explained in detail at the Developer LinkedIn web site: https://developer.linkedin.com/.

1. Log in to LinkedIn
2. Click on the APIs navigation link if you are not already on the page after logging in
3. Select 'Javascript API' from the left navigation pane
4. Follow the instructions provided by LinkedIn (note: I had to use the domain of my development server when registering for the API, localhost did not work for my SharePoint site)
5. After receiving the API key, create a blank HTML file (the scripts are from the LinkedIn site instructions):

<html>
<title>LinkedIn test</title>
<head>
<script type="text/javascript" src="http://platform.linkedin.com/in.js">
  api_key: your_api_key_goes_here
</script>
<script type="in/Login">
Hello, <?js= firstName ?> <?js= lastName ?>.
</script>
</head>
<body>
</body>
</html>

6. Save the HTML file to the hard drive
7. Open up a SharePoint 2010 site
8. Add the file to Shared Documents (you can create/use any Document Library)
9. Create a web part page
10. Add a Content Editor web part
11. Link to the HTML page created in step 5
12. You should see the LinkedIn icon with a 'Hello Your LinkedIn account name' message

Before:

After:



 
LinkedIn provides additional templates and advanced samples at the Developer
LinkedIn web site, https://developer.linkedin.com/.

~Janetra

Read More

Topics: SharePoint, LinkedIn, Javascript

Cross-Site Display WebPart Now Available for Sharepoint!

Posted by Reginald Ford on Mon, Aug 15, 2011 @ 14:08 PM

Written By: Reginald Ford

Bamboo Solutions recently came out with a Cross-Site Display WebPart that allows users to display and interact with SharePoint Lists and Libraries across sites and site collections.  Now you can display SharePoint Lists, in Calendar, Gantt, and Standard displays across sites and site collections with ease! 

For more information on this useful web part click here...

Bamboo Solutions is just one of AKG's Partners that offers a variety of software products that extend the value of SharePoint implementations. They are a world leader in cutting edge components and enhancements for SharePoint, and the creator of over sixty innovative Web Parts. Developers, integrators, solution providers and end users from small businesses, Fortune 500 companies, and the US Government, can benefit from the ability to trial, test and deploy user-driven productivity solutions for SharePoint using Bamboo Web Parts.

These are the types of world-class technologies that help AKG create comprehensive, tailored business and technology solutions for our clients. We forge long-term relationships with our partners and are experts in their products, so we can offer clients the right-fit solution for their needs.

Read More

Topics: SharePoint, Bamboo Solutions, Webpart, AKG Partner

Join AKG in the Fight Against Breast Cancer!

Posted by Lindsay O'Bannon on Thu, Aug 11, 2011 @ 16:08 PM

Written by: Caeli Aiken

Applied Knowledge Group is proudly sponsoring the 2011 Cherry Blossom Breast Cancer Foundation’s Run/ Walks. The walks will start at 1:00 PM on Sunday, October 9th.  They will take place simultaneously in three locations: Leesburg, Middleburg & Warrenton, VA. 

Read More

Topics: Cherry Blossom Breast Cancer Foundation, Community Outreach

InfoPath: Restrict visibility to users in a SharePoint Group

Posted by Sue Hernandez on Mon, Aug 8, 2011 @ 12:08 PM

I receive lots of questions about how to limit a Section, a Button, or a View to only users within a specific SharePoint Group.  This is absolutely do-able, but a little tricky.  The trick is to use the UserGroup.asmx web service, and specifically the GetUserCollectionFromGroup method.

If you're familiar at all with the way that the Secondary Data Connections work in InfoPath, you will realize that the web service will pull in one or more resultant fields into an XML format structure that you can then retrieve with XSL - in other words, the data structure returned looks like and acts like the same as your Primary data source.  You can view secondary data sources by going to the Data Source Pane (Fields Pane in 2010), and clicking the dropdown at the top, and choosing your secondary data source.

 

Data Source Dropdown - InfoPath 2007

  

Fields Dropdown - InfoPath 2010

The problem with the GetUserCollectionFromGroup web service, or more specifically with InfoPath itself (both 2007 and 2010) is that the data fields don't get pulled in correctly.

Using the references I list at the bottom of this post, I learned how to fix this.  However, I was hard pressed to find anyone who took it the final step and listed how to hook up the Button, Section, or View with Conditional Formatting and/or Rules to make it all happen.

So here I will put it all together for you.  Please let me be clear: the credit for the fixing of the service goes to Ian Chivers; I did not come up with this myself.  However I will list it here to make it easier for you to get this all in one post.

[EDIT - From here, I'm changing around the rest of my post based on trial and error. It requires more work, but is much more reliable.]

UserProfileService.asmx Web Service – GetUserProfileByName method

The first thing you need to do before you fiddle with getting the Group’s users, is to get the actual account name of the user that’s currently logged in. You need to do this because that is what you will use to compare against the list of users that come in from the Group.

Create the Data Connection

Steps for InfoPath 2007
 
Steps for InfoPath 2010
  • Open the Data Source Tool Pane.  If it is not open, go to View --> Task Pane and click "Data Source"
  • On the very bottom of the Data Source task pane, click "Manage Data Connections ..."
  • Click "Add..."
  • Click "Create a new connection to:" and choose "Receive Data"
  • Click "Next"
  • Click "Web service"
  • Click "Next"
  • Type in the url to your UserProfileService.asmx service.  It should be on your site you wish to get the group from.  Example:
    https://YourURLToServer/YourPath
    /YourSite/_vti_bin/UserProfileService.asmx
  • Click "Next"
  • You may have to authenticate at this point
  • Scroll down the list of methods and choose "GetUserProfileByName"
  • Click "Next"
  • You do not need to type in an Actual Value
  • Click "Next"
  • Click "Next"
  • Give the data connection a new name or keep the default, and make sure the checkbox is checked to automatically retrieve the data
  • Click "Finish"
 
  • Click the "Data" Ribbon Tab
  • Click "From Web Service"
  • Click "From SOAP Web Service"
  • Type in the url to your UserProfileService.asmx service.  It should be on your site you wish to get the group from.  Example:
    https://YourURLToServer/YourPath
    /YourSite/_vti_bin/UserProfileService.asmx
  • Click "Next"
  • You may have to authenticate at this point
  • Scroll down the list of methods and choose "GetUserProfileByName"
  • Click "Next"
  • You do not need to type in an Actual Value
  • Click "Next"
  • Click "Next"
  • Give the data connection a new name or keep the default, and make sure the checkbox is checked to automatically retrieve the data
  • Click "Finish"

Set up the first Dummy Field

Create a new field called CurrentUserAccountNameof type String.

  • Show the correct Pane
    • In InfoPath 2007, click to show the Data Source pane on the right-hand side
    • In InfoPath 2010, click to show the Fields pane on the right-hand side
  • Right-Click on the myFields or Top-Level data group (folder).
  • Click Add...
  • Type in CurrentUserAccountName for the field name
  • Keep the defaults of Field for Type and Text (string) for Data Type.  Press OK.

Set up the first Form Load Rule

Now we’re going to set a Form Opening (Form Load) rule so that we can populate the CurrentUserAccountName field. Keep in mind that the Form Opening rules will run after all the data connections retrieve their data (assuming you checked the checkbox to load the data as soon as the form opened).

In InfoPath 2007, you can get to this by selecting Tools --> Form Options --> Open and Save --> Open behavior --> Rules. In InfoPath 2010, you get to this by clicking the Data ribbon tab and then clicking “Form Load.”

  • Create a new Rule (Action rule in 2010)
  • Name the rule “Set Current User”
  • Do NOT set a condition – we want this to run every time the form loads
  • Add an action – “Set a Field’s Value”
  • For the field to set, Choose CurrentUserAccountName
  • For the value, press fx
  • Click “Insert Field or Group...”
  • On the top, press the dropdown box next to the word “Main”. Choose “GetUserProfileByName (Secondary)” .
  • Expand dataFields all the way out.
  • Expand Values all the way out.
  • Single-Click on Value – DO NOT PRESS OK 
  • Click “Filter Data...”
  • Click “Add...”
  • Click the first dropdown and select “Select a Field or Group”
  • Choose the field “Name” right underneath “PropertyData” 
  • Press OK
  • Keep “is equal to” in the second dropdown
  • Choose “Type text…” in the third Dropdown
  • Type in:
    AccountName
  • Press OK, Press OK (filter data), Press OK (select a field or group)
  • Your expression should look like the following: 
  • Modify this function to make it all uppercase
    • Use the translate function to ensure that the AccountName that comes back is in all UpperCase
    • Formula is like this:
      translate(ValueYouWantToTranslate, "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ") 
    • Click “Verify Formula” to ensure you typed in the function correctly.
  • Press OK, and press OK

UserGroup.asmx Web Service – GetUserCollectionFromGroup method

Now we need to pull in the list of users that are in the Group in question – the SharePoint group you set up with the people authorized to click that button.

Steps for InfoPath 2007
 
Steps for InfoPath 2010
  • Open the Data Source Tool Pane.  If it is not open, go to View --> Task Pane and click "Data Source"
  • On the very bottom of the Data Source task pane, click "Manage Data Connections ..."
  • Click "Add..."
  • Click "Create a new connection to:" and choose "Receive Data"
  • Click "Next"
  • Click "Web service"
  • Click "Next"
  • Type in the url to your UserGroup.asmx service.  It should be on your site you wish to get the group from.  Example:
    https://YourURLToServer/YourPath
    /YourSite/_vti_bin/UserGroup.asmx
  • Click "Next"
  • You may have to authenticate at this point
  • Scroll down the list of methods and choose "GetUserCollectionFromGroup"
  • Click "Next"
  • Click "Set Sample Value..."
  • Type in the name of the group you want to check against and press "OK"
  • Click "Next"
  • Click "Set Value..."
  • Again type in the name of the group you want to check against and press "OK"
  • Click "Next"
  • Click "Next"
  • Give the data connection a new name or keep the default, and make sure the checkbox is checked to automatically retrieve the data
  • Click "Finish"
 
  • Click the "Data" Ribbon Tab
  • Click "From Web Service"
  • Click "From SOAP Web Service"
  • Type in the url to your UserGroup.asmx service.  It should be on your site you wish to get the group from.  Example:
    https://YourURLToServer/YourPath
    /YourSite/_vti_bin/UserGroup.asmx
  • Click "Next"
  • You may have to authenticate at this point
  • Scroll down the list of methods and choose "GetUserCollectionFromGroup"
  • Click "Next"
  • Click "Set Sample Value..."
  • Type in the name of the group you want to check against and press "OK"
  • Click "Next"
  • Click "Set Value..."
  • Again type in the name of the group you want to check against and press "OK"
  • Click "Next"
  • Click "Next"
  • Give the data connection a new name or keep the default, and make sure the checkbox is checked to automatically retrieve the data
  • Click "Finish"

Take a look at what has been returned for Web Service

Remember in the other web service, that when we went to get the value for the Account Name, it presented us with information we had to drill down to. That was correct. However, for whatever reason, the GetUserCollectionFromGroup web service does not return the correct information. Let’s take a quick look at what it returns:

What we have to do here to fix this, is we have to actually manipulate the source files of the InfoPath form.

Create a Folder for your Source Files

On your file system (C Drive or Desktop for example), navigate to where you have saved your InfoPath form template. Create a new empty folder by the name of “TemplateName Source Files”. So if your Template Name is "Training Request Form” then name the folder "Training Request Form Source Files.”

Save as Source Files

In InfoPath 2007, Click the File menu, and click “Save As Source Files”. In InfoPath 2010, click the File ribbon tab, click “Publish” on the left hand side, and then click “Export Source Files”. Save the source files in the folder you just created. Close InfoPath completely.

Fix the GetUserCollectionFromGroup1.xsd file

Open the folder you created with the source files in it. You should see quite a few files in this folder. Using NOTEPAD, open the file named GetUserCollectionFromGroup1.xsd (choose GetUserCollectionFromGroup.xsd, GetUserCollectionFromGroup1.xsd, or GetUserCollectionFromGroup2.xsd based on which is the file with the greatest file size. This is usually the GetUserCollectionFromGroup1.xsd file).

At the top of the file, locate the following line:

<s:import namespace="http://www.w3.org/2001/XMLSchema"></s:import>

Right underneath that line, insert the following code:

<!-- Beginning of insert -->
<s:complexType name="GetUserCollectionFromGroupType">
 <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" name="Users">
   <s:complexType>
    <s:sequence>
     <s:element maxOccurs="unbounded" name="User" >
      <s:complexType>
       <s:attribute name="Notes" type="s:string"></s:attribute>
       <s:attribute name="Name" type="s:string"></s:attribute>
       <s:attribute name="IsSiteAdmin" type="s:string"></s:attribute>
       <s:attribute name="Sid" type="s:string"></s:attribute>
       <s:attribute name="ID" type="s:string"></s:attribute>
       <s:attribute name="LoginName" type="s:string"></s:attribute>
       <s:attribute name="Email" type="s:string"></s:attribute>
       <s:attribute name="IsDomainGroup" type="s:string"></s:attribute>
      </s:complexType>
     </s:element>
    </s:sequence>
    </s:complexType>
  </s:element>
 </s:sequence>
</s:complexType>
<!-- End of Insert -->

[EDIT:  Please make sure there is no space in the above </s:complexType>]

Now find the following code:

<s:element name="GetUserCollectionFromGroup">
  <s:complexType>
    <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="groupName" type="s:string"></s:element>
    </s:sequence>
  </s:complexType>
</s:element>

Comment out that code by placing a <!-- before the beginning and an --> after the end.  Result should look like this:

<!--<s:element name="GetUserCollectionFromGroup">
  <s:complexType>
    <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="groupName" type="s:string"></s:element>
    </s:sequence>
  </s:complexType>
</s:element>-->

Right underneath that commented out code, insert the following code:

<!-- Beginning of Insert -->
<s:element name="GetUserCollectionFromGroup" type="tns:GetUserCollectionFromGroupType" />
<!-- End of Insert -->

Save and close the file

Go back to the folder where you saved those Source Files to.  Find the file "manifest.xsf" and RIGHT-click the file and choose "Design".  This will open your InfoPath file back up.  Click SAVE AS and save as a new .xsn file.

A few Notes to keep in mind, before we go on

It is important to note the following 2 things:

  • Don't modify your GetUserCollectionFromGroup secondary data source (or if you do, you'll have to do this all over again, from the part where you open up the files).
  • Make sure the group in question allows "Everyone" to see the membership of the group
    • Site Actions --> Site Settings --> People and Groups
    • Click on "Groups" on the left
    • Locate your Group
    • Click on the Edit button next to it
    • For "Who can view the membership of the Group" click the option "Everyone"

Take a new look at the fields for the Web Service

Let's take a quick look at what it returns now:

These are the fields that we need.

Set up another dummy Field

Create a new field called IsCurrentUserInGroupof type True/False (boolean).

  • Show the correct Pane
    • In InfoPath 2007, click to show the Data Source pane on the right-hand side
    • In InfoPath 2010, click to show the Fields pane on the right-hand side
  • Right-Click on the myFields or Top-Level data group (folder).
  • Click Add...
  • Type in IsCurrentUserInGroup for the field name
  • Keep the defaults of Field for Type
  • Change the Data Type to True/False (boolean). Keep the default value equal to FALSE.
  • Press OK.

Set up another Form Load Rule

Now we’re going to set a Form Opening (Form Load) rule so that we can populate the IsCurrentUserInGroup field.

In InfoPath 2007, you can get to this by selecting Tools --> Form Options --> Open and Save --> Open behavior --> Rules. In InfoPath 2010, you get to this by clicking the Data ribbon tab and then clicking “Form Load.”

  • Create a new Rule (Action rule in 2010)
  • Name the rule “Set Current User”
  • Do NOT set a condition – we want this to run every time the form loads
  • Add an action – “Set a Field’s Value”
  • For the field to set, Choose IsCurrentUserInGroup
  • For the value, press fx
  • Click “Insert Field or Group...”
  • On the top, press the dropdown box next to the word “Main”. Choose “GetUserCollectionFromGroup (Secondary)” .
  • Expand dataFields all the way out.
  • Single-Click on LoginName. DO NOT PRESS OK. 
  • Press “Filter Data...”
  • Click “Add...”
  • In the first dropdown, keep “LoginName”
  • Keep the second dropdown at “is equal to”
  • Click the third dropdown and click “Select a Field or Group”
  • Change the Data Source (top dropdown) back to Main
  • Select the CurrentUserAccountName field
  • Press OK, press OK (filter Data), press OK (select a field or group)
  • Do not close the window “Insert Formula”. It now looks like this: 
  • Add the boolean and count functions, to turn this into a True/False
    • We’re going to type in the following:
      boolean(count(expression) > 0)
    • So for our example, it should now look like this: 

Modify the XPath Directly to set to Upper Case

Unfortunately, this does not give us exactly what we want, but it gets us really close. We’ll use what we currently have to change the XPath expression directly into what we need it to be.

  • Click the checkbox “Edit XPath (advanced)”
  • You will now see something like this:
  • Notice how I highlighted the period (.) in the picture above, right after @LoginName[
  • We’re going to put the translate function around that period:
    translate(., "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
  • So it should now look like this:
  • Click the checkbox again “Edit XPath (advanced)”
  • This will take it out of advanced mode and give you a little more simplified of a view.
  • It should read something like
    boolean(count(@LoginName[translate(., "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ") = CurrentUserAccountName]) > 0)

To recap, what this function is saying is this:

  • Go get the @LoginName from the web service
  • Translate it all to Upper Case
  • Find the number of times that the Upper Case LoginName is equal to the CurrentUserAccountName field
  • If it’s greater than 0 times, return true
  • Change the “true” word to a Boolean value

Set up the condition on the Button

And finally after all of that trouble, we use a reasonably simple Conditional Formatting condition to get the button to Hide when the current user is not part of that group.

  • In InfoPath 2007, right-click the button and choose Conditional Formatting
  • In InfoPath 2010, click Manage Rules in the Home ribbon tab, and add a new “Formatting” rule
  • Set the Condition
    • In the first dropdown, click “Select a Field or Group”
    • Choose “IsCurrentUserInGroup” from the Main data source
    • Keep “is equal to” in the second dropdown
    • Choose “FALSE” in the third dropdown (remember, we’re HIDING the button when the user is NOT in the group)
    • Click OK
  • Set the Formatting
    • Click “Hide this control”

Test the functionality

We need to make sure that we test the functionality. Even if you are the administrator for the site, you won’t see the button if you’re not in that group, so you can effectively test.

  • Publish the form to your SharePoint Site. Ensure that the Forms Library is set to serve up the form as a Web Page.
  • Put yourself INTO the group you set up in the form
  • Test the form by clicking New and switching views – do you see the button? You should.
  • Close the new InfoPath form.
  • Take yourself Out of the group you set up in the form
  • Test the form by clicking New and switching views – do you see the button? You should not.

References

As promised, here are my references. Please leave a comment if you have any questions or if you find something doesn't work (I did test this all out, but things happen).

Thanks, and enjoy!

Read More

Topics: InfoPath, InfoPath 2007, InfoPath 2010, InfoPath Forms Services

The Enterprise SharePoint Successor to Defense Knowledge Online - What Would You Do Differently?

Posted by Andy Campbell on Fri, Aug 5, 2011 @ 21:08 PM
As part of its program to replace the Defense Knowledge Online platform (DKO), DISA is going to implement an enterprise SharePoint solution.  While we don't have the full picture, something fell short with DKO and its cousins, Army Knowledge Online (AKO), etc.  While the usage numbers for DKO, AKO etc are large, they point to fairly lackluster use, and we are left to wonder what will be different about the next SharePoint incarnation.
 
Done right, enterprise SharePoint is immensely powerful. The FAA has discovered that success with its Knowledge Services Online; DHS/Citizen and Immigration Services has felt that with their robust enterprise SharePoint program underway (The Enterprise Collaboration Network).
 
Without data, it is still probably safe to speculate that DKO/AKO suffered from scale, complexity, rigidity and cost. 
 
So the question is, how would you approach something as large and comprehensive as DISA's SharePoint program?
 
How would you avoid another cycle of de-funding and implosion?
 
Read More

Topics: SharePoint, Enterprise, DISA, DKO, AKO, FAA, DHS, USCIS, Defense, Knowledge Online

Did You Know that Deltek Vision Connects with SharePoint?

Posted by Lindsay O'Bannon on Thu, Aug 4, 2011 @ 17:08 PM

Written By: Danny Gilbreath

Read More

Topics: SharePoint 2010, Finance, Deltek, Vision 6.1, Document Management

Early Bird Discount for SharePoint Saturday 2011 - The Conference

Posted by Lindsay O'Bannon on Wed, Aug 3, 2011 @ 17:08 PM
Written by: Cynthia Miller
Read More

Topics: SharePoint, SharePoint Saturday 2011, Northern Virginia Community College

AKG SharePoint Training for Federal Government Continues to Sell Out

Posted by Andy Campbell on Tue, Aug 2, 2011 @ 17:08 PM
AKG’s two-tier SharePoint training program designed specifically for Federal Government employees continue to sell out weeks in advance in two major US Government agencies.  In the case of one organization, there are people wait listed for the course designed to create advanced SharePoint users embedded in hundreds of work groups across the enterprise.  This is part of the highly effective AKG program of creating shared responsibility for, and ownership of SharePoint applications at the local working level, ensuring high degrees of user adoption and mission relevance.

When asked to explain the popularity of these courses, Andy Campbell, AKG Senior Partner, said the following:  “The key is simplicity and integration.  We know what features the users focus on, and emphasize those features in our training.  We want beginning users to be confident in SharePoint use early on, knowing that they will drive more sophisticated uses of the platform.  We deliver more advanced training as users are ready for it.” 

AKG has found that facilitator led programs (either in the classroom or via web conferencing) is far more effective than computer-based training (CBT) for the vast majority of SharePoint users.  CBT modules are offered primarily as reference tools for trained users who may use features irregularly and need refreshers.
 
The two Federal SharePoint programs supported by AKG have among the highest adoption numbers anywhere in SharePoint enterprise use, and are supported with small contractor teams.  In one case, over 17,000 users are supported by a team of four full-time contractors.
Read More

Topics: User Adoption, Enterprise SharePoint Use, Training, SharePoint training, US Government, mission relevance, facilitator, Federal

Welcome to AKG's New SharePoint and Collaboration Blog!

Posted by Lindsay O'Bannon on Mon, Aug 1, 2011 @ 10:08 AM

I'd like to welcome you to AKG's SharePoint and Collaboration blog, where we'll focus on the interplay between collaboration, knowledge management, SharePoint, and how users adopt the new practices that these three factors offer.

Here you will Find:

Read More

Topics: SharePoint, Collaboration, AKG, Welcome, Blog, New