SlideShare una empresa de Scribd logo
1 de 47
Highs, lows & random rants on
SharePoint 2013
IMPLEMENTING A GOVERNANCE AND QUALITY MANAGEMENT IN
SHAREPOINT 2013
NORWEGIAN SHAREPOINT COMMUNITY – 2013-06-17
Brought to you by
Mikael
@MIKAELSVENSON
TECHMIKAEL.BLOGSPOT.COM
Harald
@CMDRTCHORT
WWW.FIANBAKKEN.COM
Processes and Diagrams
AKA THE IMPORT
File share, I loveth thee!
• Data stored in external system
• Exported as static HTML files to remote server, along with Diagrams (images)
• Exposing metadata as <META>
• Clickable <img> tags (image maps).
• Synced (RoboCopy) to server from static html files on a file share
• Imported to SharePoint and transformed
• Custom import job
• Publishing pages
Publishing Page
Library
Document
Library
SPSite
GIMS
Frontend
Pages GIMSDocs
Integration Architecture Legend
Timer Job
SharePoint 2013
Taxonomy
(Managed
Metadata)
QLM Generated HTML PagesQLM
Qualiware
Importer
Timer Job
Taxonomy
(Managed
Metadata)
DiagramLibrary
Flow, or pull as we call it
Scrape, scrape, baby
• Processes and parses a set of files
• Generic processing and parsing
• Reading <META> template
• Determines what SPContentType the type and constructs typed objects.
• Specific parsing for certain objects
• E.g. Selecting a WorkflowDiagramProcessor
• Uses reflection
• Parses meta data values
• Maps META headers to properties by convention
• Specific mapping
• Cleans HTML
• Remove javascript
• Remove onclicks, table headers++
Object model cat walk
• POCO’s
• Puzzle Framework
• SharePointations
• Annotations
• Auto-generate stuff
Workflows & Workflow
Manager
AKA THE DONKEY
Where is it?
Sites based on a blank template does not work out of the box – Won’t let you
create 2013 based workflows.
Enable-SPFeature -Identity WorkflowServiceStore –Url $yourUrl
Why don’t you love me?
At random times, workflows are getting cancelled
Details: System.ApplicationException: HTTP 401…
• User Profile Synchronization has to be started
• User Profile must exist for the user kicking of the workflow
You can’t handle the truth!
Workflow is suspended
Details: An unhandled exception occurred during the
execution of the workflow instance. Exception details:
System.ArgumentNullException: Value cannot be null
• Typically sending an e-mail fails as the user does not have e-mail address
• User is not synched to SiteUserInfoList with e-mail address
I don’t want to be approved!
• You want custom task outcomes
• No matter what the user picks as a result, the default outcome is returned in the
workflow, meaning option one - Approve.
You want an upgrade? – We’re all about SPD
• Remember to hit Publish before exporting
• Add a comment at the top for versioning
• Each export gives a new solution id, so no real version upgrade
• Deactivate the old feature, activate the new feature
2013 Workflow’s – Yes, we do love you!
• Overall, much better design experience compared to 2010
• It is v1, we know it will be killer in v3, just don’t tell the customer
• Nintex anyone?
Office Web Apps
AKA THE COMPANION (WAC)
• Customer: We want CHARTS!
• Mikael: I’m NOT coding charts in ASP.NET!
• Mikael: How about the Excel Viewer Web Part?
• Customer: No, we only have Standard License.
• Mikael: CRAP!
• WAC: Hey, I can help 
• Mikael: Of course! Because WAC in read-only mode is FREE, and
http://<ServerName>/_vti_bin/ExcelRest.aspx works just fine for
any SharePoint version (nothing needs to be enabled but WAC)
• Mikael: I’ll just whip up a custom web part for it!
Coming to a Codeplex site near you!
Click jacking anyone?
• SharePoint 2013 by default prevents pages from being click-jacked/ iframed
• SharePoint 2013 by default does not encourage you to use different domains for
parts of your solution
• http://intranet.contoso.com
• http://collaboration.contoso.com
• http://my.contoso.com
• http://qms.contoso.com
• http://search.contoso.com
Who iframed
Roger Rabbit?
Search previews did!
<webpartpages:allowframing runat="server" />
Social
AKA THE FORGETFUL
Users want to bookmark
• Feeds forgets when server runs out of memory – Veolocity Cache hooray!
• ..or when Velocity cache is reset
• Let’s follow the pages!
• Works just fine.. except…
• Our pages are on the format of E99829BB-70F3-4D72-980A-
E06D01FC1C83.aspx
• Feeds does not store the Title, but the Name field!
• JSOM to the rescue
• No default good grouping of what you have followed except
sites/documents/people/tags
JSOM is da shiznit!
• Rapid development and fun!
• At least three SP .js API’s who implement following
• Official API (sp.userprofiles.js)
• Page/list wrapper (followingcommon.js)
• Search wrapper (searchUI.js)
• OOB SharePoint does not check follow status on item load
Search
AKA MR KNOW IT ALL
Users want to see the world...
• A «360» view
• Automatically imported items (Processes)
• Documents
• Managed metadata
• Improvements (Relates to a process)
• Filter on «common» domain specific terms
• Business area or Region
The three leveled monster - Managed properties
• Site level, Site Collection level, SSA level
• Auto-generated properties
• Crawled
• Comes in «2»
• E.g. ows_q_DATE_ReportedDate, ows_ReportedDate
• Managed
• Always text!
• Don’t map to non-text columns
• Avoid auto-generation/mapping
• Script search setup
• Neat cmdlets
• *-SPEnterpriseSearchMetadataCrawledProperty , *-
SPEnterpriseSearchServiceApplication
Result sources
• Limit search to specific content
• Subset
• Content types +
• Easy administration from GUI
• Query transforms
• Preview
Result types and display templates
• Powerful feature
• Easy to get started
• Remember to press the button
Search result: Separatedifferent «artifacts»
Query rules and more
• The fun begins…
• Many ways to reach the goal
• Many errors in search along the way..
• 1 query rule to «rule them all»
• Promoted result blocks for each rs
• No good
• Global result source
• Distinct query rules
• One promoted block in each
Some quirks...
• Refiner on ContentType
• Application/xhtml [some newlines] MyContentType
• Not user friendly
• Use the builtin magic Managed property
• SPContentType
• Displaying a «User» field
• Shows the Claims identifier
• |Harald Fianbakken|8238229110120ACCE19192911;i0#;fianbakkenharald.fianbakken|harald.fianbakken@fianbakken.com|
• Fix by Javascript
• Check mapping order
• ows_Created_0x0020_by, Internal:105, Internal:3
…and we have more quirks…
• Managed properties not fetched
• Even when specified
• SPContentType is not returned in display template
• !retrievable
• Query rules not triggered
• But triggered when using the «preview».
• Result sources throwing exception, when used
• But working in preview
Lessons learnt...
• Avoid «complex» query rules
• 1 query rule per «result type»
• Create search schema on SSA
• If possible
• RAM
• Strange behaviors
• Crashes/query processing
• When in doubt; Reboot
Managed metadata
AKA THE ORACLE
More than just tagging documents..
Term based navigation
Custom properties on terms
Endless possibilities
• Requirement:
• «Our users need different forms for the Business area when submitting an item. The BA’s have
different fields required (and option) for when submitting an item, and different requirements when
editing the item».
• Solution:
• Use term store
• Add some custom coding
• Custom coding
• Dynamic populated dropdown lists and checkbox lists for the same SPField
• Add configurable options (properties) for each field
• Allowing a site collection admin (or term storeadmin) to customize the form
• Enforce «required» or hide fields in the different display modes.
• Automatically fill out values in form based on choices
• E.g. Selecting a «Improvement area» from a dropdown, sets another field by looking up the selected value
custom property
• Possible to port parts of code to delegate control.
Example – Dynamic term driven form
Annie - The orphaned site-collection group
• Removing a site collection yields a orphaned group
• Not visible from GUI
• Interfers
• Accessable through Powershell
• Remove the old termstore
HTML, CSS, BOOTSTRAP,
Script
AKA MR PERFECT
Get the right markup, get the markup right
• Twitter Bootstrap for SharePoint - http://bootstrapsharepoint.codeplex.com/
• Designers want to do HTML5/CSS3
• Customers want IE8
• Do NOT under-estimate the time needed to make your design fit in IE8 with
SharePoint overrides.
Mega menu script– out with the old
SP.SOD.executeFunc('sp.core.js', 'SP.UI.AspMenu', function() {
// Mega Menu
// Kill off SP's default menu hover script
SP.UI.AspMenu.prototype.showSubMenu = function () { };
});
Mega menu CSS
$(".pageNav").affix({ offset: { top: "270px" } });
$(".pageNav ul li").click(function () {
$(".pageNav li.active").removeClass("active");
$(this).addClass("active");
});
$(".root li.static.dynamic-children").hover(function () {
var browserWidth = $("#s4-bodyContainer").width();
var menuoffset = parseInt((browserWidth - 1200) / 2);
browserWidth -= menuoffset * 2;
$(this).find('>a').addClass('hover');
$(this).find('>ul.dynamic').css({ zindex: "200", width: browserWidth + "px", paddingRight: menuoffset
+ "px", paddingLeft: menuoffset + "px", left: "-" + menuoffset + "px" }).show();
}, function () {
$(this).find('>ul.dynamic').css("zindex", "100").hide();
$(this).find('>a').removeClass('hover');
});
$(".root.ms-core-listMenu-root .static ul.dynamic li.dynamic ul.dynamic li.dynamic-
children").hover(function () {
$(this).find(">ul.dynamic").show();
}, function () {
$(this).find(">ul.dynamic").hide();
});
Wrap-up
• Import data from file share to publishing pages
• Workflows 2013 style
• Office Web Apps (WAC) for charts
• Social following
• Search
• Managed meta data
• UI customizations
Resources
• http://www.fianbakken.com/
• http://nuget.org/packages/Fianbakken.SharePointations/
• http://techmikael.blogspot.com/
• http://anujabhojani.blogspot.in/
Questions?

Más contenido relacionado

La actualidad más candente

Dogfood slides 2012
Dogfood slides 2012Dogfood slides 2012
Dogfood slides 2012
Ryan Dennis
 
Build your SharePoint Internet Presence with PowerShell
Build your SharePoint Internet Presence with PowerShellBuild your SharePoint Internet Presence with PowerShell
Build your SharePoint Internet Presence with PowerShell
Ryan Dennis
 
What is SharePoint Development??
What is SharePoint Development??What is SharePoint Development??
What is SharePoint Development??
Mark Rackley
 
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Bringing Zest to SharePoint Sites Using Out-of-the-Box TechnologyBringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
joelsef
 
SharePoint - Creating Beautiful Yet Powerful Dashboards Using jQuery
SharePoint - Creating Beautiful Yet Powerful Dashboards Using jQuerySharePoint - Creating Beautiful Yet Powerful Dashboards Using jQuery
SharePoint - Creating Beautiful Yet Powerful Dashboards Using jQuery
Ken Kuzdas
 

La actualidad más candente (20)

Dogfood slides 2012
Dogfood slides 2012Dogfood slides 2012
Dogfood slides 2012
 
Share point 2013 Building Websites
Share point 2013 Building WebsitesShare point 2013 Building Websites
Share point 2013 Building Websites
 
Funnel your Info down a new Path
Funnel your Info down a new PathFunnel your Info down a new Path
Funnel your Info down a new Path
 
The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery Guide
 
Build your SharePoint Internet Presence with PowerShell
Build your SharePoint Internet Presence with PowerShellBuild your SharePoint Internet Presence with PowerShell
Build your SharePoint Internet Presence with PowerShell
 
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption   Lessons Learned and Advanced TroubleshootingSharePoint 2016 Platform Adoption   Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
 
Making your user happy – how to create a perfect profile
Making your user happy – how to create a perfect profileMaking your user happy – how to create a perfect profile
Making your user happy – how to create a perfect profile
 
What is SharePoint Development??
What is SharePoint Development??What is SharePoint Development??
What is SharePoint Development??
 
SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Adoption - Lessons Learned and Advanced TroubleshootingSharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 development
 
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
SharePoint Development with Visual Studio 2012
SharePoint Development with Visual Studio 2012SharePoint Development with Visual Studio 2012
SharePoint Development with Visual Studio 2012
 
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Bringing Zest to SharePoint Sites Using Out-of-the-Box TechnologyBringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint Workshop
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
Building a SharePoint Platform That Scales
Building a SharePoint Platform That ScalesBuilding a SharePoint Platform That Scales
Building a SharePoint Platform That Scales
 
