SQL 2005 Reporting Services add-in for MOSS 2007, PerformancePoint Server 2007 and MOSS 2007

by oscar 11/15/2008 11:37:22 AM

I am currently working on a project where I will integrate PerformancePoint Server 2007 with SharePoint 2007 and use the SQL Reporting Services add-in for MOSS built-in rich capabilities to empower users to run reports based on deployed Data Models.  For a full list of benefits in using Integrated Mode, check out this post from the Microsoft SharePoint Team Blog

Problems I ran into while installing it


Reporting Services Section does not show up on the Central Admin
When installing Reporting Services add-in for SharePoint 2007 using Integrated Mode, I was not able to see the Reporting Services section on the Central Administration site.  I know I followed all steps and made sure I had all prerequisites. So why am I not able to see the new section on the Central Administration?

Easy, make sure the Feature is activated!

image

After you activate the Feature, you should see the Reporting Services section under Application Management on the Central Administration.

image 

Get 401 Unauthorized when clicking on Set server defaults
Once I had the new Reporting Services section and clicked on Set server defaults, 401 Unauthorized message.  Long story short, apparently, Alternate Access Mappings are not supported!  Once I changed the url of my site to something like http://moss:8321 instead of a url like http://mysite.sharepointace.com it worked just fine. 

About PerformancePoint Server 2007


PerformancePoint 2007 is awesome, it comes with a tool called PerformancePoint Dashboard Designer which allows you to quickly build Scorecards, Dashboards, PKIs and more.  It generates Dashboard Pages which are just WebPart Pages in MOSS.  The one thing I found out about the WebParts it deploys, is that these are actually quite different than the SharePoint WebParts.

Currently, I have the challenge to figure out how to have multiple dashboard pages created with Dashboard Designer, and pass parameters to a page, so that I can filter the view.  I read that the PerformancePoint Dashboard Designer allows you to publish your dashboard to multiple pages and still be able to filter the other pages…

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Content Query WebPart (Recurring Calendar Events) on CodePlex!

by Admin 11/1/2008 11:10:00 AM

[UPDATE] If you have any functionality suggestions, please submit those via the CodePlex project site.  Or if you would like to take on enhancing it please let me know, I welcome the help :) 

Well, I finally got an opportunity to package this WebPart and make it available to the public.  There is definitely some work left, and it is an Alpha version.  The download includes the Visual Studio Solution, you can immediately build your WSP using cool tools like the WSPBuilder.

This WebPart allows you to display (you guessed it), recurring calendar events.  It also provides additional functionality. 

To learn more, go to the CodePlex workspace at http://www.codeplex.com/CQWPRCE
Enjoy!

Oscar

P.S.  I also welcome your feedback either via this blog entry, or the CodePlex project site url above!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

DataViews | CQWPRCE

New Book - Social Computing with Microsoft SharePoint 2007: Implementing Applications for SharePoint to Enable Collaboration and Interaction in the Enterprise

by oscar 10/26/2008 12:31:02 PM

A while back my friend Brendon Schwartz a SharePoint MVP, asked me to contribute to his new book which will be published on February 2009. I can’t wait to get a copy of it.  I know he is excited as well, and I am happy to have had the opportunity to contribute.

You can learn more about the book on the Amazon site.

Brendon also recently joined Telligent, the company that brought us Community Server and Graffiti CMS, and soon Community Server Evolutionwhich he is helping integrate with SharePoint Products and Technologies.

O.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

CCQWP - Recurring Calendar Events soon on CodePlex!

by oscar 10/26/2008 12:04:39 PM

I have gotten a lot of positive feedback on this WebPart.  Unfortunately, I am super busy at the moment with multiple things, therefore, I decided to create a project on CodePlex to make it available to whomever feels they can use it.

At this time the WebPart is functional, but it will certainly need some work.  I will welcome any person that wishes to enhance it and update the source code on the project :)

Some of the things I would like to do soon:

a) Package it up in a WSP (Solution File)
b) Create a cool looking logo for it (many moons ago, I used to design, believe it or not)

 

As soon as I publish the project, I will post the URL.  Again, I welcome feedback and any help in enhancing it in the near future.

-O

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

LINQ Extension Methods and Lambda Expressions in SharePoint 2007 Development

by oscar 9/26/2008 5:40:50 PM

I have been working on a project where I needed to do some extensive manipulation of data on a List Event Handler ItemUpdated Event.  Here are a few samples of how Lambda Expressions and LINQ Extension Methods, (Scott Guthrie has a great intro article) saved the day for me.

