Developer
TECH REFRESH
15 Junho 2015
#pttechrefresh
André Vala
SHAREPOINT SOLUTIONS ARCHITECT
Soluções com
#pttechrefresh
BLOG
LINKED IN
TWEETER
EMAIL
MEMBER OF
MEMBER OF
WORKS FOR
Sobre mim...
andre.vala@create.pt
@atomicvee
http://blogit.create.pt/andrevala
http://www.linkedin.com/in/andrevala
 SharePoint Solutions Architect
JOB TITLE
Office365 PT
SPUG PT
Advertência
Alguns dos conteúdos apresentados nesta sessão referem-se a
funcionalidades que estão em “preview” e poderão ser alteradas antes
do seu lançamento. Nesta fase não deverão ser utilizadas em sistemas
de produção.
Arthur C. Clarke
Any sufficiently advanced technology
is indistinguishable from magic
Agenda
Office
Graph
Office
Delve
Queries
com GQL
Roadmap
Unified API
Próximos
Passos
Office Graph
Grafo (graph)
Conceito matemático utilizado em computação como estrutura de
dados, composta por nós (nodes) unidos por arestas (edges). As
arestas podem ter uma direção e um valor associados.
A
C
B
D
Manager
Direct report
Works with
Emailed to me
Viewed by me
Shared with me
Presented to me
Liked by me
Manager
Direct report
Works with
Emailed to me
Viewed by me
Shared with me
Presented to me
Liked by me
Works with
Modified by
Jenny Gottfried
Trending around
Jenny Gottfried
Modified by
Jenny Gottfried
Liked by
Jim Geist
Emailed to me
Emailed to me
Works with
Modified by
Jim Geist
Modified by
Alan Brewer
Commented on
Commented on
Trending around
Nancy Anderson
Manager
Direct report
Works with
Emailed to me
Viewed by me
Shared with me
Presented to me
Liked by me
70PETABYTES
OFENTERPRISEDATA
8 BILLION
RELATIONSHIPS
4 TRILLION
NODES
60 BILLION
ATTACHMENTS
25 PERCENT
RELATIONSHIPS
ARE PERSON-TO-PERSON
850 MILLION
MEETINGS
PER MONTH
Office 365
Office Graph Insights
Insights derivados com
machine learning para
experiências proativas
e inteligentes
Conteúdos e sinais de todo o O365 auto-populam
os Office Graph insights.
EXCHANGEFILES YAMMERSHAREPOINT SOCIALLYNC
Sinais
• Mensagens desencadeadas pelas ações dos utilizadores em vários
componentes do Office 365
• SharePoint Online
• Exchange Online
• Office Delve
• One Drive for Business
• Azure Active Directory
• Brevemente, será possível injetar sinais provenientes de sistemas externos
• Yammer
• Dynamics CRM
• Salesforce
Office Delve
Office Delve
• Originalmente chamado de Oslo Experience
• Recentemente adicionado ao Office 365
• Experiência de Search & Discovery
• Suportado sobre Office Graph
• Pensado para ser a homepage do colaborador no Office 365
Office Delve
Waffle
Button
Delve App
Home Page
Card
People I
work
with
Conteúdos
que me
podem
interessar
Trending
around
me
Conteúdos
diretamente
relacionados
comigo
Me Page
Perfil do
utilizador
(Active
Directory e
SharePoint)
Informação
de perfil
Organograma
Profile Page
Apresenta
cartões
marcados
(“pinned”)
Semelhante
ao conceito
do Pinterest
Boards são
públicos e
podem ser
utilizados
por várias
pessoas
Boards
Office Delve
DEMO
Resumo da Demo
• Acesso ao Office Delve
• Experiência personalizada de Search & Discovery
• Homepage
• Me Page (Activity e Profile)
• Cards e Boards
• Working With e Trending Around
• Permissões
Queries com GQL
GQL = Graph Query Language
• Linguagem para interrogar o Office Graph
• Sintaxe idêntica à do FQL (FAST Query Language)
• Utilizada pelo Office Delve
• Funciona sobre a Search REST API
Principais Conceitos
Manager
Direct report
Works with
Emailed to me
Viewed by me
Shared with me
Presented to me
Liked by me
Nodes Edges
Principais Conceitos
Actor ObjectEdge
Nó de origem
ActorId: int
Nó de destino
ObjectId: int
Relação
ActionType: int
Time: string
Weight: int
Exemplo de Query REST
https://<tenant URL>/_api/search/query?QueryText='*'
&Properties='GraphQuery:actor(21894957,action:1033)'
&SelectProperties='DocId,Title‘
&RowLimit=100
Propriedades a
retornar em cada
resultado
Query ao Office
Graph (GQL)
Query ao
conteúdos (KQL)
Número máximo de resultados
(por omissão é 10)
Exemplos de GQL
ACTOR(<ActorId> [, filter])
Actor é o único operador do GQL
ACTOR(ME)
Itens relacionados com o utilizador atual
ACTOR(1234, action:1003)
Itens modificados pelo utilizador 1234
ACTOR(1234, OR(action:1001, action:1003))
Itens modificados ou visualizados pelo utilizador 1234
ACTOR(ME, AND(action:1003, time:datetime(2015-06-15)))
Itens modificados no dia 15-06-2015 pelo utilizador atual
AND(ACTOR(1234, action:1003), ACTOR(5678, action:1003))
Itens modificados pelo utilizador 1234 e pelo utilizador 5678
Ações disponíveis
Action Type Description Visibility ID Weight
PersonalFeed The actor's personal feed as shown on their Home
view in Delve.
Private 1021 A sequence number.
Modified Items that the actor has modified in the last three
months.
Public 1003 Number of modifications.
OrgColleague Everyone who reports to the same manager as the
actor.
Public 1015 Always 1.
OrgDirect The actor's direct reports. Public 1014 Always 1.
OrgManager The person whom the actor reports to. Public 1013 Always 1.
OrgSkipLevelManager The actor's skip-level manager. Public 1016 Always 1.
WorkingWith People whom the actor communicates with or works
with frequently.
Private 1019 A relevance score.
TrendingAround Items popular with people whom the actor works with
or communicates with frequently.
Public 1020 A relevance score.
Viewed Items viewed by the actor in the last three months. Private 1001 The number of views.
WorkingWithPublic A public version of the WorkingWith edge. Public 1033 Number of modifications.
Obter Actor ID
https://<tenant_address>/_api/search/query?Querytext='Username:alexd'
&SourceId='b09a7990-05ea-4af9-81ef-edfab16c4e31'
&SelectProperties='UserName,DocId'
People Search
Result Source ID
Username a
pesquisar
DocId é a propriedade
onde será retornado o
ActorId
Ordenação
Resultados
ordenados por
data de
modificação
Obrigatório para
poder utilizar o
GraphRankingModel
https://<tenant_address>/_api/search/query?Querytext='*'
&Properties='GraphQuery:ACTOR(ME, action:1003),
GraphRankingModel:{"features":[{"function":"EdgeTime"}]}'
&RankingModelId='0c77ded8-c3ef-466d-929d-905670ea1d72'
Opções válidas:
• EdgeTime
• EdgeWeight
Queries com GQL
DEMO
Resumo da Demo
• Invocar a Search REST API para obter o Actor ID
• Invocar a Search REST API com GQL
• Itens relacionados com o utilizador atual
• Itens relacionados com outro utilizador
• Utilização da ação TrendingAround
• Utilização da ação Working With
• Obter colegas ordenados por proximidade
Unified API
Unified API
USERS FILES MAIL CALENDAR TASKSGROUPS
graph.microsoft.com
Insights and relationships from Office Graph
All of O365
Authentication
Federation
Utilizar a Unified API
https://graph.microsoft.com/beta/<tenant name>
Por enquanto a Unified API ainda está em Preview.
https://graph.microsoft.com/beta/me
Devolve o perfil do utilizador atual.
https://graph.microsoft.com/beta/contoso.com/users/john@contoso.com
Devolve o perfil do utilizador john@contoso.com
https://graph.microsoft.com/beta/me/manager
Devolve o manager do utilizador atual
https://graph.microsoft.com/beta/me/directReports
Devolve os subordinados do utilizador atual
https://graph.microsoft.com/beta/contoso.com/users/john@contoso.com/files
Devolve os ficheiros do utilizador john@contoso.com
Utilizar a Unified API (brevemente)
https://graph.microsoft.com/beta/me/trendingAround
Devolve os itens relacionados com o utilizador atual.
https://graph.microsoft.com/beta/me/workingWith
Devolve as pessoas que colaboram ativamente com o utilizador atual.
Unified API
DEMO
Resumo da Demo
• Utilizar a Office 365 Unified API
• Itens relacionados com o utilizador atual
• Itens relacionados com outro utilizador
• Obter o manager do utilizador atual
• Obter subordinados do utilizador atual
• Ferramentas
• Graph Explorer (https://graphexplorer2.azurewebsites.net/)
• Office 365 API Sandbox (https://apisandbox.msdn.microsoft.com/)
Roadmap
Evolução do Delve
Content
+
People Groups Organization
Office Graph
Extensibilidade
Roadmap
REST / OData API
Client SDKs
Type Extensibility
Connectors
Custom Analytics
Notifications
Licensing
Novo perfil de utilizador
Group Insights
Organizational Insights
SOON
NEAR
FUTURE
FUTURE
SOON
SOON
NEAR
FUTURE
NEAR
FUTURE
FUTURE
FUTURE
FUTURE
Office Graph Office Delve
Próximos Passos
Próximos Passos
Aprender sobre o Office Graph
http://dev.office.com/officegraph
Criar apps com a Office 365 REST API e a Unified API
WorkingWith and TrendingAround
https://msdn.microsoft.com/en-us/office/office365/api/api-catalog
Testar a Office Graph preview API
http://msdn.microsoft.com/en-us/library/office/dn783218(v=office.15).aspx
Brevemente uma versão beta pública
Introduction to Office 365
Development
Deep Dive: Integrate Office 365
APIs in Your Web Apps
Microsoft Virtual Academy
www.microsoftvirtualacademy.com
Try Azure
for Free
Download
Visual Studio 2015 RC
http://aka.ms/downloadvisualstudio2015
http://aka.ms/tryazure
Download
Visual Studio Code
Preview
http://aka.ms/downloadvscode
Developer
TECH REFRESH
Thank you

Soluções com Office Graph

  • 1.
  • 2.
    André Vala SHAREPOINT SOLUTIONSARCHITECT Soluções com #pttechrefresh
  • 3.
    BLOG LINKED IN TWEETER EMAIL MEMBER OF MEMBEROF WORKS FOR Sobre mim... andre.vala@create.pt @atomicvee http://blogit.create.pt/andrevala http://www.linkedin.com/in/andrevala  SharePoint Solutions Architect JOB TITLE Office365 PT SPUG PT
  • 4.
    Advertência Alguns dos conteúdosapresentados nesta sessão referem-se a funcionalidades que estão em “preview” e poderão ser alteradas antes do seu lançamento. Nesta fase não deverão ser utilizadas em sistemas de produção.
  • 5.
    Arthur C. Clarke Anysufficiently advanced technology is indistinguishable from magic
  • 6.
  • 7.
  • 8.
    Grafo (graph) Conceito matemáticoutilizado em computação como estrutura de dados, composta por nós (nodes) unidos por arestas (edges). As arestas podem ter uma direção e um valor associados. A C B D
  • 9.
    Manager Direct report Works with Emailedto me Viewed by me Shared with me Presented to me Liked by me
  • 10.
    Manager Direct report Works with Emailedto me Viewed by me Shared with me Presented to me Liked by me
  • 11.
    Works with Modified by JennyGottfried Trending around Jenny Gottfried Modified by Jenny Gottfried Liked by Jim Geist Emailed to me Emailed to me Works with Modified by Jim Geist Modified by Alan Brewer Commented on Commented on Trending around Nancy Anderson Manager Direct report Works with Emailed to me Viewed by me Shared with me Presented to me Liked by me
  • 12.
    70PETABYTES OFENTERPRISEDATA 8 BILLION RELATIONSHIPS 4 TRILLION NODES 60BILLION ATTACHMENTS 25 PERCENT RELATIONSHIPS ARE PERSON-TO-PERSON 850 MILLION MEETINGS PER MONTH Office 365
  • 13.
    Office Graph Insights Insightsderivados com machine learning para experiências proativas e inteligentes Conteúdos e sinais de todo o O365 auto-populam os Office Graph insights. EXCHANGEFILES YAMMERSHAREPOINT SOCIALLYNC
  • 14.
    Sinais • Mensagens desencadeadaspelas ações dos utilizadores em vários componentes do Office 365 • SharePoint Online • Exchange Online • Office Delve • One Drive for Business • Azure Active Directory • Brevemente, será possível injetar sinais provenientes de sistemas externos • Yammer • Dynamics CRM • Salesforce
  • 15.
  • 16.
    Office Delve • Originalmentechamado de Oslo Experience • Recentemente adicionado ao Office 365 • Experiência de Search & Discovery • Suportado sobre Office Graph • Pensado para ser a homepage do colaborador no Office 365
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
    Apresenta cartões marcados (“pinned”) Semelhante ao conceito do Pinterest Boardssão públicos e podem ser utilizados por várias pessoas Boards
  • 22.
  • 23.
    Resumo da Demo •Acesso ao Office Delve • Experiência personalizada de Search & Discovery • Homepage • Me Page (Activity e Profile) • Cards e Boards • Working With e Trending Around • Permissões
  • 24.
  • 25.
    GQL = GraphQuery Language • Linguagem para interrogar o Office Graph • Sintaxe idêntica à do FQL (FAST Query Language) • Utilizada pelo Office Delve • Funciona sobre a Search REST API
  • 26.
    Principais Conceitos Manager Direct report Workswith Emailed to me Viewed by me Shared with me Presented to me Liked by me Nodes Edges
  • 27.
    Principais Conceitos Actor ObjectEdge Nóde origem ActorId: int Nó de destino ObjectId: int Relação ActionType: int Time: string Weight: int
  • 28.
    Exemplo de QueryREST https://<tenant URL>/_api/search/query?QueryText='*' &Properties='GraphQuery:actor(21894957,action:1033)' &SelectProperties='DocId,Title‘ &RowLimit=100 Propriedades a retornar em cada resultado Query ao Office Graph (GQL) Query ao conteúdos (KQL) Número máximo de resultados (por omissão é 10)
  • 29.
    Exemplos de GQL ACTOR(<ActorId>[, filter]) Actor é o único operador do GQL ACTOR(ME) Itens relacionados com o utilizador atual ACTOR(1234, action:1003) Itens modificados pelo utilizador 1234 ACTOR(1234, OR(action:1001, action:1003)) Itens modificados ou visualizados pelo utilizador 1234 ACTOR(ME, AND(action:1003, time:datetime(2015-06-15))) Itens modificados no dia 15-06-2015 pelo utilizador atual AND(ACTOR(1234, action:1003), ACTOR(5678, action:1003)) Itens modificados pelo utilizador 1234 e pelo utilizador 5678
  • 30.
    Ações disponíveis Action TypeDescription Visibility ID Weight PersonalFeed The actor's personal feed as shown on their Home view in Delve. Private 1021 A sequence number. Modified Items that the actor has modified in the last three months. Public 1003 Number of modifications. OrgColleague Everyone who reports to the same manager as the actor. Public 1015 Always 1. OrgDirect The actor's direct reports. Public 1014 Always 1. OrgManager The person whom the actor reports to. Public 1013 Always 1. OrgSkipLevelManager The actor's skip-level manager. Public 1016 Always 1. WorkingWith People whom the actor communicates with or works with frequently. Private 1019 A relevance score. TrendingAround Items popular with people whom the actor works with or communicates with frequently. Public 1020 A relevance score. Viewed Items viewed by the actor in the last three months. Private 1001 The number of views. WorkingWithPublic A public version of the WorkingWith edge. Public 1033 Number of modifications.
  • 31.
  • 32.
    Ordenação Resultados ordenados por data de modificação Obrigatóriopara poder utilizar o GraphRankingModel https://<tenant_address>/_api/search/query?Querytext='*' &Properties='GraphQuery:ACTOR(ME, action:1003), GraphRankingModel:{"features":[{"function":"EdgeTime"}]}' &RankingModelId='0c77ded8-c3ef-466d-929d-905670ea1d72' Opções válidas: • EdgeTime • EdgeWeight
  • 33.
  • 34.
    Resumo da Demo •Invocar a Search REST API para obter o Actor ID • Invocar a Search REST API com GQL • Itens relacionados com o utilizador atual • Itens relacionados com outro utilizador • Utilização da ação TrendingAround • Utilização da ação Working With • Obter colegas ordenados por proximidade
  • 35.
  • 36.
    Unified API USERS FILESMAIL CALENDAR TASKSGROUPS graph.microsoft.com Insights and relationships from Office Graph All of O365 Authentication Federation
  • 37.
    Utilizar a UnifiedAPI https://graph.microsoft.com/beta/<tenant name> Por enquanto a Unified API ainda está em Preview. https://graph.microsoft.com/beta/me Devolve o perfil do utilizador atual. https://graph.microsoft.com/beta/contoso.com/users/john@contoso.com Devolve o perfil do utilizador john@contoso.com https://graph.microsoft.com/beta/me/manager Devolve o manager do utilizador atual https://graph.microsoft.com/beta/me/directReports Devolve os subordinados do utilizador atual https://graph.microsoft.com/beta/contoso.com/users/john@contoso.com/files Devolve os ficheiros do utilizador john@contoso.com
  • 38.
    Utilizar a UnifiedAPI (brevemente) https://graph.microsoft.com/beta/me/trendingAround Devolve os itens relacionados com o utilizador atual. https://graph.microsoft.com/beta/me/workingWith Devolve as pessoas que colaboram ativamente com o utilizador atual.
  • 39.
  • 40.
    Resumo da Demo •Utilizar a Office 365 Unified API • Itens relacionados com o utilizador atual • Itens relacionados com outro utilizador • Obter o manager do utilizador atual • Obter subordinados do utilizador atual • Ferramentas • Graph Explorer (https://graphexplorer2.azurewebsites.net/) • Office 365 API Sandbox (https://apisandbox.msdn.microsoft.com/)
  • 41.
  • 42.
    Evolução do Delve Content + PeopleGroups Organization Office Graph
  • 43.
  • 44.
    Roadmap REST / ODataAPI Client SDKs Type Extensibility Connectors Custom Analytics Notifications Licensing Novo perfil de utilizador Group Insights Organizational Insights SOON NEAR FUTURE FUTURE SOON SOON NEAR FUTURE NEAR FUTURE FUTURE FUTURE FUTURE Office Graph Office Delve
  • 45.
  • 46.
    Próximos Passos Aprender sobreo Office Graph http://dev.office.com/officegraph Criar apps com a Office 365 REST API e a Unified API WorkingWith and TrendingAround https://msdn.microsoft.com/en-us/office/office365/api/api-catalog Testar a Office Graph preview API http://msdn.microsoft.com/en-us/library/office/dn783218(v=office.15).aspx Brevemente uma versão beta pública
  • 47.
    Introduction to Office365 Development Deep Dive: Integrate Office 365 APIs in Your Web Apps Microsoft Virtual Academy www.microsoftvirtualacademy.com
  • 48.
    Try Azure for Free Download VisualStudio 2015 RC http://aka.ms/downloadvisualstudio2015 http://aka.ms/tryazure Download Visual Studio Code Preview http://aka.ms/downloadvscode
  • 49.