Posts

Client-side search webpart extension for filtering on followed sites

As all of you know SharePoint 2013 comes with a much improved search webpart infrastructure. One can even build search filters based on user profile properties in order to build personalized experiences (refer to the Technet article Query variables in SharePoint 2013 ). Strangely, it is currently not possible to filter search results based on the followed sites. Take the scenario where you have hundreds of sites that have stored documents, list items, etc. and you want to show a list of recently added items to the user for all his followed sites. (people that can't wait and want the ready-to-use solution: go straight to the ce_followedsites.html gist. Others, read along!) JavaScript-only solutions have their limitations Most examples in the blogosphere provide a JavaScript focused solution where you need to include the specific business rules into code for filtering and rendering. What I started to wondering whether it would be possible to extend the search webparts with a c...

WhatsApp integration with your CRM system

A Dutch retailer published some interesting news: they were successful in integrating their CRM system with the WhatsApp channel. WhatsApp is currently the most often used app on mobile devices: 4 out of 10 users are using WhatsApp business-wise; in average people receive 65 new messages per day; People in the age range of 18 and 34 even receive 150 message per day, and send 60 messages per day on average. Deep integration between WhatsApp and CRM For me the catch in this news is the option that WhatsApp provides options to integrate the communication stream into one's backend system. When a customer sends a message, the CRM system provides full context information towards the employee: who, what, where. http://www.frankwatching.com/archive/2015/10/05/whatsapp-als-servicekanaal-suitsupply-pakt-het-innovatief-aan-case/

TypeScript async/await example for the browser

With the release of TypeScript 1.6 it is now possible to start using the async and await operators in your TypeScript code! You will need to enable this experimental feature, and you will need to target ES6, as TypeScript 1.6 is currently only emitting ES6 generator / yield code for your async / await code. Then when you apply for example Babel to take your JavaScript ES6 code to ES5 code, it suddenly became possible to run your async / await enabled TypeScript code in the browser! I have compiled a working sample project to show you the application. See the following GitHub repository: https://github.com/cveld/AsyncAwait-TypeScript-Example The following components have been used: Visual Studio 2015; not required, but you get perfect syntax highlighting; ASP.NET 5 beta7 web project template; TypeScript 1.6; starting from version 1.6 it supports the experimental async and await operators. You will need to set ES6 as the target. TypeScript 1.6 does not support transpiling into ES...

Office Patterns & Practices: remote provisioning framework

Afbeelding
Most of you do probably know the Office Dev Center; the portal for (SharePoint) Office development. But who is familiar with the Office Dev Patterns & Practices initiative? This initiative lead by Microsoft has as main goal to provide a central repository for all code, solutions, patterns, examples with regards to (SharePoint) Office development. Their most important asset is their GIT repository of which the first delivery was done in May 2014. https://github.com/OfficeDev/PnP/wiki Office Patterns & Practices is also to be found on Channel9: http://channel9.msdn.com/blogs/OfficeDevPnP New: remote provisioning framework A very interesting addition recently made is a first version of a remote provisioning framework  in order to provision sites based on templated configuration files. This requirement lives with lots of customers and using this framework we can provide faster solution to address the needs. Check the demo video on Channel9: http://channel9.msdn.com/blogs/Of...

The future of .NET in conjunction with SharePoint

With the introduction of the app model and the further expansion of the client-side object model, the classic SharePoint .NET components look like to get the status of deprecation. What would be the best way for Microsoft to keep enabling developers to develop fullblown SharePoint portals? Should they continue the ASP.NET framework and the tight integration with the SharePoint platform? Or should they introduce a new web development framework for SharePoint portal development? In its current state Microsoft needs to do something, as developers are now confronted with two models they need to support: the tighly integrated SharePoint .NET platform which a rich set of components on the one hand, and an agnostic CSOM based world with little standardization on the other hand. My bet is that the classic platform will be downsized, keeping only the essential core components, and around this core a new set of standard Html5/JavaScript and .NET based tooling will arise, fully based on a rich CS...

Strange access denied in publishing sites

Recently one of my clients had some strange behavior on their production farm. Team sites no worries, but when they started using publishing sites things went bad. Suddenly unexpected access denieds were showing up, even users with full control webapp rights were not able to access the site. Mostly when checking out pages, or changing the navigation settings. Luckily we got a helpful hint: we should review the super user full control and super user read accounts for the object cache, as described on the following page: http://technet.microsoft.com/en-us/library/ff758656(v=office.15).aspx By default the users are as follows: Super User Full Control: the site’s System Account; Super User Read: NT Authority\Local Service. In a claims authentication application, this default Super User Read cannot be resolved, which automatically leads to an access denied for the object cache. Solution: As described in the page above. You can also use this excellent script of Stef van Hooijdonk da...

VMWare image performance

If you are using an HP laptop like me, you might experience performance issues when you are using virtualized images. One solution is to let VMWare create your swapfile in memory instead of on disk. In this case, use the following settings in your vmx file: MemTrimRate = "0" mainMem.useNamedFile = "FALSE" sched.mem.pshare.enable = "FALSE" prefvmx.useRecommendedLockedMemSize = "TRUE"

First experiences with SharePoint 2013 item templates

Microsoft has done a great job with pushing their search technology a step further into the central arena of creating SharePoint applications: Using the content by search webpart one can now show result sets across site collections whereas the content by query webpart was limited to the scope of only one site collection; Using display templates in order to create customized visual representations – just by editing html templates right from your favorite html design tool. Some caveats though that I would like to express, hoping to influence Microsoft product development: Web Part configuration – the configuration of all the various content search webparts across your solution can become quite cumbersome, i.e. 1) Browse to the page, 2) Toggle Edit mode, 3) Edit the webpart, 4) Edit all the various settings of the content by search webpart, 5) Save the webpart settings, 6) Save the page. I am looking forward to a tool that will make my live easier; Where is the js bundle? These dis...

