Quantcast
Channel: My SharePoint Notes
Viewing all 233 articles
Browse latest View live

Monitoring SharePoint Public Websites

$
0
0
Overview:  This post is applicable to public website and not just SharePoint, I have used it for SharePoint and feel it is a good product.  The principle will apply to other monitoring products and services.

AlertFox is a SaaS monitoring service.  It allows me to monitor various websites using http posts or complicate macros to perform various steps such as logging into a website using ACS.  This differs from an internal monitoring service such as Solar Winds but it definitely has it's place.  I discuss various monitoring options in this post.

The benefits are:
  1. You are notified when the site is down and what the issue is from a web request point of view.
  2. You are monitoring externally so you can see what you customers see.
  3. You can see if your response time are slowing down.
  4. You keep the IIS webservers warmed up (so if you have an app pool recycle).
  5. Easy to monitor and you can setup alerts.
  6. Complex scenarios can be accounted for in testing so you know the complex parts of your site are working.
Image 1. See when you have problems, what the issue is and when it occurred.


Image 2. Verify the performance from around the world

Image 3. Check uptime

 

PowerShell to Create and Remove Promoted Search Results in SharePoint 2013

$
0
0
Overview: I want to manage promoted results programatically.  PowerShell is a good candidate for automating the creation of "Promoted Results" previously/also known as "Search Best Bets".

In this post I provide PowerShell to create promoted results at the site collection.  The image below shows that my search has picked up 2 pages in my site collection.  I want to display a promoted result when a user types in certain terms in y case the search term is "Messi".  The picture bellows explains what I'm achieving through PS using promoted results.

To manually create Promoted Results:
  1. On the Site Collection, go Site Settings > Search Query Rules
  2. On the page select "All Sources" for the qu "For what context do you want to configure rules?"
  3. And select "Promoted Results Contains", you can add Promoted Results/Best Bets thru the UI at this point.
Or Open PromoteResults.ps1 and edit the Powershell to create the promoted results for you, comment out the DeletePromoteResults, as it is used to roll out the changes.
Run PromoteReults.ps1. 
Search for the term "Messi" and you will see the promoted result.
 
 

SharePoint 2013 Search Series - Post 4 - Search Result Removal

$
0
0
SharePoint 2013 Search Series - Post 1 - Configure Custom Search
SharePoint 2013 Search Series - Post 2 - Refiners
SharePoint 2013 Search Series - Post 3 - Search Box Web Part query Managed Properties
SharePoint 2013 Search Series - Post 4 - Search Result Removal (This Post)
SharePoint 2013 Search Series - Post 5 - Restricting Results & Enable pdf previews

WIP

The image below shows how to restrict the results displayed using a "Result Source" at the site collection level to display a subset of data.  You can also refine the results displayed using the search result web parts and reducing the result source set.

The test button is useful to see if your refinement/filtering is working.

The 2 screen below allow me to create new Result Sources.  The result source creates a subset of results that can be consumed by search results web parts.


SharePoint 2013 Search Series - Post 1 - Configure Custom Search
SharePoint 2013 Search Series - Post 2 - Refiners
SharePoint 2013 Search Series - Post 3 - Search Box Web Part query Managed Properties
SharePoint 2013 Search Series - Post 4 - Search Result Removal (This Post)
SharePoint 2013 Search Series - Post 5 - Restricting Results & Enable pdf previews

SharePoint 2013 Search Series - Post 5 - Restricting Results & Enable pdf previews

$
0
0
SharePoint 2013 Search Series - Post 1 - Configure Custom Search
SharePoint 2013 Search Series - Post 2 - Refiners
SharePoint 2013 Search Series - Post 3 - Search Box Web Part query Managed Properties
SharePoint 2013 Search Series - Post 4 - Search Result Removal
SharePoint 2013 Search Series - Post 5 - Restricting Results & Enable pdf previews (This Post)

Refine your results to a specific site or part of a return result set.


Setting up Pdf Previews for Search

You will need a Office Web App (WCA) Farm (1 or more servers), the WCA needs to have any patch after the original WCA product release.

 Perform a full Crawl and..

SharePoint 2013 Search Series - Post 1 - Configure Custom Search
SharePoint 2013 Search Series - Post 2 - Refiners
SharePoint 2013 Search Series - Post 3 - Search Box Web Part query Managed Properties
SharePoint 2013 Search Series - Post 4 - Search Result Removal
SharePoint 2013 Search Series - Post 5 - Restricting Results & Enable pdf previews (This Post)

Cross Cutting Concerns for SharePoint 2013

$
0
0
Overview:  Last week I was speaking to a smart chap and he dropped the term Cross Cutting Concern as we were discussing SharePoint Host Apps (SPHA) and JavaScript.




Problem:  When creating apps for SharePoint 2013 multiple solutions need to address cross cutting concerns.  In the past I deployed a SharePoint library with caching, logging, lazy loading and various other "Cross Cutting Concerns", now for Provider Host Apps (PHA), SPHA and JS embedded within pages and Single Page Apps (SPA) we need frameworks for clients to address common components.






References:
http://en.wikipedia.org/wiki/Cross-cutting_concern

SharePoint Hosted Apps vs Embedded JS

$
0
0


Overview: The use of Apps (specifically SPHA) in SharePoint seems to be misunderstood, developers and architects often want to use the App model for functionality that folks have built using previous versions of SharePoint.  App are reusable pieces of custom logic akin to a specialised document library. 


The app needs to be deployed to the catalogue store and permissions granted to leverage SP functionality.




SharePoint Hosted Apps (SPHA) are the internal sub web created with SharePoint, that can use JavaScript to perform customisation. 


For example I want to read values from a term set, you can simply embed JavaScript and using the current users context get the term set data you want.
 


Permissions in SPHA run in the context of the current user as opposed to Provider Hosted Apps that can run in either: current user context, app context or app and current user context.


Deployed JavaScript will perform exactly the same when called from a page or from a SharePoint page or from within the SPHA (app web).  JavaScript runs in the context of the current user  for both approaches.




The following embedded JavaScript works both in a web part page or in a page inside a SPHA (app web):


<script type="text/javascript">
var termSetName = //document.getElementById('termsetID').value;
var locale = 1033; // your locale. Here is English
var context  = SP.ClientContext.get_current();  //User the current users context.
var taxonomySession = SP.Taxonomy.TaxonomySession.getTaxonomySession(context);
var termStore = taxonomySession.getDefaultSiteCollectionTermStore();
var termSets = termStore.getTermSetsByName(termSetName, locale);
var termSet = termSets.getByName(termSetName);
var terms = termSet.getAllTerms();
context.load(taxonomySession);
context.load(termStore);
context.load(termSet);
context.load(terms);
context.executeQueryAsync(function onSucess(){
  var termEnumerator = terms.getEnumerator();
  var termList = "Terms: <br/>";
while(termEnumerator.moveNext()){
var currentTerm = termEnumerator.get_current();
termList += currentTerm.get_name() + "<br/>";
}
Windows.alert(termList);// Output to the screen                                  
                },function onFailure(args){
                    // Notify user of error
                });          
}




The user only needs to be a visitor to have read access to the term store.  JS works in the same way whether inside an SPHA or within a page on a SharePoint site.


“Apps that do not make OAuth authenticated calls (for example, apps that are only JavaScript running in the app web) cannot use the app-only policy. They can request the permission, but they will not be able to take advantage of it because doing so requires passing an app-only OAuth token. Only apps with web applications running outside of SharePoint can create and pass app-only tokens.”  MSDN article


JavaScript inside a SPHA can only run within the context of the current user.
Provider-Hosted Apps (PHA) can use either combination of:
  • context token (user context)
  • user+app access token
  • app-only access
This was spoon fed to me from some good folks I'm working with Nick, Sachin & Peter- thank-you.

One Drive terminology in a picture

SharePoint 2013 Public Website Check list

$
0
0
This post is under development and needs to be added to ....


Ux:
  1. Responsive design vs Device channels - Does the site switch resolutions and browsers gracefully.  RWD vs AWD (Adaptive Web Design)
  2. Broken Links: Check My Links 3.3.4 is a plugin for Chrome to check a page for broken links (go over main pages at least)
  3. Fiddler - Use for 404, and other errors, look for dodgy urls and headers being passd around.
  4. Charles is a similar tool - helps with broken links, size of files, shows web calls, review response headers, size of files and speed of execution.

 