First, I have a function which I won’t list here for now; that iterates through the afterProperties collection and checks for the fields that have changed, once the user clicked on the save or ok button.  For every field that has changed, it stores the SPField, the old value and the new value in an object called CourseUpdatedField (see class below).

image

Retrieving all fields except one with a specific name

As I mentioned before I store the SPField in the Class CourseUpdatedField for a reason, one of those reasons is that I needed to access specific field properties, such as the InternalName, in this case to exclude that field before iterating through the Collection.

image 

Find added and removed items on a SPFieldLookupMulti Field

For a field like this, a user can click on the ‘add >’ or ‘< Remove’ buttons.  The goal is to find out what Cities where previously there, which ones where just added, and which ones where removed when the user updated the form.

The data is stored as a delimited string, so to retrieve those values, one can use the SPFIeldLookupValueCollection Class as listed below.  The SPFieldLookupValue object has the City value on the LookupValue property, and this is where I compare those values to check old and new values.


image

And here is how I have gone about capturing these changes.  When I iterate through the column that holds the new Cities, I check to see if that City existed in the old column value.
image

In the end, part of the List Event Handler’s job was to capture changed fields when a List Item was updated, and send an email to specific people.  This is how changes to the Cities Field look in the email message.

image

Hope this helps,
Oscar

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

CAML Query – Obtain items past due OR due in 21 days

by oscar 8/27/2008 5:02:50 AM

Was working on getting Tasks assigned to a user on a custom DataViewWebPart titled “My Critical Tasks”.  It is easy to obtain past due items, but sometimes you need both Past Due and due in X number of days.  I was battling (as with anything SharePoint) with this CAML query, but finally got this one to work. 

On my XSL I render an indicator image based on the date each Task has, looks something like this (FIGURE 1).  I enabled editing as well, so a user can edit the status of the task right from the home page and modify the Due Date, Status, and Notes if needed!

FIGURE 1 – Tasks shown based on the User that is currently logged onto the MOSS Site.

image

FIGURE 2 – Editing a Task on the WebPart

image

<Query>
  <Where>
   <And>
        <And>
             <And>
               <Geq>
                  <FieldRef Name='DueDate' />
                  <Value Type='DateTime'>
                     <Today OffsetDays='-21' />
                  </Value>
               </Geq>

                <Eq>
                   <FieldRef Name='AssignedTo' />
                   <Value Type='Integer'><UserID/></Value>
                </Eq>
             </And>
            <Neq><FieldRef Name='Status'/><Value Type='Text'>Completed</Value></Neq>
        </And>
      <Or>
        <IsNotNull>
            <FieldRef Name='Related_x0020_Event'/>
        </IsNotNull>
        <IsNotNull>
            <FieldRef Name='Related_x0020_Course'/>
        </IsNotNull>
     </Or>
  </And>
   </Where>
   <OrderBy>
      <FieldRef Name='DueDate' Ascending='True' />
   </OrderBy>
</Query>

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

CAML | DataViews | SharePoint Designer | WSS 3.0

List Event Handler ItemUpdated Event – How to set a form field value programmatically

by oscar 8/12/2008 10:29:12 AM

On my current project we had a requirement where based on the user browsing the SP Site, I needed to set the value of a MultiChoice Field to yes/no.

At first, I had difficult time figuring out why my code was not updating the value of my field.  Here is what works!  Specifically, the SystemUpdate(false) is what did it.

//always set the locked value to YES.
  properties.AfterProperties["Locked_x0020_and_x0020_ready_x00"] = "Yes";

  try
  {
      DisableEventFiring();
      properties.ListItem.SystemUpdate(false);
      EnableEventFiring();

  }
  catch (SPException ex) {}

Hope this helps you,
O

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Another SharePoint Consultant with a Mac Book Pro…

by oscar 7/20/2008 2:44:59 PM

Apparently I am not the only .NET/Microsoft Platform/SharePoint Consultant that uses a Mac Book Pro, Andrew Connell, Spencer Harbar and others have done this as well.  I just like the hardware Apple produces, plus having the ability to have multiple platforms at hand is awesome!  I’ve been using this hardware for about 5 months and have absolutely no complaints. 

A few days ago I thought it would be terrible to loose all my configuration and software settings should the Boot Camp partition becomes unusable.  So, I went on a quest to figure out the fastest and safest way to backup my entire partition and recover it with minimal downtime.
396
On this partition, I have Windows 2008 and all the Microsoft Office SharePoint Server 2007 required development tools.

On Disaster Recovery

I recently became a bit more conscientious about disaster recovery, and so I thought that I should have a plan to recover my Boot Camp Partition should I loose it for some reason (of course, being a developer, there is a greater chance).