Troubleshooting restoring a site collection

The following applies to SharePoint 2013 RTM and potentially to SharePoint 2010, but was not tested. Ever tried to backup and restore a site collection with PowerShell using a least privilege SPRestore account approach and bumped into some fatal errors? As a starter you should have followed the instructions that are documented on TechNet: Restore site collections in SharePoint 2013 http://technet.microsoft.com/en-us/library/ee748655.aspx Apparently this documention is not completely sufficient, as you bumped in some fatal errors and are seeking for help. In this blog I would like to discuss two error messages and show you how to address them. Error 1: access denied In PowerShell: 02/26/2013 15:38:27.95 PowerShell.exe (0x2B28) 0x2B78 SharePoint Foundation General ai1wu Medium System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)), StackTrace: at Microsoft.SharePoint.SPSite.Restore(String filename, Boolean isADMode, Boolean& ...

How to publish the SharePoint 2013 Task Center onto a webpart page

Afbeelding
Have you ever wondered how you would be able to show the superb SharePoint 2013 My Site Task Center within a custom webpart page? By inspecting the application page AllItems.aspx within the My Site site with SharePoint Designer you can find out how. Open your webpart page in advanced mode. Register a prefix to the required namespace as follows: And add the following webpart to your favorite webpartzone: Et voila!

Some preparation tips for Microsoft exam 70-480 Programming in HTML5 with JavaScript and CSS3

Last week I managed to pass the Microsoft exam 70-480 Programming in HTML5 with JavaScript and CSS3 successfully. Some tips: To prepare yourself you could do the following: Start right away with a test exam; as the exam will mostly test your basic skills, chance is big that you will already possess most of the required knowledge; Then study all the items you felt uncomfortable of thoroughly; expect a study load of around 10+ hours; Test your newly acquired knowledge with another test exam. PLEASE NOTE: With regards to CSS3; don't waste your time with studying all the available w3c CSS3 draft specifications, as these are by far not ratified yet. Focus on the css3 features that Microsoft has included into Internet Explorer 10. Ultimately it is a Microsoft exam after all! The Internet Explorer (IE10) guide for developers can be found at the following url: http://msdn.microsoft.com/en-us/library/ie/hh673549(v=vs.85).aspx The exam consisted out of 39 questions and among others th...

