Jul15
Categories: Deployment, Development, General, SharePoint, Tools, Visual Studio, VSeWSS
So Matt Smith of the Christchurch SharePoint User Group has organised a national tour for the various SPUGs that are active here in New Zealand.
I'll be talking in Auckland, Tauranga and Christchurch over the space of a week. The fine people in Tauranga are either doubly blessed or cursed as I'll be talking to both the SPUG and DNUG there.
The low down on the SPUG presentation:
Collaborative construction of custom SharePoint artifacts
See how business users, business analysts, developers and IT Pros can all come together to create new SharePoint artifacts for your business. In this session Gavin Barron will show how users from differing disciplines can all work together. Ensuring that an emerging business need is addressed quickly while following a number of SharePoint best practices. During this session Gavin will also discuss the development lifecycle as it exists in this context.
Presented by: Gavin Barron, Intergen Wellington
Intended Audience:
- Business Users
- Business Analysts
- Developers
- IT Professionals
The tour details:
Auckland: Wednesday, 23 July
Time: Drinks + Snacks from 5:15PM, Talk from 5:30PM to 6:30PM
Location: Level 7 Fronde House, 131 Queen Street
Tauranga: Thursday, 24 July
Time: Drinks + Snacks from 5:30PM, Talk from 6:00PM to 7:00PM
Location: EnvisionIT, Level 5 Westpac Building, 2 Devonport Road, Tauranga
Christchurch: Monday, 28 July
Time: Drinks + Snacks from 5:30PM, Talk from 6:00PM to 7:00PM
Location: Canterbury Innovation Incubator (CII), 200 Armagh Street (opposite Centennial Leisure Centre)
I'll post more on the Tauranga DNUG session later.
Mar31
Categories: Deployment, Reporting Services, SharePoint
So, I've developed a parameterised report and surfaced it inside a SharePoint site using the Report Viewer Web Part.
Now the user has this 'nice' pane on the side of the report to supply the parameter value....

How do I provide parameter values without requiring user intervention? Just follow these easy steps.
Put the page hosting my web part into edit mode:

Next click on the edit button for the Report Viewer Web Part, we see the connect to option, but it's disabled. :o(

A connectable web part to provide the parameter(s) is needed...
Click on one of the Add a Web Part headers.

Luckily OOTB there are a bunch of Filter Web Parts which we can use for just this purpose! I chose to use the Query String (URL) Filter.

Now open the tool pane.

Configure the filter web part.

The web part is now configured but not connected.

Now you need to connect the web parts, note that you can choose to connect the web parts from either end.

OR

The connection between the web parts needs to be configured.

Now the screen looks like this:

Once the courseCode query string parameter is supplied the report will be generated using that parameter value.

I hope this helps some one else out there.
Mar26
Categories: Deployment, SharePoint, Reporting Services
Oops, nearly two weeks since a post! That's a bit of an indicator of how busy I've been of late...
Anyway, I had to set up up SQL Server Reporting Services in SharePoint Integrated mode.
This time I found a few issues, firstly I couldn't actually access the report server virtual directory by browsing to the url I'd set up for my reporting site using IWA. I was getting a
"HTTP Error 401.1 - Unauthorized: Access is denied due to invalid credentials" message:o| Luckily I found a great
KB article that gave me a workaround.
So next it was on to installing the SharePoint addin and configuring it, no troubles, until I was up to the last step of configuring Reporting Services inside SharePoint where upon I recieved a "An unexpected error occurred while connecting to the report server. Verify that the report server is available and configured for SharePoint integrated mode. --> The request failed with HTTP status 502: Proxy Error ( Internet Control Message Protocol (ICMP) network is unreachable. For more information about this event, see ISA Server Help. )." error message :o(
WTF?? I'm working in a VM environment where ISA is not present, checking my "Internet Options" shows that I'm just using the LAN connection, not using a proxy server and not auto-detecting. Where on earth is this proxy error and mention of ISA coming from?
After some log trawling and interpreting it turns out that SharePoint has a config setting that allows it to auto-detect any proxy-servers...
<system.net>
<defaultProxy>
<proxy autoDetect="true" />
</defaultProxy>
</system.net>
So what was happening was my VM hosted SharePoint instance was detecing our corporate proxy server then trying to route requestes for the reporting server throught said proxy server which had no idea where my reporting site URL was supposed resolve to.
Toggling the autoDetect element to false solved my issues. I had to repeat this step for the site that was being used surface the reports via the Report Viewer web part.
-Gavin
p.s more posts on the reporting services front to follow ;o)
Mar12
Categories: Deployment, VSeWSS, SharePoint, DevelopmentOk, here at
Intergen we are working on the
VSeWSS 1.1 User Guide. As part of this we have to create code samples in both C# and VB.NET for all the code that we produce. No big deal really.
Except that when you attempt to deploy the second version of the code you get the message:
"This solution contains two assemblies with the same name, or the SharePoint server already has an assembly with the specified name."
Huh? What's going on here was my first reaction. After applying a little thought to it I realised that there was a solution package added and deployed to the SharePoint server that had same name as the one I was attempting to deploy. This solution package also contained assemblies of the exact same names as those that I was trying to deploy this time, in my case the C# version had been done first.
So knowing a little of what happens at pacaking and deployment time I opened up a file browser and looked in the bin\debug folder of the current project. Had the packaging worked I would have found a .wsp file and a setut.bat file, neither of these was presesnt so the check that throws up this message must be run prior to packaging the .wsp file for our VB.NET version.
Luckily I had the setup.bat file from the C# version! So I just ran setup.bat /uniinstall which will remove the solution package for which it was generated.
However, should you not have that file, it's still pretty easy to get arround this problem, it just requires a little stsadm fu!
Open up cmd and run these commands:
C:
cd "\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN"
stsadm -o enumsolutions
Now examine the XML output to see if you have a .wsp in that list that matches the name of the .wsp that will be created and deployed by VSeWSS for the project that you're working on. If you do you're in business!
stsadm -o retractsolution -name <Solution name> -url <virtual server url> -local
stsadm -o deletesolution -name <Solution name>
Note: do this with care! If the solution you remove is not on that you've developed then you might break other features in your SharePoint instance.
Mar6
Categories: Deployment, SharePoint
Anyway I was trying to debug my job by attaching to the OWSTIMER process and it appeared that the process was running an old version of my code. :o\ It appears that to ensure that the newly deployed version of the DLL that you have deployed to the GAC you need to restart the OWSTIMER process.
So I've included that into my script to deploy and everything is happy again. Below is a sample deployment script for your reference.
net stop sptimerv3
rd /s /q "%CommonProgramFiles%\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\MyTimerJob"
mkdir "%CommonProgramFiles%\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\MyTimerJob"
copy /Y feature.xml "%CommonProgramFiles%\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\MyTimerJob\"
gacutil /u MyTimerJob
gacutil /i bin\debug\MyTimerJob.dll
pushd %programfiles%\common files\microsoft shared\web server extensions\12\bin
stsadm -o deactivatefeature -filename MyTimerJob\feature.xml -url http://col/ -force
stsadm -o uninstallfeature -filename MyTimerJob\feature.xml -force
stsadm -o installfeature -filename MyTimerJob\feature.xml -force
stsadm -o activatefeature -filename MyTimerJob\feature.xml -url http://col/ -force
popd
net start sptimerv3