Office and Business Productivity

SharePoint, GTD and beyond

Browsing Posts in SharePoint

Setting some context

Like on almost everything in life, there are different opinions on using site collection quota.

hd
In his blog post “Controlling Sites Sizes with QuotasMichal Pisarek proposes to use Site Collection Quotas and they should be one of the first things to be considered in your SharePoint Governance plan.
I do agree with him, but I also firmly disagree.

Why don’t I agree with the obsessive (IT) need to implement Site Collection Quota?

During a workshop I was delivering to the business key stakeholders for a SharePoint project (it was a workshop to gather business requirement for a SharePoint implementation) the topic of quotas presented itself. Without telling or asking anything about quota, the business representatives came up with this question. Technically it is not a question because the is no question mark in the sentence, it was more like a proposal or even a requirement.

“If our Enterprise IT strategy directs us to use SharePoint and use this tool to share files between countries and continents then we don’t need (read want) quotas.”
(They were at this moment not able to share information on file shares easily between different countries since file share servers are hosted in the office or country where the files were primarily stored)

Now, from an IT perspective this is a NO-GO because IT wants to (draconic) keep control on disk space consumption and storage capacity planning.

So my response to that was (I was also surprised of this statement, but understood exactly what they meant) asking them on how they can assure that only relevant information will be stored in their sites.
That old, outdated content will be removed. You know, people tend to start cleaning up disk space when they run out of it. And how can we make sure they will not have (too much) duplicates in their sites. And that’s for me the part where governance enters the discussion.

So what is a possible solution?

My solution is not just 1 solution. It is a combination of different solutions that can fulfill the business requirement (the need for “unlimited” disk space and freedom just like they now have on their file share) is not to use Site Collection Quota (or use a very big quota) and define content types (something you should always do on your SharePoint sites)

After defining the content types, you can configure retention policies on these content type. Just to make sure that legal documents don’t get deleted, after 2 years. And you probably don’t need to have your minutes of meetings available for 7 years in the production environment.

An extra step (and maybe a highly recommended one, although  I’m lacking real life experience with this as we speak (Jan 2012)) is that this retention policy actually moves files out of the SharePoint SQL database into another system. Like a tape or a BLOB. There are tools available on the market where you can do storage optimization and create rules that will move documents (or versions of documents) to a BLOB. So you offload these document from the underlying SQL database to alternate tiers of storage like a SAN. This will benefit the sizes and numbers of content database, but it is also a good thing for search and indexing. If you can keep the relevant content in your content databases lower, by off loading these files to BLOB, the overall performance of your database will not decrease (or decrease less) compared to when you keep all these files in the database.

Delivering Business value or loosing control over disk space capacity?

My point of view is that these solutions provide value to business users. Even though IT people will most probably freak out on the thought about not defining a quota, when you define the technical governance correctly and have the proper tools (like Docave Storage Manager from AvePoint  and Storagepoint from Metalogix) you’ll be able to provide a trustworthy solution.
Defining and configuring site collection quota requires less effort then defining  enterprise wide content types, retention policies combined with offloading the SQL server.
But I think it is worth it.

 

BIWUG is hosting an interesting evening on SharePoint 2010 Multilingual User Interface.

I also heard from the president of the BIWUG  that the #SharePint will be organized with actually pints :-)
So no #ShareCola or #ShareMinutemaid but actually real Belgian beer, hence a real #SharePint!

Doing a SharePoint project in a multilingual environment can be tricky. In this BIWUG session we will focus on how the new MUI (Multilingual User Interface) allows for multilingual collaboration scenarios.  We will show you how MUI and the SharePoint variations framework relate to each other.  Next to showing the out of the box features we will do a deep dive for developers explaining how to use the MUI framework in SharePoint custom solutions. The session will wrap up with some best practices and pitfalls as well as a round the table discussion to exchange ideas. 

 

<Update>

I heard there are some books that need a new owners. #bookGivaAway with special thanks to WROX.

</Update>

Agenda:

18:00-18:30 – Welcome and snacks

18:30-19:30 – SharePoint MUI – Part I  (Speakers: Andy Van Steenbergen & Joris Poelmans)
19:30-19:45 – Break
19:45:20:45 – SharePoint MUI – Part II  (Speakers: Andy Van Steenbergen & Joris Poelmans)
20:45 – … SharePint!

I hope to meet and greet you all there.
You can use the link here under to register.

 