Apps for Outlook 2013

Afbeelding
With their Office 2013 suite Microsoft introduces the App Store model for all major Office related applications, comparable to the App Stores for Windows 8 and Windows Phone 8: Outlook Word Excel SharePoint This enables huge opportunities for developers to provide their custom solutions to a large customer base! Two things I learned today with regards to apps for Outlook 2013: 1. Exchange 2013 is required If you try to add an app for Outlook from the store, you’ll find the following instruction: http://office.microsoft.com/en-us/store/add-apps-for-outlook-using-exchange-2013-FX102837494.aspx?ai=WA103786430 Indeed: Exchange 2013 is required! 2. Some apps require provisioning by administrator And, there appears to be some apps that will need to be provisioned by the administrator, for example harmon.ie: http://office.microsoft.com/en-us/store/harmon-ie-WA103004101.aspx?queryid=b3be69de-b411-4fbe-8db8-d01a921f32eb&CTT=1

SharePoint Client-Side Object Model ClientContext.Load method

Today I was struggling with my first try at some SharePoint 2013 Client Side Object Model C# code, starting with the example I found at  http://www.learningsharepoint.com/2010/07/22/get-all-users-and-groups-client-object-model-sharepoint-2010/ . As all of you may know, you need to reference at least two assemblies to get this going: Microsoft.SharePoint.Client.dll Microsoft.SharePoint.Client.Runtime.dll Unfortunately at that point I was still inexperienced, and I forgot to add a reference to Microsoft.SharePoint.Client.Runtime.dll. When I tried to compile the following code: The compiler threw the following error message: 'Microsoft.SharePoint.Client.ClientContext' does not contain a definition for 'Load' and no extension method 'Load' accepting a first argument of type 'Microsoft.SharePoint.Client.ClientContext' could be found (are you missing a using directive or an assembly reference? Luckily the compiler hinted to the possi...

TOP 10 requested features for Google Chrome

As you all may know Google popped up recently with their fancy new browser called Chrome . In only one day they picked already 1% of the browser's market space. That's impressive. I am also one of the thousands of users that is very fond of this new tool. But I am also very aware of the fact that still a lot of features are missing to make it a real Internet Explorer replacer. This is my personal TOP 10 of requested features: Google Toolbar ; and of course I don't mean the searchbox. I am referring to the Google bookmarks integration, the Google search tags highlighting feature and the quick link buttons. Google Bookmarks integration I; I find it quite ackward that Google didn't implement this already. I don't like to store my bookmarks only locally. I want to have them in a centralized online repository so that I can look them up everywhere I am.  Google Bookmarks integration II; A second point of integration is in the searchbox: I want to search the internet, my ...

Huizensite jaap.nl verliest zaak tegen funda.nl

Afgelopen dinsdag op Emerce verschenen: Jaap.nl verliest zaak tegen makelaars . Interessant uit dit artikel is de volgende passage: Ook mogen de overgenomen en gepubliceerde gegevens niet meer omvatten dan een tekst met maximaal 155 tekens, daarnaast de adresgegevens en de vraagprijs van het object, plus een bij foto met een formaat van ten hoogste 194x145 pixels. Jaap.nl krijgt 48 uur om de gegevens aan te passen. Het hele auteursrechtelijke gebeuren met betrekking tot online publiek toegankelijke diensten is erg interessant te noemen. Bijzonder om te zien dat een rechtbank zich uitlaat over details zoals het maximaal toegestane aantal tekens en pixels. Is deze uitspraak in het voordeel of nadeel van de consument? Wat wil de consument eigenlijk? Dat is met name zoeken in het totaalaanbod. Jaap.nl krijgt vanwege bovengenoemde clausule wel de mogelijkheid om deze functie aan consumenten aan te bieden, maar moet de consument voor verdere detailinformatie doorverwijzen naar de bron. Is da...

De Exif Orientation Tag

