Nov2

Blog has been discontinued

Tags: Data One
This blog has been discontinued in favor of an aggregation over a number of blogs from our developers and consultants, which can be found here: http://www.dataone.de/de/unternehmen/Seiten/blogaggregator.aspx

This additional variety will provide you with even more information about SharePoint and other .NET-related topics.
Thank you very much for your understanding.
 
Apr16

New in Nintex Workflow 2007: Inline Functions

Tags: Nintex Workflow

With the latest build Nintex added again lots of new features. Besides the product now supports multilingual user interfaces, it also offers the possibility to use inline functions. These functions focus on manipulating and formatting string and date values and are mostly clones of existing functions known from the .net Framework. You can use the functions in any inputbox within the Nintex Workflow Designer, see the example below.

This is how it works:

"The parsing engine first replaces any inserted reference tokens, and then the resulting text is evaluated for functions. If a function contains another function as an argument, the inner most function will be evaluated first. As reference tokens are replaced first, the reference token can also contain function syntax that will be evaluated. If text contains function syntax (i.e. a brace or comma character) but is not intended to be interpreted by the parser, wrap the text with {TextStart} and {TextEnd} markers to inform the parser that the block should only be treated as text and not evaluated. For example, if a number variable that contains a decimal value is passed to the function, and the decimal separator for your region is a comma, the {TextStart} and {TextEnd} tokens will need to be used."

The current build [10903] supports the following functions:

Function

Description

fn-FormatDate

Represents a date time value in text of a specific format.
Information on how to format the value can be found on this page: Standard Date and Time Format Strings and this page Custom Date and Time Format Strings.

fn-Currency

Represents a numeric value as a currency formatted text.

fn-Substring

Extracts a portion of text from a string.

fn-Replace

Replaces a section of text in a larger string.

fn-ToTitleCase

Formats text in a string to title case.

fn-ToUpper

Formats text in a string to all upper case.

fn-ToLower

Formats text in a string to all lower case.

fn-Length

Returns the number of characters in a string.

fn-PadLeft

Returns the provided string right aligned and padded to the total length with a specific character.

fn-PadRight

Returns the provided string left aligned and padded to the total length with a specific character.

fn-Remove

Removes a section of text in a larger string.

fn-Insert

Adds text in to a larger string.

fn-Trim

Removes leading and trailing whitespace from a string

fn-Abs

Returns the absolute value of a number

fn-Max

Returns the greater of two numbers.

fn-Min

Returns the lesser of two numbers

fn-Round

Rounds a decimal value to the nearest integer.

fn-Power

Raises a number to the specified power.

fn-DateDiffDays

Determines the number of days between two dates

fn-DateDiffHours

Determines the number of hours between two dates

fn-DateDiffMinutes

Determines the number of minutes between two dates

fn-DateDiffSeconds

Determines the number of seconds between two dates.

fn-XmlEncode

Encodes a string to make it safe for viewing in html.

fn-XmlDecode

Decodes a html safe string to regular text

fn-NewGuid

Generate a globally unique identifier.



That´s rich! J

Markus



 
Apr8

Set user permissions for a Website with Nintex

Tags: Nintex Workflow, PowerActivity, PowerShell, SharePoint

If you use the "Create a Site" activity with Nintex Workflow 2007, there is no way to assign detailed user permissions for the newly created site - you can only choose to either inherit the permissions from the parent site or you can manually set a single user as site owner.

But here is the solution: Use the Data One PowerActivity and a few straightforward lines of PowerShell code to manage the user permissions and roles in detail!

   

$webDestination = get-spweb "{WorkflowVariable:AbsolutURL}"

$webDestination.BreakRoleInheritance($true)

$roleAssignment = new-object Microsoft.SharePoint.SPRoleAssignment -argumentList "domain\user"

$roleDefinition = $webDestination.RoleDefinitions["Contribute"]

$roleAssignment.RoleDefinitionBindings.Add($roleDefinition)

$webDestination.RoleAssignments.Add($roleAssignment)

$webDestination.Dispose()

Insert the PowerActivity after the "Create a site" activity within the Nintex Workflow Designer canvas. Paste the PowerShell snippet into the PowerActivity. Use $webDestination to set the new site's URL, which you can easily obtain from the "Create a site" activity (configuration dialog > Store URL in). Set -argumentList and RoleDefinitions["Contribute"] according to your requirements. Run your workflow and see for yourself that all permissions have been created automatically.

Regards,

Andreas

 
Mar5

Twitter Action for Nintex Workflow 2007

Tags: Nintex Workflow

In preparation of our slot at Basta 2009! we were thinking about a neat custom Activitiy which could be developed in a quick live coding session. The activity should be easy to understand and for demo purposes come off in a "just for fun" vibe. So, in consideration of the current hype surrounding Twitter we decided to do a tiny Twitter Action that can process Tweets, integrates TinyUrl and validates the length of the tweet.