How to crack java script certification
How to crack java script certificationHow to crack java script certification
How to crack java script certification
 
ITPro's taking the SharePoint 2013 Red Pill
ITPro's taking the SharePoint 2013 Red PillITPro's taking the SharePoint 2013 Red Pill
ITPro's taking the SharePoint 2013 Red Pill
 
SharePoint - Creating Beautiful Yet Powerful Dashboards Using jQuery
SharePoint - Creating Beautiful Yet Powerful Dashboards Using jQuerySharePoint - Creating Beautiful Yet Powerful Dashboards Using jQuery
SharePoint - Creating Beautiful Yet Powerful Dashboards Using jQuery
 
How to develop maintainable custom Workflows in Office365 SharePoint online 2...
How to develop maintainable custom Workflows in Office365 SharePoint online 2...How to develop maintainable custom Workflows in Office365 SharePoint online 2...
How to develop maintainable custom Workflows in Office365 SharePoint online 2...
 

Similar a Nsc 2013 06-17 - random rants on 2013

SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...
SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...
SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...
BIWUG
 
High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013
C5 Insight
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
Acquia
 

Similar a Nsc 2013 06-17 - random rants on 2013 (20)

JSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday JerseyJSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday Jersey
 
SUGUK Cambridge - Display Templates & JSLink for IT Pros
SUGUK Cambridge - Display Templates & JSLink for IT ProsSUGUK Cambridge - Display Templates & JSLink for IT Pros
SUGUK Cambridge - Display Templates & JSLink for IT Pros
 
SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...
SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...
SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...
 
Spsbe using js-linkanddisplaytemplates
Spsbe   using js-linkanddisplaytemplatesSpsbe   using js-linkanddisplaytemplates
Spsbe using js-linkanddisplaytemplates
 
Features, Exportables & You
Features, Exportables & YouFeatures, Exportables & You
Features, Exportables & You
 
#SPSLondon - Session 2 JSLink for IT Pros
#SPSLondon - Session 2 JSLink for IT Pros#SPSLondon - Session 2 JSLink for IT Pros
#SPSLondon - Session 2 JSLink for IT Pros
 
High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!
 
