If you are one of those users wishing you could modify your SharePoint 2010 Home Page, then this presentation is just for you - our 30 minute, real-time, how-to presentation will guide you through the process. We will start from scratch - by creating new SharePoint site, and then will go through the entire customization process. The result - a cool new look and feel of your SharePoint web site!
Monday, August 16, 2010
Custom SharePoint 2010 Home Page in 30 minutes!
If you are one of those users wishing you could modify your SharePoint 2010 Home Page, then this presentation is just for you - our 30 minute, real-time, how-to presentation will guide you through the process. We will start from scratch - by creating new SharePoint site, and then will go through the entire customization process. The result - a cool new look and feel of your SharePoint web site!
Wednesday, August 11, 2010
To hell and back with SQL Server Embedded Edition in WSS 3.0
We all know installing WSS 3.0 with the Basic configuration adds the flavor of SQL Server Embedded Edition (aka WYukon or Windows Internal Database). There is not much official information on the topic but it seems that this edition has not many but significant differences to SQL Server Express:
- no 4 GB Database limit
- limited connectivity
In order to find out more about WYukon and how SharePoint operates with it I used the usual suspect - Reflector and Microsoft.SharePoint.dll.

public bool m_wyukonSafeMode;
private const string sqlstrSetSingleUser = "CHECKPOINT; EXEC sp_dboption '{0}', 'single user', '{1}'";
private const string WYukonDataSource = @"np:\\.\pipe\MSSQL$Microsoft##SSEE\sql\query";
It is also interesting how they open and close the connection to WYukon DB:

Some interesting methods for WYukon compliance as well:

It is not really common for WSS production environments to be setuped on a single server (we all know the huge performance implications of doing it) but for developement virtual machine to test something quick, this can be a prefered environment. For our free product we do our forms magic by utilizing SharePoint's Content database with some tables and custom SQL queries and if it fails for a potential client who wants to be impressed real quick thus has just configured his brand new clean environment - well... it is not pretty to fail miserably not able to... connect to database.
So, how to solve it? I'll show you using a modification to the step-by-step approach - exception-by-exception.
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified.
This was easy - just verify whether SharePoint connects to a WUkon server by comparing SPWeb.Site.ContentDatabase.Server with the hardcoded source: "np:\\.\pipe\MSSQL$Microsoft##SSEE\sql\query". If so make sure your code connects to it as well.
The next problem that you will face when you try to run the create table scripts is:
DDL statement is not allowed
Cool! Now what? Appearantly Microsoft forces you to get the database into single user mode in order to execute multiple statements (this was "reflected" conclusion, see the later screenshots)! Nice!
ALTER DATABASE SharePointContentDatabase SET single_user;
// Create your tables
ALTER DATABASE SharePointContentDatabase SET multi_user;
Now the even trickier part is that if there is an open connection to the database you cannot connect. You can wait, or even start a timer job to try squeeze in when there is no open connection but our clients want to see the product right away!... not tomorrow, next week...
Thank god, there is a workaround here. A veeeery dangerous workaround... Force the other bastards out of your way - kill their connections:
ALTER DATABASE SharePointContentDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
Doing this will drop SharePoint's connection to the database (if it was the bastard in your way) so you will need to reconnect (recreate) SPSite, SPWeb, etc.
If you are lucky though and no one in your way it means success! Well, no! Life is not perfect, and because you are a great developer who always executes multiple SQL statements in a transaction you are facing your next SQL Server Embedded related problem:
ALTER DATABASE statement not allowed within multi-statement transaction.
Cool! So you need to open connection, set db in Single User mode, close connection. Open another one, execute your transacted scripts, close connection. Open connection, return DB to original state, close connection.
Tuesday, July 20, 2010
Nintex Workflow 2010 released
- Fluent ribbon interface
- Business connectivity services
- Reusable workflows
- Site workflows
- Content type workflows
- Exporting workflows to Visual Studio® 2010
Thursday, June 24, 2010
Creating templated site for WSS 3.0: Templates vs Site definitions vs Features