SEO:
 

Testing:
All devices and browsers (1. PC/laptop (IE 11-IE7, Chrome, Firefox, Opera, Mac/Safari), 2. Phones(iPhone, Android OS, Windows OS), 3. Tablets (Android, MS/Surface, iOS/iPad).


 
Helper Tools:
AddThis.com - Nice tool to add Social bookmarking service for your websites. Collects stats TypeKit - Nice for Fonts, review the licensing needed.

 
Security:
  1. Check Internal Search is not returning passwords
  2. Check google is not picking up passwords/confidential data 
  3. Remove response headers:
  4. MicrosoftSharePointTeamSiteServices(versio), X-Powered-By. X-SharePointHealthScore, X-aspNet-Version) Performance X-SharePointHealthScore

SharePoint 2013 workflow

$
0
0
Overview:  SharePoint 2013 has a workflow engine, you can still use SP2010 workflows.



 

What are SharePoint Competitors

$
0
0


Overview:  SharePoint does not stack up against any single COTS product very easily due to the size and functionality offered.  This post is my opinion and I am not an expert in any of the competing products.
 
A few years back I wrote a post that is till somewhat relevant form SP 2010 competitors.


This post aims to list competitor products in a vary broad sense and tries to highlight the areas that where the product and SharePoint perform a similar function.








Beehive from Oracle, lines up to Lync, Exchange/Outlook and SharePoint
OpenText, lines up some of SP's functionality such as blogs, Wikis and document collaboration.
 
Search competitors:
  • Endeca (Oracle)
  • Autonomy (HP)
  • Google Search Appliance or Google mini
  • Coveo
  • Solr (check this out)
CMS Competitors
  • SiteCore
  • Umbraco
  • Druple
 
More Info:
http://www.extended-content.com/wp-content/uploads/2013/05/Gartner-Magic-Quadrant-For-Enterprise-Search.pdf
 
