|
|
|
By: Andrew Schwenker
Posted:
February 15, 2012 at 4:35 PMSituation So you’ve got this nice InfoPath form, and you want to pre-populate it with user information. This means you’ll need to somehow get the user’s login information into the InfoPath form. Unfortunately, there’s no simple or straightforward way to do this. Several blogs reference just calling the form’s User property and everything magically works in SharePoint. I can tell you from personal experience that this isn’t the case. There are other blogs saying to use a new field in the fo
... [more]
By: Andrew Schwenker
Posted:
February 3, 2012 at 10:15 AM
Whether you love or hate InfoPath forms, they occasionally do make things easier. However, the form viewer page comes from the FormServerPage type, which inherits directly from System.Web.UI.Page, meaning that it permits anonymous users to view the page and, consequentially, your form. None of the SharePoint access permissions, aside from folder-level permissions have any affect. Unfortunately, the page is located in the root layouts folder, so changing those permissions aren’t possible. Y
... [more]
By: Andrew Schwenker
Posted:
January 23, 2012 at 10:26 AMSituation If you’ve worked with SharePoint 2010 at all, I’m sure you’ve seen a ModalDialog popup at some point. This popup most often occurs when you’re creating or editing a list item. The item’s edit or create form is displayed by ModalDialog in an HTML iFrame. This frame allows for the nifty, AJAX-like popup, but it also means that the form code is segregated from the rest of the page. This isn’t really a problem with out-of-the-box forms, which use the Dialog master page. The dialog ma
... [more]
By: Andrew Schwenker
Posted:
November 29, 2011 at 3:01 PMSituation Wouldn’t it be nice to start a specific SharePoint list workflow on each item in a list? Unfortunately, there’s no simple way to do this out of the box in SharePoint or Nintex, even though it’s just a few lines of code. You could always grab all of the list items and then loop through each one and start a workflow, but this is complicated and cumbersome. Solution Using Nintex Workflow 2010, it’s incredibly easy to create a simple to use and configure workflow action that can start
... [more]
By: Andrew Schwenker
Posted:
October 17, 2011 at 9:55 PMSituation You’re looking for a way to semi-automate the back-loading of of scrubbed data from your production environment to your development/test/staging/whatever environments. There are several reasons you’d want to do this that I don’t need to get into here. The problem is that your production environment is well-used and full of a bunch of data, both personal and proprietary. This data must therefore be scrubbed to shrink its size and remove anything that shouldn’t be in a non-production
... [more]
By: Bart Tubalinal
Posted:
September 26, 2011 at 2:08 PM
I was debugging an issue with a heavily customized SharePoint site where users were unable to save any changes they made to SharePoint list views. Since this was a heavily customized site with several custom list definitions, my initial thought was that we may have botched a list definition or two and made these lists and list views non-modifiable. However, I also tested creating an out of the box SharePoint List and found out that its views were not modifiable as well. In order to isolate the
... [more]
By: Travis Nielsen
Posted:
August 24, 2011 at 11:36 AMIf you’re looking to support iPhone on a SharePoint 2010 site that is configured to use an external identity provider like Ping Federate, ADFS 2.0, or a custom STS, you will likely run into this issue. However, you may notice everything works just fine with iPad. Fortunately, the issue can be reproduced on the desktop using Firefox or Safari by emulating the iPhone user agent and you’ll be able to see what’s going on in Fiddler. As seen in the above screenshot, you’ll notice an additional redir
... [more]
By: Andrew Schwenker
Posted:
July 18, 2011 at 3:35 PM
SPPersistedObject is an important element in SharePoint 2010. It’s SharePoint’s main way of storing information across servers and acts as sort of the central brain of the application. Any data stored in it is guaranteed to be there in perpetuity. This makes SPPersistedObject a very useful class, but it’s not without its drawbacks. One of the most frustrating and least documented is the change that occurred in the class between SharePoint 2007 and 2010. Suppose you want to change this cla
... [more]
By: Andrew Schwenker
Posted:
July 7, 2011 at 2:08 PMOne of the cool new features of Visual Studio 2010 Web Application projects are web.config transforms which allow you to use different settings in your web.config file without needing to remember to change them every time you compile the project. More information can be found here: http://msdn.microsoft.com/en-us/library/dd465326.aspx. In a nutshell, you can provide additional settings and modifications to the web.config that Visual Studio compiles at runtime into a single web.config file. Th
... [more]
By: Stephanie Hasz
Posted:
June 10, 2011 at 1:01 PMOne of the most irritating things that can happen while you’re debugging is this message: When you sit at any one breakpoint for too long (longer than the ping maximum response time), this error will appear and terminate your session. If you’re anything like me and my fellow team members, you’ll blindly click “OK” and start over with an extra dose of frustration. Luckily for us, our tech lead, Mike Becker, actually read this message one day and provided us with the solution. It’s so simple,
... [more]
By: Michael Tolly
Posted:
June 8, 2011 at 11:20 AMProfileSubtypes allow administrators to create alternate views for different user to display or hide different user profile properties. However, going through the process of manually changing each profile property could be substantial if there are numerous profile properties on your UserProfileServiceApplication. Therefore, being able to automate the process with a feature, service, or console application would greatly reduce the time spent creating and defining the ProfileSubtypes. Adding new
... [more]
By: Andrew Schwenker
Posted:
May 12, 2011 at 1:07 PMIf you missed my last post on automating deployments across domains with Team Build 2010, you can find it here. The Problem In this post, I’m going to discuss automating deployment of a database project to a database using Team Build 2010. Out of the box, you can build the database project, but that doesn’t actually deploy the database or create the deployment script. To do that, you’ll essentially need a custom step in your automated build. This can be especially important if your soluti
... [more]
By: Amol Ajgaonkar
Posted:
April 5, 2011 at 9:40 AMRecently while adding a web part to a page layout, I came across a weird behavior. Whenever I added a web part to a page layout in the web part zone, the chrome showed up fine but when I added the web part outside the zone and published the page layout the chrome would not be displayed. Resolution: I was using the System.Web.UI.WebControls.WebParts.WebPart class as the base class for my web part. When I switched the base class to Microsoft.SharePoint.WebPartPages.WebPart the chrome starting sho
... [more]
By: Steve Mierop
Posted:
March 31, 2011 at 1:05 PM
Programmatically creating Outlook meeting request has been a hot topic for me over the past few weeks. I found myself in a scenario that required me to send a meeting request from a user and was using the System.Net.Mail namespace to do the job. While creating the meeting request, a limitation surfaced as result of the approach I was using. I used the code from the blog below as a foundation to start with.
http://weblogs.asp.net/bradvincent/archive/2008/01/16/creating-vcalendars-progr
... [more]
By: Steve Mierop
Posted:
March 31, 2011 at 9:53 AM
We've all experienced it before, those "Wow, I can't believe it's that easy" moments. Exchange Web Services Managed API makes sending emails, creating appointments, querying folders/calendars, and generating meeting requests extremely simple. When it comes to programmatically duplicating Outlook functionality (given Exchange is running the show), the Exchange Web Services Managed API is definitely worth looking into.
There's some good documentation online, but the object mo
... [more]
By: Andrew Schwenker
Posted:
March 3, 2011 at 11:52 AM
NewEgg has it. Best Buy has it. Now, you can have it too. I’m talking about the Breadcrumb Refiner that you see chained across their search pages. Out-of-the-box SharePoint 2010 doesn’t provide this functionality, so we’re going to have to build it. This is a semi-involved process and requires the modification of the RefinementWebPart just to get started. I’m not going to walk you through complete implementation of the web part, because that would kill a significant amount of PointBridge IP, b
... [more]
By: Andrew Schwenker
Posted:
January 25, 2011 at 10:44 AM
Storing documents on a file server and connecting to them with metadata stored in a database is rather common. Let’s talk about the situations in which you’d like to surface the metadata attached to the file in Business Connectivity Services (BCS) and elsewhere using a single Windows Communication Foundation (WCF) service. To return a file to SharePoint through BCS using any connector, you need to use a StreamAccessor method instance. The StreamAccessor gives SharePoint access to the underlyin
... [more]
By: Andrew Schwenker
Posted:
December 28, 2010 at 9:41 AMHere’s the scenario: you’ve got two Windows Communication Foundation (WCF) services that return related data. For instance, let one of them be a service that returns People and let the other be a service that returns Documents. Every Document was authored by one or more Person. Since these services are separate Line of Business (LOB) systems, you must input them separately into Business Connectivity Services (BCS). You want to associate these two items together. If you have a one-to-many re
... [more]
By: Andrew Schwenker
Posted:
November 10, 2010 at 2:39 PM
A couple of weeks ago, I thought I’d be clever, or at least act with forethought, and create the Windows Communication Foundation (WCF) service I was working on as four separate interfaces all implemented by the same class. The interfaces would be segmented out by the types that they returned. This would make understanding the code easier down the road and it seemed like a good idea at the time.
However, the goal of this service was to be plugged into Business Connectivity Services (BCS) in
... [more]
By: Brian Hulse
Posted:
November 8, 2010 at 11:25 AMI got the opportunity to attend the SharePoint Connections Conference this year at the Mandalay Bay in Las Vegas. This trip was very exciting for me, being both the first conference for me, as well as my first trip to Las Vegas. It was a great experience and I hope I have another opportunity like this in the future. There were many interesting sessions put on by a lot of SharePoint rock stars which I’ll give an overview of in this post. This conference, known overall as the Microsoft Connections
... [more]
By: Andrew Schwenker
Posted:
October 28, 2010 at 12:55 AM
I’m working on a project where a client has a couple of Line of Business (LOB) systems that need to be connected to SharePoint 2010. We’re using Business Connectivity Services (BCS) to integrate them with SharePoint. For extensibility and maintainability reasons, we’re using Windows Communication Foundation (WCF) to connect to the LOB systems, which usually involve some sort of database and then file repository.
One such LOB system involves what are essentially people and documents. Peop
... [more]
By: Jeff Monnette
Posted:
June 21, 2010 at 10:12 AM
I just finished reading Dino Esposito and Andrea Saltarelo's book Microsoft .NET: Architecting Applications for the Enterprise. This is a great book and a must read for anyone who is architecting enterprise grade solutions on the Microsoft development platform. The book is not strictly technology specific and includes a lot of general purpose information on design principles and patters - borrowing heavily from Martin Fowler's Patterns of Enterprise Application Architecture but discusses the p
... [more]
By: Jeff Monnette
Posted:
April 19, 2010 at 6:24 PM
Extension methods in C# provide a mechanism for adding functionality to a class when you do not control the source code to that class. Most often, extension methods are used as a means of syntactically treating external utility methods as though they were methods on the class itself. In this use, the main difference between extension methods and instance methods is that extension methods do not have access to the non-public state of the object.
There has been some discussion on various blogs
... [more]
By: Michael Becker
Posted:
April 5, 2010 at 11:15 AM
As part of a FAST search proof of concept, I got the opportunity recently to create slightly more advanced navigator than the typical text-based set of hyperlinks. I used the FAST ESP WebParts (available on CodePlex) as a starting point and the Dundas Chart control as the basis for the Ajax user interface. Getting the data from FAST into the chart was surprisingly easy.
Here’s what it ended up looking like:
Here’s what was involved:
FAST configuration:
You’ll need to update your index p
... [more]
By: Bob Moore
Posted:
October 23, 2009 at 4:47 PM
I decided to expand on one of Travis Nielson's posts called Introducing Documents Sets. Being the eternal developer that I am I decided to write a blog on how to create a Document Set using C# and the new object model for SP2010.
In trying to figure out how to do this, I though I would try the 2007 way and add a new ListItem to my test document library....well that didn't work so well. While I was looking at the code for the NewDocSet.aspx page I stumbled upon a new assembly and namesp
... [more]
By: Jeff Monnette
Posted:
October 8, 2009 at 4:11 PMHere is a generic extension method to get back an enum value from a string. It improves upon the Enum.Parse method by doing the following: 1) it encapsulates the cast of the value to the enum type; 2) supports an optional case-insensitive search; and 3) returns a boolean to indicate success or failure (rather than throw an exception).
... [more]
By: Jeff Monnette
Posted:
September 30, 2009 at 11:50 PM
Sometimes we find it useful to create patch features which are used to add new elements to our existing SharePoint sites. Oftentimes, these patch features make use of some of the same files as the larger features that are used for provisioning new sites. To support the creation of these patch features without manually copying the files that are shared across features, use Visual Studio file links and a customized MSBUILD target to automate the copy process. Here's how it works.
First, in the
... [more]
By: Bert Johnson
Posted:
March 26, 2009 at 12:45 AMOne of the most useful technologies to know when customizing SharePoint sites is XSLT (eXtensible StyleSheet Language Transforms).
This post will highlight a number of topics specific to XSLT customization with SharePoint. Some topics may be further explored in future blog posts.
What is XSLT?
XSLT is a declarative language for performing XML document conversions. XSLT allows you to format structured data (XML) with powerful stylesheets (XSL), to generate a brand-new XML document.
In sh
... [more]
By: Travis Nielsen
Posted:
March 20, 2009 at 9:51 PMAnd I mean much faster. A few weeks ago, I posted about plotting all 48 continental U.S. states onto a Virtual Earth map. Due to some unfortunate performance issues with rendering complex shapes using the VE map control IE 7, it was necessary for me to simplify them using one of the new SQL 2008 methods for geography data types. By doing this, I was able to to get acceptable looking shapes in just under 10 seconds. Not bad. I'm happy to report that exact same query now renders the same shape
... [more]
By: Bert Johnson
Posted:
January 22, 2009 at 4:45 PMA common request when working with MOSS is to use Active Directory for authentication, but hide the implementation for end-users. This might be a design decision to hide the clunky modal dialog boxes that prompt for NTLM / Kerberos credentials. Or it may be a functional requirement (e.g.: some proxies mishandle WWW-Authenticate headers, preventing integrated authentication).
Whatever the reason, we need to figure out a way to utilize AD inside of SharePoint, instead of the usual reliance on br
... [more]
By: Bert Johnson
Posted:
January 21, 2009 at 2:55 PMIf you've ever had to upgrade an IIS site from using an internal or self-signed SSL certificate to using one created through a trusted Certificate Authority, you know about the down-time window. That is, when you create a new certificate signing request through IIS, it overwrites your existing SSL information within the metabase, leaving your website in a state of limbo until the request is processed.
Usually, this isn't a problem since SSL certificates can be provisioned in a matter of minute
... [more]
By: Jeff Monnette
Posted:
September 30, 2008 at 5:55 PMI recently came across a frustrating scenario in which my validator controls seemed to be set up properly but would not fire when expected. Here's the background:
The validators and the controls that they were meant to validate were children of a user control that allowed the user to edit billing address information for a credit card payment processing page. In the markup for the ASPX page, this user control had its Visible attribute set to false because the billing address edit form was n
... [more]
By: Jeff Monnette
Posted:
September 27, 2008 at 9:16 PM
In previous posts, I described a few different uses of the MSBUILD Copy task to gather files into the required locations for packaging or testing. While using this method over the last few months, I came across a quirky behavior of MSBUILD in which files added to a project after the build project was open were not getting copied. It turns out that this is "as designed."
I was using the ItemGroup task to specify which files should be copied. Because the group represented by t
... [more]
By: Talha Shah
Posted:
August 14, 2008 at 4:36 PM The C# 3.0 language and .NET 3.5 framework introduce several new language features. These new language constructs are useful individually in various contexts. In this blog I will show you how to use C# 3.0 extension methods to extend SharePoint (WSS/MOSS) API. The concepts are simple and once you learn them you can extend other applications in a similar manner. Extension methods enable you to "add" methods to existing types without creating a new derived type, recompiling, or otherwi
... [more]
By: Amol Ajgaonkar
Posted:
August 12, 2008 at 10:21 PM To develop an edit/new/display form for a SharePoint list we have to implement the following steps: Get the list. Get the collection of all the columns If the form is in EDIT mode, get the item which is being edited. Render the columns that you want according to your requirements. Add the Save, Cancel buttons to the form and add the handler to it. The first 3 steps are pretty straightforward. All of this information is available in the query string and SPContext. The fourth step is in
... [more]
By: Michael Becker
Posted:
March 21, 2008 at 4:05 PM
One option for securing ASP.NET pages that – IMHO – gets neglected quite often is the use of CodeAccessSecurity "Permission Attributes." You can read more about the general approach here.
Basically, they provide a very nice mechanism for encapsulating all of the rules you want to apply that will allow or disallow a particular user from viewing a page. You then drop the attribute onto the Page_Load event of the page you want to protect, and you're done.
I thought I was going to ne
... [more]
By: Amol Ajgaonkar
Posted:
October 22, 2007 at 4:45 PM
Dynamic controls & Post back Problem: Managing an array of Controls.
Problem:
When you create an array of controls dynamically there are chances that you would notice the following behavior:
1. When you click on one of the controls a post back will be triggered for some other control in the array of controls.
2. When you click on the same control again then the post back will occur for the selected/clicked control.
Reason:
When a web request is received, a series of ob
... [more]
By: Daniel Herzog
Posted:
June 11, 2007 at 6:41 AM
A shorter day today - and the last day of a whirlwind week in Orlando. I caught sessions on SharePoint Designer, LINQ, and a great security presentation that was both fascinating and a bit scary.
SharePoint Designer is one of those tools, like its predecessor FrontPage, that I think many developers may look down upon - you know, "real developers don't use this." I'm now convinced that it does have its place in even the most hard-core SharePoint developer's toolkit. You can learn
... [more]
By: Daniel Herzog
Posted:
June 7, 2007 at 6:36 AM
I managed to cover quite a bit of material at TechEd on Thursday - a bit about upgrading custom sites from WSS 2.0 to 3.0, some good info on SharePoint features and templates, a nice intro to Team Foundation Server, some new ideas for SharePoint workflow, and more vendor tools.
As a quick aside, I'm wondering what the more common pronunciation is for "Guid"? I've always said "goo-id" but most of the presenters here say "gwid". Feel free to leave a comment wi
... [more]
By: Daniel Herzog
Posted:
June 6, 2007 at 10:45 PM
Advanced Web Parts and Custom SharePoint field types were on tap today at TechEd.
Andrew Connell held a great session on Building Advanced Web Parts with ASP 2.0. He gave some examples of building advanced features in Web Parts...
How to customize the Web Part 'Verbs Menu.'
How to build an asynchronous Web Part in SharePoint, even though SharePoint doesn't support it.
Building connected Web Parts - its much easier in SharePoint 2007 than it was in 2003.
Code Access Security Po
... [more]
By: Daniel Herzog
Posted:
June 5, 2007 at 10:13 PM
MOSS Search, InfoPath, and more SharePoint were on tap today. Here's some highlights.
Search is one of the most powerful features of MOSS, but as a developer -even one with a ton of MOSS experience, thank you very much - it isn't something I've spent too much time working with. It was great to get some exposure and advice on search configuration today.
Here's the configuration basics as I understand it now - if anyone finds anything that needs correction, please leave a comment! The
... [more]
By: Daniel Herzog
Posted:
June 4, 2007 at 8:10 PM
A successful Monday. Aside from free t-shirts (ultra-stylish? you bet!) and other swag, there were some good sessions, and a fun Keynote by Bob Muglia.
The Keynote started with a 'Back to the Future' thing - with Christoper Lloyd, the DeLorean, and everything. The joke was that MS's "visions" of the future were getting a bit stale, so let's concentrate on what we can do today in the real world. Bob wanted to drive home the point that organizations should be able to look at IT
... [more]
By: Daniel Herzog
Posted:
June 3, 2007 at 9:02 PM
I arrived at TechEd 2007 in Orlando last night, and today I has the privilige of attending a pre-conference seminar on Software Architecture given by Ron Jacobs. Ron is a very sharp guy with some great and unique insight into just what software architecture means. Check out his radio and TV shows to hear it from him firsthand.
You can download his presentation slides from his site. The seminar was an all-day event, and he covered quite a few topics in some detail. Overall, I left with
... [more]
By: Hersh Ajgaonkar
Posted:
December 27, 2006 at 10:54 PM
On various projects, there are occassions when files are left locked by team members leaving the project or while on long vacations. In VSS, the administrator could simply select the file(s) and chose to undo-checkout.
A couple of months ago, our TFS installation was moved from one domain to another and some files were locked out with user accounts from a domain that was retired. Well, being the admin, I thought it was just a matter of selecting the files and unlocking them. Well, guess what
... [more]
By: Matt Morse
Posted:
December 18, 2006 at 11:20 AMI was working on a task recently that required some documentation, and I looked for an old friend, NDoc, which I had used in the past -- but only with .NET 1.x projects, apparently.
As it turns out, I'm a couple of months behind the times, and the primary developer is not going to pursue development on NDoc 2.0 for various reasons. At least one of the reasons that Kevin opted not to continue development was the announcement of the release of Sandcastle from Microsoft, which performs exactly
... [more]
By: Dave Scheele
Posted:
September 30, 2006 at 8:03 AM
If your application needs to move a file, one way to do this is to use the .NET Framework System.IO.File.Move method, which moves the specified file from one file system location to another. Unfortunately, this method does not permit you to cancel the operation, nor does it provide progress information. So using this method to copy a 4GB VHD, for example, would appear to freeze your application.
If you would like to provide move file functionality with the ability to cancel the operation an
... [more]
By: Dave Scheele
Posted:
September 30, 2006 at 8:03 AM
The .NET Framework HttpWebRequest permits the developer to access resources on a server using the HTTP or HTTPS protocols. Some very secure systems, however, require a client X509 certificate as evidence to access resources. Setting this up in an ASP.NET application is not straightforward because the default ASP.NET service account has limited permissions and does not have the required access to the local certificate store.
The basic idea is to add the desired X509Certificate to the ClientC
... [more]
By: Dave Scheele
Posted:
September 30, 2006 at 8:02 AM
In Oscar Meszar's recent weblog entry, Config Files in Office Add-ins, he describes the need to set up configuration information specific to a DLL. The "official" method of configuring a .NET application is to create a configuration file associated with the executable file (or the web application), but DLL-specific configuration is only possible with a bit of work. In his case, he chose to create a separate configation file parser.
I encountered the same problem on a client engageme
... [more]
|
 |
|
|
|
|
 |
|
|
|
|
|
|
|