Nick Grattan's Blog

About Microsoft SharePoint, .NET, Natural Language Processing and Machine Learning

Posts Tagged ‘SharePoint

Taxonomies and Ontologies

leave a comment »

The terms “Taxonomy” and “Ontology” are often used inter-changeably and are often confused. However, the terms to express different concepts.

  • Taxonomy is about classification, and so represents “Is-A” relationships. For example, in the zoological world, a domestic cat (“Felis catus”) is a member of the family “Felidae” which itself is a member of the order “Carnivora”. Such taxonomies are typically, but not always, hierarchical. An object can exist simultaneously in many different taxonomies. So, a cat also belongs to the group “predators”, which would also include the insect “praying mantis”.
  • Ontology is about the concepts and relationships that can exist for an object or a group of objects[1]. For example, the “Part-Of” (“Part Holonym” [2]) relationship is used to describe the parts of a car (a wheel is part of a car). Therefore, a taxonomy is a type of ontology by this definition.

SharePoint 2007 introduced the managed metadata service to allow the definition of taxonomies to be used for classifying items and documents through metadata columns. Companies are encouraged to define their own or use industry standard taxonomies for classifying documents across the organization to ensure standardization and improve searchability.

Less work has been done in integrating ontologies within SharePoint, although progress by a number of third-party software vendors is being made. “WordNet” [3] provides a rich source of generic ontological information using the English language, and codifies many types of relationships between nouns, verbs, adjectives and adverbs using “cognitive synonyms” (synsets). Vertical market ontologies are now being built, such as for financial governance by the “GRC3 – Governance, Risk and Compliance Competence Centre” at the University of Cork, Ireland (http://www.ucc.ie). Integration of such ontologies in SharePoint will be the next step in improving search, leading to the possibility of useful question-answering systems.

[1] What is an Ontology? http://www-ksl.stanford.edu/kst/what-is-an-ontology.html

[2] Speech and Language Processing, Jurafsky & Martin, 2nd Pearson International Edition p.653

[3] Princeton University “About WordNet.” WordNet. Princeton University. 2010.  http://wordnet.princeton.edu 

Written by Nick Grattan

July 24, 2012 at 7:21 pm

My SharePoint Sites and “Members” Group

with one comment

The “My SharePoint Sites” links facility is designed to provide quick and easy access to all sites to which you are member:

membergroup1.PNG

This facility is very well described in the blog post Overview of My SharePoint Sites and how the data is populated by Jerry Orman.

Sites in which you are a member are included in the list. What does “member” mean? In the simple case, it means that you belong to the group
designated as the “members” group for the site.

When you create a site and choose unique permissions you can specify a new group for site members. You can also change the “Members of this site” group through “Setup Groups for this Site” or create another members group:

Now, what’s strange is that it is the group “Project N Members” that is deemed to be a “members” group when it is created as a “Members of this Site” group and regardless of how and where it is used in the future.

Therefore, if you use this dialog to select another group that was not created as a “Members of this Site” (say “Project N Visitors”), the site will not appear in the “My SharePoint Sites” list.

Conversely, if you select “Project N Members” as the “Visitors to this Site”, the site will appear in the “My SharePoints Sites” list.

Note that when editing a group you do not get an opportunity to set the “Is Member” flag. However, if you look at the “Groups” table in the content SQL Server database you’ll find a “flags” column. A value of “0” means the group is a “Members” group, and “1” for other groups:

Please note I’m only showing the SQL Server Database table for illustration. Please do not modify the table contents directly.

Written by Nick Grattan

October 16, 2009 at 4:25 pm

Creating While Loops in SharePoint Designer Workflows using Stateful Workflows – Part 2

with 3 comments

Here’s some additional information to this post about this subject.

An alternative to our solution for while loops in SharePoint Designer workflows have been previously proposed based on setting a workflow to start when an item is changed. This gets over the problem of how to get a workflow to restart itself (which we do with the “Restart This Workflow” action). You can find a description of how to do this here: http://sharepointmagazine.net/technical/development/the-dog-ate-my-task-use-sharepoint-designer-to-email-daily-task-reminders

However, the technique of a workflow restarting itself when an item changes will not work with SP2. Take a look at this Microsoft post:

http://blogs.msdn.com/sharepointdesigner/archive/2009/07/13/service-pack-2-prevents-an-on-change-workflow-from-starting-itself.aspx

In SP2 a workflow cannot restart itself recursively, and so this will break stateful workflows written in this way. Seems strange that Microsoft would introduce a breaking change when using these techniques have been well documented.

Written by Nick Grattan

October 7, 2009 at 12:40 pm

Creating While Loops in SharePoint Designer Workflows using Stateful Workflows

with 14 comments

For an update on this topic please see this blog entry: https://nickgrattan.wordpress.com/2010/12/14/while-loops-in-sharepoint-designer-workflows/

Amongst several significant limitations with SharePoint Designer workflows, perhaps the most important is the lack of looping. Therefore, expressing processes like “while not approved, rework” becomes difficult.

We have published a paper that describes how to implement while loops by emulating stateful workflows in Microsoft SharePoint Designer. You can download the paper here (PDF, Oct 2009). The technique uses our “Restart this workflow” custom action, which is part of our “Custom Activity Pack” which can be downloaded here for free.

Update: 10-Nov-2013. Source code and WSP now available in GitHub: https://github.com/NickGrattan/NGCCustomActivities.git

Written by Nick Grattan

October 6, 2009 at 10:00 am

Custom Workflow Action: Send to Records Center

with 7 comments

Our Custom Activity Pack contains actions that can be installed for use in Microsoft SharePoint Designer workflows. The latest version includes an action for sending documents and items to a Records Center site collection directly from your workflows.

The Custom Activity Pack is free and can be downloaded from GitHub: https://github.com/NickGrattan/NGCCustomActivities.

Other custom actions in this pack include:

  • Start Workflow – Start another workflow for the item or document and return.
  • Call Workflow – Start another workflow and wait until that workflow has completed.
  • Halt Workflow – Halt another workflow executing against the item or document.
  • Restart This Workflow – great for implementing stateful workflows in SharePoint Designer
  • Is Workflow Running – check if another workflow is running against the item or document.

Here is the entire list of actions:

CustomActivities.png.PNG

Written by Nick Grattan

October 1, 2009 at 5:18 pm

Am I Serviced Packed?

with one comment

You can find the current version number for MOSS 2007 through Central Administration:

  • Run Central Administration.
  • Click the Operations tab.
  • Click Servers in farm under the “Topology and Services” section.

This shows the version number for the farm and each individual server in the farm:

version.PNG

Here are the version numbers for various MOSS 2007 service packs:

Unservice packed 12.0.0.4518
MOSS Service Pack 1 (SP1) 12.0.0.6219
MOSS Service Pack 2 (SP2) 12.0.0.6421

For a full list of version numbers, including interim builds see here.

Update: 5 Nov 2009: See here for how to find MOSS 2007 and Windows SharePoint Services version numbers.

Written by Nick Grattan

September 1, 2009 at 4:08 pm