On Thursday October 27th BIWUG organizes an evening full with great information. I’ll be a part of that, speaking about SharePoint Governance. Or we can also call it Governance for SharePoint. I’ll also participate in the second part of the evening where we’ll talk about the past, the present and the future of BIWUG. Oh yes, for the record, the third part of that evening will also involve some me, but in the form of attending and trying to get a good conversation and meeting great people at the #SharePint.

During this session I want to give the attendees a different view on Governance. Most probably (and hopefully) a view they didn’t thought at before. Yes, I’m talking about the softer side of a SharePoint deployment.

dreamstime_872766

This is the sessions abstract : Stop thinking about features features features when talking about governance. When designing governance for a SharePoint implementation, a lot (not to say all) energy and words go out to technical stuff, SLA’s and not to the things that define the business value. And the business value is not only a perfect technically tuned and performant SharePoint farm (if that even exists).

This evening will start at 18:00 in the offices of Microsoft (Leonardo Davincilaan 3 , 1935 Zaventem).
If you are interested in this session and haven’t subscribed yet, it can get tough to get in. 74 people already registered for this session and it’s sold out.

 

Business case:
We have a document library with files. These files all have specific files level permission. A user can only see files (s)he is allowed to see, and the permission level changes during a workflow. When the document get the status finished, a workflow will remove the contribute right for the contributors and set a read permission for these users. There are also about 30 metadata columns. Some of these columns are just status fields used in a workflow, other ones (about 22) are actual properties of this document.
The library is used to collaborate on files that have a limited time span. When the documents are finished and the responsible people have approved them, they need to be move to a archive.

There are 2 easy ways to do this. (I only discuss solutions without having access to a console on the server to execute STSADM command, nor use solutions that required Visual Studio). Besides these 2 options, you could also execute an STSADM –export of write custom code.

  1. Create a template from your library with content
  2. Create a template from your library without content and move the content using explorer view.

Method one has some restrictions and side-effects. First, the content of the library cannot be more than 10 MB. This limit is in most cases very restrictive, and therefore not the best solution. Also, you can do this only once, since every year the content will change, and you might not want the have a document library template in your template gallery for every year.
You can change the maximum value (10 MB limit) via stsadm -o setproperty -propertyname max-template-document-size –propertyvalue xxxxxx” (xxx being the size in bytes). But hen again, (power)users don’t have acess to the console, so I don’t consider this an option.
We would also have an issue with the item level security since item level security is not maintained in a template.

The second solution is in my opinion a better, more flexible and stable solution.

  1. Create a template from your library using this procedure:

Settings > Document library Settings > Save document library as template
Under the Permissions and Management > Save document library as template

Fill in File name, a Template name and a description for your template, and don’t select Include content. The Template name is the name that will appear when your want to create a document library.

That’s all for the creation of a document library template. This template will now be available when you create a new library or list and appears in the List Template Gallery at http://mySharePointSiteURL/_catalogs/lt/Forms/AllItems.aspx

  1. Create a library based on the new template

The next step is to create a new library based on the template we you created in step 1

In the Quick Launch, click on View All Site Content (or click on Site Actions/View all Site content). This will direct you to the /_layouts/viewlsts.aspx page and shows and overview of all Libraries and lists in your site.

Click create and select the templatename (the one you created in step 1).
Fill in the Name and description and other information.
Once this library is created, validate that all columns exist. (via Document Library settings)

Open the newly created library in Windows Explorer View and open the document library with the source in Explorer view

Then select the documents that you want to move, (using Shift or CTRL and click the documents) and drag them to the destination library.

That’s it.

 

14 Microsoft User Groups combine their efforts to organize this unique networking and knowledge sharing event. Microsoft Community Day will take place on Thursday 23th June 2011 in Utopolis, Mechelen, where we will
bring together over 350 IT Pro’s and developers. Of course, some other people will also join the party, like the “functionals” ;-)

My session will cover this topic: “SharePoint Governance: Stop thinking about  features features features when talking about governance. When designing governance for a SharePoint implementation, a lot (not to say all) energy and words go out to technical stuff, SLA’s  and not to the things that define the business value. And the business value is not only a perfect technically tuned and performant SharePoint farm(if that even exists). ”

Feel free to join me at 16:00.

Communityday 2011

Communityday 2011

 

I was working on a workflow that assigns a unique approval number to an approved item. Despite the fact I made this workflow using Nintex, it is possible to create this workflow with SharePoint Designer (using the calculate function)

