SharePoint Online – The following users do not have email address specified when creating an alert for other users

 

Scenario: You try to specify an alert for another user in SharePoint Online, but you receive a message stating:

“Sorry, something went wrong
The following users do not have e-mail addresses specified: ***
Alerts have been created successfully but these users will not receive notifications until valid e-mail or mobile addresses have been provided.”

Symptom:
Work email addresses blank for users not using Exchange Online or DirSync

Cause:
If you are not using Exchange Online it is expected that the work email address is blank in the SharePoint Online directory (SPODS) and so the property will need to be populated via other means. KB 2650135 discusses the scenario and the manual option.

Most commonly DirSync is used in this scenario to make sure your on-prem AD is in sync with what is in Office 365. If DirSync is not in use or not an option, the next plan is to have the users manually populate the data themselves, write up a script to populate the data with web services, or a combination of the two. The challenge here is to ensure that the data and user experience is consistent.

Resolution:
To resolve this issue, configure SharePoint Online to enable users to configure their email address within their My Site profile and configure the changes to replicate to the sites. As a Global Administrator for the Office 365 service, follow these steps:

  1. Browse to the Office 365 portal at https://portal.office.com
  2. Click the Admin link at the top of the window, and then SharePoint.
  3. In the SharePoint admin center, click user profiles.
  4. Under the People section, click Manage User Properties.
  5. Locate the Work email property name and rest the mouse pointer over the property.
  6. Click the drop-down arrow, and then click Edit.
  7. In the Edit Settings section, select the option next to the Allow users to edit values for this property setting.
  8. In the Policy Settings section, click the check box next to Replicable.Note The Replicable setting is necessary to make sure that the properties are propagated to all site collections within the organization.
  9. Scroll to the bottom of the page, and then click OK.

Users can now edit their My Site profile to configure the Work email field as needed. This is the address where SharePoint alerts will be sent for the user.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Microsoft Cloud Privacy Announcement – Leading The Way

Today Microsoft announced it is the first major cloud provider to adopt ISO/IEC 27018, the world’s first international standard for cloud privacy.

More importantly for our customers, independent auditors have verified that Microsoft Azure, Office 365, Dynamics CRM Online and Intune follow the standard’s code of practice for the protection of personal information.

 

  • You are in control of your data.
    Our adherence to the standard ensures that we only process personally identifiable information according to the instructions that you provide to us as our customer.
  • You know what’s happening with your data.
    Adherence to the standard ensures transparency about our policies regarding the return, transfer, and deletion of personal information you store in our data centers. We’ll not only let you know where your data is, but if we work with other companies who need to access your data, we’ll let you know who we’re working with. In addition, if there is unauthorized access to personally identifiable information or processing equipment or facilities resulting in the loss, disclosure or alteration of this information, we’ll let you know about this.
  • We provide strong security protection for your data.
    Adherence to ISO 27018 provides a number of important security safeguards. It ensures that there are defined restrictions on how we handle personally identifiable information, including restrictions on its transmission over public networks, storage on transportable media, and proper processes for data recovery and restoration efforts. In addition, the standard ensures that all of the people, including our own employees, who process personally identifiable information must be subject to a confidentiality obligation.
  • Your data won’t be used for advertising.
    Enterprise customers are increasingly expressing concerns about cloud service providers using their data for advertising purposes without consent. The adoption of this standard reaffirms our longstanding commitment not to use enterprise customer data for advertising purposes.
  • We inform you about government access to data.
    The standard requires that law enforcement requests for disclosure of personally identifiable data must be disclosed to you as an enterprise customer, unless this disclosure is prohibited by law. We’ve already adhered to this approach (and more), and adoption of the standard reinforces this commitment.

The validation that Microsoft adopted this standard is further evidence of its commitment to protect the privacy of our customers online.

More information:

http://blogs.microsoft.com/on-the-issues/2015/02/16/microsoft-adopts-first-international-cloud-privacy-standard/

http://www.iso.org/iso/catalogue_detail?csnumber=61498

 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Version 2 of the Office 365 for business roadmap Windows 8 App is available!

http://apps.microsoft.com/windows/nl-be/app/o365-roadmap/f6e425c8-cb5b-4434-81fa-7358af955852

The Office 365 for business roadmap lists updates that are currently planned for applicable subscribers. Updates are at various stages from being in development to rolling-out to customers to being generally available for applicable customers world-wide. Expand an update to learn more about it and click the learn more link to read more details

roadmap1 roadmap2 roadmap3 roadmap4

 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

howto : Modify the Edit Form of a SharePoint 2013 list with CSR (JSlink)

This step by step guide will show you how the provide a slider control for a number field in a SharePoint list:

  1. Download the following code and upload the file in your Style Library or Site Assets Library.
  2. Open the list where you want to modify the edit form and click on edit item.
    editform1
  3. Click on the gear icon in the upper right corner and click on edit page.

  4. Hover over the right corner of the web part and click on Edit Web Part
    editform3
  5. Set the path to your javascript file in the JSLink property
    editform4
  6. Click OK
    editform5

Hope it helps!

If you want more information, please review the following http://code.msdn.microsoft.com examples.

VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 4 votes)

New O365 roadmap windows 8 app

The Office 365 for business roadmap lists updates that are currently planned for applicable subscribers. Updates are at various stages from being in development to rolling-out to customers to being generally available for applicable customers world-wide. Expand an update to learn more about it and click the learn more link to read more details.

Learn more about Office 365 for business service updates here.

Please install the Offfice 365 for business service updates app from http://apps.microsoft.com/windows/nl-be/app/o365-roadmap/f6e425c8-cb5b-4434-81fa-7358af955852

home launchedinprogress rollingoutdetails

Hope it helps!

Stay tuned :)

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Working with SharePoint Online & PowerShell

Scenario:

  1. Connect to SharePoint Online via PowerShell running on my local computer
  2. Authenticate myself
  3. Open the context of a specific SharePoint Site
  4. Retrieve a specific library
  5. Find a specific folder in this library
  6. Delete/recycle the items in this folder

Result:

# replace these details (also consider using Get-Credential to enter password securely as script runs).. 
$username = "YOURUSERNAME" 
$password = "YOURPASS" 
$url = "https://YOURTENANT.sharepoint.com"

$folderName = "somefolder"
$libraryName = "Documents"

$securePassword = ConvertTo-SecureString $password -AsPlainText -Force 

# the path here may need to change if you used e.g. C:\Lib.. 
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll" 
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll" 

# connect/authenticate to SharePoint Online and get ClientContext object.. 
$clientContext = New-Object Microsoft.SharePoint.Client.ClientContext($url) 
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $securePassword) 
$clientContext.Credentials = $credentials 
if (!$clientContext.ServerObjectIsNull.Value) 
{ 
	$checkUrl = $clientContext.Url
    Write-Host "Connected to SharePoint Online site: '$checkUrl'" -ForegroundColor Green 
} 

# check if library exists
$web = $clientContext.Web
$list = $clientContext.Web.Lists.GetByTitle($libraryName); 
$query = New-Object Microsoft.SharePoint.Client.CamlQuery
$query.ViewXml = '1'+$folderName+'';  
$collListItem = $list.GetItems($query)
$clientContext.Load($collListItem)
$clientContext.ExecuteQuery()

if($collListItem.Count -eq 1){
    Write-Host "Folder exists: '$folderName'" -ForegroundColor Green 
}else{
    Write-Host "Folder '$folderName' does not exist" -ForegroundColor Red
	Exit
}

# check if library exists
$web = $clientContext.Web
$list = $clientContext.Web.Lists.GetByTitle($libraryName); 
$query = New-Object Microsoft.SharePoint.Client.CamlQuery
$query.ViewXml = ''; 
$query.FolderServerRelativeUrl = "/documents/somefolder"
$collListItem = $list.GetItems($query)
$clientContext.Load($collListItem)
$clientContext.ExecuteQuery()

$itemsToDelete = @();

if($collListItem.Count -eq 0){
	Write-Host "No files found in this folder" -ForegroundColor Red
	Exit
}

Write-Host
Write-Host "I'm deleting the files now..." -ForegroundColor Green
Write-Host

#recycle items via id
foreach ($id in $itemsToDelete){
 	$itemToDelete = $list.getItemById($id);
    $recycled = $itemToDelete.deleteObject(); #Recycle()
	$clientContext.Load($collListItem)
	$clientContext.ExecuteQuery()
	Write-Host "	$itemToDelete['FileLeafRef'] is deleted" -ForegroundColor Yellow
}
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Ultimate diagnostic JSLink script

My friend Elio Struyf launched the Ultimate diagnostic display template on the last SharePoint Saturday, so why not follow his example for the new awesome JSLink feature added in SharePoint 2013.

You can modify the UI of SharePoint 2013 lists by only using JavaScript, but what if you do not know the correct internal names?The following script can be used to render the properties and the values of the current item.

Based on this information, you can optimize your jslink script to render the data in the format you want.

Hope it helps!

function ShowAllProperties(ctx) {
    var url = ctx.CurrentItem;
    var html = "<table>";
    for (att in url) {
            html += "<tr>"
            html += "<td>"+att+"</td><td>" + url[att]+"</td>";
            html += "</tr>"
        }
    html+="</table>"
    return html;
}

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

VIDEO : What are apps for SharePoint?

Apps are small, easy-to-use, stand-alone applications that solve a need for your users or business.

Site owners can install, upgrade, and uninstall them on their SharePoint sites without farm or site collection admins.

from http://msdn.microsoft.com/en-US/office/dn448478

VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

How to create charts from SharePoint 2013 lists via SharePoint Apps

A colleague (Koen Zomers) pointed me towards a very interesting Javascript library called jchartfx to render client side charts.

The following SharePoint Hosted App allows you to add an App Part on any page and use another list within the same web to display the data in a graph.jchart_overview

jchart_properties

By simply changing the Chart Type in the App Part Properties you can change the rendering of the Graph.

jchart_overview.lines

Step 1: Create SharePoint Hosted App

I would strongly recommend following this excellent article on MSDN.

Step 2: Use the cross domain library to retrieve information from the host Web

In order to retrieve information from the host web we need to set the appmanifest permissions so that our app is allowed to read list items from the SharePoint web where we install our app.

Step 3: Provision the required jChartFX libraries

Koen pointed me to the Getting Started section of the JChartFX site and I used this demo to get started.

Step 4: Create App Part

Code examples

Hope it helps!

VN:F [1.9.22_1171]
Rating: 8.3/10 (9 votes cast)
VN:F [1.9.22_1171]
Rating: +4 (from 4 votes)

Using JSLink property of the XsltListViewWebPart to control the rendering of a list, listitem & field

Creating the UI of a SharePoint list has been a challenge in the past. We needed SharePoint Designer, XSLT or custom webparts in order to take control of the presentation of our data in SharePoint lists

In SharePoint 2013 you are in control with no impact on the infrastructure of the farm.

The following steps make it very easy for you to control the UI:

  1. Create a new custom list
  2. Add a new column called “Score”newfield
  3. Add multiple items with different scores (These values are only for demonstration purposes)defaultview
  4. Navigate to the gear icon in the upper right corner and press edit page
  5. Edit the web part properties and locate the propertie JSLink at the bottom
  6. provide the following link: ~site/siteassets/jslink.jsjslink
  7. Press OK
  8. Upload the attached jslink.js file to the site assets library
  9. Open the custom list you created and notice the KPI’s.kpi

What if you do not want to take control over a field, but you really want to change the presentation of the entire item?

By modifying the jslink.js, it is possible to provide a render method that will take control over the UI of the item. The following screenshot show you the result when you loop over the attributes of the ctx.CurrentItem object.
Check out the LoopOverAllVars script to see the source.allvars

In our scenario it would be possible to create another view called executive summary and visualize the data like thisitemcontrol

It depends on the customer’s requirements how the information need to be displayed, but I think this technique is very efficient!

Hope it helps!

VN:F [1.9.22_1171]
Rating: 9.7/10 (3 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)