After the setup of a new SharePoint 2013 environment, I started testing it by creating a really simple SharePoint-Hosted App, like a basic “Hello World” App. For this environment, I am using a Visual Studio 2012 development machine remotely from the SharePoint 2013 box. In order to test this very simplistic application, I just pressed F5 to launch the VS debugger and I landed on the SharePoint 2013 page, and was able to see my App in the quick launch menu. But when I clicked on the link, I got a nice “The resource cannot be found” (404), as show in the picture at the beginning of this post.
I checked several times the SharePoint 2013 App settings, such as the “App domain” URL and the “App prefix”, and they were correct. I also checked the DNS settings and the bindings to the IIS site and everything was perfect.
During my troubleshooting, I saw that deploying manually the App was working perfectly. It means that there was a difference between a deployment using VS and a manual one, or, the execution of the App.
Googling a bit, I found this post on the Microsoft forums : http://social.msdn.microsoft.com/Forums/en-US/appsforsharepoint/thread/188d78d8-8c35-46df-8770-695d1258ad18/
In this long thread, people are mentioning that they were adding a colon to the loopback IPv6 address that VS is adding in the hosts file (located in %Windir%\System32\drivers\etc ), making the address ::1 invalid. This indeed worked for me, but raised another question. VS was adding two IP addresses for the same host :
Clearly, ::1 is the IPv6 equivalent of 127.0.0.1, but my App was not running locally, but on the 10.180.128.195 server. So, why the IPv6 was wrong and not equal to my SharePoint 2013 IPv6 address ?
While in debug mode, I replaced the ::1 address by the real IPv6 address of my SharePoint 2013. And………it worked like a charm.
So far, my theories are (and be cautious, because they need to be confirmed), coming from many different tests I did :
- By adding a colon to the loopback IPv6 address, it makes it invalid (rfc5952). This causes my development machine falling back to IPv4 to connect the server.
- The reason why VS adds the loopback IPv6 instead of the correct one is likely because it cannot resolve the host name with IPv6. And rather than not adding any entry, it adds the ::1 address.
As also written in the MSDN forum, to avoid having to every time manually change the hosts entries while in a debugging session, disabling IPv6 is a good way, and most probably not an issue for most of the people.
Last November, during the SharePoint Conference 2012, I bought the Surface RT and so far, I’m really happy with it (and don’t want to change for a Pro version).
But, yesterday, when I took it to read my favorites blogs, I saw that there was no WiFi connection. I was still able to see the dozens of other non-hidden WiFi of my neighbors, but, none of the 3 SSIDs (2 of them are visible, but protected) that I use. Switching on and off the flight mode didn’t help, so I tried the option to refresh the Surface, and after about 30 minutes, still nothing.
The day after, I took it and tried to connect it to another WiFi network and there was no issue. I took this opportunity to download and install all the available updates, in case one of the could fix a potential bug (knowing that many people have issues with WiFi connectivity with the Surface). Back at home, no luck. Still not able to connect my hidden SSID or the two others.
Trying again my search engine, I found this superuser.com post, about an issue connecting a Windows 7 computer on a WiFi router. One of the answer was to change the WiFi channel used by the router. Then, I refined my searches, and found this interesting thread on the XDA developers forum. Here, it says that US Surface RT can’t connect to channels 12 & 13.
Looking at my router’s WiFi settings, I saw that it was in “Automatic Mode” and setting it to a specific channel other than 12 and 13 made my Surface finding the network again. Honestly, I didn’t checked if it was confirmed and that US Surface RT really can’t connect to channels 12 and 13, but at least, it works for me, and maybe for others as well.
So, if, like me, you bought your Surface RT in the US, check your router WiFi settings if you loose your wireless network and try to change the channel used…
Great day !
Steve Balllmer announced today the availability of the first devices that will support Windows Phone 7. Among them, 4 HTC devices. I just need to make a choice now
In SharePoint 2007 we had a problem when we wanted to create calculated columns using either the [Today] or [Me], respectively giving the current date and the current user. If you search on the web, a lot of pages are describing and talking about the workaround. The workaround is to create a "Today" or a "Me" column with the standard and default settings, writing the formula and then, finally, to delete the created columns.
I hoped that in SharePoint 2010, this was fixed. But when I created my first calculated column based on dates, here is what I got :
Exactly the same error we have in SharePoint 2007.
And.....exactly the same workaround. So, is it not considered as a bug or a problem for Microsoft ? Sure, there is a workaround, but it is quite annoying to create columns just to delete them right after. And, last but not least, when the formula has to be udpated, ensure that these columns are present otherwise, it will be impossible to save the new formula.
I got a correction from Ryan (see comment below) and indeed, the what-was-called-so-far-a-workaround in many pages on the web (and here also ) is in fact not a viable solution. In fact, the column using this "trick" will only be updated and calculated when the item is updated. To see the confirmation of this, create a column with a formula like this : =IF([StartDate]>[Today],"Future","Started") with StartDate being a manually-set date and wait for that StartDate to be reached. If the item is not updated, the column will keep the "Future" label.
Anyway, the fact that it is not possible to have such functionality in SP2010 is a bit pity.
Thanks to Ryan for the correction
When you implement a solution, you test it in different situation and depending on the results, of course, you correct the little mistakes that may be present. What I found very interesting so far in software development is the way to reproduce a behaviour following a given set of steps. For the same steps, you get the same result. That is also a way to qualify a bug or a defect, most of the times.
So, what is more frustrating when the problem or the bug happens randomly ?
However, that is what happened recently on a SharePoint 2007 web site during a roll-out.
The symptoms ?
Having activated the anonymous access, pages prompted the users for credentials and when no credentials were entered, a simple message "401 Unauthorized" was displayed. Now, on that same page, simply pressing F5 to refresh was loading and displaying the page correctly.
Checked that all the resources were accessible by anonymous users, being CSS, images, documents, etc. Some images were referenced using absolute URLs, but apart from that, nothing special.
Checked in the Windows Event Log, absolutely nothing related to this problem.
Checked the ULS, crawled megs of text files, several "excessive number of SPRequest" messages were present, but they were here before the roll-out as well. The only clue was some "Access denied" messages, but, no reference to a resource or no stack trace.
Checked also the web.config, everything was ok. And anyway, this is normally handled by SharePoint.
Checked the IIS Directory Security permissions, verifying the identity of the user used by the application pool, but here again, everything was normal.
Custom code doing a forbidden action ? After a complete removal of the three custom controls, the problem persisted, so, it was not that.
After hours and hours of investigation, I found one thing. The Master Page and Page Layouts gallery was not accessible anonymously, so I fixed this first, but still, the 401 issue was still here. Being in the library I decided to check the content of the master pages and the page layouts and found couple of "__designer" tags referencing resources. We indeed used the SharePoint Designer to apply some changes, but never had this problem before. But, to be sure and to definitely clean these files, every "__designer" tags have been removed and pages provisionned again.
The result ?
Everything was fine. So, for some reasons, the tags added by SharePoint Designer seem to cause access issues, but not all the times.
In this particular case, what was really annoying is that nothing can lead you to the solution or where the problem is located. A lot of people wrote about 401 random issues, caused by either a hotfix applied here or load-balancer problems there, but mine was still another one.
So, before spending hours or days looking for useless (in that specific situation) logs, check your master page or your page layouts and remove "__designer" tags. Check also that they are accessible anonymously.
Because I had to move my virtual machines to VMWare to enable the 64-bits guest operating systems to be installed (for SharePoint 2010), I encountered a very weird problem.
When using the NATed network, the guest OS was able to connect the Internet, but then, I had a separate network on my LAN and it was not very convenient. That is the reason why I switched them to "Bridge" on one of my NIC. The guest OS was receiving an IP address from the DHCP, was able to access the local resources (router, shared printers, etc) but impossible to go on the web.
When pinging an internet server, I received a "host unreachable" message and I tried things like "route print", setting a fixed IP, nothing solved the issue. And googling was not that successful as many people had more or less the same issues and their resolution did not help me.
In a final try, I launched a nslookup for www.google.com and got a "DNS request timed out", which was strange as the guest DNS settings were exactly the same as my Windows 7 host OS. That popped something in my mind and tried to ping google and then browse google using its IP address directly and......it worked !
The problem was then the name resolution that was not done for the guest OS. I was then able to refine my search on the web and found this : http://communities.vmware.com/message/1472066 . At the end of the thread, the solution was there "...it turned out that ShrewSoft VPN client was interfering with VMWare...". As I have Shrew VPN installed, I checked the status of this service : started.
The final word is that I stopped the "ShrewSoft DNS Proxy Deamon" and everything was working like a charm, at least on the VMWare machines side.
This first article of a series of 3 blog post demonstrates how to use the term store of SharePoint 2010. It will address the following points :
Administration of term store
Creating a term group
Creating a term set
After my Wifi access problem, earlier in the day, I faced another little problem when I wanted to save a document from Office Word 2010 into a SharePoint 2010 document library :
(click for a larger view)
Apparently, this is not an error displayed only in this situation and it seems occuring independantly from the Office version or even the SharePoint version. In fact, it is also related to the way Windows Server 2008 R2 works locally. Remember, I am using my server as a workstation.
The only thing that has to be done is to add the "Desktop Experience" feature and it will work well.
Notice also that before installing this feature, I was also unable to create a "New Document" from a document library, the template was simply not downloaded to the Office client. This also has been fixed by the "Desktop Experience" feature
When I started, few days ago, to prepare a demo about SharePoint 2010 metadata management, I would not have thought it would be that difficult to setup just the machine.
To be able to take the demo with me, I installed a laptop with Windows Server 2008 R2 and the necessary stuff and problems occured when I came nomad with it, using the wireless. Something that is not really rocket science, after all. The problem was that it was completely unable to connect any wireless network
What has to be known, nevertheless, is that on a Windows Server 2008 server box freshly installed, almost nothing is installed. Therefore, to enable to discovery and then to connect on an available WiFi, you have to add the "Wireless LAN Service" feature as it is showed in the picture below :
(Click the picture for a larger view)
So, after few minutes of installation, I was finally able to connect on the net.
4 new certifications about SharePoint 2010 will come in June this year, completing the Microsoft offer and to align the cursus and certification path with the release of SP 2010.
Two of them will be for IT Professionals and related to the configuration and administration of the solution :
TS - Microsoft SharePoint 2010, Configuring
PRO - SharePoint 2010, Administrator
The two others will be for the developers :
TS - Microsoft SharePoint 2010, Application Development
PRO - Designing and Developing Microsoft SharePoint 2010 Applications
For those people that want to evaluate and try Office 2010 and SharePoint 2010, Microsoft released last week the 2010 Information Worker Demonstration Virtual Machine.
It seems to be ready for Hyper-V and it encompasses in fact two virtual machines :
1.- A domain controller server with SQL Server 2008, Visual Studio 2010 and the Office Suite 2010
2.- A joined Windows Server 2008
As everything has a price, the download weight 13.5GB
Google has recently announced a new project : a new system programming language named "Go". Here is a little summary of what this language is.
Title : SharePoint 2007 User's Guide: Learning Microsoft's Collaboration and Productivity Platform
Author : Seth Bates, Tony Smith
This book described the different functionality of SharePoint 2007 from a users and power users point of view. Therefore, this book is not technical and is not showing any code.
First, the notion of sites, lists and document libraries are described with a lot of screenshots. Then, the book is going through workflows, policies and the different way of page personalization, finishing by two case studies or solutions solving document management and project collaboration in few steps.
Definitely, this book is not for techies or advanced users. Nevertheless, as the book is really user oriented, you can learn some functionalities that are less exposed or used but nevertheless very useful. It means that if people know already SharePoint or working with the product on a daily basis, it can be read quickly.
The two solutions presented at the end of the book are very good examples of how to address typical collaboration problems quickly and providing a high value without going into an expensive development project.
Title : Foundations of BizTalk Server 2006
Author : Daniel Woolston
BizTalk Server 2006 was until last year, the latest version of the middleware product from Microsoft. Since, the new version, BizTalk Server 2009, has been released. Despite BizTalk Server 2006 is not the first or second version of the product, it really needs documentation on how to use and develop on this platform as it is absolutely difficult or impossible to start on such product like this.
The book is structured around the different component or pieces of BizTalk : Messaging, Schemas, Maps, Ports, Orchestrations. It covers all the aspects of the product even tackling the application deployment.
It is full of useful screenshots and the explanations are clear enough even if you don't have the software at hand.
Working with BizTalk since couple of years, I found the book quite basic. Ok, the title contains "Foundations", so don't expect advanced explanation but rather take it as a first look at BizTalk. A good example is to read it before an intermediate or advanced training. At the end, it gives an excellent overview of what can be done and how can specific problems can be solved with BizTalk Server 2006. Another good point is that it is not a big pad to read and can be absorbed in a week-end
Since a bit of time now, the Azure Platform pricing has been released by Microsoft. It has the merit of being published, but sounds difficult to estimate what is needed when starting a project or the implementation of a solution. Hopefully, this will become clearer with the time and usage...
On the other side, MSDN susbcribers have some benefits we can see here.
Start date : 1st of January and available in Switzerland !
The Dell Latitude D600 is quite old now, but I wanted to give it a chance to be recycled in a W7 machine.
After the installation of the OS that went well, I had several problems with the wirelesss network adapter and the graphic card. Checking on the Dell web site, no Windows 7 or Windows Vista drivers for such hardware. Finally, installing the Windows XP ones made it and except the fact that today I don't have the Aero themes working (needs a WDDM driver) everything seems working well.
Notice that the performances are very good for a pretty old laptop.
F# is a new language that is coming in the pipe of Microsoft for the Visual Studio platform. It aims to tackle the functional programming paradigm eventhough it is possible to use the imperative or object oriented programming.
Robert Pickering starts his book by explaining the basics of F#, how to get and how to use the tools. Then, the book describes the F# syntax to be used in the three language paradigm, functional programming, imperative programming and finally object oriented programming. Among other things, the notion of type inference is presented. Once the syntax is presented, the book describes the way to develop web, windows or even WPF applications using the .NET framework. Data access is also addressed using the current technologies available, such as ADO.NET or LINQ. Then, a quick look at DSLs, compilation and code generation is given, presenting the lex and yacc tools coming with the language. Finally, a full chapter is dedicated to the interoperability between .NET and F#, because even if F# is based on the CLI, the language introduces several types that are not available in the other .NET languages (C# or VB.NET).
Discovering a new language is really interesting and with F#, it is the occasion to see a new paragigm, functional programming. In really short, with F#, everything is a value, even a function. It means that you can use a function as a function parameter. The concept of type inference is also very attracting. The book is very easy to understand and a lot of little examples are explained in details, making the reading very fast. The first half of the book is dedicated to the language itself. The second half is more on using the .NET framework and I would say that it is the less interesting of the book. Indeed, during the first part, you have came across various examples using types and classes of the framework and user interface development being web or windows, or data access meaning that the second part does not bring a lot a information. Once you know these topics from the .NET documentation or from another book and once you have read how to access the .NET BCL from F#, then this part is pretty straightforward and not really useful. Moreover, the examples used to depict the topics are more explaining how to use the BCL classes than the language itself. Nevertheless, the last parts discussing the interoperability and the possibility of generating DSLs are more interesting.
My final words are that it is a very intersting book if you want to see another land (functional programming). Unfortunately, on my bookshelf, I also have "Expert F#" that I just opened to see what is inside and I saw that it takes the explanations and descriptions of the language from the beginning. If I had knew that before, maybe I would have bought this one instead. So, if the goal is just to scratch the surface of F#, "Foundations of F#" is the best suited, otherwise, if the goal is to go really deeper in the topic, then prefer "Expert F#" (a review of that one will be posted).
TechEd is coming soon. It is time to register...
Tired of processes ? Let's give a chance to practices. Ivar Jacobson gave a presentation at the Regional Architect Forum in Zurich about the methodology he proposes for software development.
Resizing a VHD file is not easy at all. Not only you have to resize the file itself, but then you have to tell the guest operating system that the disk size has changed. Fortunately, Partition Manager 9.0 Server does it well.
Monday, I passed the 70-631 exam to get a MCTS certification.
What I find really nice is to have some files everywhere. Especially when you use multiple machines at different places, you can be sure that you forget a file on one of these. And having all the files on a USB key is quite unefficient...
I really love working with my tabletPC. In combination with an external monitor it is simply superb
The final word of my problem with the Qtek 9100 internet configuration : Do not use useless 0 in IP address....
Thanks to the DasBlog developpers community, the last version of the blog engine went live few days ago, allowing this site to migrate to the version 2 of asp.net.
How to install a Report Server Farm....Configuration, Activation, etc
A problem prevented me to cross-post to blogspot, but this seems to be fixed
I was a bit busy during the last few weeks, that is why I did not post as much as I would.
Busy, because my assignments were changed, from a customized human workflow application to a MS CRM 3.0 application and doing some mobile development. Other technologies, other challenges, in other words, fun !
But I'm back, and I hope to post more frequently on this blog.
The link provided in this post may provide good starting points on how to build a development environment for SharePoint
If you want to display a .NET web form in a modal dialog, this post may be useful for you....
After long years of services, GotDotNet is going to be unplugged
How to refresh automatically all the PivotTables contained in an Excel Workbook...
Exit Maximedia/Nexlink/Green.ch. Passer d'un hébergeur amateur plus que lamentable au niveau technique et gestion clientèle à Brinkster, là où il y a des professionnels de l'hébergement, ça change ! En tout cas, aucun regret !
How could I imagine that del.icio.us had no import feature ? I don't know. Obviously they have and the solution is pretty simple.
How to install a HP C5180 AiO printer/scanner and how to love it. Hum, for those of you who want to buy this product, plan for a night or two to install the bunch of software that are shipped with the printer. It is so slow to install and it is so big that it will take you the first night. And then, plan another one to fix the install and to tweak the operating system…… A pure happiness
Sometimes, tuning cache expiration timing and attachment format is not enough to avoid this error message. Maybe it is _your_ code that cause this error to happen...
A start of building a list of question to help to decide what is really needed when the application needs a workflow engine...
My latest participation to the AAEIT newsletter about the CTP's Open Source Survey
Now thit blog is running the version 1.9.6264.0 of DasBlog
DasBlog migrated to 1.8.5223.2.
ZapThink organizes the 5th SOA practitioner's conference in Geneva. A good occasion to learn what is SOA and when it might apply in software developments.
I am not sure, but I maybe found a bug in the System.IO.Ports.SerialPort class implementation. Indeed, setting the StopBits property of that class to StopBits.None is causing an ArgumentOutOfRange exception.
How to fix the "Unrecognized attribute 'xmlns'" error when running the Atlas documentation website on a machine running the .Net Framework 1.1
Where we were supposed to talk about BizTalk 2006
Where we talked about the Compact Framework 2.0, Pocket PC and mobile devices
Where we talked about the new Office 2007 file formats
Where we talked about SQL, loops, data and objects
Where we talked about Windows Presentation Framework, GDI+ and DirectX
Where we talked about Aero, nice acronyms and the Windows Vista user interface
Where we talked about Windows Workflow Foundation
Where we talked about Windows Communication Foundation
A session where we talked about HES, HEVs, RFID and a little about BizTalk, WCF and WWF
Voilà quelques années que les TechDays font partie de mon agenda. Les TechDays, ce sont deux jours de conférences sur les technologies Microsoft plus ou moins poussées.
Nouveau logo, nouveau slogan, nouveau message pour Intel en 2006 - New logo, new slogan, new marketing message for Intel in 2006.
Le site de LooKware est maintenant off-line. The LooKware web site is now offline.
Microsoft, SAP et IBM annoncent l'arrêt des services UDDI public au 12 janvier. Ces serveurs ne seront donc plus disponibles et les données perdues... - Microsoft, SAP and IBM announce the shutdown of their UBR the 12th of January. These services will not be available any more and all data will be lost after this shutdown...
TechDays 2006, inscription en janvier. TechDays 2006, registration in January
Mise à jour de DasBlog - DasBlog upgrade
Un exemple de code SQL vraiment très beau à voir. An example of a very nice SQL code.
Il n'est pas possible d'être notifié quand une orchestration BizTalk se termine. Ce post montre un moyen d'y arriver tout de même, mais en utilisant WMI. It is not possible to be notified when a BizTalk orchestration ends. This post shows how we can do that, using WMI.
Comment changer le nom d'un serveur BizTalk. How to change a BizTalk server name.
Une petite chose à se remémorer sur les tableaux... A little thing to remember about arrays...
A little about TechDays 2005
Résumé des deux jours de présentation des TechDays 2005
Jeudi dernier est apparu un nouveau blog ouvert par le team BizTalk Product Group Performance. Un article est déjà paru. Semble très intéressant.
Last Thursday, a new blog has come owned by the BizTalk Product Group Performance Team. There is already an article online. Seems interesting.
L'AAEIT organise un séminaire sur la sécurité des produits Microsoft ce vendredi 8 avril 2005.
Ma confirmation de participation aux TechDays 2005 vient de m'être parvenue. - Confirmation for the TechDays 2005 is in my inbox
Le code HRESULT affecté dans le constructeur d'une exception n'est pas anodin. Pour qu'une erreur soit détectée du côté client, il faut que cette valeur soit supérieur à 0x80000000. The HRESULT code set in an exception constructor is very important. In order to detect the error on the client side, that value must be greater than 0x80000000.
Selon le communiqué de presse de Microsoft, Visual Studio 2005 arrivera en 4 goûts différents :
- Professional Edition à $799
- Tools for Office à $799
- Standard Edition à $299
- Express Edition qui n'est donc pas gratuit, contrairement à ce qu'il se disait, mais qui sera vendu à $49.
According to the today's Microsoft press release, Visual Studio 2005 will arrive in 4 different flavours :
- Professional Edition at $799
- Tools for Office at $799
- Standard Edition at $299
- Express Edition which will not be free as we could hear before, but sold at $49.
J'ai effectué la mise à jour du moteur de blog, passant ainsi à la version 1.7.5016.2. Mise à jour qui s'est bien passée, grâve à la documentation disponible sur le wiki de Omar Shahine.
I updated the blog engine, upgrading to the version 1.7.5016.2. That update has been done very well. Some documentations are available on the wiki of Omar Shahine.
Lorsqu'un processus BizTalk utilise des assemblies installées dans le GAC, lors de leur remplacement, toujours penser à redémarrer le serveur BizTalk - When a BizTalk process uses assemblies that are in the GAC, when replacing them, always restart the BizTalk service.
Le 12 février est sortie la version 0.85RC2 de NAnt, disponible sur le site de SourceForge - On 12th February, the version 0.85RC2 of NAnt has been released on the SourceForge ite.
J'ai découvert quelque chose d'assez fun. En parcourant les pages de documentation de PHP on arrive sur le terme "Paamayim Nekudotayim" désignant l'opérateur ::. - I found something pretty fun when browsing through the PHP documentation. The "::" operator is called "Paamayim Nekudotayim"
Un nouveau guide d'installation de BTS 2004 est en ligne sur le site de Microsoft. Et, suite à la cessation d'utilisation de .NET Passport de la part d'eBay, Microsoft retire cette offre de son catalogue - A new installation guide of BTS2004 is available on the Microsoft site. And, after eBay announced it will drop the support for .NET Passport, Microsoft announced it will stop marketing for Passport to customer sites.
J'ai récemment eu quelques soucis avec l'héritage de configuration dans une application asp.net. Malheureusement, à ce sujet, je trouve la documentation de Microsoft un peu lacunaire, ou tout du moins, pas claire. - I recently had some problems with the configuration inheritance in an asp.net application. Unfortunately, the Microsoft documentation is not clear about this topic.
TheServerSide.NET offre un extrait du livre de Scott Woodgate BizTalk Server 2004 Unleashed sur sont site. - The site TheServerSide.NET offers an excerpt of the Scott Woodgate's book BizTalk Server 2004 Unleashed.
La semaine dernière, dans le cadre d'un projet sur MacOS X, j'ai pu mettre en place un système de build avec ant. Last week, for a MacOS X project, I put in place a build system with ant.
Pour ceux qui sont intéressé, je propose 6 invitation à tester le système d'e-mail de Google. I have 6 gmail invites for those who are interested.
De retour à programmer sous MacOS X, je me suis fais piéger par le principe de la modalité d'une fenêtre.
Back working under MacOS X, I fall into a trap related to modal windows
Microsoft a fixé la date de sortie de Longhorn, mais il sera livré sans WinFS pour respecter ce délai - Longhorn release date has been planned to be in 2006 but without WinFS
Beaucoup de choses sont dites à propos du SP2 de XP. Ce qui est certain, c'est que BTS2004 n'apprécie guère les faceties du Service Pack. Parallélement, Microsoft re-ouvre son site BPI (Business Process Integration).
There were lots of words said about the SP2 of WXP. What is obvious is that BTS2004 needs some tweaks to work again. On the other side, Microsoft has revamped the BPI MSDN Developer Centre site.