Friday, June 11, 2010
Check effective permissions actionWhen utilized it can right on the spot identity access levels and reveal those user suspects. Bad thing is that it`s only available for MOSS, but for WSS 3.0 it`s always a close alternative to use that tool.Audit logsYou do have when in MOSS only, but that`s the only trace you can find on the SharePoint portal itself. There are several reports all as downloadable content. The important task here is to have those auditing configured in advance. True to say it`ll cause a performance impact, but having it set on sensitive data will payoff. Audit settings are configured per sitecollection.Usage reportsDeserves to be mentioned as it might bring additional idea of what a particular user has been doing. The down-side is that you need the usage reports turned on and collecting data.Recycle BinsFor missing data always check the sitecollection root recycle bin. Most of the data can be restored back throughout it. Or at least it`ll get you the user that decided to go for a clean-up.
Thursday, June 10, 2010
ChartPart for SharePoint
If you would like to generate some charts in Microsoft SharePoint 2007, after a quick search you will find that there is no such out-of-the-box functionality. You shouldn't worry, though, as there is a free web part available at Codeplex, which has everything you need for your list-based charting needs. It is called "ChartPart for SharePoint" and is available here.
Prerequisites
In order to get it working on your server, you will need to have Microsoft .NET 3.5 SP1 and Microsoft Chart Controls for Microsoft .NET Framework 3.5 installed. The 'installation package' does not check for those prerequisites, so make sure you do that manually before you install. Most probably you already have .NET 3.5 SP1 installed, but chances are, the MS Chart Controls are not installed.
Installation
The deployment package consists of two WSP files (SharePoint solution deployment packages) - MSChartControls.wsp and ChartPart 2.0.wsp. First, you have to install the MSChartControls package. Login on your SharePoint server, start the Console (Start -> Run -> cmd) and type:
stsadm -o addsolution –filename MSChartControls.wsp
stsadm -o execadmsvcjobs
STSADM NOTE: Of course, you will have to choose between the convenience of not typing the full path to the stsadm.exe file or not having to type the full path to the WSP. So, you have to be in one of the two folders and type the full path to the other file.
This will add the solution to the SharePoint Central Administration -> Operations -> Solution Management. You can either use the User Interface it provides to deploy the added solution, or you can continue executing console commands, like this:
stsadm -o deploysolution -name MSChartControls.wsp -immediate –allowgacdeployment
stsadm -o execadmsvcjobs
Then, you have to activate the installed solution on Web Application level:
- Go to Central Administration
- Go to Application Management
- Select Manage Web Application Features
- Verify that you have selected the correct Web Application in the top right corner
- Click Activate on the Microsoft Chart Controls Feature
stsadm -o addsolution -filename "ChartPart 2.0.wsp"
stsadm -o execadmsvcjobs
Deploy the solution, either from Central Admin, or by using the console:
stsadm -o deploysolution -name "Chartpart 2.0.wsp" -immediate -allowCasPolicies -url <url>
stsadm -o execadmsvcjobs
Where <url> is the address of the web site you wish to deploy the webpart to. Now all you have to do is activate the feature on the selected Site Collection.
- Go to Site Settings for your top-level site
- Go To Site Collection Features
- Activate the ChartPart for SharePoint feature
- Now you can add ChartParts on every site in your Site Collection.
Usage
I created a new 'Web Part Page' on my site, to use for experimenting with the web parts. I chose 'Full Page, Vertical' layout template, as it is one of the simplest and I preferred to have full width.
I chose to 'Edit Page' and clicked on 'Add a Web Part' link in the design mode of the page. A pop-up showing all available web parts appears and from there, I chose to add on the page the 'ChartPart' web part.
Once added on the page, you have to configure it. While the page is still in design mode, click on the little arrow down in the right upper corner of the web part. It will open a side menu. Click on 'Modify Shared Web Part'. This will open the options of the web part.
Here, you can set the title of the web part (as it will appear on the page it is added to), the web site to pull data from, the specific list and its view. Then you have to select X and Y "Series" column. A bit of explanation... Only Number fields can be choses as "X-Series". "Item Count" is always available to you. As "Y-Series" you have to specify a column of the SharePoint list.
To illustrate all this, I will configure my list to contain only two columns - "City" (single line of text) and "Population" (number field). Here is what my list looks like:
Now, I want to configure the Chart web part to visualize this statistics. I will set it up this way:
We click OK button and the generated chart looks like:
Customization
You can customize the chart in many ways. First. by selecting the 'Chart Type' for the chart. Choices are Column, Bar, Pie and so many others. Additionally, you can select 'Style' (Cylinder, Emboss, LightToDark, Wedge), which seems to work only on specific 'Chart Types'. For example, it clearly works on a 'Column' chart type. Here is the difference between 'Cylinder' and 'Wedge':
There is many other fine tunings you can do, like color palette, size and etc. Also what's really nice is that in the tooltip (when you hover a column in the chart) you will see an exact value, of the column.
Conclusion
ChartPart for SharePoint is a great component, if you want to visualize some statistics based on SharePoint list items. It is highly customizable, easy to install and use. Read more on this article...
Friday, May 21, 2010
We present you iTechnology Check Effective Permissions web part
In this post I will get you through the FREE download, setup and features of our small tool that iTechnology present you with.
FREE download
You can download the iTechnology Check Effective Permissions web part from our Downloads section (free registration is required).
Setup
- Use install.bat file to add the solution to your SharePoint
- In Central Administration deploy iTechnology Check Effective Permissions feature to whichever site you need it.
Features
iTechnology Check Effective Permissions feature deploys a small web part to the web part gallery of the site. You can find it in the iTechnology group and add it to a desired page.

View as Site Collection Administrator
In the iTechnology Check Effective Permissions web part settings you can set Display mode of the web part which lets you choose between “Display from root site” and “Display from current site”. This is how the web part’s settings screen looks like:

The first option will present you with the opportunity to view permission levels coming from the various possible sources in the tree of websites in the current site collection; the latter one – only from the site where the web part has been used down the websites’ tree. This is how the screen looks like for Site Collection Administrators:

When the administrator hovers over the more marker a small window pops up with the granular effective permissions for the user. This is great for determining why some user can or cannot do something at a specific website:

View as User
The web part can also be used to display permissions for normal users. They will be presented with their permission levels and the more granular rights but cannot search for other users’ permissions:

The web part’s settings also can be applied and work the same way as for Site Collection Administrators.
Let us know what you think!
Read more on this article...Thursday, May 13, 2010
iTFA and Nintex: One click to complete task and save form
The Goal
The goal will be to open an iTFA perspective from “My Workflow Tasks” Nintex webpart. But this is too simple, so I will add one more item to my list – when user selects an iTFA action to be able to save the form and complete the workflow task the same time. Here is the time to mention that this is a temporary work-around for the iTechnology Forms Accelerator versions up to 2.0.5. For the next major release this functionality will be included without the need of coding, so that every iTechnology Forms Accelerator and Nintex user benefit from it, not only the IT pros.
Resolution Scenario
The resolution scenario for my goal includes:
- Create a custom content type “iTFA Nintex Task” that inherits from “Nintex Workflow Task” and will be used for Nintex approval tasks
- Create a custom approval page and configure “iTFA Nintex Task” content type to use it
- Add iTechnology Forms Accelerator user control in this page and pass the required parameters for it
- Capture iTFA action and based on it execute appropriate Nintex task
Step 1 and 2
I will not stop on these two steps – how to create a content type and custom Nintex approval form and how to configure the content type to use the form. There is really good description of all this in Nintex SDK, which can be downloaded here. The SDK even includes sample code that can be used as a base for our solution.
Step 3
Now is time to add iTechnology Forms Accelerator user control to the page. As I said will use the sample code from the Nintex SDK as template, but will cut quite a lot from its functionality since all I need to show on my page is iTFA control. This means that will remove all UI and actions, and instead in Main placeholder will add the control, together with few JavaScript and CSS files references that iTFA control uses:

Note that those JS and CSS files are located in “12 Hive\TEMPLATE\LAYOUTS\itfa\xxx” and this should be considered when creating the path to them. In my case I will place the page directly under “12 Hive\TEMPLATE\LAYOUTS”, so the path looks as shown above.
To use iTFA control in my page, have to add a reference to it. It is located in “iTechnology.Forms.Clients.WebControl” assembly:

And this is all for the aspx page for now. Next – what changes are needed in the code-behind.
In my code-behind class first will check if the list is integrated with iTechnology Forms Accelerator. When a SharePoint list is integrated with iTFA, then there is a property set in its properties bag, called “IsITFAActivated” and its value should be “YES”:

As I said in the previous post, to make iTechnology Forms Accelerator show specific perspective there are 3 parameters required: List ID, List Item ID and Perspective name. List and list item IDs, are available from Nintex workflow task object. For perspective name I will add one more field in my SharePoint list. This field can be updated from Nintex workflow for example.

Besides those 3 required parameters, here I add PerspectiveType and FormID. PerspectiveType property is not required, while FormID I have to add to avoid exceptions like:
Value does not fall within the expected range.
And this all – now my custom approval page can display iTechnolgy Forms Accelerator form, and can be opened from “My Workflow Tasks” Nintex webpart.
Step 4
In my scenario I want to have 3 actions available: Approve (approve the request and save the form), Decline (reject the request and save the form) and Cancel (does nothing). So, in my iTechnology Forms Accelerator form, will add “Approval” perspective (the one that will open from my workflow) and there will add those 3 actions in actions section. Remember that if I want to add additional perspectives, the form has to be in Advanced mode. For the first 2 actions (Approve and Decline), I choose “SharePoint update” as type of action to achieve saving of the form. In “Post execute action” section I’m choosing to redirect to another perspective with name “View”. This way once the action is complete, my form will open in view mode so I can see the changes.

For Cancel action I select “No Action” option for type and again to be redirected to View perspective.

In the code-behind of my custom approval page, I have to override ActionSubmit event for iTFA user control. This way once an action is submitted, will be able to check if Nintex task has to be updated and then move on with the form.

ActionSubmit event has iTFAActionEventArgs type as event arguments and this is how will get the name of the current executed action:

And when knowing the name, the proper outcome for Nintex worklow task can be selected:

Well, this is really simple implementation and can be complicated and improved the way specific case requires it, but should give you the idea how to use iTechnology Forms Accelerator user control with Nintex workflow. Here you can download the code of iTFA / Nintex Approval Page (free registration is required).
Read more on this article...



