I work with SharePoint Search from some time now. Since many clients need assistance on Search optimization KQL is one of my best mates. Especially XRANK is very powerful function that leverage KQL capabilities but also enlarge its complexity. Anyway I feel quite sure about what we can achieve using KQL and how. However last week a colleague of mine asked me about what is proper syntax of XRANK in REST search query…and I was like “emmm…”.
There are many not obvious questions – which characters need to be encoded? Is the syntax the same as in common KQL query?
I did quick documentation check as well as googling for an answer but there was no satisfying results at all (if there is no answer in Stack Overflow the web contains no answer).
So this post is about clarification for XRANK syntax in REST API calls.
Use Search Query Tool
The old sentence says “Do not break open doors”. That’s why I did not investigate topic by myself trying different REST queries to SP Search. Instead I used great great great tool called Search Query Tool. It really makes your work with search easier and faster. You can build any kind of KQL query in it and it will be translated to REST query because it uses it to communicate with SharePoint.
So for instance if you want to execute following KQL query
As you can see syntax is the same as in common KQL query however ‘=’ character has been encoded to URI format in order to be properly understood by browser and endpoint and any spaces has been replaced by “+”.
Complex XRANK queries
Remember that in order to build you must remember about proper use of parenthesis. For instance if you want to make multiple XRANK boosts you need to arrange them in following way:
In one of my projects my team faced following challenges:
How to add query rules programmatically using C#
How to update thesaurus programmatically using C#
I tried to find information in official documentation but it was not very helpful neither was googling.
Powershell cmdlets to c# assembly mapping
In my team we were thinking what to do in this situation and one of my colleagues came with brilliant idea – he searched for PowerShell cmdlet in file explorer with searching in files content option turned on.
Result? What he found was exactly what we were looking for.
In location “C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\CONFIG\PowerShell\Registration” there is file named OSSSearchCmdlets.xml.
What it contains is xml structure with following structure:
Intranet home page should contains all information that are needed in daily manner. In fact many companies use home page as a traffic node where everybody comes just to find a navigation link pointing to another part of intranet. In my current company, Findwise, we do that too. However one of our components that allows us to quickly navigate through intranet sites gets slower and slower year by year. Currently it’s loading time is almost 10 seconds! I decided to fix it or even rebuild it if needed. Especially that few weeks ago on ShareCon 365 conference I talked about SharePoint Framework in Search Driven Architecture where I described the customer case, PGNIG Termika, who saved about 600k PLN (~$165.000) per year thanks to their information accessibility improvements (information time access dropped from 5-10 minutes to 1-2 seconds).
In this post I wanted to show you what was the problem, how I fixed it and how my fix cuts the component loading time 6 times!
“I’m so confused with all this SharePoint Framework, apps, solutions…I just wanted to develop for Sharepoint!”
“What can I use SharePoint Framework (SPFx) for? Can I use it for branding?”
“When should I pick custom SharePoint solution over SharePoint Framework or SharePoint App?
“How can I make elevated privilages in sharepoint hosted app?”
During our years of experience in SharePoint development we’ve seen those questions many times. They were asked by IT devs of our clients, by users of tech blogs/forums and also by ourselves (yes, we’re learning all the time!). Since you’re here we assume that you are confused a little bit too but don’t worry. We know what you feel. That’s why we’ve created this post.
At Findwise we work with improving the SharePoint experience on a daily basis. If you want to know more about our areas and offers visit our site.
The built-in search experience in SharePoint 2013 has greatly improved from previous versions, and companies adopting it enjoy a bag of new features (such as the visual refiners, the social search, the hover-panel with previews, to name a few). However, is your implementation of the search in SharePoint 2013 matching all your business and information needs?! Is your search solution reaching the target search KPIs? Are you wondering how you can cut down on the task of the editor, improve the search experience for your users, or reduce the time spent by your information workers finding the relevant content?
Entity Extraction in SharePoint 2013 Search
To make your search good you need good metadata. They can be then used as a filters, boosted fields etc. Usually that means that documents need to be tagged, which may take a long time if done manually by content owners.
However, it is possible to extract some metadata from document content during index time. In SharePoint 2013 there are two ways of doing it: “Custom entity extraction” or with use of “Custom Content processing”. In this post you can learn the first way.
Custom entity extraction
SharePoint 2013 introduced a new way for entity extraction. It allows to extract entities from document based on dictionary.
The first step is, of course, preparing the dictionary. It needs to be in following format:
Last thing left to do is enabling entity extraction on the Managed Property it should be applied to. To get them from content of a document just edit “body” Managed Property
and select “Word Extraction – Custom 1” checkbox:
We choose that one because our dictionary was registered with – DictionaryName “Microsoft.UserDictionaries.EntityExtraction.Custom.Word.1” parameter, if you need more dictionaries then you register them using different dictionary name values and selecting the right option in Managed Property settings.
After that run “Full Crawl” for your sources.
Finally, just add the “WordCustomRefiner1” to your refiners on search result list and start using new filter:
This way is really good if you are able to generate a static dictionary. Eg. you can use a list of all countries or cities you can find on the internet for location extraction. You can also extract at dictionary from your customers database or your employees list and then update it on regular basis.
However usually it’s not possible to get a full list of all entities, and they must be extracted using one of NLP algorithms, that will be described in next part.
This is the seventh post in a series (1, 2, 3, 4, 5, 6) on the challenges organisations face as they move from having online content and tools hosted firmly on their estate to renting space in the cloud. We will help you to consider the options and guide on the steps you need to take.
Starting from our first post we have covered different aspects you need to consider as you take each step including information structure and how it is managed using Office 365 and SharePoint as a technology example. Planning for migration.
Do not even think about moving into the cloud apartment without a proper cleaning of the content buckets. Moving from an architected household to a rented place, taxes a structured audit. Clean out all redundant, outdated and trivial matter (ROT). The very same habit you have cleaning up the attic when moving out from your old house.
It is also a good idea to decorate and add any features to your new cloud apartment before the content furniture is there. It means the content will fit with any new design and adapt to any extra functionality with new features like windows and doors. This can be done by reviewing and updating your publishing templates at the same time. This will save time in the future.
Leaning upon the information governance standards, it should be easy to address the cleaning before moving, for all content owners who have been appointed to a set of collections or habitats. Most organisations could use a content vacuum cleaner, or rather use the search facilities and metric means to deliver up to date reports on:
Active / in-Active habitats
No clear ownership or the owner has left the building
Metadata and link quality to content and collections to be moved across to the cloud apartments.
Review publishing templates and update features or design to be used in the Cloud
When all active habitats and qualified content buckets have been revisited by their set of curators and information owners. The preparation and use of moving boxes, should be applied.
All moving boxes do need proper tagging, so that any moving company will be able to sort out where about the stuff should be placed in the new house, or building. For collections, and habitats, this means using the very same set of questions stated for adding a new habitat or collection to the cloud apartment house. Who, why, where and so forth, through the use of a structured workflow and form. When this first cleaning steps have been addressed, there should be automatic metadata enhancement, aligned with the information management processes to be used in the new cloud.
With decent resource descriptions and cleaned up content through the audit (ROT), this last step will auto-tag content based upon the business rules applied for the collection or habitat. Then been loaded into the content moving truck, or loading dock. Ready to added to the cloud.
All content that neither have proper assigned information ownership, or are in such a shape that migration can’t be done should persist on the estate or be archived or purged. This means that all metadata and links to either content bucket or habitat that won’t be moved in the first instances, should at least have correct and unique uri:s, address, to this content. And in the case a bucket or habitat have been run down by a demolition firm, purged. All inter-linkage to that piece of content or collection have to be changed.
This is typically a perfect quality report, to the information owners and content editors, that they need to work through prior to actually loading the content on the content dock.
Finally when all rotten data, deserted habitats and unmanageable buckets have been weeded out. It is time to prepare the moving truck, sending the content into its new destination.
Our final thread will cover how will the organisation and it habitants will be able to find content in this mix of clouds, and things left behind on the old estate? Cloud Search and Enterprise Search, seamless or a nightmare?
This is the sixth post in a series (1, 2, 3, 4, 5, 7) on the challenges organisations face as they move from having online content and tools hosted firmly on their estate to renting space in the cloud. We will help you to consider the options and guide on the steps you need to take.
Starting from our first post we have covered different aspects you need to consider as you take each step including information structure and how it is managed using Office 365 and SharePoint as a technology example. We will cover more about SharePoint in this post, and placemaking in the cloud.
In SharePoint there are a set of logic chunks. One could decompose the digital workplace into intranet sites, as departmental and organisational buckets; team sites where groups collaborate, and lastly your personal domain being the my site collection. Navigating between these, is a mix of traditional information architecture and search driven content. When being within a such a habitat as a teamsite, it is not always obvious how to cross-link or navigate to other domains within the digital workplace hosted in Sharepoint.
One way to overcome this, is to render different forms of portals, based upon dynamic navigation. These intersections and aggregates help users to move around the maze of buckets and collections of the content. Sharepoint have very good features, and options to create search-based content delivery mechanisms.
A metadata and search-based content model, gives us cues for the future design of the digital workplace, with connected habitats and sustainable information architecture. Where people don’t get lost, and have wayfinding means to survive everyday work practices.
This is where how you manage the content in SharePoint and Office 365 is critical. As we said in our first post it is important you have a good information architecture combined with a good governance framework that helps you to transform your buckets of content from the estate into the cloud. We have covered information architecture so we now move more towards how governance completes the picture for you.
There are three approaches to the governance your organisation needs to have with SharePoint and Office 365. You don’t have to use just one. You can combine some of each to find the right blend for your organisation. What works best for you will depend on a number of different factors. Among them:
Restricting use – stopping some features from being used e.g. SharePoint Designer
Encouraging best practice – guidance and training available
Preventing problems – checking content before it is published
Each of these approaches can support your governance strategy. The key is to understand what you need to use.
You need to be clear why your organisation is using SharePoint and Office 365 and the benefits expected. This will shape how tight or loose your governance needs to be.
Once you are clear on this, you then need to consider the strategic benefits and drawbacks such as SharePoint Designer and site collection administration rights.
You control what is being used.
You decide who uses a feature e.g. SharePoint Designer.
You manage the level of autonomy each site owner has.
You find out why someone needs to use a feature.
You monitor costs for licences, users, servers, etc.
You measure who is using what and why for reporting.
You stifle innovation by not allowing people to test out ideas.
You stop legitimate use by asking for permission to use features.
You prevent people being able to share knowledge how they wish to.
You may be unable to realise the maximum potential of SharePoint.
You create unnecessary administration.
You risk adding costs without any value to offset them with.
You need to get the balance right with governance that gives you maximum value for the effort needed managing SharePoint and Office 365.
Encourage best practice
The goal from implementing SharePoint and Office 365 is to have an environment that enables employees to publish, share, find and use information easily to help with their work. They are confident the information is reliable and appropriate, whatever their need for it is. People also feel comfortable using these tools rather than alternative methods like calling helpdesks or emailing other employees for help.
Encouraging best practice by giving them the opportunity to test to meet their needs is one approach to achieving this. There are factors you need to consider that can help or hinder the success of using this approach.
You inform employees of all the benefits to be gained.
You train people to use the right tools.
You design a registration process to direct people to the right tools.
You point employees to guidance on how to follow best practice.
You encourage innovation by giving everyone freedom of use.
You can’t prevent people using different tools to those you recommend.
You risk confusing employees using content unsure of its integrity.
You can’t prevent everyone ignoring best practice when publishing.
You may make it difficult for people to share knowledge effectively.
Your governance model may be ineffective and need improving.
Getting the balance right between encouraging best practice and the level of governance to deter behaviour which can destroy the value from using SharePoint and Office 365 is critical.
As well as encouraging best practice, preventing problems helps to reduce time and costs wasted on sorting out unnecessary issues. While that is the aim of most organisations the practical realities as it is rolled out can divert plans from achieving this.
You need to get the right level of governance in place to prevent problems. Is it encouraging innovation and keeping governance light touch? Is it a heavier touch to prevent the ‘wrong’ behaviour and minimise risk of your brand and reputation being damaged? How much do you want to spend preventing problems? What does your cost/benefit analysis show?
People using SharePoint and Office 365 have a great experience (especially the first time they use it).
Everyone is confident they can use it for what they need it for without experience problems.
Employees don’t waste time calling the helpdesk because many problems have been prevented.
Effective governance encourages early adoption and increased knowledge sharing.
Costs spent preventing problems are justified by increased productivity and reduced risk of errors.
People find registering difficult and lengthy because of extra steps taken to prevent problems and don’t bother.
People find it too restrictive for their needs and it stifles innovation.
People turn to other tools (maybe not approved) to meet their needs and ask other people for help to use them.
Too restrictive governance prevents most beneficial use by raising the barrier too high for people to use.
Costs of preventing problems are higher than benefits to be gained and not justified.
You need to consider the potential benefits and drawbacks before deciding on the level of governance that is right for your organisation.
Remember, it is possible and probably desirable to have different levels of governance for each feature. It may be lighter for personal views and opinions expressed in MyProfile and MySite but tighter for policies and formal news items in TeamSites.
That is the challenge! You have so much flexibility to configure the tools to meet your organisation’s needs. Don’t be afraid to test out on part of your intranet to see what effect it has and involve employees to feed back on their experience before launching it.
The way forward is to create a sustainable information architecture, that supports an information environment that is available on any platform, everywhere, anytime and on any device. A governance framework can show roles and responsibilities, how they fit with a strategy and plan with publishing standards as the foundation to a consistently good user experience.
Combining a governance framework and information architecture with the same scope avoids any gaps in your buckets of content being managed or not being found. It helps you transform from your estate to the cloud successfully.
In our last concluding posts we will dive into more design oriented topics with a helping hand from findability experts and developers. Adding migration thoughts in next post. But first navigating the social graph being people centric, leaving some outstanding questions. How will the graph interoperate if your business runs several clouds, and still have buckets of content elsewhere?
This is the fifth post in a series (1, 2, 3, 4, 6, 7 ) on the challenges organisations face as they move from having online content and tools hosted firmly on their estate to renting space in the cloud. We will help you to consider the options and guide on the steps you need to take.
Starting from our first post we have covered different aspects you need to consider as you take each step including information structure and how it is managed using Office 365 and SharePoint as a technology example. We will cover governance and how content should be managed in the cloud in this post.
Content created within a context, as either a departmental site, or team habitat has usually only reach and bearing for the local context of fellow members of staff within this unit. Other pieces of content have a coverage that stretches all parts of the business. One simple example, is the bucket of content that makes up the management system, with governing principles, strategies, policies and guidelines that describes the core processes, activities, roles and so forth within an organisation.
Yet other content, as the outcome from a project, will build a bucket of content that either lives in a new context, improves a bucket of content or feeds into yet another following project.
From an information management perspective, it is vital that you have organising principles to all your content, where all these layers have been covered. Both reach, and the life cycle to the set of content.
You need a governance framework that reaches out to every bucket of content. This covers what is still on your estate as well as the growing amount in the cloud. All content needs to be managed to remove risks of leakage of sensitive information and prevent people having an inconsistent user experience as they move from one bucket of content in the cloud to another content bucket still on the estate.
You need to make sure people do not see the difference between buckets of content on the estate from content buckets in the cloud. People using your content to help with their work don’t need to know where the content is kept. They need to find it as easily as before, preferably even easier! Content in the cloud should feel the same and be a natural extension to the digital environment people are already used to. Manage it with a governance framework that covers every bucket of content and make it more easy to adopt quicker and use more often without caution or delay.
Part of your governance needs to cover publishing standards based on business needs so it is easy to access from any device e.g laptops, tablets and smartphones, and to view without unnecessary authentication levels. This helps to create that consistent good user experience that encourages people to use your content whether the bucket is in the cloud or not.
A professional team from group HR, might work in their local teamsite, with on-going conversations, work-in-progress documents and so forth. Pieces of their content production leads to governing policies that have a global reach within the organisation, and needs to be linked from the corporate intranet spaces. with versioning and good quality to resource descriptions (meta data). This practice and professional network of HR people, do also share content on a departmental site. With links and resources, that have direct impact on their internal processes. The group of people, have outreaching triggers, and in-bound conversations. And have to balance these two states.
When it comes to temporal content buckets, like a project team site. There are several considerations one have to capture. First where will the outcome and result be stored, when the project is finished. In which context will these content pieces contribute. Second, what should be captured from all on-going conversations (social elements) and work-in-progress and drafts developed during the projects lifecycle? Should a project habitat, be searchable after closing down? Or do the habitat change status, hence all documentation stay within the collection, but the overarching state to the habitat changes? Within Sharepoint these temporal states, versions, workflow and properties. All sum up the organising principles.
If these principles haven’t been ironed out, and been described and decided. Inevitable there will be emerging ghost towns, of dead habitats and lost collections of content. With no governance or ownership whatsoever. All this will become a digital landfill.
This is the fourth post in a series (1, 2, 3,5, 6, 7) on the challenges organisations face as they move from having online content and tools hosted firmly on their estate to renting space in the cloud. We will help you to consider the options and guide on the steps you need to take.
In the first post we set out the most common challenges you are likely to face and how you may overcome these. In the second post we focused on how Office 365 and SharePoint can play a part in moving to the cloud. In the third post we covered how they can help join up your organisation online using their collaboration tools and features.
In this post we will cover engagement and how sorting and categorisation of artifacts, according to a simple-to-understand and easy-to-use standard, will form the bits and parts of the curation and cultivation process.
All document libraries should have one standard listing of all items – with two very distinct audiences: being either actors within the habitat or the people contributing, acting and joining the daily conversation; and secondly, those visitors who pass-by the habitat to collect, link and act upon the content presented within the habitats realm.
This makes it very easy for visitors to find their way around a habitat, if the visitors’ area (business lounge) is pretty much aligned to the overarching theme of the site… and all artifacts that the project team like to share wider, have been listed in a virtual bookshelf, with major versions only. The visitors’ area, has all the relevant data, presented upfront. Basically the answers to the questions set when starting the project. The visitors’ area shouldn’t be a backdrop, but rather a storefront. The content has to be of good quality. Then there should be options to engage with the inner-living-room of the habitat, and enter the messy on-going conversations, depending on access-rights. But the default setting, should always be openfor unexpected “internal” (within the realm of the organisation) visitors. If the visitors’ area is compiled in a nice and easy to use manner, most visitors are just happy to pick the best-read from the bookshelf, or at least raise a questions for the team! The social construct for this is “welcoming a stranger”, since that visitor might link to your team’s content, cross-linking into his social-spaces.
The habitat’s livingroom and social conversations, will address new context-specific organising principles. A team might want to add new list-items, sort categories or introduce very local what-goes-where themes. This may be especially so when the team consists of actors who have different roles and responsibilities with regard to the overall outcome. And because of this, there may be a certain mix of tools or services in this one habitat of many, where they hang-out for project tasks.
The contextual adjustment is where the curator has to work on a cultivation process that glues the team together. The shared terminology within a group conversation, is what match their practices together. At inception, the curator picks a bouquet of on-topic terms from the controlled vocabularies. Mixing this with everyday use, and contributions from all members, this can be the fruitful and semantically-enhanced conversations with end-user generated tags or “folksonomies”. The same goes for interior design of links, tools, chosen content types and other forms of artifacts that the team will be needing to fulfill their goals and outcome.
The governance of the habitat, leans very much on the shared experiences in the group, and assigned responsibilities for stewardship and curation – where publishing standards, guidelines and training should be part of the mix.