Here are the options I looked at.

  1. Use Windows Server Backup to produce the VHD and store it on an external drive
  2. Use Acronis True Image Enterprise with Universal Restore ( tried restoring to VM but no luck) to create an Image
  3. Use Winclone to backup my Boot Camp partition.

In a nutshell, 1 and 2 failed, there are issues with rebooting it appropriately, I may have gotten it to work, but at this point I wanted to ensure I have something in place sooner rather than later and so I used Winclone.

I used Winclone to accomplish my task.  However, I ran into an issue where as soon as Winclone backed up my partition, it became unusable.  I found out there was some order of the tables that got screwed up, so I ran the gptrefresh command as mentioned by the creator of the tool and it worked!  After running that, I was able to boot again with my Boot Camp partition.

The one thing I wish I had was a 64bit computer so that  I can play with Hyper-V on Windows 2008 Server!

Happy developing using the Mac Book Pro!

-Oscar 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

SharePoint Designer Workflow – Send Email Reminder X days prior to a Date

by oscar 6/24/2008 2:12:15 PM

Business Problem


One of my clients wanted to send email reminders to users one week prior to the project assigned tasks Due Date.

Solution


As you may or may not know, MOSS does not have that built-in functionality, but it is easily accomplished via a workflow created using the SharePoint Designer 2007.

Architecture

Calculated Column
I feel that working with complex date calculations (view my other post for a more date formulas  SharePoint List Calculated Column - Calculate Business Days) are best done on the SharePoint List side.  Therefore, I decided to have a calculated column that would already have the DateTime for when I need to send my Email Alert.

In this scenario it was fairly straight forward and so my formula simply looks like this:
image

This is what the column looks like when viewing the list items.  If you look closely, you will see that the column Days Prior To Due Date shows 3 days, but my email reminder column says the date to send my email is 6/21/2008.  The reason is that the formula on that column excludes weekend days!  image 

Workflow

The first Step on the workflow – Set Reminder Time

  • I use the Add Time To Date Action, but don’t actually add time, I simply capture the value of the column TaskEmailReminderDate and store it on a variable called ReminderDate for use on my Step 2.
  • Store the Task Title on a variable called SubjectTaskTitle, used when sending my email
  • So that I can debug, I simply use the Log To History List Action to view the value of the ReminderDate variable



image

The Second Step on workflow – Send Task Reminder Email

There are no conditions, this step simply uses the Pause Until Date Action and uses the variable on Step 1 called ReminderDate to send out my email.
image


NOTE:
When I was testing my workflow, I was of course logged in as the “Administrator”, and so the workflow always failed to start automatically!  View this KB article for details.  My resolution was to simply create another account in AD and grant that account admin rights to my portal.  This prevented me from updating the Application Pool Identity for my Web Application.

Well I hope this helps you and let me know if it did!

Cheers,
Oscar

Currently rated 3.0 by 2 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Calculated Fields | SharePoint Designer | MOSS 2007 | WSS 3.0

SharePoint List Calculated Column - Calculate Business Days

by Oscar 6/23/2008 12:19:00 PM

Ran into a nice little scenario where my client wanted to know how many business days were remaining prior to a Task Due Date. Once I had this date, I built a nice DataViewWebPart (see Figure 3) with the SharePoint Designer! This is what I came up with, hope it helps you!

A) Create a calculated column; call it something like "Days Prior to Due Date" in my case.

b) Paste this value into a Calculated Column, formula
=(DATEDIF(Today,[Due Date],"d"))-INT(DATEDIF(Today,[Due Date],"d")/7)*2-IF((WEEKDAY([Due Date])-WEEKDAY(Today))<0,2,0)+1

C) Make the output type "Single line of text"

NOTE:
At the time of creating this calculated column, you must have another dummy column called "Today", it does not matter what data type it is. Once you create your calculated column, make sure to delete the Today column or your values will not work!

FIGURE 1 – Shows the formula for your calculated column to count only weekdays.

FIGURE 2 – Shows the sample Due Date and the calculated column output (far right)

FIGURE 3 – Shows you a dashboard with some XSL logic in the background to output an image on the left, and the days remaining calculated column value on the far right

Currently rated 3.0 by 1 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

WSS 3.0 | MOSS 2007 | Calculated Fields | SharePoint Designer | DataViews

Powered by BlogEngine.NET 1.2.0.0
Theme by Mads Kristensen

About Me

Oscar Medina I am a SharePoint Solutions Architect based out of San Francisco, California.
You can read more about me here

E-mail me Send mail
View Oscar Medina's profile on LinkedIn

Calendar

<<  November 2008  >>
MoTuWeThFrSaSu
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

View posts in large calendar

Recent comments

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008

Sign in