Showing posts with label Office 365. Show all posts
Showing posts with label Office 365. Show all posts

Monday, August 6, 2018

Use a JSON file in a SharePoint Library

Scenario
  • You want to utilize a JSON file uploaded by an automated process to a SharePoint Document Library
  • In this case we will use the SiteAssets (Site Assets) document library in an Office 365 SharePoint Online (O365) site
Issue
  • If you use a direct path to the file you get the "Sorry, something went wrong"  "File Not Found." error
    • Ex: https://mycompany.sharepoint.com/sites/MySite/SiteAssets/MyFile.json
  • If you click on the file or get a link to the file you are given a URL to an AllItems display form which renders a file editor, but will not grant access to the JSON via script
    • Ex: https://mycompany.sharepoint.com/sites/MySite/SiteAssets/Forms/AllItems.aspx?id=%2Fsites%2FMySite%2FSiteAssets%2FMyFile%2Ejson&parent=%2Fsites%2FMySite%2FSiteAssets
Resolution
  • Using the Download button and Fiddler (or IE dev tools / network), you can identify the correct URL to access the raw JSON file.
    • Look for the HTTPS GET for download.aspx
  • Alternatively, you can use the following URL format and replace mycompany, MySite, and MyFile text with your own values:
    • https://mycompany.sharepoint.com/sites/MySite/_layouts/15/download.aspx?SourceUrl=%2Fsites%2FMySite%2FSiteAssets%2FMyFile%2Ejson
      • Note: This is for a site at /sites/MySite.  You may need to modify this path.
  • If using JQuery, here is some code to get it:
$(document).ready(function () 
{
$.ajax({
type: "GET",
url: "/sites/MySite/_layouts/15/download.aspx?SourceUrl=%2Fsites%2FMySite%2FSiteAssets%2FMyFile%2Ejson",
success: function(result)
{
            console.log(result[0].property1+ " - " + result[0].property2);
}
});
});

Tuesday, May 29, 2018

Microsoft tech support fails the open source community

Scenario
  • Open an O365 support ticket with Microsoft to notify them of a bug in their product.
  • Detail everything Microsoft needs to know to fix the problem in an email
    • In a recent case it was simply due to the Microsoft release engineer failing to deploy 2 files (CSS and PNG) from the Office 365 release to the CDN.
      • This effected tenants utilizing the CKEditor open source JavaScript class library, breaking the functionality for released web parts.  (Part of the SPfx 40)
Issues
  • Tier 1 support calls you and wastes an hour (or more) of your time making you go over the same steps provided in the email.
    • In the recent case it was literally as easy as clicking a link and getting a 404 error.
      • Here is the link to the Open Source product that Microsoft broke and the users who took the time to report it: https://github.com/OlivierCC/spfx-40-fantastics/issues/29
  • Tier 1 support says they can't support this because it is a programming issue and wants you to open a paid ticket to fix their own product issue.
Proposed Resolution
  • Microsoft needs a better way to escalate tickets from members of the community who are trying to help out and know what they are doing without having to go through tier 1 engineers or paid support.

Monday, May 21, 2018

OneNote Compliance, Records Management, and Governance - O365

Scenario
  • OneNote (part of the Office 365 suite of tools) is used to store information that may be considered records (official information)
  • Your compliance or governance teams may want retention, legal holds, or other policies configured on these records
Issues
  1. Mixed Content: OneNote notebooks contain mixed content with differing record policies.
    • Ex: Meeting minutes in one section, project info in another, and issues in a third section.
    • You cannot apply policies at the page level.
    • Note: This issue is the same as any other document containing mixed content (Word, Excel, etc.), however it is easier to use OneNote in this manner.
  2. Time Span: OneNote notebooks contain content spanning multiple days, months, or years
    1. This means disposition policies may not apply correctly, delaying or accelerating policy dates
  3. Legal Holds: Legal holds may inadvertently block an entire notebook from being editable
  4. Incompliant Locations: If  OneNote usage is discouraged or blocked, records are more likely to end up in  incompliant locations and users may experience broken integration features
    1. Incompliant alternatives: Notepad saved locally, Evernote, cell phone pictures and voice memos (Office Lens), emails, other online services, a personal OneDrive OneNote account, or a locally stored OneNote
    2. To avoid OneNote, users would also need to ignore the extensive OneNote integration features provided in Outlook, Windows, and the other Office products.
    3. There is not a good alternative note-taking tool that would better meet compliance policies.
Solutions

1. Mixed Content

OneNote notebooks with records should live in SharePoint, not in OneDrive or on a file share.
  • SharePoint allows for version tracking at the library level
    • Note: This is in addition to the limited OneNote versioning.
  • SharePoint also allows content policies to be applied at the section or Notebook level
OneNote notebooks with differing compliance policies should be split into separate notebooks
  • The policies should then be applied at the notebook level

2. Time Span

Notebook policies should be applied based on the parent SharePoint site policy whenever possible and should be defined based on the overall work being done. 
  • Example: A notebook for a project would last as long as the policy for the entire project.
  • Example: A team site notebook would expire when the team was disbanded.
  • Example: A department level knowledge-base notebook should not auto expire unless the department goes away.  A separate policy for archiving historical content can still be put into place.
Users can also be trained to export and archive specific content using any time frame required by your policies.  Users may automatically be assigned tasks to remind them to do this.
  • Example Policy: Meeting minutes should be exported quarterly to PDF format and minutes deleted from the notebook for the prior quarter.
  • Example: Project notebook should be exported yearly to XPS or PDF formats.

3. Legal Holds

For legal holds that block edits, records living in OneNote should be exported to an appropriate format (PDF, Word, etc.) and the hold should be applied to the exported document which would then be the official record and not block additional modifications to the entire notebook.  An alternative approach is to export the entire notebook and place a hold on the exported copy.  This issue applies to all document types that are actively used, but may be more impactful for OneNote if mixed content is contained in the notebook. 

4. Incompliant Locations

The best solution is to provide the user with compliant locations that are easy to use.  This can be done by provisioning SharePoint sites and OneNote notebooks for common records management use cases.  In this way, notebooks will already be split by appropriate policy groupings and correctly configured for versioning and compliance policies.

Restricting usage and adherence to best practices is the hardest to control and must be enforced through user training.  Some incompliant locations may be blocked by IT through firewall rules, but users can always get around these by using their own mobile devices.

Monday, November 20, 2017

Deploy JavaScript to a Site Collection or Web in Office 365 or On Premises + Dynamic Navigation Link

Scenario
  • You have some JavaScript you'd like to inject into a page and want the simplest method of deploying it to all pages within a Site Collection or Web.
Issue
  • You can do this via custom master pages, but then you break any future upgrades from Microsoft
  • You can also do this via a Sandbox code solution, SharePoint Framework, or a SharePoint Add-In, but these are all overly complex for this simple task and may not work in some environments due to incorrect environment configurations
Resolution
  • The simplest, fully supported way to do this is via a User Custom Action ScriptLink
  • John Liu has a nice UI tool to simplify registering your code with each site/site collection
Example
  • The following code example injects simple Javascript into each page to add a dynamic link to the left navigation menu (quick launch)
  • I like to put these in Site Assets at the Site Collection root.  If you don't have a Site Assets library, you can create one by opening the site in SharePoint Designer and double clicking the Site Assets link.  You can also do this by enabling any feature that utilizes the Site Assets library.  Otherwise, you can use a different library that everyone can read from.
  • You will need the following 3 files.  These should be saved into the Site Assets library at the site collection root site.
$(document).ready(function(){ 
 //Fixes Chrome Scrolling problem and load of ECMAScript 
 if (typeof(_spBodyOnLoadWrapper) !== 'undefined'){
     _spBodyOnLoadWrapper(); 
     
    console.log('test');
 MenuLastLI = $('#zz14_RootAspMenu li:last');
 MenuLastLI.before('
<li class="static"><a class="static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode" href="http://www.votematrix.com/"><span class="additional-background ms-navedit-flyoutArrow"><span class="menu-item-text">CUSTOM LINK</span></span></a></li>
');
 }; });
  • Click to open John Liu's configuration page (configure-page.aspx)
  • Configure jQuery as Sequence 900 (so it loads first).  Install Site Collection.
  • Configure JSTest.js as Sequence 2000 (Loads after jQuery)
  • That's it.  The link should show on the left nav.

Tuesday, November 15, 2016

SharePoint 2013 - Redirect to View Item Form on New Item Save

Scenario
  • You are saving a new record and want the user to be redirected back to the view item form to review the item.  This will allow the user to start a workflow or perform another action on the ribbon without the need to find the item in the list or library view.
  • Need the solution to use JSOM (client side script) only.  
  • Should work in Office 365, SharePoint Online, and On-Prem.
Issue
  • By default, SharePoint redirects you to the List View you most recently came from.
  • There is no out of the box setting for this.
Resolution
  • We solve this by adding a redirect script to each list view page that does the following:
    • Check if a new item was added by the current user.
    • Check and create a short term cookie to determine if they have already been redirected for this item
    • Redirect the user if they haven't already been
  • First add the following Javascript file to your SiteAssests/js folder.  
    • Create the "js" folder if it's not already there.
    • Replace the ALLCAPS hard coded values with appropriate values.

SiteAssets/js/SP.RedirectOnAddItem.js

var siteUrl = '/sites/SITENAME';

function createCookie(name,value,minutes) {
    if (minutes) {
        var date = new Date();
        date.setTime(date.getTime()+(minutes*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}

function RedirectOnAddItem() {
var clientContext = new SP.ClientContext(siteUrl);
var web = clientContext.get_web();
this.currentUser = web.get_currentUser();
clientContext.load(currentUser);
clientContext.executeQueryAsync(
Function.createDelegate(this, onUserQuerySucceeded),
Function.createDelegate(this, onQueryFailed)
);   
}

function onUserQuerySucceeded(sender, args) {
    var email = this.currentUser.get_email();
    var userid = this.currentUser.get_id();
    var loginName = this.currentUser.get_loginName();
    var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('LISTORLIBRARYNAME');       
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml('<View><Query><OrderBy><FieldRef Name = "ID" Ascending = "FALSE"/></OrderBy><Where><Eq><FieldRef Name="Author" LookupId="True"/><Value Type="User">' + userid  + '</Value></Eq></Where></Query><RowLimit>1</RowLimit></View>');
    this.collListItem = oList.getItems(camlQuery);
       
    clientContext.load(this.collListItem);
       
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onListQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));  
}

function onListQuerySucceeded(sender, args) {
var listItemInfo = '';
var listItemEnumerator = collListItem.getEnumerator();
       
    while (listItemEnumerator.moveNext()) {
        var oListItem = listItemEnumerator.get_current();
        listItemInfo += '\nID: ' + oListItem.get_id();
        listItemInfo += '\nAuthor: ' + oListItem.get_item("Author").get_lookupValue();
        var diff = Math.abs(Date.now()) - new Date(oListItem.get_item("Created"));
        var minutesPassed = Math.floor((diff/1000)/60);
        listItemInfo += '\nCreated (Minutes Ago): ' + minutesPassed ;
       
        if (oListItem && minutesPassed < 2) {
//alert(listItemInfo.toString());
if (!(readCookie('PANnewID') == oListItem.get_id().toString())){
createCookie('PANnewID', oListItem.get_id().toString(), 2);
window.location = "/sites/SITENAME/Lists/LISTORLIBRARYNAME/DISPLAYFORMNAME.aspx?ID=" + oListItem.get_id();
}
}
    }
}

function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
  • Finally, add the following code to a Script Editor web part on each List View page where the user would normally be redirected.
<script src="/sites/SITENAME/SiteAssets/js/SP.RedirectOnAddItem.js"></script>
<script type="text/javascript">ExecuteOrDelayUntilScriptLoaded(RedirectOnAddItem, "sp.js");</script>

Monday, May 4, 2015

My MS Ignite 2015

Day 1 - Monday
  • Keynote (~23,000 attendees)
    • SharePoint 2016 release not mentioned in the keynote!
    • No mention of the SharePoint brand even though several new Office 365 SharePoint features were demoed
      • Does this mean MS is splitting off the SharePoint brand into its cloud use-cases: Office 365, Sites, OneDrive, Search, Delve, etc.?
        • Will SharePoint end up being rebranded as "Office 365 On-Prem"?
      • Or possibly an indicator of a lack-luster SharePoint 2016 release?
    • Best newly demoed SharePoint/Outlook feature is the new email integration with attach file links integrated into Azure groups and SharePoint security
    • Best Windows 10 demos were the Cortana Power BI demo and the facial recognition login demo
    • Other stuff:
      • Skye for Business, Threat Analytics, Ops Management Suite, Azure Stack On-Premises, Windows Update changes, and the Surface Hub
  • Evolution of SharePoint: Overview and Roadmap (over-capacity including overflow room)
    • SharePoint 2016 = Office 365 On Premises
      • Basically most of what is already on or is coming to Office 365 SharePoint will now be made available on premises
    • Deployment wizard will allow deployment by Role
      • WFE, App, Search, etc.
    • Delve will be made available to SharePoint 2013 on-prem (soon?) 
Day 2 - Tuesday
  • Power BI
    • Live Dashboards
      • Drill into data
      • Ad-hoc BI
    • Power BI Designer (client app)
      • Preview release version
    • On-Prem Data Sources
      • Scheduled Refresh or Analysis Services Live Query
    • API for data pushes / live monitoring
      • Demoed mobile phone accelerometer data live reporting
        • App used API to send data directly to dashboard
  • Transforming your SharePoint Full Trust Code to the Office App Model
    • Branding
      • Why brand collab sites?
      • Leverage Office 365 Themes
      • SharePoint Themes
      • CDM instead of Site Assets to avoid caching/blob cache issues
      • Use alternate CSS and javascript instead of modifying master pages when possible
    • Provisioning
      • App/add-ins
      • Scripting
      • PnP Provisioning Engine
        • Security
        • Fields
        • TermGroups
        • Lists
        • Pages
        • Files
        • ComposedLook
        • Apply-SPOProvisioningTemplate
          • Will provision new items only, no updates
    • Sandboxed Solutions
      • Still deprecated, should continue to n bb  work in 2016
    • Script parts
      • Embedded javascript (node/jquery)
    • Office 365 App Model
      • Mail, contacts, lists, libraries, and other Office 365 features
      • Standalone apps interface for ez app launch
Day 3 - Wednesday
  • NanoServer
    • Preview bits available
    • No UI at all
    • Remote Powershell and Managemen Console support
      • Limited cmdlet support, no local workflows
    • Clustering and HyperV supported
    • Fast boot, minimal services running
    • Graphical remote management web based tool demoed
      • Works on all versions of Windows server
      • Process Manager
      • PowerShell window
      • System Settings
      • Device Manager
      • Event Viewer
    • ServerCore will be renamed to Server
    • Full Server/Server with a GUI will be renamed to Client
      • Not allowed in containers
    • Visual studio server apps targeted to either Server or Nano, not Client
    • Nano is simply a subset of Server, full compatibility for all features that are in both
      • You select features and drivers at deployment
    • Demo of Chef deployment to Nano with Ruby, Python, and C# components
    • More videos on channel 9
    • Reduces attack surface and maintenance requirements
      • Fewer services, memory usage, patches, reboots
      • .4GB footprint compared to 4.84GB
    • No MSI support
      • Nano Server installer in the works
  • CRM Online and Office 365: What's New
    • Integration Points
      • Outlook/Exchange
        • Email folder mapping of metadata
        • Create entities from email
      • Excel
      • Power BI
      • OneNote
      • Office 365
        • Groups integration
      • OneDrive
      • SharePoint
      • Yammer
      • Skype
      • Skype for Business
  • Office 365 Groups -Eric Zenz
    • Office 365 Group = SharePoint Site Collection
    • Outlook and Office App integrations
    • Groups include
      • Files
      • Group Notebook
      • Shared with us feed
      • Recycle Bin
      • Pages
    • Delve provides insights into groups
    • Future planned feature: Link groups to existing SharePoint sites
    • Discovery works across group mail and group viles
    • Coming in 2015
      • Guests membership
      • Dynamic membership
      • Data Leakage Prevention (DLP)
      • Quota management
      • Soft-delete
    • Graph REST endpoint
  • Line of Business Dev on Dynamics CRM (small room)
    • Dynamics CRM
      • Line of business and Customer Engagement
      • Solution development
        • Relationship
        • Process
        • Interaction
        • LOB
      • Giving campaign demo
        • Theme
        • Personalized
        • Navigation
        • Office 365 Integration
        • Configurable
        • Social and Collaborative
        • Mobile Ready
        • Customizable Search
        • Secured
        • Analytical
    • Build, Integrate, Manage
Day 4 - Thursday
  • Best Practices for Design and Performance in SharePoint Online
    • Branding Impact
      • Low Impact
      • High Impact
    • Responsive Web Design
      • Limited support for some common collaboration site features
        • Ex: Gantt charts
    • Composed Looks (Themes)
    • Design Manager
      • Converts HMTL to Masterpage automatically
    • Custom Branding
      • Use a starter masterpage
      • Layout with html css and imagers
      • Add SP Controls
    • Performance considerations
      • Image sizes
      • SharePoint Online caching less reliable due to number of servers
      • Demo of custom rollup nav delaying page load
    • Custom Masterpages will continue to be supported
      • Make sure to stay up to date with MS improvements
  • Deploying Yammer
    • Levi Strauss+
    • Yammer Embed
    • My Feed
    • Group Feeds
    • Liking
    • Sharing
    • Following
Day 5 - Friday
  • BCS to SQL hybrid
    • OData service on-prem exposes SQL data
  • Search hybrid
    • Search center on-prem or online
  • Security
    • AD sync
    • DirSync server
      • Claims from User Profile Sync Service
      • Config steps
        • Add on prem domain to tenant
        • Activate DirSync in your tenant
        • Update DNS records
        • Run DirSync wizard and start sync
        • Check users and groups in Tenant Admin
        • Activate and License users
      • Validate synchronization
        • DirSync Troubleshooter App
    • Azure AD Proxy on-prem manages ACS (Access Control Services) Trust
    • ADFS + ADFS Proxy for single sign-on
    • Configuring S2S
      • Replace STS Cert on all farms
      • Install S Sign in assistant and azure PowerShell
      • Register on-prem STS as Service Principle in 0365
      • Add SPN for on-prem domain
      • Register 0365 app principal as trusted provider
      • Set the auth realm on prem
    • Validate User Profile Service App
    • Search Validation
      • Result Source
        • ECB menu, click test source
      • Query builder
        • From Query Rules
      • Investigation
        • Partitioned search service or proxy not supported in hybrid
          • Fix: IgnoreTenatization
        • 400, 401, 403, 500 errors
    • BCS Validation

Tuesday, March 10, 2015

CRM and xRM vs SharePoint: Business Solution Architecture

Scenario
  • You are tasked with developing an enterprise application or business process solution using a stable platform tool
  • You have MS SharePoint / Office 365 and MS Dynamics CRM options available and need to decide which to use
SharePoint / Office 365 and Microsoft Dynamics CRM and xRM Comparison
  • SharePoint and Office 365 is a(n)
    • Customizable and flexible business solution platform
      • Content-centric
    • Content/document management and versioning system (CMS/DMS)
    • Enterprise search engine
    • Workflow system (WWF/Azure Workflow)
    • Alert engine
    • Extension for MS Office client apps and MS OfficeWeb Apps (OWA)
    • Web site development and web content management tool (WCM)
    • Publishing tool
    • Personalizable web interface
    • Social platform
    • Cloud capable, multi-tenant framework
    • MS Access web database platform
    • MS Project platform
    • MS Team Foundation Studio site platform
    • MS Dynamics CRM document repository
  • Dynamics CRM (xRM) is a(n)
    • Customizable CRM line of business system
      • For Sales and Marketing departments
    • Entity management platform
      • Ex: Accounts, contacts, orders, cases and opportunities
      • May be configured for case management solutions such as health and human services, benefits administration, legal cases, grant management, etc.
    • Query tool
    • Workflow engine (WWF)
    • Analytics tool
    • Extension for MS Outlook, Excel, and Word
    • Custom business solution platform
      • Email and conversation-centric applications
        • Customer service, tech support, employee relations, outreach, campaigning, contracts, etc.
Summary

MS Dynamics CRM is designed as a customer relationship management system and the platform has native relational design at its heart.  It can be adapted to many conversational and relationship based business processes.  The primary problem with CRM, is that it lacks the popularity of SharePoint and Office 365 due to reduced feature set and increased cost and is therefore less likely to be available as a platform to most business developers and end users.  This makes finding third party solutions, developers, community forums, and experienced users difficult or costly.  Dynamics CRM as a line of business app has many competing products that make the base feature set less important when choosing a solutions platform.  These include those from MS partners built directly on SharePoint such as BPA Solutions CRM, SP CRM Template, and SP Marketplace CRM.

The capabilities of SharePoint and Office 365 currently outweigh those of Dynamics CRM for general purpose custom business solutions.  This is especially true when business solutions incorporate enterprise search, documents and content management, publishing and approval, personalization, collaboration, or public web content.   SharePoint with a typical set of third party add-ins provides the best long term, affordable, and flexible solution architecture.  Microsoft has embraced SharePoint as an application platform within most of its divisions, Dynamics being the outlier.  SharePoint/Office 365 is also the fastest growing product within Microsoft due to its rapid adoption globally.  Finally, SharePoint has many more third party solution providers and COTS line of business systems than Dynamics CRM.

For highly relational and performance based web applications it is better to develop a user interface in SharePoint (app model or web parts) with a SQL DBA developed backend or MS Access Web Database rather than develop a solution using the Dynamics CRM drag drop interface or native SharePoint lists/libraries.  This will remain the case until Dynamics CRM catches up to SharePoint/Office 365 in functionality, SharePoint integrates a better relational/back end framework, or another company develops a better web application platform.


Microsoft Corporate Strategy and Product Roadmap Commentary

Ideal Objective: SharePoint = Microsoft's Web Operating System

SharePoint must be the single web based application platform for all Microsoft's business solutions.  MS Dynamics CRM has not been ported to the SharePoint platform for the main reason that customizable relational models are not embraced within SharePoint.  Every attempt by the SharePoint product team to incorporate true relational database (RDBMS) integrity, performance, and design into the product have met with limited success.  External lists and lookups are feature deprived and difficult to configure. Access web databases are siloed from other SharePoint features and sites.  Native lookup fields lack basic features and have limited relational support. Database synchronization to or from lists is non-existent.  Many third party vendors have stepped up to fill these gaps, but that leaves Microsoft without the capabilities for internal development utilizing these missing features.  For now, we are stuck in that period where the Dynamics CRM platform is not yet obsolete, but SharePoint (without third party add-ins) is not ready for the port.

If Microsoft is to succeed in its primary focus towards enterprise software, then these product teams need to work together to bolster SharePoint's feature set as a solutions development platform and then port the Dynamics business solutions onto the improved platform.  This would allow the Dynamics teams to contribute to the design of the SharePoint platform while also removing the CRM team's burden of having to re-invent the wheel regarding the existing and continually improving SharePoint feature set.  Examples of these shared functionality opportunities include: workflow engine, search engine, forms engine, list engine, authorization, authentication, UI, admin consoles, deployment methods, device support, mobile applications, OneDrive for Business synchronization, web services, application object model, BI, content management, metadata, analytics services, patches, upgrades, and MS Office integration.  Microsoft has taken the first steps with incorporating the MS Access team into SharePoint forms and Access web database design, but the SharePoint team also needs the real world requirements and feedback from the Dynamics teams to ensure the future success of both products.

Nearly 10 years ago, at the last SharePoint Conference he keynoted, I asked Bill Gates if SharePoint would get true relational design functionality.  His answer was that they were working on some of these features (which turned out to be External Lists and Lookup RI) but he still insisted on using SQL RDBMS for highly relational solutions.  This answer was inadequate and shortsighted.  It is now time for Microsoft to step up and take advantage of the monumental opportunity to combine relational design into the worlds most prevalent and feature rich Web OS, SharePoint (aka Office 365).

Sources and Other Resources

MS Ignite 2015 Update
While attending MS Ignite 2015, I used the opportunity to talk with product leads and managers on both Dynamics CRM and SharePoint/Office 365 to find out how this is going down within Microsoft.  Both teams admit that there is very little collaboration between the Dynamics and SharePoint teams and there is a lack of direction from the executive level.  This issue flows from the Microsoft organizational structure and requires executive action or an internal grass roots effort to remediate.  If Microsoft wants to establish itself as the king of business solutions, then we need these teams (Dynamics, SharePoint/Office 365, and MS Access) to combine their platforms and stop wasting time reinventing the wheel.

One prime example of waste was brought up in the CRM line of business development session.  Since the CRM team does not collaborate with the SharePoint team, they are developing their own separate enterprise search engine rather than utilizing the highly efficient FAST search engine the SharePoint/Office 365 team bought for $1.2 Billion.

Tuesday, September 17, 2013

Office 365 Registration "Partner Information"

Scenario
  • You are signing up for an Office 365 account and would like to register me as your partner for solution architecture, custom development, integration, and support.  :)
  • This is now known as "Delegated Administration"
Resolution
Office 365 Microsoft Partner ID:
3831100

Tuesday, May 28, 2013

Every SharePoint Team Site should have a OneNote notebook

Update:  Office 365 and SharePoint now include a OneNote notebook in every Team Site.  Thank you Microsoft for listening!

In my experience, any "Team Site" should have a document library containing a OneNote team notebook.  My premise is that since a team site is typically created for collaboration, a team notebook is likely the best tool for those needs.  Team sites gutted and used as the base for a custom solution would no longer count towards this premise.  I would also consider Evernote or similar notebook tools as decent alternatives, albeit not as fully featured or integrated.

Windows 8/10 Tip 
Make the desktop version of OneNote the default (Not the Metro version) to get the most features

OneNote 2016 and Office 365 new features

OneNote Notebook features
  • Continuous Save. No Save Button
  • Automatic track changes / version history
  • Automatic synchronization and offline editing
    • Sync Now (Shift+F9) is an option to refresh quicker when collaborating
  • Simultaneous editing (changes highlighted)
  • Windows-Shift-N desktop shortcut or right click via the control panel
    • Also the Windows-N new side note and Windows-S screen clipping shortcuts
    • Other than Copy/Paste, these should be your most commonly used keyboard shortcuts
  • 1-4 click left/top/right navigation (can go deeper at the section level)
  • Recent notebooks are easily accessible via the Notebook Pane
    • Notebooks are available on the Notebooks Pane on the left nav every time you open OneNote until you remove (Close) the notebook
    • Notebooks can be renamed uniquely to that machine and user
      • Notebook contents however are synchronized across machines and users
    • OneDrive/OneNote.Com/SharePoint/O365 will also maintain a separate list of your recently used notebooks across machines
  • Audio (and video) recording with note taking time stamps
    • Notes taken at any time during the recording can replay the recording at the appropriate time
  • Mobile device support
  • Embedded documents
  • Screen clip tool (Windows-S or Insert screen clip from note page)
  • Embedded links (Linked Web Notes)
    • If researching using a browser, notes taken in OneNote will automatically embed the related URL
    • Copying, pasting, and screenshots will also include the current address from the browser
    • Also works when viewing other OneNote notebooks, PowerPoint, or Word documents
  • Drawing/tablet support (Ink to Text, Ink to Math)
  • Math (Trig/Calculus support )
  • Linked meeting notes from Outlook invitation for quickly accessing meeting notes for scheduled meetings
  • Free form layouts, markups, and drawings
    • Text, drawings, images, etc. can be inserted anywhere on the note page
    • Use to markup a screenshot or document print
  • Dock to desktop and full screen features
    • Docks to side of screen displacing the desktop so that you can take notes while demoing or working
    • Full screen mode removes the notebook navigation and menu items
  • Save to SharePoint or OneNote Online (OneDrive)
    • Notebook sections and pages are saved as folders and files within the document library, so don't be surprised if you see this in explorer view
  • Print to OneNote
    • Quickly markup or take notes on any document source
    • OneNote installs a virtual printer driver on your machine
  • Web based versions of OneNote
  • Share pages and notebooks via Email or Hyperlink (to facilitate notebook adoption)
  • MindMapping Source (Not really specific to OneNote but a nice use)
    • MindMaps are just graphical bulleted lists.  Make the bulleted list in OneNote and then copy the list to your favorite MindMapping tool.  This way you can collaborate with others who don't know or own the MM tool and you can look cool demoing the info.  Note that my whole blog could be converted into a giant mind map. :)
Additional Features with OneTastic
  • Macros
    • Macroland: prebuilt macros
  • OneCalendar
    • See your notes by date in a calendar
  • Image utilities
    • Crop/rotate images and select OCR'd text
  • Custom styles
    • Like MS Word styles
  • Favorites and pin desktop shortcuts
When not to use OneNote
  • Final published or printable document
  • Blogging
    • Use Windows Live Writer instead (send to blog is supported but not as good)
    • Drafts in OneNote are ok
  • Heavily formatted content or page oriented layout
    • This is better done in Publisher or Word
    • When copy/pasting or sending to MS Word, bullets may need to be reset and other formatting corrected
      • Highlight the bulleted list and then double click the bullet icon to fix the lists in MS Word
  • Diagramming or presentations
    • Use Visio or PowerPoint
    • Quick hand drawings or draft object drawings are ok
  • Spreadsheets
    • Use SharePoint lists or Excel and embed a link in OneNote
  • Dynamic/sortable/filterable lists, data, or documents
    • Use SharePoint

Thursday, June 28, 2012

Office 365 for educators just released!

For all teachers, educators, and school or district IT administrators.
http://www.microsoft.com/en-us/office365/education/school-services.aspx

MS just released Office 365 for educators. I would highly recommend this to any school. These are cloud services with extremely reduced costs (or FREE), saving your district money to put more of it into the classrooms. Class/staff web sites, public web site, online file storage, email (outlook), MS Office (w/ web apps), Instant Messaging, phones/voicemail (VOIP), calendaring, task mgmt, web search (of all curriculum/documents you have access to), and real-time collaboration (x people work on 1 document at once).  This includes SharePoint, which is the platform of choice for collaboration and content management solutions.  I would recommend engaging a competent solution integrator to migrate and deploy to Office 365.

Thursday, July 28, 2011

Office 365 Inbound Email Enabled List

Scenario
  • You would like to configure an email enabled document library in Office 365 SharePoint Online
Issue
  • Office 365 does not support this feature
Resolution
  • Use a third party service to send emails to your lists
    • vorApps - Per user subscription
      • Azure based cloud service with additional storage options
    • MessageOps - SharePoint Bridge - Free
      • This was developed for BPOS and may not work with Office 365 yet
      • Runs as a service on a local server/workstation

Tuesday, July 19, 2011

Basic Group and Collaboration Site Options

Scenario
  • You want to share stuff and/or coordinate events with a limited group of people
  • Private, invite only, or exclusive access
  • Following is a comparison of Office 365 SharePoint Online vs Facebook Groups vs Google Groups vs Google Plus Circles vs Windows SkyDrive Live Groups vs WordPress vs Blogger vs Meetup vs Evite
  • Generally the free services are ad supported, while paid services are not.  Some free services offer an ad-free upgrade
  • These are all fully hosted cloud based services
Features
  1. Photo sharing
  2. Video sharing
  3. Presence and Instant Messaging
  4. Document sharing
    1. Online document editor integration (Office Online, Google Docs)
  5. Owner/Organizer based event planning
  6. Member based event planning
  7. Multi-level security options - More than just Owner/Member
  8. Email alerts/subscriptions
  9. Standard login support: OpenID, Facebook, Live, or Google
  10. Tasks
  11. Wikis
  12. Mobile/Web calendar integration: Google, Exchange, or Facebook
  13. Mobile/Web contact integration: Google, Exchange, or Facebook
  14. Map integration
  15. Group Email Address
  16. Personal Domain Name support
  17. Blog / RSS
Options
  • Office 365 - SharePoint Online - Monthly fee per user, designated user accounts
    • Features: 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15 (exchange distribution list), 16, 17
    • Also includes Exchange Mail hosting, LiveMeeting accounts, Search, workflows, dashboards, Public Web Site Hosting, and Lync IM solution
    • Integrates with SharePoint Workspace and Microsoft Office
    • Designed for businesses/organizations
    • Highly customizable and feature rich
  • Facebook Groups - Free
    • Features: 1, 2, 3, 5, 6, 8, 9 (all), 12, 13, 14, 15
  • Google Groups - Free
    • Very limited
  • Google+ Circle - Free
    • Users have to manage their circle memberships separately (quasi-group)
    • Features: 1, 2, 3, 9
  • Windows Live SkyDrive Groups - Free
    • Features: 1, 2, 3, 4 (specialty), 4.1, 5*, 6*, 7** , 8, 9, 10*, 12, 13, 15
    • * 5, 6, and 10 are a shared calendar rather than a true invite and tasking system
    • ** 7 has a co-owner role and folder/document level security 
  • Blogger - Free
    • Features: 1, 2, 16, 17 (specialty)
    • Default is public
  • WordPress - Free basic, Yearly per feature fees
    • Features: 1, 2*, 16*, 17 (specialty)
    • * 2 and 16 require paid subscription
    • Default is public
  • Meetup Group - Monthly fee
    • Features: 1, 5 (specialty), 6, 7, 8, 9, 12 (manual sync), 14
    • Local/activity based group promotion built-in
  • Evite - Free
    • Event management only, email based
    • No grouping