Enig idee waar ik het over heb als ik zeg "Exif Orientation Tag"? Juist ja, dat is het stukje metadata in de jpegs van je camera waar wordt opgeslagen hoe de foto is genomen. Er zijn in totaal acht vormen van orientation waarvan de populairste "top left side" (portrait) en "right side top" (landscape). Windows XP heeft er standaard geen ondersteuning voor, foto's worden niet automatisch gedraaid. Google Picasa blijkt er wel standaard ondersteuning voor te hebben. Dat was ook voor mij de aanleiding om op zoek te gaan hoe mijn camera dit zinvolle gegeven door weet te geven aan Picasa. Juist, via de Exif Orientation Tag ! Zie ook de volledige Exif specificatie .

Open sociale netwerken

Net een post gelezen van Yme gisteren toegevoegd aan zijn blog getiteld Gemakkelijk netwerken . Yme verwijst hier naar een erg sterk betoog van Marc Canter: The Chess game of social networking . Marc is de eigenaar van People Aggregator , een open social networking community. Je kunt je profiel eenvoudig van de ene omgeving overzetten naar de andere. Het is een kwestie van tijd wanneer de grote jongens zoals Facebook, LinkedIn, Hyves overstappen op het open concept. Pas als mensen zich massaal gaan realiseren dat hun gegevens achter slot en grendel zitten van hun gebruikte site gaat er pas wat in beweging komen. In een reactie op Marcs verhaal wordt er verwezen naar een post van Syndeo::media: Portable profiles - Reducing the cost of joining a new social network . Hier worden een paar bestaande technologieën genoemd die mogelijk een basis kunnen vormen voor dergelijke portable profiles: OpenID : een open authenticatie service à la Microsoft Passport, maar dan gedecentraliseerd. Iederee...

Payter begint grote Rotterdamse proef mobiel betalen

Vandaag verschenen op Emerce: Volgende maand begint in het hart van Rotterdam een proef met mobiel betalen. Albert Heijn integreert het betaalsysteem volledig met zijn kassa's, anderen zetten speciale terminals op de balie. Duizend consumenten krijgen een speciale mobiele telefoon die als portemonnee gaat fungeren. Eind 2008 begint initiator Payter met de landelijke uitrol. ( Lees verder op Emerce ) De pilot wordt uitgevoerd met gebruikmaking van de Nokia 6131 NFC . NFC staat voor Near Field Communication. Dit maakt het mogelijk dat geïnstalleerde software op de telefoon kan communiceren met een ander apparaat in de buurt van de telefoon. Hiermee kan je bijvoorbeeld het prepaid tegoed op de telefoon dus laten communiceren met de kassa van de Albert Heijn. Is de volgende stap dat we ons kunnen authenticeren met onze mobiele telefoon ten behoeve van bijvoorbeeld internetbankieren of iedere andere willekeurige (online) applicatie? Kunnen we straks onze toegangspasjes wegdoen en kunnen...

Aan de slag met NHibernate in 5 stappen

Wil je aan de slag met Object Relational Mapping? Ik heb gekozen voor NHibernate , de .NET versie van het populaire Hibernate (J2EE). Dankzij een paar websites had ik vrij snel een draaiende NHibernate implementatie. Ik volgde de volgende stappen: Download de NHibernate distribute (ik gebruikte versie 1.2.0.GA); Download het basic example uit het project NHibernate Best Practices with ASP.NET, 1.2nd Ed. gehost op CodeProject; Download de Northwind example database bij Microsoft; Maak een App_Data folder in het example project aan en kopieer de mdf en ldf naar deze map; Pas de connection-string aan in web.config als volgt, vrij overgenomen uit het project Eucalypto - ASP.NET CMS library using NHibernate gehost op CodeProject: <property name="connection.connection_string">data source=.\SQLEXPRESS;Integrated security=SSPI;AttachDBFilename=|datadirectory|northwnd.mdf;User instance=true</property> Draaien maar!

RunBot leert zelf nieuwe loopjes

Vandaag verschenen op nrc.nl: De tweebenige robot ‘RunBot’, verbonden aan de universiteit van Göttingen, leert zelf zijn manier van lopen aan te passen aan het terrein waarop hij loopt. Dat is knap voor robots. Lees meer Kijk zelf naar het filmpje: