In Intermediair van 10 februari schrijft columniste Roos Vonk over het fenomeen dat groepsbeslissingen beter zijn dan beslissingen die door een individu worden genomen. De oorzaak is het slecht delen van onze kennis. We hebben het in vergaderingen over bij iedereen wel bekende voor- en nadelen en die wegen we tegen elkaar af. De voor- en nadelen die slechts bij een enkel individu bekend zijn blijven vaak verborgen. Wij mensen hebben de neiging om juist bekende informatie met elkaar te delen, informatie waar we het over eens zijn. Zo houden we de consensus in stand en zijn we allemaal blij. Behalve dan dus dat we met elkaar in grote consensus, en heel blij, de verkeerde beslissing nemen.
Reageren Lees verder“Twee weten zelden meer dan één”
Remco
Samenwerking in Google Sites
Met Google Sites bouw je eenvoudig en snel websites. In combinatie met Google Docs (samenwerken aan documenten) is het een mooi platform om samen te werken in projecten. Binnen Mixit ontwikkelen we momenteel voor een aantal klanten projectsites in Google Sites. Hieronder beschrijf ik de uitgangspunten en onderdelen van de projectomgeving.
Uitgangspunten
- Zet de gebruiker centraal, ontwikkel stap voor stap en leer van ervaringen: vanaf de allereerste stappen kunnen klanten meekijken bij de ontwikkeling en direct feedback geven. Vooraf bespreken we doelstellingen en de eisen en wensen, maar gedurende het project hebben we ruimte voor voortschrijdend inzicht.
- Standaard waar het kan: de producten van Google zijn continu in ontwikkeling. Elke week introduceert Google nieuwe functionaliteit. Door daarop te antiperen bespaar je op (duur) maatwerk. Een voorbeeld: de blogfunctie in Google Sites is verre van perfect, maar toch kiezen we voor deze standaardfunctionaliteit, want het is een kwestie van tijd tot Google+ goed integreert met Sites.
Remco
Gmail opslaan in Google Docs
Google Docs is binnen veel organisaties de plaats waar documenten worden gemaakt en beheerd. Niet alleen Google-documenten, want ook alle andere formaten kun je uploaden. dus ook Word- Excel- en Powerpointbestanden en pdf’s. Maar wat doe je met e-mails die je wilt opslaan? Die kun je ook opslaan in Google Docs, en wel als volgt.
Reageren Lees verder
Remco
Migratie Google Apps naar Office 365
Inleiding
Afgelopen weekend heeft Mixit voor een klant een migratie uitgevoerd vanuit “Google Apps” naar “Office 365”. Om dit te doen is gebruik gemaakt van een cloud migratie tool “MigrationWiz”. In deze blog meer over de uitdagingen die wij tegen kwamen.
Situatie schets
De klant maakte gebruik van Google Apps maar wilde graag migreren naar Office 365 ten behoeve van mail. De klant maakte al gebruik van een gefedereerde Office 365 omgeving. Hierdoor kunnen gebruikers inloggen met hun windows account.
Tevens is er een “on premise” Exchange omgeving in deze Active Directory aanwezig. In deze Exchange omgeving zitten nog mailboxen die gebruik maken van hetzelfde e-mail domein die ook bij Google Apps wordt gebruikt. Tevens waren mailboxen aanwezig waarop een forward stond geplaatst naar de Google Apps omgeving. Hiervoor is gekozen om de mogelijkheid te bieden om in agenda’s van collega’s te kijken die niet naar Google Apps waren gemigreerd.
De migratie bestond uit de volgende stappen: voorbereidingen, data migratie en aanpassen van de huidige “on premise” Exchange omgeving.
Google Apps
Google Apps is een pakket Google-toepassingen waarin essentiële services voor bedrijven zijn samengebracht. Google Apps is een gehoste service waarmee bedrijven, scholen en instellingen verschillende Google-producten kunnen gebruiken, waaronder Gmail, Google Documenten, Google Agenda en Google Talk, via een uniek domein.
Office 365
Office 365 is een online platform van Microsoft en de opvolger van BPOS (Business Productivity Suite Online). Concreet komt het er op neer dat bekende Microsoft producten zoals Exchange, Office, SharePoint en Lync samen als online dienst beschikbaar zijn voor klanten. Het geeft je zo via je browser toegang tot mail, gebruik van Word, Excel, PowerPoint en OneNote, omgevingen waar je kunt samenwerken en documenten beheren, chatten en video meeting.
MigrationWiz
MigrationWiz is een cloud-based migratiedienst. U hoeft als bedrijf geen hardware of software aan te schaffen om gebruik te kunnen maken van deze migratiedienst. Deze migratiedienst kan honderdduizenden gelijktijdige migraties uitvoeren van verschillende e-mail platformen.
Voorbereiding Office 365
Tijdens de voorbereidingen zijn de mailboxen op de Office 365 omgeving aangemaakt. Doordat het om een gefedereerde omgeving ging waarbij de mailboxen nog “on premise” stonden is er voor gekozen om de eerste fase van een “on premise Exchange migratie” uit te voeren. Daarin zijn de mailboxen op Office 365 aangemaakt. Doordat de juiste e-mail adressen op “on premise” mailboxen aanwezig waren, werden deze automatisch gevuld in de nieuwe Office 365 mailboxen. Er is op de Office 365 omgeving een tijdelijke gebruiker aangemaakt. Met een powershell script heeft deze gebruiker “full access” rechten gekregen op de nieuwe mailboxen. Ook krijgen de gebruikers van de nieuwe mailboxen de juiste Office 365 licenties. Het is mogelijk om een nieuwe mailbox te creëren zonder hiervoor een Office 365 licentie te gebruiken.
Voorbereiding MigrationWiz
Bij MigrationWiz is bij het migratie console een connector gedefinieerd. In deze connector is gekozen voor een “administrative migration”. Dit wil zeggen dat aan de Google Apps kant doormiddel van OAuth sleutel de mailboxen worden gelezen en bij Office 365 door middel van de migratie gebruiker wordt geschreven. Nadat deze connector was gemaakt is er een proefmigratie uitgevoerd van zowel een gebruikersmailbox als een groepsmailbox. Hierna is een bestand gemaakt waarin alle te migreren mailboxen stonden. Dit bestand is geïmporteerd in de aangemaakte connector.
Data migratie
Voordat de data migratie wordt uitgevoerd, is de routering van e-mail aangepast. Hiervoor is het MX record aangepast zodat de e-mail niet meer bij Google Apps wordt afgeleverd maar bij Office 365. Na een aantal uren is de routering getest en kon worden vastgesteld dat de MX record aanpassing werkt en de de e-mail bij Office 365 wordt afgeleverd. Hierna zijn de geïmporteerde mailboxen geselecteerd en is de optie migratie gekozen.
Aanpassen van de huidige “on premise” Exchange omgeving
Op elke mailbox van Office 365 komt automatisch een @xxx.onmicrosoft.com e-mail adres. Dit e-mail adres wordt op de betreffende “on premise” mailbox geplaatst op het “TargetAddress” in de Active Directory. Het voordeel hiervan is dat e-mail rechtstreeks wordt doorgestuurd zonder dat het op de “on premise” mailbox wordt afgeleverd. Tevens is bij dit scenario het forward adres niet zichtbaar met de normale Exchange beheer console zodat het niet makkelijk te verwijderen is. Na een maand worden de mailboxen verwijderd op de “on premise” kant en zullen er contactpersonen voor worden gemaakt.
Conclusie en lessons learned
Een migratie van Google Apps naar Office 365 is goed uit te voeren. Zoals bij elke migratie geldt ⅔ van de tijd is voor de voorbereiding en ⅓ van de tijd is voor de eigenlijke migratie. Ook het goed testen van de migratie voorkomt veel problemen. In dit geval diende nog rekening te worden gehouden met nog een aanwezige “on premise” Exchange omgeving en een dirsync die automatisch Office 365 account velden aanpast.
Dirk
Adviseur proces en informatie
‘Het Nieuwe Werken’ is failliet!
Er wordt al lang over ‘het nieuwe werken’ gesproken. Veldhoen & company is er al sinds 1989 mee bezig en hebben het spraakmakende interpolis kantoor in Tilburg helpen ontwikkelen. Maar sinds Bill Gates het boek ‘the new world of work’ geschreven heeft in 2005 en Microsoft er zelf mee aan de slag is gegaan, heeft de term een grote vlucht genomen. Daar waar het staat (of moet ik zeggen stond) voor een fundamenteel andere manier van organiseren is de term inmiddels aan zoveel producten en marketing acties gekoppeld dat het zijn betekenis en waarde heeft verloren.
Vorige week was ik bij een ‘benen op tafel sessie’ van Kirkman & company. Voor een groep van 30 klanten en relaties van Kirkman gaven 3 ervaring experts hun visie op de assen hr, huisvesting en it. Deze laatste mocht ik voor mijn rekening nemen (link).Velen van jullie die de ontwikkeling van ‘het nieuwe werken’ gevolgd hebben kennen deze onderwerpen.
Tijdens de discussie na onze presentaties kwamen twee zaken aan het licht. ‘Het nieuwe werken’ is door of huisvesting of it of hr of een combinatie van die 3 binnen organisaties gebruikt om een eigen agenda uit te voeren. Dus er werd een subdoel gedefinieerd vanuit bijvoorbeeld huisvesting of it wat opgehangen werd aan ‘het nieuwe werken’. Volgens mij ook gedreven door alle commerciële- en marketing inspanningen van de vele leveranciers. Maar is hiermee ‘het nieuwe werken’ geïmplementeerd? Ik zeg nee!.
‘Het nieuwe werken’ gaat over een manier van organiseren waar alle drie de facetten nodig zijn. Maar gaat vooral om de overtuiging van directie/bestuur of management dat dit de juiste manier is om medewerkers in hun kracht te zetten en daarmee maximaal bij te dragen aan de doelstellingen van de organisatie. Taak gerichte werkplekken of ondersteuning door it middelen helpen dat principe, maar zijn geen doel op zich!
En daarmee kom ik op het tweede punt wat tijdens de discussie gedeeld werd. Dat draagvlak of ‘geloof’ bij bestuur/management of directie ontbreekt in heel veel gevallen! Dus de fundamentele keuze dat ‘het nieuwe werken’ de juiste manier van organiseren is ontbreekt daardoor!
Inmiddels zeggen veel organisaties dat ‘het nieuwe werken’ is ingevoerd. En daarmee wordt bijna altijd bedoeld dat er iets met werkplekken is gedaan, thuiswerken mogelijk is gemaakt en dit door it ondersteund wordt. Het wordt dus niet meer gezien als de fundamentele keuze maar als de subdoelstelling vanuit hr, it of huisvesting.
Daarmee trek ik de conclusie dat de term officieel failliet is.
Is dat erg? Dat denk ik niet. Want organisaties hebben nog steeds te maken met de omgevingsfactoren die ‘het nieuwe werken’ nodig maken. De generatie Y komt er niet aan, maar is er al. De economische omstandigheden worden steeds uitdagender en turbulenter (voorzichtig uitgedrukt). Het wordt steeds meer een noodzaak voor organisaties om ‘echte’ toegevoegde waarde te hebben voor klanten en medewerkers. Dus de manier van organiseren is nog steeds noodzaak. Het enige wat we nog nodig hebben is een nieuwe term er voor…
Jean Pierre Martens
Reageren Lees verder
Jean Pierre
Nieuwe service-update voor SharePoint Online
Office 365
Office 365 is de online productiviteitsdienst van Microsoft en de opvolger van BPOS (Business Productivity Suite Online). Concreet komt het er op neer dat bekende Microsoft producten zoals Exchange, Office, SharePoint en Lync samen als online dienst beschikbaar zijn voor klanten. Het geeft je zo via je browser toegang tot mail, gebruik van Word, Excel, PowerPoint en OneNote, omgevingen waar je kunt samenwerken en document beheren, chatten en video meeting.
SharePoint Online
SharePoint 2010 wordt bij Office 365 aangeboden als online service. Hierdoor wordt het mogelijk voor uw organisatie om te werken in de cloud. Met SharePoint Online kunt u sites maken om documenten en informatie te delen met collega’s en klanten.
SharePoint Online bevat de volgende functionaliteit:
- Beheert en deelt belangrijke documenten met collega’s;
- Deelt persoonlijke ideeën en statusupdates met collega’s en houdt teams synchroon en beheert belangrijke projecten;
- Vindt gemakkelijk belangrijke documenten en personen;
- Blijft op de hoogte van bedrijfsinformatie en -nieuws;
- Maakt Microsoft Office-documenten en bewaart deze rechtstreeks in SharePoint Online;
- Beschermt vertrouwelijke informatie met machtigingen op document niveau;
- Opent belangrijke documenten offline via SharePoint Workspace;
- Activeert real-time communicatie met collega’s binnen SharePoint Online;
- Eén console voor het implementeren, beheren en bewaken van services voor een eenvoudiger beheer.
Service Update
De SharePoint-upgrade begint in de komende 24 tot 48 uur en wordt binnen tien dagen voltooit. U zult in principe niet merken dat er een upgrade wordt uitgevoerd: alle aspecten van SharePoint Online blijven normaal werken. Er zullen tijdens het upgradeproces alleen twee geplande alleen-lezenperioden zijn, die normaal in totaal minder dan 30 minuten zullen duren.
Eindgebruikers en beheerders zullen weinig van deze upgrade merken tijdens de upgradeperiode van tien dagen. Tijdens de eerste alleen-lezenperiode ligt de nadruk op het upgraden van de infrastructuur van uw inhoudsdatabase. Tijdens de tweede alleen-lezenperiode komen de specifieke services aan de orde, zoals taxonomie, zoeken en gebruikersprofiel.
Onderstaande tabel beschrijft de nieuwe functies in SharePoint Online met deze service-update:
| Functie | Beschrijving |
| Business Connectivity Services (BCS) <WCF-connector> | Met deze functie is het mogelijk verbinding te maken met externe systemen via webservice-eindpunten. |
| Extern delen: Windows LiveID-ondersteuning | Hiermee kunnen Office 365 beheerders externe gebruikers uitnodigen om gebruik te maken van een siteverzameling. Ze melden zich aan met een Windows Live ID-gebruikersnaam en -wachtwoord. |
| Windows Phone 7 ‘Mango’ (officiële ondersteuning en HTTP-connectiviteit) | Met Windows Phone 7.5, codenaam ‘Mango’, hebben nu zowel klanten van kleine bedrijven als grote ondernemingen toegang tot SharePoint Online-lijsten en -documentbibliotheken vanaf hun Windows Phone. |
| Prullenbak: self-servicefunctie voor het terugzetten van verwijderde sites | Met deze self-servicefunctie kunnen sites worden teruggezet vanuit de prullenbak van een siteverzameling. |
| Browserondersteuning: Internet Explorer 9 | Hiermee wordt de officiële ondersteuning voor de browser Internet Explorer 9 (IE9) toegevoegd. |
| Browserondersteuning: Chrome | Hiermee wordt de officiële ondersteuning voor de browser Chrome toegevoegd. |
Wat betekent deze update
Via Microsoft Business Connectivity Services (BCS) worden SharePoint-sites geïntegreerd met andere externe bedrijfstoepassingen. Met Business Connectivity Services kunt u lees- en schrijfverbindingen tussen SharePoint-sites en externe gegevens in lijsten maken en externe gegevens in webonderdelen op SharePoint-sites weergeven. Bij Office 365 is deze functionaliteit alleen beschikbaar voor klanten die een Enterprise abonnement hebben genomen.
Het is nu mogelijk om snel een SharePoint Online site te delen met een externe gebruiker. Bijvoorbeeld om een klant tijdelijk informatie over een product te geven zonder dat deze informatie op de publieke website te plaatsen.
Gebruikers van Windows Phone 7 hebben nu de mogelijkheid om informatie te bekijken en te bewerken vanuit SharePoint Online op hun telefoon.
Als er binnen SharePoint Online per ongeluk een site was verwijderd dan moest hiervoor een service request worden gemaakt om de site weer terug te krijgen. Met deze update is het mogelijk om site zelfstandig terug te plaatsen.
Bij de lancering van Internet Explorer 9.0 ontstonden compatibiliteits problemen. Met deze update zijn deze problemen verholpen. Tevens wordt nu ook de Chrome browser ondersteunt.
Reageren Lees verder
Dirk
Adviseur proces en informatie
Deploying our branding to SharePoint Online
We’ve had our SharePoint Online demo ready for a while now. Appie deployed the Fabrikam demo using the scripts provided by Microsoft. The enviromnent looks great to be completely honest, but in order to distinguish ourselves from competitors and have a better, more Mixit specific demo, we require our own Mixit demo environment. Also, this gave me a chance to get my hands dirty and get into SharePoint Online.
The plan was simple: copy a VS2010 branding project from one of the more generic implementations we did, restyle it and deploy to our SharePoint Online environment. Since the project was created for an on premise environment, we were expecting this to not be as smooth as it sounds, here’s an overview of the issues we (me and Dercia) encountered.
Starting with the obvious, our project was a farm solution. Fortunately making it a sandbox solution is simply a matter of setting the Sandboxed Solution project property to true and we’re done.
Let’s have a quick look at the solution before we deploy. The feature we use to staple the branding to new sites is going to be a problem since it’s a farm scope feature. Since we’re only site collection admin, we won’t be able to deploy features higher than site collection. We disable it and will worry about stapling later. Apart from the farm feature all seemed ok, so let’s do a test deploy.
Errors as far as the eye can see. The cause was quite clear though and we could have foreseen this easily. The branding attempts to write images, css and javsscript files to the _images and _layouts folders and since don’t get access to the filesystem, this fails. The solution: deploy the files to the Style Library so they end up in de virtual filesystem and we’re set for another deployment.
“Sandboxed code execution request failed”, an error we hadn’t seen before, but expect to be running into more often. Searching the web resulted in different causes, all of which didn’t seem to apply here. This makes sense of course, since it’s such a generic error. If we would have created my own sandbox solution on my local machine for testing, we would have had more details to the actual problem, but since this is such a small task, we deployed it straight to the online sandbox The error was easily found though: a Feature EventReceiver failed to apply the theme to a site using ThmxTheme.Open. Odd since MSDN assures me this is available in SharePoint Online. For now, we simply removed it and activated the theme manually. This is one to look into at a later stage.
And that was it. The branding works full swing. Good thing too since I’ll be giving a demo about it soon. That meeting will probably result in a few changes and some additional functionality (webparts etc) and get me into the real nitty gritty of SharePoint Online development.
Reageren Lees verder
Frans
Sharepoint Developer
CoreResultsWebPart XSLT debugging made easier
Custom styling and transformation for your search results are a great way of fitting the results into the general look & feel of the application and adding relevant metadata in one big swoop. Unfortunately, debugging the XSLT is rather limited. A quick overview:
- if your XSLT contains a syntax error, SharePoint will load the previous version of the XSLT
- in order to get the popup in which you can paste your XSLT, you’ll need a number of page reloads which is a hassle in itself and might be cumbersome depending on your system specs
- XSLT error messages are hidden, only a generic error with the mapped properties might be displayed (related to the columns)
If you need to do a complete rework of the style, there’s a simple trick that I noticed many SharePoint developers don’t know about that will potentially save you a lot of time and effort.
Test your XSLT outside of the CoreResultsWebPart!
By extracting the XML for search results from the CoreResultsWebPart and linking the XSLT stylesheet to it, you have access to error details from the XSLT parser and can avoid many often slow loading SharePoint page reloads. Two simple steps will allow you to do this.
1. Extract the XML from the CoreResultsWebPart
Using the following XSLT snippet (which every other SharePoint blogger has posted at some point; I got from MSDN this time around) to style the search results, the webpart dumps the generated XML on th screen. Simply copy and paste the XML code into a file on your local machine and step 1 is finished.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xmp><xsl:copy-of select="*"/></xmp>
</xsl:template>
</xsl:stylesheet>
The XML results should look similar to this:
<All_Results>
<Result>
<id>1</id>
<workid>5015</workid>
<rank>87098240</rank>
<title>TEST</title>
<author>Frans</author>
<size>0</size>
<url>http://server:2002/default.aspx</url>
<urlEncoded>http%3A%2F%2Fserver%3A2002%2Fdefault%2Easpx</urlEncoded>
<description></description>
<write>29-9-2011</write>
<sitename></sitename>
<collapsingstatus>0</collapsingstatus>
<hithighlightedsummary><ddd /> </hithighlightedsummary>
<contentclass>ContentClass</contentclass>
<isdocument>False</isdocument>
<picturethumbnailurl></picturethumbnailurl>
<serverredirectedurl></serverredirectedurl>
<Result>
<All_Results>
2. Link your XSLT to the XML
Paste your XSLT code into a file and store it in the same folder as the XML file. Now all we need to do is link the stylesheet file to the XML file. The snippet to accomplish this looks like this:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="searchresults_styling.xslt"?>
More info about this on w3schools. And that’s it. Now just open the XML file in a browser and start styling and transforming the search results using real data!
Note: since the XSLT most likely won’t be generating a full HTML document styling you’ll most likely be lacking CSS and such. The structure however will be just fine.
Reageren Lees verder
Frans
Sharepoint Developer
Co-creatie met externen een brug te ver? Begin intern in 3 stappen!
Succesvol innoveren doe je niet alleen, daarom hoor je momenteel zoveel over co-creatie: het betrekken van klanten, consumenten, burgers en professionals bij het innovatie-, marketing- en customer service process (TNO). Maar wat als je als organisatie het innoveren met mensen van buiten net even een brug te ver vindt? Begin met je collega’s, en ontdek de verborgen schat aan kennis, inzichten en ideeën in de organisatie. In dit artikel meer over de waarde van interne co-creatie en hoe je dat aanpakt.
Remco
Search Driven Sharepoint – Custom sorting van zoekresultaten
Het CoreResultsWebPart in Sharepoint 2010 is een rijke feature. Out-of-the-box kan het onwijs veel, biedt het veel configuratiemodelijkheden en kan het de meeste scenario’s zonder problemen aan. Maar, het CoreResultsWebPart is bedoeld voor traditionele zoekimplementaties. Zodra je meer “search driven” oplossingen gaat implementeren, loop je snel tegen de beperkingen aan. In dit blog belicht ik één van de vele aspecten van search driven oplossingen: de noodzaak tot custom sorting.
Wat? Waarom?
Sharepoint search geeft je weinig opties tot het sorteren van je zoekresultaten. Vanuit de gedachte dat het zoekresultaten zijn en je dus de meest relevante opties bovenaan wilt hebben, is dit natuurlijk prima. Maar wat doe je als je het nieuws uit alle sites in je sitecollecties wilt tonen, relevantie wordt dan opeens publicatiedatum. Wat doe je als je een productsuggestiefunctie voor een webshop bouwt? Dan is relevantie een stuk complexer dan tekstuele overeenkomsten en wil je zelfs direct invloed kunnen uitoefenen op de resultaten. Dit is het topje van de ijsberg met betrekking tot search driven applicaties en in dit blog licht ik een simpel voorbeeld toe van hoe je dit voor elkaar kunt krijgen in Sharepoint 2010.
Allereerst: FAST
FAST Search kan dit soort operaties (en meer) OOB. Het grootste voordeel van FAST werkt helaas in het nadeel. FAST is een beest van een applicatie en dat leidt tot een behoorlijke footprint, licentiekosten, expertise en consultancy en stevige hardware vereisten. Dat maakt FAST niet geschikt voor alle implementaties, het is al snel een kanon om een mug dood te schieten.
Dus je kunt niet altijd FAST inzetten, maar wilt wel beschikken over custom sorting
Dat kan! Maar het kost wel wat werk. Het CoreResultsWebPart is niet sealed. Door een webpart te maken dat overerft uit CoreResultWebPart heb je de mogelijkheid om het gedrag van je zoekapplicatie te beïnvloeden. In dit specifieke geval overriden we de DataSourceView voor de resultaten. Dit doen we in 3 stappen: eerst maken we een overriding class voor CoreResultsWebPart en specificeren we een nieuwe DataSource.
public class CustomSortedResultsWebPart : CoreResultsWebPart {
protected override void CreateChildControls() {
base.CreateChildControls();
}
// override the DataSource to allow overriding the DataSourceView
protected override void CreateDataSource() {
this.DataSource = new CustomSortedResultsDataSource(this);
}
}
Vervolgens geven we in deze custom DataSource aan dat we een custom CoreResultsDatasourceView willen gebruiken.
public class CustomSortedResultsDataSource : CoreResultsDatasource {
public CustomSortedResultsDataSource(CoreResultsWebPart ParentWebpart) : base(ParentWebpart) {
//create the View that will be used with this datasource
this.View = new CustomSortedResultsDataSourceView(this,"CustomSortedResults");
}
}
En tot slot geven overriden we in de custom CoreResultsDatasourceView de AddSortOrder om onze eigen sorteren te tonen.
public class CustomSortedResultsDataSourceView : CoreResultsDatasourceView {
public CustomSortedResultsDataSourceView(SearchResultsBaseDatasource DataSourceOwner, string ViewName) : base(DataSourceOwner, ViewName) {
//make sure we have a value for the datasource
if (DataSourceOwner == null) {
throw new ArgumentNullException("DataSourceOwner");
}
//get a typed reference to our datasource
CustomSortedResultsDataSource ds = this.DataSourceOwner as CustomSortedResultsDataSource;
//configure the query manager for this View
this.QueryManager = SharedQueryManager.GetInstance(ds.ParentWebpart.Page).QueryManager;
}
// Add a custom Sort Order for the results
public override void AddSortOrder(SharePointSearchRuntime runtime) {
#region Ensure Runtime
//make sure our runtime has been properly instantiated
if (runtime.KeywordQueryObject == null) {
return;
}
#endregion
// use the following to get a handle to the CoreResultsWebPart, allowing this webpart to be configurable though properties etc
//CustomSortedResultsWebPart webPart = DataSourceOwner.ParentWebpart as CustomSortedResultsWebPart ;
// remove any other sorted fields we might have had to ensure our custom sort
runtime.KeywordQueryObject.SortList.Clear();
// configure the sort list with sort field and direction
runtime.KeywordQueryObject.SortList.Add("MyCustomField", SortDirection.Ascending);
}
}
Reageren
Lees verder
Frans
Sharepoint Developer