Even if this project was done for "fun" you can still think of some realistic scenarios. Image you have a company account at Twitter and your Public Relations Manager wants to approve the tweets before they get send to your public timeline. Collect your tweets in custom SharePoint list (anybody could add items there) and let PR approve them. A workflow could then look like this:

Since tweets are supposed to be current, you can build in an escalation branch (left side) to remind the manager to approve the tweet (i.e. after 1 hour). If nothing happens, we just delete the tweet from our list because it can be considered "old".

The configuration dialog page uses default Nintex Controls (Credential Picker & Plain Text), so you can benefit from all Nintex features like item property lookups or the site credential store.

You can download the action here. It´s deployed as a Site Feature and has to be activated explicitly.
If you are interested in the PowerPoint slides from our Basta session, the slides are available here.

Note: this is not an official project. It´s not on codeplex and there is no support or any warranties.

 
Feb23

Data One PowerActivity for Nintex Workflow 2007

Tags: Data One, Nintex Workflow, PowerShell, SharePoint

 

 

For advanced users who want to create individual activities for Nintex Workflow 2007
as quickly as never before, Data One offers a one-of-a-kind tool: Data One PowerActivity.

Data One PowerActivity features the seamless integration of arbitrary Windows PowerShell scripts with Nintex Workflows and offers additional functionalities to integrate PowerShell and SharePoint developments.

Use this activity to:

  • Look up data on different sites and site collections
  • Start workflows on different lists
  • Manage site permissions
  • Integrate APIs

 

 

Benefit from Nintex Workflow to automate your business processes and administrative tasks.
Reach your goals even faster now using Data One PowerActivity, the ideal tool for rapid development, prototypes, proof-of-concept studies and agile SharePoint development.

If you are interested in this product you can now download a fully functional 30 days trial version!

 

 

 
Jan26

Use display names in people lookup fields

Tags: Nintex Workflow

Sometimes you need to assign values to people lookup fields when you don´t know the exact login name of that certain user.

In this case, you will fail assigning the plain displayname. However, there´s a small workaround to handle this problem.

You need to build your own "technical" lookup value in a simple text variable ("Person") and use -1 as fake user id.

For example in the following way:

   

You can assign "Person" now to people fields

Keep in mind that you will run into trouble if there´s persons with the same name.

   

Markus Alt

 
Dec19

The new Nintex Enterprise Features - Introduction

Tags: Nintex Workflow, SharePoint

Nintex added a set of new activities to the latest build of Workflow 2007, especially the enterprise version experienced a real boost. Doing so, Nintex intends to delimitate the standard and enterprise versions of the product. In the upcoming articles, I`ll give you a short breakdown on the latest additions.

First off, there´s a list of the new activities – we´re planning to do webcasts and real life scenarios later on. I´ll take the opportunity here and will work with the German version of Nintex Workflow 2007 for the frist time!

Original name

Category

Deutsche Version

Kategorie

Icon

Submit to record center

Publishing

An Datenarchiv senden

Veröffentlichung

Query MOSS user profiles

Sharepoint-Profiles

Benutzerprofil abfragen

SharePoint-Profile

Update MOSS user profiles

Sharepoint-Profiles

Benutzerprofil aktualisieren

SharePoint-Profile

Create Audience

Sharepoint-Profiles

Eine Zielgruppe erstellen

SharePoint-Profile

Compile Audience

Sharepoint-Profiles

Zielgruppe zusammenstellen

SharePoint-Profile

Delete Audience

Sharepoint-Profiles

Zielgruppe löschen

SharePoint-Profile

Query Excel Services

Integration

Excel Services-Abfrage

Integration

Query the Business Data Catalog

Integration

BDC-Abfrage

Integration

Remove an AD Security Group

Provisioning

AD-Benutzergruppe löschen

Benutzerkontenverwaltung

     

Expect detailed instructions in further articles @SPBombShell soon!

By Markus Alt

Technorati-Tags: Sharepoint, Nintex

 
Dec19

Nintex and the NWAdmin Tool

Tags: Nintex Workflow, SharePoint

A commonly underrated tool for the Nintex Workflow Engine is the included console application NWAdmin! A reason for this may be its limited functionality in former Nintex builds. But with the latest update, Nintex made a remarkable step forward and enhanced the tool with a lot of new operations. So by now, you can do administrative tasks which you can´t do via the user interface by default.

To name some of them:

  • Deletion of Workflow Actions [-o removeaction]
  • Deployment of Workflows [-o deployworkflow]
  • Cleanup of WF histories [-o purgeworkflowdata]
  • Batch delegation of WF tasks [-o delegatealltasks]
  • List all active WF [-o findworkflows]

When you process a default Nintex installation you find the tool residing at c:\program files\Nintex\Nintex Workflow 2007. The help-parameter will deliver further information on the capabilities:

You gain most benefits if you integrate the tool in your scripts, for example to deploy a workflow to several sites or to move a whole set of custom activities to your production environment. Even within the latest builds, you are not able to do this via the user interface.

Examples:

  • A certain workflow activity is obsolete and you want to delete it completely
    NWAdmin -o RemoveAction –ID <ActionID>
  • A co-worker gets sick and will not be able to work for a longer period. What happens to his existing workflow tasks?
    NWAdmin -o DelegateAllTasks –currentUser domäne\name_alt –newUser domäne\name_neu –username UserMitBerechtigung –password ******* 
  • You have intensively test-driven your workflows and the site can now go live. You need to get rid of hundreds entries all over the workflow histories
    NWAdmin -o PurgeWorkflowData -state ALL -url http://server/sites/teamsite

    the PurgeWorkflowData operation offers a lot of useful parameters:

    -workflowname <name>
    -state [ALL|Completed|Running|Cancelled|Error]
    -url <teamsite url>
    -listId <guid>
    -itemId <int>

        

  • You need to know which workflows are currently active?
    NWAdmin –o FindWorkflows

    Output:

            

By Markus Alt  

Technorati-Tags: Sharepoint, Nintex

 
Dec15

Synchronize document versions and SharePoint versions with PowerShell

Tags: PowerShell, SharePoint

Imagine you import some documents from file system to sharepoint. You may experience that your former document versions do not match the item versions created by sharepoint. Since the version field is readonly, it is not possible for you to manipulate that value by default.

In this article, I´ll show you one possibility (there´s many) how you can solve that kind of problem. To keep it short, I decided to choose a "no build" approach and just do it with a tiny little helper called PowerShell (PoSH)! That means there´s NO visual studio involved and NO deployment is necessary to get this done.

Before we start scripting we should investigate on the way how SharePoint is handling and managing versions internally. Do to this, activated versioning on list-level is mandatory:

If we take a look at a version history inside the PoSH, we recognize a certain but unexpected pattern (at a first glance) and two relevant fields:

VersionId: 512
VersionLabel: 1.0

If you process updates on an item, the output will change as follows:

VersionId: 513
VersionLabel: 1.1

You can approve the item, and the output will be:

VersionId: 1024
VersionLabel: 2.0

You see, there´s a simple formula which we have to keep in consideration later in the script:
VersionId = (MainVersion * 512) + Subversion

Next we need to add a field to our list to store the former document version of the file system:
Name: ImportVersion, Type: Text

Now we can finally open up the PoSH. If you are working with PowerShell and SharePoint, I recommend you to modify your profile as described on iLoveSharepoint

The script is pretty straight forward though:

$web = get-spweb http://localhost/websites/spbombshell 
$list = $web.Lists["ListName"]
$item = $list.Items[0]
$importVersion = [int]$item["ImportVersion"]
$itemVersion = [int]($item.Versions[0].VersionId / 512)
 
$count = $importVersion - $itemVersion
 
for ($index = 0; $index -lt $count; $index++) {
    
$item.File.CheckOut()
    
$item.File.CheckIn("PoSH Check-In")
    
$item.File.Approve("PoSH Approve")
}

             

Check back the version history of the modified item:

We must get rid of the history lines, so we add one more line to our script:

$item.File.Versions.RecycleAll()

That´s it – your versions are synchronized.

By Markus Alt

     

Technorati-Tags: Sharepoint,Powershell

 
Dec12

Data One ist Exklusiver Sponsor der SharePoint Special Days 2009

Tags: Data One, SharePoint

Auf der BASTA! Spring 2009, der jährlich stattfindenden Konferenz für .NET und Visual Studio, hat die bloße Theorie ein Ende. Dann wird es Zeit für die Praxis. Data One gibt Entwicklern, Administratoren und Beratern die bestmögliche Unterstützung für Ihre alltägliche Arbeit und ihre Projekte. In Form von Best Practices, Hands-on Power Workshops und interessanten Sessions bieten auf der BASTA! namhafte nationale und internationale .NET-Experten Tipps, Ideen, Unterstützung und Antworten für Ihre laufenden und zukünftigen Projekte.

Im Rahmen der BASTA! Spring 2009 finden vom 25.-26. Februar 2009 die SharePoint Special Days statt - mit Data One als exklusivem Sponsor! Erleben Sie an unserem Stand hautnah, wie Sie das Maximum aus Microsoft Office SharePoint Server (MOSS) bzw. den Windows SharePoint Services (WSS) herausholen. Lernen Sie Nintex Workflow zur intuitiven Erstellung von Workflows kennen, das Data One Power WebPart zur Verknüpfung von SharePoint mit der Windows PowerShell und diskutieren Sie mit unseren Experten die neusten Trends rund um Microsoft SharePoint und .NET-Entwicklung. www.basta.net

By Nadine Bosch

 
 Next >>