Loads of work at the office, but I couldn’t let this one slip by. SharePoint magazine has a nice article about using SharePoint on an iPhone. It’s quite an interesting read.
Archive for July, 2008
SharePoint on an iPhone
Posted by koenvosters on July 31, 2008
Posted in Moss 2007 | Tagged: iPhone, Moss 2007 | Leave a Comment »
SharePoint 2007 Engineering Practices, Must Read
Posted by koenvosters on July 28, 2008
One of my colleagues sent me a link to a VERY NICE article about MOSS 2007 Projects. It lists a lot of lessons learned and things to consider in a SharePoint project. The only small remark I have is that if we are using Team System for our SharePoint projects, we might use the Team System Project Portal (based on WSS 3.0) instead of adding a seperate MOSS 2007 to create a project portal. I’m pretty sure (haven’t tested it though) that you can give people access to your team portal in Team System without them having to be a Licensed User.
Posted in Moss 2007, Team System | Tagged: Moss 2007, Team System | Leave a Comment »
Moss 2007 Licensing (rant)
Posted by koenvosters on July 28, 2008
CMSWatch has a nice, but short and incomplete, rant about the SharePoint 2007 licensing. And it is indeed rather confusing. As the article specifies, when you have a core CAL you only have access to your MOSS 2007 Standard functionalities. So can’t you put an enterprise version of MOSS 2007 and still use your core CAL to access non Enterprise functionalities? Officially, you can’t, however there is what they call a gentlemen’s agreement where people who use the Enterprise features are using an additional CAL, while those who aren’t accessing those features are using the Core CAL. That way you don’t have to buy 5000 extra CALs if only 10 users are making use of the are using those features.
Apart from that there is still quite a lot of different possibilities and rules that specify which license you need in which case of infrastructure (staging environment, non staging, …) Between partners we kid a lot that you need a degree to be able to figure out licensing. And in fact, it does feel that way. Therefor it’s always a good idea to check your license proposal with Microsoft to make sure that what you are proposing is correct. Even then you cannot be 100% sure, but at least you got some leverage as Microsoft proposed it themselves. During a BPIO (Bussiness Productivity Infrastructure Optimization) session which included licensing some of the questions we asked could not be answered with 100% certainty. Only after a few hours they returned with the correct licensing model. This makes licensing one point Microsoft needs to work on a lot: provide us with a tool where we can say : we have this farm, we are using these features, which SharePoint and Server licenses do we need? Mr Customer, this is what it is going to cost in licensing.
Posted in Moss 2007 | Tagged: Moss 2007 | Leave a Comment »
Review: Balsamiq Mockup For Desktop
Posted by koenvosters on July 25, 2008
Yesterday I received a license for Balsamiq Mockup For Desktop. Thanks a lot for that Peldi! As creating mockups is an important part of a functional analysis / workshop, I figured I would give it a try and see if it fits my needs. As you launch it you get a nice interface, and honestly, in less than 5 minutes I created a standard SharePoint Team Sites mockup. Cool! 5 minutes later I had the mockup of two of my SharePoint Pages, and a little later the InfoPath form design was done as well. Great! Fast! But now what? I got my mockups, I can talk about it with the customer, change it and finalize it. Or even better, you give your customer a license of Balsamiq and send him the files for verification, adaptation and approval. No need for Visual Studio, Visio, … This is a great advantage of the product. Instead of sitting in your ivory tower designing everything, sending it back, receiving it, sending it back again, you can INVOLVE the customer in the creation of the screens. And at the end, when the screen looks exactly as they designed it, the satisfaction will be there as well. Due to the basic look and feel of the controls in Balsamiq, you can easily separate the logical design of each page from the sexy webdesign that you need to provide as well. You define what is displayed on each page, and where it is displayed. And up till here, all is great in Balsamiq world. And in my opinion, this is where the tool should be used for, to sit in a meeting or a workshop with the customer, and decide what we are gonna put where on each page and give them the possibility to make minor improvements in the design themselves. After this phase, I found Balsamiq quite lacking, but in my opinion the potential is there. You got the concept all worked out, and now you can go into your Visual Studio or SharePoint and do the exact same thing, again? That is what struck me as rather odd. Yes, Balsamiq mockups are xml files, and you could write atool to to read the xml from the file and convert that into a WinForm or a WPF Form. But why not provide that functionality out of the box? I mean, the program IS great, sometimes a little bit sluggish but that might be my pc, how insane would it be if you could select : Export to WPF, .Net WinForm, Java Form, PHP, ASP, … No matter what technology you are developing in (idealism striking again
), you could use one tool to design your screens and export them to your development environment.
- Fast mockup design
- Basic layout completely ignoring the graphical aspect of a website/application
- Mockups are XML Files
- Low license cost, easy to provide to your customer and have them collaborate on mockups
- Low complexity, easily useable by business users
- Did I mention you can create mockups fast?
Disadvantages
- No real export functionalities : would be nice to be able to export to WPF, WinForm, ASP, ASP.Net, PHP, …
- No possibility to add your own controls (in case of custom webparts/controls it would be nice if you could create your own mockup control)
- No hierarchy in mockups (workaround through folders possible)
- No possibility to add your own controls (in case of custom webparts/controls it would be nice if you could create your own mockup control)
Last but not least I would like to stress that I tested the Desktop version of the product, I have no clue if certain functionalities that are now lacking are available through the JIRA integrations or other integrations. Will I use Balsamiq Mockups for functional workshops. Yes I will, depending on the type of project. Would I use it if the export stuff was there? Yes, but then for each project.
Link : Balsamiq Mockups
Posted in Development | Tagged: Balsamiq Mockup Functional | 4 Comments »
Microsoft® Visual Studio Team System 2008 Database Edition GDR July CTP
Posted by koenvosters on July 23, 2008
Microsoft just released the CTP of the Team System Database Edition which adds support for SQL Server 2008 Projects.
Posted in Team System | Tagged: Team System | Leave a Comment »
Warning: SharePoint can create chaos if not used properly
Posted by koenvosters on July 23, 2008
As I am still facing quite a few clients who are still interested in just deploying SharePoint within their organisation without thinking upfront about the why, the what, the who, the where and the when, articles like the one on InfoWorld make my life a little bit easier, as with a bit of luck they end up reading it as well
. SharePoint is a great product, it does support an insane amount of features, it is a nice platform to build applications on, but it is not the magical product that will solve all your problems. I like to compare it with a nice room, with a television, lots of drawers to organize your clothes, cd’s, dvd,’s and what not. Having a nice room like that is great, and you can do lots of things in it. But you can also make a complete mess of the room, no matter how nice it was when you first “deployed” it. So define a strategy, define WHY you want to use SharePoint, which problems it will solve and where these solutions fit in the bigger picture. If you are doing a pilot, preferably by starting with one division/audience, make sure you have an idea upfront how it fits in the bigger picture, and scope it. Or your pilot will become production, you will get more and more requests as other divisions hear about what is going on, and you’ll end up with an environment that is unmanageable. Another nice read on this topic are the series : Why do SharePoint Projects fail?
Posted in Moss 2007 | Tagged: Moss 2007 | Leave a Comment »
Visual Studio Team System 2008 Team Foundation Server Power Tools – July 2008 Release
Posted by koenvosters on July 18, 2008
Microsoft released a new version of their Team Foundation Server Power Tools. These tools help you administer and change your Team System environment to map better with your project approach, philosophy and organization. The current package includes:
- Command line tool (TFPT.EXE)
- Team Explorer IDE menu additions
- Build Notification tool
- TFS Best Practices Analyzer
- Process Template Editor
- Work Item Templates
- Custom check-in policies
- TFS Server Manager
- TFS Users tool
- Alert Editor
Posted in Team System | Tagged: Team System, Team System 2008 | 1 Comment »
Moss 2007 : Parametric Search
Posted by koenvosters on July 17, 2008
BA-Insight has published a demo of their parametric search solution called Parametric Search for SharePoint and Search Server. Compared to the normal keyword search and basic parametric search within Moss 2007 it adds a few extra bells and whistles to enrich the user search experience. In the specific example (Northwind Database) it shows the number of hits you will receive when you change a certain metadata property. These metadata types can be linked as well so that selecting one property will change the avaiable choices of another property. Good stuff! The demo can be seen here.
Posted in Moss 2007 | Tagged: Moss 2007, Parametric Search, Search | Leave a Comment »
Publishing your PowerPoint presentation to a slides library
Posted by koenvosters on July 14, 2008
As a result of the heavy workload of my colleagues and myself, we decided to make use of the slide library built in Moss 2007 to prepare our team presentation instead of having the Powerpoint somewhere in our Moss 2007 environment as a single document. We created a document workspace, added a slide library to it, opened up PowerPoint 2007 and selected Publish to publish our PowerPoint presentation as a slide library. There was no option available to publish it! I checked to make sure that I had the Professional version of Office 2007 on my laptop. I did. After some reseach, and doublechecking Microsoft’s post about publishing slides I figured I did nothing wrong. When going thorugh Patrick Luca’s Blog I found out that even in the Professional version of PowerPoint 2007 you are unable to do so. Only Microsoft Office Professional Plus, Enterprise and Ultimate support this feature. Keep this in mind when talking to clients about this feature, as it might imply a complete rollout of a new Office version (which you probably did not foresee in your initial scope)
Posted in Moss 2007 | Tagged: Moss 2007, Office 2007, Personal | Leave a Comment »
Visual Studio 2008 not loading
Posted by koenvosters on July 7, 2008
Today I experienced a rather weird error. Upon launching VS 2008 (Beta2) it refused to launch. After checking out my processes I could see that devenv was running, but nothing was happening. After checking all the possible settings that stop an exe from starting up, I finally came up with the solution.
When launching VS2008 it talks to a process called PresentationFontCache.exe. When I stopped that process, VS2008 continued to launch, and PresentationFontCache got launched as well.
On a sidenote, I went to the BPIO training concerning Collaboration, Unified Communcation, … and it was good stuff. A bit too SharePoint minded, but at least we know have a clear vision of Ms’s vision on IO.
Posted in Development | Tagged: Team System, Visual Studio 2008 | Leave a Comment »
Activating Publishing on Moss 2007
Posted by koenvosters on July 7, 2008
This post is more a personal reference than an actual blog post
On our development machines we install SharePoint on the same user, and every time the Publishing features site collection activation gives an Access Denied error. I could just use different users so that the application pool runs under an authenticated user that allows remote activation of features. But I prefer to just run :
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN>
stsadm -o activatefeature -name PublishingResources -url http://website
on the server itself
Posted in Moss 2007 | Tagged: Moss 2007, Publishing Microsoft Office SharePoint Server | Leave a Comment »
Microsoft .Net Magazine
Posted by koenvosters on July 7, 2008
In the december issue of Microsoft .Net Magazine (2007) I’m on the cover! with the BOIC Project. In that project I had the technical lead. Due to the new versions of Team System and Visual Studio coming out we decided to build the whole thing in WPF and use Visual Studio 2008 and Team System 2008 Foundation Server to build the application. Worked like a charm. Most of the time
Posted in Personal | Tagged: Microsoft .Net Magazine Visual Studio Team System, Team System | Leave a Comment »
retrieving the com class factory with clsid {3d42CCB1 – …
Posted by koenvosters on July 7, 2008
Today we had a nice error at the customer: retrieving the com class factory with clsid {3d42CCB1 – … when we tried to access the search settings of the Shared Service Provider. After a lot of searching, on the web and in blogs, we identified similar problems. All of them seemed to be linked to the user running the “Office SharePoint Server Search” service. After checking the event log we saw that the user running the service seemed to have a bad password, making it unable to access the content.
It’s the second time that we identify a service that seems to be running on a wrong password (no clue how that is possible) , but only starts giving errors at the moment when it is being used.
Fixing the password did all we needed. Make sure that you also give the identity the service is running under has logon as a service rights.
Posted in Moss 2007 | Tagged: Personal | Leave a Comment »
Archive: Team System 2008 Beta 2 up and running
Posted by koenvosters on July 7, 2008
Thank you Microsoft. After the major failure on the installation package on VSTS 2005 you actually made a nice install for VSTS 2008 Beta 2. The notification before the setup that you need to use a domain account to do the install instead of an unspecified error in the middle of the installation, the ability to use non-default sql instances, the ability to log in on TS as a different user from a client using Team Explorer (quite handy that you don’t need to log in as TFSSETUP on your machine, you can log in directly into TS with that account), …
Only one error popped up while connecting to Team System after the setup, and it was due to the websites not being up, not some crazy identity that was wrong or some error message that explained nothing. Two thumbs up
Posted in Team System | Tagged: Personal | Leave a Comment »
Look of LINQ
Posted by koenvosters on July 7, 2008
I finally decided to take a look at LINQ. A quick google around took me some time to figure out how to get a full example working (which references are needed etcetera…) Therefor I decided to write a quick tutorial on how to work with DLINQ. To make this sample working you should create a SQL Server database Blog with 1 table in it called Post. In that table you will have id, title and body as columns, where id is a unique identifier (int auto-increment)
Create a new asp.net website project and add a class library called Business to it as well.Rename Class1.cs to Post.cs (also make sure the class is renamed to Post)
Ok, now we are good to go. First of all we will add the connectionstring to our web.config:
<connectionStrings>
<add name=“BlogConn“
connectionString=“Data Source=(local);Initial Catalog=Blog;Integrated Security=True“
providerName=“System.Data.SqlClient“ />
</connectionStrings>
Your app.config should look like the above. Now, what we will do first is create a class named Post and add all the private variables to it and the properties.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Linq;
using System.Data.Linq.Mapping;
namespace Business
{
[Table(Name = "Post")]
public class Post
{
private int _id;
private string _title;
private string _body;
[Column(Storage="_id" , IsPrimaryKey=true)]
public int Id
{
get { return _id; }
set { _id = value; }
}
[Column(Storage="_title")]
public string Titel
{
get { return _title; }
set { _title = value; }
}
[Column(Storage="_body")]
public string Body
{
get { return _body; }
set { _body = value; }
}
}
}
If you put it like this, it will not compile. Add a reference to the System.Data.Linq dll and then your business should compile. What does all of the tags above the properties mean: [Table(Name = "Post")] : it tells LINQ how the table is called in the database
[Column(Storage="_id" , IsPrimaryKey=true)] : this property is stored in the private variable _id. Should our table column name be different from id, we would have to use [Column(Storage="_id" , Name"DBColumnName", IsPrimaryKey=true)]
Ok, so now we have connected Linq to the database fields. How do we tell Linq which database to do and what queries to perform?
We will create a new class in the Business Project called “BlogDB”. That class will look like the following:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Linq;namespace Business
{
class BlogDB : DataContext
{
public Table<Post> Post;
public BlogDB(string connection) : base(connection) { }
}
}
This class just exists to make our life a bit easier. BlogDB inherits from DataContext. The DataContext class allows you to use any data holder (xml, array,…) as datasource for your LINQ code. Now up to the LINQ work. I made a Posts class that is a Collection of Post classitems:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Configuration;namespace Business
{
public class Posts : CollectionBase
{
public void GetAllPosts()
{
BlogDB db = new BlogDB(ConfigurationManager.ConnectionStrings["BlogConn"].ConnectionString);
var q =
from p in db.Post
where p.Titel == “Test”
select p;
foreach (var pst in q)
base.InnerList.Add(pst);
}
}
}
For those who aren’t familiar with ConfigurationManager, it’s the next gen version of ConfigurationSettings.AppSettings. To make it work a simple using System.Configuration will not do the trick. You will need to manually add the System.Configuration.dll to your references. Ok, so now we have a collection that contains all the posts that have test as title. Add a few items to your database of which at least 1 has test or Test as title. What we are doing here is getting all teh posts with the LINQ query:
var q = from p in db.Post
where p.Titel == “Test”
select p;
and then putting all the results in the collection. One more step to go is showing it on screen. Add a dropdownlist to your web form in your web project and then put the following codebehind:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using Business;
namespace Blog
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Posts p = new Posts();
p.GetAllPosts();
DropDownList1.DataSource = p;
DropDownList1.DataTextField = “Titel”;
DropDownList1.DataBind();
}
}
}
Load it up and everything should work just fine. Don’t hesitate to ask me questions through the comments.
Posted in Development | Tagged: Personal | Leave a Comment »
Archive: It’s a boy
Posted by koenvosters on July 7, 2008
Yep, we went to the doctor last night who checked up on the baby. Everything is fine and there was some remarkable distinction that showed us it was a boy that is coming our way in March. Now the hard task of finding a name
Posted in Personal | Tagged: Personal | Leave a Comment »
Archive : The project file ‘ ‘ has been renamed or is no longer in the solution
Posted by koenvosters on July 7, 2008
Today I started transferring projects from the old environment in our new Team System 2008 environment. I also took the time to clean up some projects and one of them gave me this nice error. I did indeed remove a few of the “test gui” projects, and after a little search the solution lied in removing the references in one of the web projects to that particular project. What I do not understand is why it can’t say : Project Web X failed in loading the reference to project Y (Y.dll). But I guess that’s just too easy to fix then, and then my blog would be out of stuff to post
EDIT: I’m getting quite a few hits on this post, so if this post is helping you, please let me know in a comment. Thx!
Posted in Team System | Tagged: Team System | Leave a Comment »
Archive : Team System and Cats
Posted by koenvosters on July 7, 2008
Posted in Team System | Tagged: Team System | Leave a Comment »