Requirements:
We have a list, where users can fill in a request to increase the quota of their site. The governance has decided that the IT department is responsible for the capacity, hence they need to be the approver of this request.
When a request has been approved, it should receive a unique approval number. The rest of the process is not relevant for this blog post.

Solution:
By using a combination of the ‘created date’ and the list item ID we can create a unique number. It was not required to use sequential number (was even preferred not to do this)

Setup:
In the custom list there are a lot of columns, but these are the once I have used to calculate a unique value for the approval number

Column name

Type

Year Calculated value : =TEXT((Created),”yyyy”)
Month Calculated value : =TEXT((Created),”mm”)
Day Calculated value : =TEXT((Created),”dd”)
ApprovalPart1 Calculated value: =DATE(Year,Month,Day)

Workflow variables:

ApprovalCalc : Text
ApprovalNumber: Number

Actions

In Nintex I created a Math Operation. It is configured to do “(Listlookup Current Item Approvalpart1) + (Listlookup Current Item ID)”.
This will result in having a number that is formed by  the number of days of the creation date (based on December 31 1899 being value 1) added with the itemID.
This value will be stored in the ApprovalCalc variable.
Then we have a build dynamic string action that build a string “STS- {WorkflowVariable:ApprovalCalc} and stored this value in the ApprovalNumber variable. (IT people wanted to have a prefix STS-).
The next action updates a list item called Approval_Number with the value of the ApprovalNumber variable and then other actions like sending emails and creating tasks is executed.

 

I wrote a post about how to use the workflow status in another workflow or in a view.
When I was changing views on a custom workflow that was created by Nintex I ran into issues.  I wanted to display all items were the workflow was not Approved. So as a logical next step, I would just need to change my view and filter on the status (filter on “is not equal 16″).  But this didn’t work. It showed all items, even the ones that were approved.

I then edited the list in Datasheet and found out that Nintex is using other numbers then SharePoint (or the Workflow Foundation) does.

Apparently Nintex uses these status indicators:

2 In progress
3 Error occurred
4 Cancelled
5 Completed
 

When you work with documents there are some best practices, and it will make yours and your colleague’s collaborative life a lot easier when you follow these simple guidelines. In this post I’ll try to explain what you better try to avoid when you work with documents and SharePoint. Whenever it is possible, I also advice you what to do

1. Give your document a reasonable filename, avoid long filenames.

Use the TITLE field in the office applications to give your document a title (and subtitle and keywords, .) The title column can be used in a view in a library. You can get to the document properties by clicking on Office Button/Prepare/Properties. (Office 2007). This is metadata that is stored with the document, and will remain in the document (even if you exchange this document via e-mail, via an external hard drive …)
The filename cannot be longer than 128 characters. (and that is IMHO far beyond reasonable)
You cannot use any of these characters: ” # % & * : < > ? \ / { | } ~ 

2. Don’t use spaces in your filename.

While it is allowed to use spaces in your filename (and maybe it seems even logical to do so), don’t use them if your file will end up (or is born on) SharePoint.
When you use the “download a copy” functionality, SharePoint will replace the spaces with an “_”. This might (will) result in inconsistency when you upload the “same” file again, since SharePoint will see this as a different file (since the filename is different).
I recommend using a filename with Capitalization style naming guideline. For instance: the document “Overall governance model.docx” would be named “OverallGovernanceModel.docx”

3. Don’t store the version as a part of the filename, but use the build in versioning functionality.

