Below you will find pages that utilize the taxonomy term “SharePoint 2007”
SSRS Subscribe Action and SharePoint Permissions
For SQL Server Reporting Services (SSRS) reports there is the ability to create subscriptions. Subscriptions can be scheduled to run on a certain schedule to send emails, export reports to SharePoint document libraries, or save to windows file shares.
Depending on your requirement, you may need to grant or remove access to the subscribe action and can be managed by creating or editing the default SharePoint roles: Read, Contribute, Full Control, etc.
Using JsRender to create SOAP Envelopes
I am working on a small query tool that will be used to make AJAX calls against SharePoint’s Enterprise Search Query Web Service. Previously, I created the SOAP messages by appending a gigantic series of strings together. In this iteration, I wanted to use JsRender (my template engine of choice right now and the successor to jQuery templates).
Workspace permissions and Project.QueuePublish
Imagine you work for a large company that uses Microsoft Project Server. Since you have many employees, having MSP sync individual permissions for every user to every site is simply not scalable. Instead, you’d like to use some Active Directory groups that are already set up to manage permissions in the workspace.
So you disable the workspace permissions sync in PWA:
- Navigate to PWA
- Click Server Settings
- Click Project Workspace Provisioning Settings
- Validate that the “Workspace Permissions” checkbox is unchecked
Then, perhaps you write some code that is wrapped up in a nice SharePoint feature to manage setting up the permissions yourself. Everything works great….
… until you start getting reports that some user’s permissions aren’t quite right for some project sites.
Web services, XmlNode, and XPATH
I was writing a little web services app to help delete individual permissions from a site and thought about trying XPATH on the result to get what I needed. I had some trouble so thought I’d put together a small example for later reference.
SPUtility.js 0.8 and beyond!
Quick update to SPUtility.js today! I’ve added support for rich text fields, unchecking multi-select checkboxes, and choice fields with fill-in values. I also have some thoughts on future SPUtility.js updates.
SPUtility 0.5 Released!
Version 0.5 of SPUtility.js has been released onto the codeplex site! Go check it out!
Customizing EditForm.aspx in a Publishing site
After recently doing a lot of work heavily customizing NewForm.aspx and EditForm.aspx for a SharePoint list, I ran into a major issue after I moved my list into a publishing site. The issue appeared when I added a webpart onto my EditForm.
Planned updates for SPUtility.js 0.4
SPUtility.js version 0.4 should be getting released soon (week or so??). I wanted to put a quick post out there to highlight some of the upcoming features and fixes.
Autopopulate a SharePoint Form from URL (with SPUtility.js)
SPUtility.js is a library used to get/set SharePoint’s form fields. We can also use it autopopulate a Newform/Editform based on some URL parameters which are passed to the page!
Wrap ListViewWebPart Column Headers
I recently got asked if it was possible wrap the column headers in a list view web part. The user had a WebPart with quite a few columns with long names and was trying to prevent the page from scrolling left to right.
A Simple AJAX App using SharePoint Web Services
In this era of Web 2.0 web applications, I think it was only a matter of time before I needed to investigate how I could apply AJAX to SharePoint. With a little JavaScript and SharePoint’s web services, you can build fancy apps that can easily be dropped into a document library. And after reading Glen Cooper’s blog post on the subject, I figured it was something definitely worth investigating.
I also took this opportunity to improve a process I have to do all the time: what are the internal column names in a list? To get the list information, I built a simple AJAX app that consumes the Lists.asmx web service. Please keep in mind that this code will have be uploaded into SharePoint in order to work (a document library will work) and will not run from your desktop.
Autopopulate a SharePoint Form from URL
November 10, 2010 update: I’ve posted the sequel to this post: Autopopulate a SharePoint Form from URL (with SPUtility.js). I highly recommend checking out the new and improved way using SPUtility.js!
This post builds off of my previous post about making fields read only. In this case, I needed to autopopulate the NewForm.aspx with a value that gets passed to the form via URL parameters.
Editing in SharePoint's SPGridView
The goal of this post is to provide an easy to understand example of how to enable editing in an SPGridView. In this case, my datasource of choice is a SharePoint list.
The way that I chose to implement editing in an SPGridView involved two classes:
- SimpleLogic – handles query and update operations
- SimpleSPGrid – handles all of the setup for the ObjectDataSource and the SPGridView
The main advantage for splitting the two classes is to separate all of the business logic into one class. Ideally, you should be able to completely change how the SimpleLogic class retrieves/updates data without changing the SimpleSPGrid code.
Turning SharePoint SPAuditEntry Update into Create
If you’ve done any work with SharePoint and SPAuditEntry, you may have noticed the distinct lack of Create event. Instead, two Update events are created which means some extra processing is required.
AllowUnsafeUpdates and ValidateFormDigest
Add this to the list of things every SharePoint developer should know (up there with disposing SPWebs and SPSites).
In general…
- Don’t update SharePoint objects on a GET request
- Call SPUtility.ValidateFormDigest() before anything on a POST request
Here are the two links to read:
Updating choice fields via SharePoint Web Services
**May 20, 2010 Update
** This post is about using a C# console app to update choice fields via SharePoint web services. If you are looking for more information on how SharePoint web services can be called via JavaScript, check out my post on building a simple SharePoint AJAX app.
My problem started with a simple change to a site column. I had originally created a Country field with the following values:
- US
- Canada
After a change in requirements, the new values for the field were:
- Canada
- Germany
- Great Britain
- Ireland
- United States
After updating the site column, I then needed to update the hundreds of items in the list to use “United States” instead of “US”. Instead of updating hundreds of items manually, I decided to write a small web services console app. (I was also not able to update it in datasheet… due to content approval maybe???)
However, I quickly ran into problems when attempting to update the multi-select choice field.
SharePoint's SPGridView, filtering, and apostrophes
May 20, 2010 Update
If you are looking for a great example on how to create an SPGridView, check out Erik Burger’s blog:
- Building A SPGridView Control – Part 1: Introducing the SPGridView
- Building A SPGridView Control – Part 2: Filtering
This post is really meant to supplement part 2 of Erik’s guide and address values in the grid that include apostrophes when using filtering.
The SPGridView is one of the most useful SharePoint controls. You can use it to do sorting, grouping, and filtering just like the out of the box List View Web Part does for regular lists and libraries. This makes it relatively easy to create a custom grid with your own data. Unfortunately, filtering with the SPGridView is a little quirky, especially if your data could potentially contain apostrophes.
Filtering a SharePoint list by Workflow Status
The most recent problem I ran into was when I tried to filter out items that had a certain Workflow status in the list. More specifically, I was trying to filter on items that had errored out and had a status of “Error Occurred” in the list.
Creating a SharePoint Alert with different EventTypes
I recently ran into a problem creating alerts in a web part for the current user. After the alert was added, no matter what I set the SPAlert’s EventType to, it always defaulted to All. I finally figured out a way around this problem thanks to a helpful post by erwin at sharepointology.
Boolean values in an Event Handler
While researching a bug with editing in datasheet view and a custom list event handler, I discovered strange behavior with boolean values. Any boolean value you get from the SPItemEventDataCollection depends on where the item was originally edited: either using the regular user interface (EditForm.aspx, NewForm.aspx) or using datasheet view.
Creating a link to the current item in a workflow
When creating a workflow using SharePoint Designer, oftentimes it is useful to be able to create a link to the current list item. Unfortunately, the built in columns are not so helpful.
Selected tab in the Top Link Bar
I recently ran into the weird issue of not having my tabs highlighted correctly. After consulting Uncle Google, it seems Andy Burns ran into this same issue.
The problem started after creating multiple aspx pages within my site and then setting up a tab for each page by editing the Top Link Bar (also known as the top navigation) under Site Settings. Each of the tabs worked correctly, but after clicking a tab that tab would not be highlighted and the home tab would stay selected.
The Danger in using SPSite.OpenWeb()
Recently I ran into a “feature” of SharePoint’s SPSite.OpenWeb() method (the no argument constructor specifically). If the OpenWeb() method is used with a URL that is not known to exist, it can result in some unexpected behavior.
Make a Text field read only on EditForm.aspx without SPD
November 10, 2010 Update: I’ve posted the sequel to this post: Autopopulate a SharePoint Form from URL (with SPUtility.js). The code below will not work in SharePoint 2013 so you should use SPUtility.js!
After looking at a couple of examples online, most of them require the use of SharePoint Designer to make a field read only (or to hide it). Here is a method to make a field readonly using only Prototype (javascript library) and a Content Editor Web Part
Failed to extract the cab file in the solution.
Got the following message when trying to deploy a solution file to the server:
Failed to extract the cab file in the solution.
Luckily Robert Bogue had already found the answer: we had duplicated an entry for a web part in our solution’s .ddf file. Apparently, makecab allows you to have the same file in the same location multiple times. I’m not really sure why it doesn’t just overwrite it, but in any case, the solution doesn’t know what to do with it either.
Enterprise Search and SharePoint
I’ve learned a couple of different things from messing with Enterprise Search and SharePoint. A lot of this has to do with the initial setup and how different crawls affect the index.
What this assumes:
-
You know how to get to Central Admin and the Search Admin screens
-
Any URLs below you will have to replace “centraladmin” with your own server ip
-
The place where you can run incremental or full crawls is: