《Teams平台手册》读书笔记
2022-10-09 16:50:13 23 举报
AI智能生成
非常好的Teams学习文档,看完了收获很大,现把笔记分享给大家。
作者其他创作
大纲/内容
有一个公司或一个组织构建平台并且提供核心服务
Platform Provider
平台提供者
平台的主要使命是让它的用户获得价值
Platform Consumer
平台消费者
让更多的不同利益相关方参与平台共建
合作伙伴
关系图
平台的三个方面
性能 (Performance)
可靠性(Reliability)
集成性(Integration)
安全及合规(Security & Compliance)
可管理性(Manageability)
企业客户评估平台的核心考量点
云化
服务化
发布了Microsoft Graph 这个服务,通过一个统一的地址(https://graph.microsoft.com),使用最流行的REST API(以及各种SDK)的方式
就是Teams
和Microsoft Graph搭档起来,从云+端(Cloud+Edge) 两个角度形成一套完整的平台
平台化
三个阶段
Teams 诞生的背景和战略意义
Teams 并不是重新开发这些功能,而是直接将他们整合进来,用户可以仅仅通过一个应用,即可以完成全方位的沟通和协作,除了收发邮件。
整合:https://techcommunity.microsoft.com/t5/microsoft-teams/new-teams-it-architecture-posters-published/m-p/480928
不去重复做已经有的东西,快速地把核心的框架搭建起来,并且投放到市场去接受检验,并且快速地进行迭代开发,这就是Microsoft Teams 能成为微软历史上成长速度最快的应用的原因
和Office 365其他产品的关系
开发采用的是互联网行业流行的敏捷开发和DevOps实践,几乎每月都有新的功能发布出来,并且通过一套成熟的机制推送给不同层(Ring)的用户。
https://www.microsoft.com/zh-cn/microsoft-365/roadmap?filters=Microsoft%20Teams
产品路线图
基于Azure平台进行构建
重用Microsoft 365 核心服务
一开始是用Angular编写的前端,但现在已经花了一两年的时间要重构为React版本
Angular是一个完整的框架,包括了MVC的全部实现,而React是一个视图库(View, UI Library),更加轻,更加具有灵活性
微软现在很多应用的前端(包括Office 365全系列),都大多使用React来编写,或者混合使用多种技术。这里 (https://docs.microsoft.com/zh-cn/dotnet/architecture/modern-web-apps-azure/common-client-side-web-technologies )
基于开源技术构建
从设计的源头,Microsoft Teams客户端就是由一个一个应用组合起来的,像搭积木一样
其实这些是因为每个租户配置了这几个应用,管理员可以根据需要增加或者修改这些默认的应用清单以及他们要显示的顺序,下图红色圈出的 “Workhub” 就是一个例子。除此之外,用户也可以随时自己安装喜爱的应用。
组件化的应用架构
Microsoft Teams 平台架构
通过定制和扩展Teams客户端(不管是桌面端还是移动端),将你的应用场景跟Teams原生的界面结合起来,让广大的用户可以在一个集中的入口(Teams客户端中),完成更多的工作。
将Teams的能力,通过接口的方式,整合到你的应用系统中去。这个是借助于已经很成熟的Microsoft Graph这个能力来实现的。
支持两个方向的定制或集成开发
选项卡,快速将现有应用集成到Teams界面中来。
机器人,通过全新的交互方式查询或收集信息,完成更多工作。
消息扩展,针对消息的定制化功能,包括查询,行动,链接格式化等。
连接器,让外部系统与Teams无缝地整合。
通知,在一个位置接收通知。
除去Microsoft Graph这个能力外,其他的五个能力
个人层面
团队层面
会议层面
三个不同的层面
Teams 客户端扩展点和功能集
Microsoft Graph 能力
信息采集
查询
一类是个人机器人,它可以单独为某个用户安装,这个机器人就好像一个正常的联系人一样,你直接就可以跟它对话,进行交互。
另一类则是团队机器人,它需要安装在某个团队、群聊、会议工作区中,就好像一个团队成员一样。
机器人
技术上来说,消息扩展是一个特殊的机器人,或者说是机器人的一种特殊功能。消息扩展可以为个人所用,但大部分是在团队、群聊、会议中使用,所以也需要通过 @ 来呼唤它。
消息输入框(Compose),在每个消息的输入区域。
命令输入框(CommandBox),在Teams客户端顶部的中间区域。
入口
消息扩展
Incoming webhook
在客户端中接收来自外部系统的通知消息。
Outgoing webhook
在客户端中发送消息给外部系统。
场景
连接器
Microsoft Graph 是一套统一的服务接口,不仅仅为 Microsoft Teams 服务。所有这些服务,都通过 https://graph.microsoft.com 这个地址对外提供服务。
Microsoft Graph 支持多种身份验证方式,它可以用当前登录的用户身份(以标准的OAuth认证流程实现),也可以用一个服务账号(用账号密码,或证书来做认证),不同的身份所对应的权限有细节的控制。
Microsoft Graph 是一个标准的REST API,支持任意的开发平台和语言访问,微软官方也提供了一系列的SDK 甚至标准组件库以便加速开发。
Microsoft Graph还支持批量数据访问,以便对数据进行集中的收集、建模和分析。这个可以跟Azure有关的服务相结合来实现。
https://teamsplatform.xizhang.com/teams-platform-overview/teamsplatform-capabilities/microsoft-graph
扩展阅读
Microsoft Graph
平台能力一览
Power Platform是什么
软件开发不是特权,而是一种基本能力。
未来的软件系统,是多种技术方案的混合体。
低代码混合开发时代
可以提供服务,帮助客户更好地学习使用Power Platform。
可以通过Power Platform为客户定制解决方案,多快好省地完成项目。
可以为Power Platform进行定制和开发,例如开发自定义的连接器、模板等,通过官方市场进行销售。
可以基于Power Platform 开发行业性的解决方案,进行业务创新。
对合作伙伴的价值
Teams与 Power Platform整合
通用数据模型(Common Data Model),现在改名为 Dataverse,它可以说是平台的灵魂,在不同组件之间可以共享数据。而Dataverse是按照环境(Environment)的概念来做为管理边界的。当用户第一次在Teams中使用以上四个组件的任何一个时,会自动创建一个专门的环境,所有针对Teams 开发的应用,流程等,都会统一放在这个环境中。
Power Platform整合
01.Microsoft Teams 平台概述
https://support.microsoft.com/zh-cn/office/microsoft-teams-%E8%A7%86%E9%A2%91%E5%9F%B9%E8%AE%AD-4f108e54-240b-4351-8084-b1089f0d21d7
培训
确认是否有teams订阅
https://portal.office.com/account/?ref=MeControl#installs
通过Office 365套件一起安装
https://www.microsoft.com/zh-cn/microsoft-teams/download-app
独立安装Teams 客户端
第一种情况是,双方都已经在使用 Teams,并且允许相互进行沟通。
第二种情况是,对方还在使用Skype for Business。这种情况下,只有在对方主动发起聊天时你能进行回复,但是你无法主动地发送消息给他。这种模式(Teams + Skype for Business),我们称之为混合模式。Skype for Business 会在2021年7月正式退役,现在绝大部分的客户,已经完成或即将完成从Skype for Business到Teams的迁移,相信以后类似的问题就不会遇到了。
第三种情况是,双方都已经在使用Teams,但是相互之间不允许沟通(要么是你的公司进行了设置,要么是他们公司进行了设置)。这种情况下,你根本查找不到这个用户,更别说是发消息给他了。
当你用来宾身份切换到外部组织时,你就无法看到你自己组织的团队和联系人了。这个是目前设计架构决定的。这个功能推出后收到很多反馈,不少用户希望能改进这个体验,例如把所有内部团队和外部团队都在同一个界面中显示。关于这个功能的改进,请关注在2021年底前会正式发布的Teams Connect https://techcommunity.microsoft.com/t5/microsoft-teams-blog/what-s-new-in-microsoft-teams-microsoft-ignite-2021/ba-p/2118226
作为来宾,你却拥有比普通的“外部用户” 更多的权力,例如完整的聊天体验,文件共享,以及使用更多Teams应用。你甚至可以在对方的组织内编辑文档(这个需要额外设置)。
当你所加入的外部组织的相关团队中有新的消息,或者有人 @ 了你,你也都会收到通知。
如果你需要把外部联系人添加为来宾,你可以在当前所在的团队中右侧”...\" 菜单中选择 “添加成员” 操作。
作为来宾加入其他组织
导航到 https://myaccount.microsoft.com/organizations 查看你当前所属于的组织列表
找到你需要离开的组织,点击 “离开组织” 按钮,然后按照提示操作即可。
退出其他组织的来宾身份
和外部联系人聊天
Microsoft Viva基于Microsoft Teams 这样一个入口,聚合了Microsoft 365的所有组件,并以人工智能技术,结合了员工发展的科学模型,有效地促进员工的沟通,学习,形成知识和见解。
知识是指对一系列对话及其最终形成决策(或解决问题)过程所形成的见解。如果过程不能透明,则很难复制,也就很难形成知识。如果知识无法保存下来,也就无法继续利用。如果利用知识的方式不能智能化,那么它的价值也就很有限。
什么是知识
知识聚合
通过Teams 所支持的PowerPoint Live的功能,可以用下面这样的布局打开你的PPT,既可以看到当前正在讲解的幻灯片,也可以看到之前或者后面相关的幻灯片,有经验的演讲者一定能体会到,这对于控制时间和考虑上下文转场是非常关键的。
由于办公地点的不确定,甚至在开会期间需要临时切换到其他的场地,怎么保证参会体验的灵活性,以及在不同的设备(场地)之间自如切换? 且看Microsoft Teams提供的强大功能,你可以通过手机,电脑,会议室设备等任意形式参加会议,你甚至还可以用电话的形式加入会议,而当你需要切换时,Microsoft Teams会提供多种选项,让你无缝转场,其他参会者甚至都感觉不到你已经换了一个设备或场地。
自如切换,如影随形
音视频会议的创新
快速为消息提供反馈。手指长按某个消息,会弹出一个操作面板,你可以选择给消息点赞,或者提供其他的反馈。
用语音回复消息。在消息输入框的最右侧有一个录音按钮,你可以按住此按钮录制语音消息。
引用消息回复。如果你在一个很大的群聊中,或者在一个团队频道聊天中,想要告诉其他人你的回复是针对哪一个消息的,你可以在该消息上用手指轻轻右滑,然后输入你要回复的内容,这种回复的方式会把要引用的消息包含进来,并且用明显不一样的底色区分。
在聊天窗口,用手指沿着手机右侧轻轻往左滑,你可以看到每条消息发送和接收的时间。
习惯操作
移动端
沟通和协作
Teams客户端其实就是由一个一个应用组装起来的,像搭积木一样,这样的设计非常有意义,也为后续更多的扩展和定制打下了坚实的基础。
搜索的名称可能不正确。
当前这个应用,被贵公司的管理员设置为不可使用。
为什么我找不到某个应用?
在Teams 桌面端和网页端,左下角点击 “应用”按钮,然后点击 “上载自定义应用”。
如果你发现某个自定义应用很有意思,希望分享给公司更多的同事使用,你当然可以把上面这个安装包通过邮件发给他们,并且引导他们也按照上述的方法进行安装。但更好的方法是,将这个应用提交给公司管理员审核,一旦通过后,可以发布到公司的应用目录中,这样同事们就可以更加方便地找到这个应用,甚至管理员还可以批量地、自动地给同事们进行安装呢。
为自己上传自定义应用
https://teamsplatform.xizhang.com/users-prespective-of-the-platform/empower-every-person-with-power-platform
对于一些简单的部门级应用,将数据直接放在SharePoint列表(甚至Excel文件)是一个非常好的方案,因为你不需要了解负责的数据库知识。但是要注意,Excel文件在多人并发时可能遇到一些限制,而SharePoint列表的条目数不建议超过5000,如果你预计数据量将持续增长会超过这个规模,建议提前做好相关数据库方面的考虑,或者直接用Power Platform的Dataverse这个服务。详情请参考 https://powerplatform.microsoft.com/zh-cn/dataverse/ 。
目前在Teams中也有一个专门的Power BI的应用,但这个应用还在完善之中,不能直接连接到SharePoint数据源。所以本例中,我建议大家用 Power BI Desktop进行报表开发和设计,然后发布到Power BI Service,并最终在Teams中进行展现。
power apps设计表单
power automate流程自动
PVA需要单独购买授权,目前部分用户可以申请试用,请尝试访问 https://powerva.microsoft.com/ 进行申请并开通。
虽然在Teams中也有Power Virutal Agents这个应用,但目前该应用功能还不完善。
Power Virtual Agents机器人
使用power platform
客户端定制
目前这个功能已经在Azure AD中可以预览,有兴趣的朋友可以参考 https://aka.ms/gopasswordless 了解
无代码身份验证
多因素认证
密码认证
从技术上说,人们在Teams中的聊天都是存在Exchange Online的特定文件夹中的,共享的文档是保存在SharePoint Online或OneDrvie for Business的文件夹中的。
合规性审核和搜索
安全合规
02.从最终用户角度看平台
https://docs.microsoft.com/zh-CN/microsoftteams/itadmin-readiness
管理员培训
已经全公司都在使用Microsoft Teams的客户
全新的Teams客户(以前使用其他厂商的服务,也没有使用过Skype for Business)
三类客户
Skype for Business 与 Teams 共存过渡的各种组合方案
转型方法论
推行Teams绝不是简单地换了一个工具,而是推行一种全新的更加强调沟通、重视反馈、讲求合作的文化,换言之,也就是作为当下时兴的“数字化转型”的重要抓手来做才行。
https://docs.microsoft.com/zh-cn/microsoftteams/adopt-microsoft-teams-landing-page
采用teams流程
https://docs.microsoft.com/zh-cn/MicrosoftTeams/change-management-strategy
变更管理策略
通过 https://admin.teams.microsoft.com/dashboard 访问Microsoft Teams 管理中心
可以帮助管理员完成自动化任务,以及一些批量操作。建议安装最新的7.1.3或者更高版本,这是一个跨平台的版本。请通过 https://docs.microsoft.com/zh-cn/powershell/scripting/install/installing-powershell?view=powershell-7.1 进行安装
使用PS
teams管理中心
https://admin.microsoft.com/Adminportal/Home#/rbac/directory
RBAC
https://docs.microsoft.com/zh-cn/learn/certifications/m365-teams-administrator-associate/
认证考试
平台的不同服务,允许管理员以”策略“的形式定义管理规则这些策略具备多个层级,并且支持按具体用户分配,也支持按组分配相关的服务在运行期间,将首先检测当前用户所被分配的策略,以便决定哪些功能可用,哪些不可用平台可以基于策略对用户行为进行审核【目前还没有】
如果某个用户被直接分配了一个策略,那么就以这个策略为准。否则进行下一步的判断。如果某个用户被多次分配同一类应用,则以最后分配的那次为准。
如果某个用户是一个或多个组的成员,而这些组都被分配了某个策略,那么按照这些组被分配时的排名(Rank)最小的为准。
如果用户既没有单独分配策略,也没有作为组成员被分配策略,则以全局策略为准。
Teams 平台将遵循下面的原则进行分配
策略如此有用,且如此之多,以至于管理员可能无从下手,也不太好管理。最新推出的 “策略包(Policy Package)”的功能,可以有效地缓解这一问题。
管理员可以通过 https://admin.teams.microsoft.com/policy-packages 访问策略包
策略包
批量
过https://docs.microsoft.com/zh-cn/powershell/module/skype/?view=skype-ps 进行查阅
可用策略管理命令
PS管理策略
基于策略的功能管理
作为管理员,你可以决定在你的组织中,如何使用基于Teams平台的应用,包括哪些应用能用、哪些应用不能用以及谁能用,谁不能用等等。
由微软发布的应用由第三方合作伙伴发布的应用由企业自己发布的自定义应用
三大应用分类
允许所有应用允许特定应用,阻止其他应用 (相当于设置白名单)阻止特定应用,允许其他应用 (相当于设置黑名单)阻止所有应用
四种设置规则
应用权限策略
通过应用设置策略(App Setup Policy),管理员可以为用户或者组,预装指定的应用,甚至能将某些特定应用固定在用户客户端的导航栏上面,这样做的目的是提高关键应用的可触发性,减少用户上手的难度。同时,通过应用设置策略安装的应用,用户无法卸载。
通过 https://admin.teams.microsoft.com/policies/app-setup 可以查看并定义设置策略
应用设置策略
“应用权限策略” 和 “ 应用设置策略” 都是针对用户个人的管理,而 在Microsoft Teams中,团队(Team)是很关键的一个场景,人们通过创建不同的团队进行协作,在团队中可以根据主题创建不同的频道,这些频道既是一个可以用来聊天的所在,也是可以通过安装不同的应用,快速完成很多工作任务。
管理员通过 https://admin.teams.microsoft.com/teams/templates 查看并定义团队模板
管理员访问 https://admin.teams.microsoft.com/policies/template-policy 可以查看并定义模板策略。
https://teamsplatform.xizhang.com/it-prespective-of-the-platform/automation-with-powershell
PS管理团队
定义和分发团队模板
通过登录到 https://admin.teams.microsoft.com/analytics/reports ,你可以进入“分析和报告“中心
目前在管理中心支持:最近7天,最近30天,过去90天的数据。
https://teamsplatform.xizhang.com/it-prespective-of-the-platform/usage-analytics
使用Microsoft Graph 读取数据
使用量统计报告
03.从IT管理运营角度看平台
架构
软件开发的成本(以及要多久)取决于要投入的资源,而要投入的资源取决于这个事情的回报。例如,一个做演示的应用,和一个准备要承载每天一百万人访问的应用,显然是不一样的。
软件开发是有流程的,但也需要与时俱进,善于利用新技术或者组合各种不同技术也许能事半功倍。
研究用户在Teams中的使用习惯和方式,并且挑选一些非常贴合的场景(哪怕很简单的一两个功能)将其整合进来,这样一来,你的启动成本会很低,又能给客户提供真正好的服务体验。
不需要把所有的功能都放在Teams里面来
少即是多(less is more)。我还是主张,一个应用最好专注做好一件事情,并且把它做的极致,可能比你提供很多功能 ,但是又都没有什么亮点来的好。
不是所有的Teams能力都要使用
善于组合使用多种技术,把精力放在核心的代码上,把它写好。
不是必须什么要写代码实现
最佳实践
参加微软的认证课程,并获取有关的证书。https://docs.microsoft.com/zh-cn/learn/certifications/browse/?expanded=m365%2Cmem&products=m365%2Coffice-teams&resource_type=certification&roles=developer
成为Microsoft Teams认证开发者
Microsoft Teams 平台拥有广阔的商机,成为微软正式合作伙伴,你将获得专属培训,和共同进入市场的资源支持等,请通过下面的链接了解更多细节。https://partner.microsoft.com/zh-cn/solutions/modern-workplace/teams
成为Microsoft Teams市场合作伙伴
只要你有Microsoft 365的账号,哪怕是普通用户账号,其实就能进行Teams的开发。但是如果想要获得最完整的体验,包括管理员配置,服务接口调用等。你最好有一个用来做开发测试的账号或环境。你可以通过下面的地址申请免费的Microsoft 365开发者账号,申请成功后,你将获得一个完整的环境,包含了25个Microsoft 365 E5 (目前最高等级的授权,价值大约 5000元/年/人,总价值约 125000元/年)。
https://docs.microsoft.com/zh-cn/office/developer-program/microsoft-365-developer-program
申请后,可以通过 https://developer.microsoft.com/zh-cn/microsoft-365/profile 随时查看你的开发环境的信息。
这个开发环境不是永久的,一般是半年一次授权,然后根据你在此环境中是否真的进行了相关的应用开发,决定是否能续期。你不能把它当作生产环境使用,你的重要资料也不建议保存在这个环境中。
Microsoft 365开发者账号
https://azure.microsoft.com/zh-cn/free/
Microsoft Azure 试用版
作为Microsoft Teams 开发者,你可以通过官方提供的App Studio 进行应用程序定义,安装和发布。这个工具本身就是一个Teams应用,你可以在应用市场中搜索并安装它。
https://docs.microsoft.com/zh-cn/microsoftteams/platform/concepts/build-and-test/app-studio-overview
App Studio
Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时,本书的部分案例会基于Node.js开发,你需要提前安装。请通过 https://nodejs.org/zh-cn/download/ 进行下载安装
node.js
.net core
通过 https://code.visualstudio.com/ 下载和安装
安装 Microsoft Teams Toolkit for VS Code
安装 C# 插件
Visual Studio Code
Azure Functions 是一个非常有价值的无服务器(Serverless)解决方案,本书中会用它来实现选项卡项目中的服务API,简化开发。请注意,我将使用它的本地开发功能,并不需要部署到Azure。
https://docs.microsoft.com/zh-cn/azure/azure-functions/functions-run-local?tabs=windows%2Ccsharp%2Cbash#version-3x-and-2x
Azure Functions Tool
安装PowerShell
使用 ngrok 提供本地隧道功能
或者:localhost.run
为本地开发提供外网https访问支持
用Postman来做API 的调试
Postman
开发工具
英文的版本 https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/design/design-teams-app-overview#teams-app-design-principles。
设计原则
04.从开发团队角度看平台
《Teams平台手册》笔记
0 条评论
回复 删除
下一页