SharePoint has a built-in versioning system. You can work with major (published) versions, and minor (draft) versions. Of each of these two document types, you can store a numbers of versions that are kept. Watch out, each version is saved, not only the delta between 2 versions, and this counts to your Site Collection Quota. (Example: you have a Word document with a size of 2 MB. When you keep 5 Drafts this will result in storing (and consuming) 10 MB.
So, don’t call your document “NewUserAccountProcessDRAFTv1.docx”, but “NewUserAccountProcess.docx” and use versioning setting in your library.

  • You can enable views on your library to display the version number.
  • You can enable the version number to be displayed in a Word document.

4. Use SharePoint as a Document Management Platform.

And I mean Platform, not just a secondary file storage location.
The file stored here is the “one version of the truth”. This is your starting and ending point. DO NOT send this document to people, but send links to the document. This way you’ll keep just 1 version of the truth

Use the Out Of The Box workflows to

  • Collect feedback
  • Make sure your team knows how to work with documents (Check Out, put comment in the document directly (Track Changes), Check in), and that they can complete a workflow task from within the document
  • Get a document approved (Approval workflow) (same here, you can approve/reject the document from within the Office Client)
  • Publish major versions

5. Use Metadata

Use metadata to assign other properties to documents, so it can be easily identified, sorted- or grouped by. I would like to refer to a post on “When (not) to use folders”. (this post is currently not posted yet).

 

In this article I will explain you how you can add a Google or Bing map to your Collaboration site. Actually, you can use this for all kinds of sources.
Prerequisite: You need to have Site Owner rights to modify pages (adding web parts)

  1. The first thing you need to do is to add a Content Editor WebPart
  2. Click on Site Actions and then on Edit Page


  1. Select the Web Part zone where you want to display the map
  2. Scroll down to the Miscellaneous section and select the Content Editor Web Part and press ADD
  3. Then click on the Edit / Modify Shared Web Part

  4. In the right part of your screen the you’ll see the Content Editor Web Part details. You can set your own title in the title field under Appearance. Now you have to copy the code of your google/bing map into the webPart. Click on Source Editor and the editor will popup.
  5. Paste your source (which you can find somewhere on the google of bing page (mostly under embed in website) Copy the HTML code
    1. For Google :
    2. For Bing:

You can of course customize your map by clicking the customize and preview link.

  1. Paste the HTML code in the Editor and click on Save

  2. Then depending on ‘where’ you created this page, you need to click on Exit Edit mode in the right corner (under Site Actions) or Check in and Share Draft on the top of the page

Note: If you are doing this from within a HTTPS site, you will get a popup when you access this page to inform you that some information that is displayed isn’t secure and it will ask to display the secure data. If you select yes here, the map will be displayed, of you choose no, it won’t be displayed.

 

 

 

 

 

 

 


 

 

As a result of the great interaction of the SharePoint community on twitter, I created this blog entry. 140 characters are definitely not enough to ask my questions, and Stump The panel doesn’t allow screenshot (I think). The content I provide is fictive, but the setup is real J. Please note, that the screenshots are from the test environment, and I blurred some thing due to confidentiality.

My current setup. We’re working with MOSS 2007. There is a site collection with a root site, let’s call it rootsite. Under the rootsite, there are several subsites, let’s call them subsite1, subsite2, ….
The members of subsites will only have access to their subsite. We can say that the subsite=registrant (so metadata hereunder)
In the root site I have a list. Let’s cal this list registrations. This list has several columns (metadata) Registration date,
Registrant, visible4all, material, unit,…

  • Registration deadline (date)
  • Registrant (lookup to a list called registrants)
  • visible4all (Yes/no)
  • material (single line of text)
  • unit (single line of text)
  • ,…

What would I like to have.

On a subsite, I would like to have a page with a view on the registrations list in the rootsite. The filter should be : Show items where (registrant=xxx or visible4all=Yes)
I created a dataviewwebpart to get that data. This will give me a list with all the registrations for that registrant. (I added the filter in the DVWP in the common dataview tasks) In this list I would like to use some extra filtering. For instance, I would like to filter on material, and would like to be able to filter even more , for instance on unit. (so the existing filter of the DVWP would be filtered on material, and then on that filtered data I would like to filter a unit) When I want to use the filter possibilities in the DVWP I click on DV properties (in SharePoint designer) and select Filter

This gives me a lousy implementation of the filter possibilities (click on filter, then select a filter). But entries appear multiple times in the dropdown list of that filter (for instance, when material wood is used in multiple entries in that list, it would appear multiple times in the drop down box). This results in a highly user-unfriendly way to filter data.

I installed the instantfilter from Jaap Vossers. I thought this would be a great solution, but the users say they don’t know the filter values by heart, hence they can’t use a system like this. They would really like to pick something from a dropdown box or something.

So, the actual question:

What possibilities do I have to setup a decent filter in the DVWP? A decent filter system would be something that you have by default on a document library or a list. Other solutions are also welcome. (must say, I rather new to XSLT and Jquery, but I’m a good searcher and am aware of the CTRL-C/CTRL-V keys of my keyboard J, and until now, I most questions I received coud be solved with other things than Jquery and or “copy-pastable Jquery” stuff ….

 

Suggestions are welcome in the comments, but if you need some more rich text, you can email me at . When you email me, I will do my outmost best to make an overview and create a blog post with the answers.

 
Get Adobe Flash playerPlugin by wpburn.com wordpress themes