If anyone has further information please reply as this is not an exhaustive set of lists.  My experience of rival products is fairly limited.


    Encrypting Content databases

    $
    0
    0
    Overview: TDE is Transparent Data Encryption, where you can encrypt your "data a rest", this encrypts the SQL mdf and ldf files.  Few enterprises require TDE for content database but if your customer has specific enterprise security requirements (Encryption at Rest for High Confidential data) or compliance requirements such as SOX, HIPAA, or Payment Card Industry Data Security Standard (PCI DSS) TDE may be an easy win.
     
    Notes:
    • TDE is only available from SQL 2008, 2012 and 2014 Server Enterprise Edition.
    • SP Blobs are stored outside of mdf so they are not encrypted by TDE.
    • Only Content databases can be encrypted (not verified).
    • Search indexes are obviously not encrypted by TDE.
    • Encrypting the Connections to SQL or IPsec is needed to encrypt data between SP and SQL, not covered by TDE).  Nor are any call to web services or data in transit, use SSL.
    • TempDB is encrypted even if only 1 db is using TDE.
    • Applies to SP2013 On-prem. farms only.
    More Info:
    Storage and SQL Server capacity planning and configuration (SharePoint Server 2013)
    http://www.slideshare.net/michaeltnoel/transparent-data-encryption-for-sharepoint-content-databases
     
     
     


    Auditing in SharePoint 2013

    $
    0
    0
     
    Overview: SharePoint provides excellent logging capabilities, to retrieve the auditing logs Site Settings > Site Collection Administration > Audit log reports.
     
    Notes:
    • By default auditing is enabled in SharePoint. 
    • Auditing is done at a Site Collection level.
    • Audit logs are kept for 30 days by default and can be change via the UI.
    • Audit logs are stored within the content database, so watch the size of auditing logs.
    • Permissions changes, check-in/check-out, search queries, edits, document views (not SPO), ...
    • Various reports can be downloaded into excel for slice and dice such as the Security settings audit log report.
     
    References:
    https://support.office.microsoft.com/en-us/article/View-audit-log-reports-b37c5869-1b47-4a82-a30d-ea20070fe527?CorrelationId=9139de6c-b33b-45c1-9cc2-d3958a88eab3&ui=en-US&rs=en-001&ad=US
    http://sureshpydi.blogspot.co.uk/2013/05/audit-log-reports-in-sharepoint-2013.html
    http://sharepoint-works.blogspot.co.uk/2013/07/audit-logging-in-sharepoint-2013.html
     
    Centralised Auditing Product:
    LepideAuditor Suite – SharePoint
    http://www.lepide.com/sharepoint-audit/
    LogBinder SP
    https://www.ultimatewindowssecurity.com/sharepoint/logbindersp/Default.aspx

    Minification Tooling

    $
    0
    0
    Overview: Minification is the process of combining multiple css or js files, removing whitespaces and comments to improve web site performance.


    Tools:
    YUI Compressor(Yahoo)
    Web Essentials(Microsoft)
    Mavention(Microsoft)
    Grunt
    jscompress.com/
    Google Code Compress (Google)


    I'd always go for 1 of the Microsoft tools: Web Essentials or Mavention as the plug into Visual Studio, as a SharePoint guy this would be my preferred option.  Both the MS tools appear to use the same engine as the compression appears identical, work out to roughly 60% on both CSS and JS compression.

    Capturing NFRs for SharePoint

    $
    0
    0
    Problem: Gathering Non Functional Requirements (NFRs) are always a tricky situation in IT projects.  This is because it is always difficult to estimate how the system will be used before you build it.  I often get business users stating extreme NFRs in the attempt to negotiate or show how world class they are (I generally think the opposite when hearing unreasonable NFR's). 


    An example is a CIO at a fairly small NGO telling me the on-prem. SP 2010 infrastructure needs to be up all the time so an SLA of 99.99999.  This equates to 3.2 seconds downtime a year.  In reality, higher SLA's start to cost a lot of money.  SP2013 and SQL 2012 introduce Always On Availability Groups (AOAG) which helps improve SLA uptime but tis costs in licencing infrastructure and management.  Also you will need redundancy and the ability to deal with performance issues, so the smallest possible farm consists to 6 server, 2 for each layer in SP namely: WFE, App and SQL.


    Here is an old post of SP2010 SLA's but still relevant today.


    The key is gather you NFR's and ensure all your usage/applications on the production farm meet expected behaviours.  I have a checklist below.  Going thru the Microsoft's SP Boundaries, Limits and Thresholds document shall help highlight any issues.


    The high level items I cover include the following topics:
    • Availability
    • Capacity
    • Compatibility (Browser, device, mobile)
    • Concurrency
    • Performance
    • Disaster Recovery (RTO, RPO)
    • Scalability
    • Search
    • Security
    • SLA

    Capacity Example

    Item
    Day 1
    Year 1
    Year 3
    Year 5
    Site Collections
    10
    100
    250
    400
    Database Size in GB
    > than 1GB
    490 GB
    1220 GB
    1960 GB
    Search Index Size in GB
    > than 1GB
    120 GB
    310 GB
    490 GB
    No of Content Databases
    1
    1
    4
    8
    No of Search Items
    10,000
    10 Million
    25 Million
    40 Million
    No of Index Partitions
    1
    1
    3
    4



    Item
    Day 1
    Year 1
    Year 2
    Year 3
    Number of Users
    1,000
    50,000
    80,000
    130,000
    Also calculate peak and average concurrency numbers



    Identity Providers for SharePoint

    $
    0
    0
    Overview:  I have worked with and evaluated a couple of Services and Federation Server products.  Here is an old pot of setting up claims, at the bottom I have some thoughts on different services/server products.
     
    Background: SAML and WS-Federation protocols are standard Single Sign-On protocols, the following version exist:
    • SAML 1.0, SAML 1.1, SAML 2.0
    • WS-Federation
    Security Assertion Markup Language (SAML) is an XML-based protocol for exchanging authentication and authorization data between security domains.
    SAML enables web-based authentication scenarios including cross-domain single sign-on (SSO).  SAML is a token representing a principal that normally represents a user but can represent an app.
      
    Other terms to understand:
    • Identity provider (IdP) think ADFS/Azure ACS,
    • Service provider (SP) is the SAML consumer in our context this is SharePoint but this can be an MVC app.
    • Realm
    OOTB SP2010 and SP2013 support SAML1.1 not SAML2.0, you can write custom code or use a Federation Server like ADFS to convert the SAML2.0 so it will work with SP.
     
    Identity Provider (IdP) Products:
    1. Microsoft ADFS
    2. Ping Federate
    3. ThinkTexture Identity Server
    4. CA-SiteMinder
    5. IBM Tivoli (CAM)
    6. Oracle Access Manager
    7. ComponentSpace
    8. Shibboleth
    9. RSA Federated Identity Manager
    10. Entrust GetAccess
     IdP Services:
    1. Azure Active Directory
    2. LiveId
    3. Google
    4. Facebook
    5. LinkedIn
    6. Yahoo
    This list is in no way exhaustive, pls post if you feel I am missing any providers.

    Empty Developer Dashgboard in SP2013

    $
    0
    0
    Problem: No data is showing up on the developer dashboard in SharePoint 2013.


    Initial Hypothesis:  My initial thoughts where around the SSL cert issue on the VM or potentially Fiddler causing the dev dashboard to be empty.  after looking at the ULS a good developer could see the Usage and Health Data Collection Service Application was not working.


    http://www.wictorwilen.se/sharepoint-2013-developer-dashboard-shows-no-data-issue


    Resolution: Once the Usage SSA was configured, the dashboard started working.

    PhoneGap and SharePoint

    $
    0
    0
    For MobileStart HTML5 Mobile web App, then PhoneGap (wrapper to interact with devices),
    Xamarin, recompiles to each platform, lastly write for each native platform thin iOS/objective C for Apple. PhoneGap and Xamarin are comparable with respect to performance and have trade-offs based on code reuse, developer skill set, and integration into standard developer tool sets

    Idea: Start by building HTML5 sites with a responsive design then leverage these HTML5, CSS and JS assets hooking into SharePoint and extend with device capabilities using Hybrid framework (PhoneGap)

    FeatureHTML5PhoneGap
    Web view Yes Yes
    Audio/Video files YesYes
    Location YesYes
    Local storage YesYes
    CameraNoYes
    AccelerometerNoYes






    Yes
    Notifications (local, alert, push)
    No
    Yes
    Compass NoYes
    Native UINoNo
    Access to full API/SDK No No

    Also see:
    https://xamarin.com/

    SWAY for SharePoint

    SharePoint 2016 Points from the Ignite Conference

    $
    0
    0
    6 May 2015


    SharePoint 2016 new features (from the Ignite conference 06 May 2015)
    http://www.learningsharepoint.com/2015/05/07/sharepoint-2016-new-features-and-enhancements/
     
    Notes:
    1. Office Graph and Delve are important in SP2016.
    2. MS are releasing a search add-on for SP2013 later in 2016, this will be part of SP2016 (vNext). The add-on stores the index on o365. allows seemless indexing of on-prem and O365 using AD to AAD sync.

    Download all the Ignite Videos and Slides:
    https://gallery.technet.microsoft.com/all-the-Ignite-Videos-and-b952f5ac

    Working with JavaScript and SharePoint 2013

    $
    0
    0
    Assumed/Common Framework:
    jQuery
    Knockout vs Angular vs Backbone -
    Modenrizr.js - detect browser capability
    underscore - utility functions for arrays and collections.  Feels like LINQ queries
    toastr - toast notifications


    Data Access Modules:
    1.> data.js - manage OData client access for JavaScript (supports caching & batch operations)
    2.> Breeze.js - entity modelling and querying (ORM for JS.  Backend transformed to a data object i.e. 3 related customer tables becomes the customer object). Looks like LINQ queries.  Data.js is inside of breeze.


    Presentation / App Pattern:
    Knockout.js - (MVVM), declarative binding and dependency tracking.  Matches data to front end, then track changes and update.   Easy to use and understand.
    Angular.js - MVC data binding,routing (url controls pages).
    Compare: Knockout (good for SPAs) for more complex application whereas knockout is more light weight.


    Responsive Design:
    LESS - Minimises css, makes it simple to read not repeating attributes.
    Bootstrap.js / Zurb Foundation 4 - Media queries to style for the device based on 12 column layouts.


    Framework for cross cutting concerns (logging, caching,)....
    Viewing all 233 articles
    Browse latest View live