[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?
 
Where to save my data, for devs!
Where to save my data, for devs!Where to save my data, for devs!
Where to save my data, for devs!
 
Drew madelung sp designer workflows - sp-biz
Drew madelung   sp designer workflows - sp-bizDrew madelung   sp designer workflows - sp-biz
Drew madelung sp designer workflows - sp-biz
 
CUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in ShareCUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in Share
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
 
SharePoint Saturday San Antonio: Workflow 2013
SharePoint Saturday San Antonio: Workflow 2013SharePoint Saturday San Antonio: Workflow 2013
SharePoint Saturday San Antonio: Workflow 2013
 
Web Components
Web ComponentsWeb Components
Web Components
 
Masterin Large Scale Java Script Applications
Masterin Large Scale Java Script ApplicationsMasterin Large Scale Java Script Applications
Masterin Large Scale Java Script Applications
 
WordCamp Sheffield 2014 Theme Workflow Presentation
WordCamp Sheffield 2014 Theme Workflow PresentationWordCamp Sheffield 2014 Theme Workflow Presentation
WordCamp Sheffield 2014 Theme Workflow Presentation
 
Angular SEO
Angular SEO Angular SEO
Angular SEO
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and Solutions
 
Himmelstein SP Connections HAD207 SharePoint Logging & Debugging
Himmelstein SP Connections HAD207 SharePoint Logging & DebuggingHimmelstein SP Connections HAD207 SharePoint Logging & Debugging
Himmelstein SP Connections HAD207 SharePoint Logging & Debugging
 

Más de Mikael Svenson

Más de Mikael Svenson (12)

Nyheter i O365-porteføljen og Office 2016
Nyheter i O365-porteføljen og Office 2016Nyheter i O365-porteføljen og Office 2016
Nyheter i O365-porteføljen og Office 2016
 
Office graph - Is it your cup of tea?
Office graph - Is it your cup of tea?Office graph - Is it your cup of tea?
Office graph - Is it your cup of tea?
 
SharePoint - The hybrid story and beyond
SharePoint - The hybrid story and beyondSharePoint - The hybrid story and beyond
SharePoint - The hybrid story and beyond
 
Norwegian SharePoint Community - What happened at Ignite
Norwegian SharePoint Community - What happened at IgniteNorwegian SharePoint Community - What happened at Ignite
Norwegian SharePoint Community - What happened at Ignite
 
SharePoint Search Queries Explained - SPSSthlm 2015
SharePoint Search Queries Explained - SPSSthlm 2015SharePoint Search Queries Explained - SPSSthlm 2015
SharePoint Search Queries Explained - SPSSthlm 2015
 
Techniques for Creating Social Refiners in SharePoint Search
Techniques for Creating Social Refiners in SharePoint SearchTechniques for Creating Social Refiners in SharePoint Search
Techniques for Creating Social Refiners in SharePoint Search
 
Search Queries Explained – A Deep Dive into Query Rules, Query Variables and ...
Search Queries Explained – A Deep Dive into Query Rules, Query Variables and ...Search Queries Explained – A Deep Dive into Query Rules, Query Variables and ...
Search Queries Explained – A Deep Dive into Query Rules, Query Variables and ...
 
SharePoint - Display Templates Overview
SharePoint - Display Templates OverviewSharePoint - Display Templates Overview
SharePoint - Display Templates Overview
 
Share point – client search api’s
Share point – client search api’sShare point – client search api’s
Share point – client search api’s
 
SharePoint Saturday Belgium - Contextual Search and More..
SharePoint Saturday Belgium - Contextual Search and More..SharePoint Saturday Belgium - Contextual Search and More..
SharePoint Saturday Belgium - Contextual Search and More..
 
Nsc 2011 09-21 search 101
Nsc 2011 09-21 search 101Nsc 2011 09-21 search 101
Nsc 2011 09-21 search 101
 
Er gratis søk egentlig noe tess
Er gratis søk egentlig noe tessEr gratis søk egentlig noe tess
Er gratis søk egentlig noe tess
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Nsc 2013 06-17 - random rants on 2013

  • 1. Highs, lows & random rants on SharePoint 2013 IMPLEMENTING A GOVERNANCE AND QUALITY MANAGEMENT IN SHAREPOINT 2013 NORWEGIAN SHAREPOINT COMMUNITY – 2013-06-17
  • 6. File share, I loveth thee! • Data stored in external system • Exported as static HTML files to remote server, along with Diagrams (images) • Exposing metadata as <META> • Clickable <img> tags (image maps). • Synced (RoboCopy) to server from static html files on a file share • Imported to SharePoint and transformed • Custom import job • Publishing pages
  • 7. Publishing Page Library Document Library SPSite GIMS Frontend Pages GIMSDocs Integration Architecture Legend Timer Job SharePoint 2013 Taxonomy (Managed Metadata) QLM Generated HTML PagesQLM Qualiware Importer Timer Job Taxonomy (Managed Metadata) DiagramLibrary Flow, or pull as we call it
  • 8. Scrape, scrape, baby • Processes and parses a set of files • Generic processing and parsing • Reading <META> template • Determines what SPContentType the type and constructs typed objects. • Specific parsing for certain objects • E.g. Selecting a WorkflowDiagramProcessor • Uses reflection • Parses meta data values • Maps META headers to properties by convention • Specific mapping • Cleans HTML • Remove javascript • Remove onclicks, table headers++
  • 9. Object model cat walk • POCO’s • Puzzle Framework • SharePointations • Annotations • Auto-generate stuff
  • 11. Where is it? Sites based on a blank template does not work out of the box – Won’t let you create 2013 based workflows. Enable-SPFeature -Identity WorkflowServiceStore –Url $yourUrl
  • 12. Why don’t you love me? At random times, workflows are getting cancelled Details: System.ApplicationException: HTTP 401… • User Profile Synchronization has to be started • User Profile must exist for the user kicking of the workflow
  • 13. You can’t handle the truth! Workflow is suspended Details: An unhandled exception occurred during the execution of the workflow instance. Exception details: System.ArgumentNullException: Value cannot be null • Typically sending an e-mail fails as the user does not have e-mail address • User is not synched to SiteUserInfoList with e-mail address
  • 14. I don’t want to be approved! • You want custom task outcomes • No matter what the user picks as a result, the default outcome is returned in the workflow, meaning option one - Approve.
  • 15. You want an upgrade? – We’re all about SPD • Remember to hit Publish before exporting • Add a comment at the top for versioning • Each export gives a new solution id, so no real version upgrade • Deactivate the old feature, activate the new feature
  • 16. 2013 Workflow’s – Yes, we do love you! • Overall, much better design experience compared to 2010 • It is v1, we know it will be killer in v3, just don’t tell the customer • Nintex anyone?
  • 17. Office Web Apps AKA THE COMPANION (WAC)
  • 18. • Customer: We want CHARTS! • Mikael: I’m NOT coding charts in ASP.NET! • Mikael: How about the Excel Viewer Web Part? • Customer: No, we only have Standard License. • Mikael: CRAP! • WAC: Hey, I can help  • Mikael: Of course! Because WAC in read-only mode is FREE, and http://<ServerName>/_vti_bin/ExcelRest.aspx works just fine for any SharePoint version (nothing needs to be enabled but WAC) • Mikael: I’ll just whip up a custom web part for it!
  • 19. Coming to a Codeplex site near you!
  • 20. Click jacking anyone? • SharePoint 2013 by default prevents pages from being click-jacked/ iframed • SharePoint 2013 by default does not encourage you to use different domains for parts of your solution • http://intranet.contoso.com • http://collaboration.contoso.com • http://my.contoso.com • http://qms.contoso.com • http://search.contoso.com
  • 21. Who iframed Roger Rabbit? Search previews did! <webpartpages:allowframing runat="server" />
  • 23. Users want to bookmark • Feeds forgets when server runs out of memory – Veolocity Cache hooray! • ..or when Velocity cache is reset • Let’s follow the pages! • Works just fine.. except… • Our pages are on the format of E99829BB-70F3-4D72-980A- E06D01FC1C83.aspx • Feeds does not store the Title, but the Name field! • JSOM to the rescue • No default good grouping of what you have followed except sites/documents/people/tags
  • 24. JSOM is da shiznit! • Rapid development and fun! • At least three SP .js API’s who implement following • Official API (sp.userprofiles.js) • Page/list wrapper (followingcommon.js) • Search wrapper (searchUI.js) • OOB SharePoint does not check follow status on item load
  • 26. Users want to see the world... • A «360» view • Automatically imported items (Processes) • Documents • Managed metadata • Improvements (Relates to a process) • Filter on «common» domain specific terms • Business area or Region
  • 27. The three leveled monster - Managed properties • Site level, Site Collection level, SSA level • Auto-generated properties • Crawled • Comes in «2» • E.g. ows_q_DATE_ReportedDate, ows_ReportedDate • Managed • Always text! • Don’t map to non-text columns • Avoid auto-generation/mapping • Script search setup • Neat cmdlets • *-SPEnterpriseSearchMetadataCrawledProperty , *- SPEnterpriseSearchServiceApplication
  • 28. Result sources • Limit search to specific content • Subset • Content types + • Easy administration from GUI • Query transforms • Preview
  • 29. Result types and display templates • Powerful feature • Easy to get started • Remember to press the button
  • 31. Query rules and more • The fun begins… • Many ways to reach the goal • Many errors in search along the way.. • 1 query rule to «rule them all» • Promoted result blocks for each rs • No good • Global result source • Distinct query rules • One promoted block in each
  • 32. Some quirks... • Refiner on ContentType • Application/xhtml [some newlines] MyContentType • Not user friendly • Use the builtin magic Managed property • SPContentType • Displaying a «User» field • Shows the Claims identifier • |Harald Fianbakken|8238229110120ACCE19192911;i0#;fianbakkenharald.fianbakken|harald.fianbakken@fianbakken.com| • Fix by Javascript • Check mapping order • ows_Created_0x0020_by, Internal:105, Internal:3
  • 33. …and we have more quirks… • Managed properties not fetched • Even when specified • SPContentType is not returned in display template • !retrievable • Query rules not triggered • But triggered when using the «preview». • Result sources throwing exception, when used • But working in preview
  • 34. Lessons learnt... • Avoid «complex» query rules • 1 query rule per «result type» • Create search schema on SSA • If possible • RAM • Strange behaviors • Crashes/query processing • When in doubt; Reboot
  • 36. More than just tagging documents.. Term based navigation
  • 38. Endless possibilities • Requirement: • «Our users need different forms for the Business area when submitting an item. The BA’s have different fields required (and option) for when submitting an item, and different requirements when editing the item». • Solution: • Use term store • Add some custom coding • Custom coding • Dynamic populated dropdown lists and checkbox lists for the same SPField • Add configurable options (properties) for each field • Allowing a site collection admin (or term storeadmin) to customize the form • Enforce «required» or hide fields in the different display modes. • Automatically fill out values in form based on choices • E.g. Selecting a «Improvement area» from a dropdown, sets another field by looking up the selected value custom property • Possible to port parts of code to delegate control.
  • 39. Example – Dynamic term driven form
  • 40. Annie - The orphaned site-collection group • Removing a site collection yields a orphaned group • Not visible from GUI • Interfers • Accessable through Powershell • Remove the old termstore
  • 42. Get the right markup, get the markup right • Twitter Bootstrap for SharePoint - http://bootstrapsharepoint.codeplex.com/ • Designers want to do HTML5/CSS3 • Customers want IE8 • Do NOT under-estimate the time needed to make your design fit in IE8 with SharePoint overrides.
  • 43. Mega menu script– out with the old SP.SOD.executeFunc('sp.core.js', 'SP.UI.AspMenu', function() { // Mega Menu // Kill off SP's default menu hover script SP.UI.AspMenu.prototype.showSubMenu = function () { }; });
  • 44. Mega menu CSS $(".pageNav").affix({ offset: { top: "270px" } }); $(".pageNav ul li").click(function () { $(".pageNav li.active").removeClass("active"); $(this).addClass("active"); }); $(".root li.static.dynamic-children").hover(function () { var browserWidth = $("#s4-bodyContainer").width(); var menuoffset = parseInt((browserWidth - 1200) / 2); browserWidth -= menuoffset * 2; $(this).find('>a').addClass('hover'); $(this).find('>ul.dynamic').css({ zindex: "200", width: browserWidth + "px", paddingRight: menuoffset + "px", paddingLeft: menuoffset + "px", left: "-" + menuoffset + "px" }).show(); }, function () { $(this).find('>ul.dynamic').css("zindex", "100").hide(); $(this).find('>a').removeClass('hover'); }); $(".root.ms-core-listMenu-root .static ul.dynamic li.dynamic ul.dynamic li.dynamic- children").hover(function () { $(this).find(">ul.dynamic").show(); }, function () { $(this).find(">ul.dynamic").hide(); });
  • 45. Wrap-up • Import data from file share to publishing pages • Workflows 2013 style • Office Web Apps (WAC) for charts • Social following • Search • Managed meta data • UI customizations
  • 46. Resources • http://www.fianbakken.com/ • http://nuget.org/packages/Fianbakken.SharePointations/ • http://techmikael.blogspot.com/ • http://anujabhojani.blogspot.in/

Notas del editor

  1. Create one global variable after the Assign task stepSet the global variable value to task outcome column explicitly.Mapped it with assigned task&apos;s TaskID variable.
  2. Web Applications Companion
  3. Nevnenoeomexplisitt loading a properties / strange behavior (lokalmaskin = working, server not loading properties unless explicitly specified..)
  4. Users want to display all related items...