Skip to main content

Posts

Showing posts from January, 2010

VG Custom KPI View Web Part

Wylde Solutions released VG Custom KPI View Web Part. This is a Web part that allows you to display key performance indicators using custom images.

UPD: The above mentioned Web part is for MOSS 2007. You can inquire about it on our Web site.


If you have any questions in regard to implementing KPIs and other Business Intelligence features for your company or you need assistance contact us now for a consultation.

Google Maps in SharePoint

I have found some resources recently about the subject:

1. It's All About Location - Embedding Google Maps in SharePoint

This example uses Content Query Web Part and is static which is normally not the real-life scenario.

2. Google Map SharePoint Web Part

This is a product that looks nice and delivers what is normally wanted.

3. SharePoint Google Map

This is a custom field that can display Google Maps for user. It looks like there are some limitations when you use that control.

4. Using Google Maps to Display Geographical Information in SharePoint

This is a nice technical article which exlpains how you can make it.

5. Add a Google Map to SharePoint

Video article.

Stay tuned and mapped. :)

How to add custom property/properties to SharePoint features

Here's the article about how to add custom property/properties to SharePoint features: Adding Custom Properties to Sharepoint Features

Though this is pretty useful in order to provide different values to the feature's property you have to deactivate and activate the feature again so be aware that if your feature does some clean-up on deactivation it can be gone with feature property change.

Key Performance Indicators - Add custom column to KPI list in SharePoint

Scenario

You want to add custom column to your KPI list using, but don't want to do this in UI.

Solution

1. Add your custom column to the Site Columns

SPWeb web = ...;
string name = "Mighty Column";
SPFieldType type = SPFieldType.Text;
bool required = false;
SPField field = null;

string internalName = web.Fields.Add(name, type, required);
field = web.Fields.GetFieldByInternalName(internalName);

web.Update();

2. Alternative 1 - Add the created column to one of the KPI List content types

SPList list = null;

string sListTitle = "Mighty KPI List";
try
{
    list = sweb.Lists[sListTitle];
}
catch
{
}

if (list != null)
{
    SPContentType ct = list.ContentTypes["Indicator using data in SharePoint list"];
    // or Indicator using data in Excel workbook
    // or Indicator using data in SQL Server 2005 Analysis Services
    // or Indicator using manually entered information
    if (ct != null && !ct.Fields.ContainsField(name))
    {

        ct.Fi…

Key Performance Indicators - Create KPI List and indicator programmatically

Scenario

We need to create KPI List and an Excel Workbook indicator programmatically.

Solution

1. Create an Excel Workbook:



2. Upload that workbook to the document library on our Web site:



3. Add trusted location to Excel Services settings:



4. Create a project in Visual Studio which will do the following:


SPListTemplate template = null;
foreach (SPListTemplate t in sweb.ListTemplates) // sweb - SPWeb object that we initialized before
{
if (t.Type.ToString() == "432") // this way we can pickup the KPI List list template
{
template = t;
break;
}
}

Guid gG = Guid.Empty;
SPList list = null;
string sListTitle = "Mighty KPI List";

try
{
gG = sweb.Lists.Add(sListTitle, sListTitle, template);
list = sweb.Lists[gG];
}
catch
{
// exists
list = sweb.Lists[sListTitle];
}

// in our case we need Indicator using data in Excel workbook content type
SPContentType ct = list.ContentTypes["Indicator using data in Excel workbook"];

SPListItem item = list.Items.Add();
item[&quo…

Mighty SharePoint 2010 Workflows - Part 2 - Using SharePoint Designer 2010 to manage workflows

In the previous post - Mighty SharePoint 2010 Workflows - Part 1 - Using Visio 2010 to create workflows - I created a workflow model in Visio 2010.

Now I'd like to implement my workflow in action.

1. Open SharePoint Designer 2010, open the Web site and choose Workflows navigation item on the left and then click "Import from Visio" button on the ribbon:



2. Choose the workflow file exported previously from Visio and then choose Next:



3. SharePoint Designer asks for some initial parameters - Workflow name and would it be a list workflow or a site level reusable workflow. I will choose list workflow for now and select a list to which my workflow will be assigned:



4. Here we go:



5. I will set up my workflow so it will do something useful and then I'm able to extend my workflow by adding some functionality. There is a very nice feature in SharePointe Designer 2010 - when you are adding some action to workflow system allows you to type in the name of activity and provides you wi…

Mighty SharePoint 2010 Workflows - Part 1 - Using Visio 2010 to create workflows

Because I love automating workflows with SharePoint I have done the following scenario:

1. We have a simple workflow
2. When the item is created on the list we check the item field and if it has specific value send email to someone to approve our item and assign item to approve
3. Then we wait for the item to be changed by approver
4. Finish workflow

Idea was to try new features of Visio 2010 and SharePoint 2010.

OK, let's begin.

1. Start Visio 2010 and choose Flowchart template of diagram on the following nice screen:



2. Select Microsoft SharePoint Workflow and hit Create button:



3. You should see the following screen:



You can see the following Workflow Actions you can choose from:



and Workflow Conditions:



4. Using those shapes create a diagram for the process we have:



5. There is a nother nice option here - Check Diagram - and of course I used it to check my diagram:



6. There were no erros in my case and I exported my diagram into the Workflow.vwi file:





Cool. Next step will be to import my wor…

Mighty SharePoint Workflows - part 4 - Start/restart SharePoint workflow programmatically

Scenario
We want to start or restart SharePoint workflow programmatically for the list item.

Solution

SPList list = ...; // initialise your list
SPWorkflowAssociation workflowAssociation = null;
workflowAssociation = list.WorkflowAssociations.GetAssociationByName("Mighty Workflow", System.Globalization.CultureInfo.CurrentCulture);

if (workflowAssociation != null)
{
foreach (SPListItem item in list.Items)
{
foreach (SPWorkflow wf in item.Workflows)
{
if (wf.AssociationId == workflowAssociation.Id)
{
// if we want to restart - cancel the running one first
if (!wf.IsCompleted)
{
try
{
SPWorkflowManager.CancelWorkflow(wf);
}
catch
{
}
}
//
try