COMPANY COMMUNICATOR

Company Communicator là ứng dụng Nhóm tùy chỉnh cho phép các nhóm của công ty tạo và gửi tin nhắn dành cho nhiều nhóm hoặc số lượng lớn nhân viên qua trò chuyện cho phép tổ chức tiếp cận nhân viên ngay tại nơi họ cộng tác. Sử dụng mẫu này cho nhiều tình huống, chẳng hạn như thông báo sáng kiến ​​mới, giới thiệu nhân viên, học tập và phát triển hiện đại hoặc các chương trình phát sóng toàn tổ chức.

Ứng dụng cung cấp giao diện dễ dàng cho người dùng được chỉ định để tạo, xem trước, cộng tác và gửi tin nhắn. Nó cũng là nền tảng để xây dựng các khả năng giao tiếp được nhắm mục tiêu tùy chỉnh, chẳng hạn như đo từ xa tùy chỉnh về số lượng người dùng đã xác nhận hoặc tương tác với một tin nhắn.

Các tính năng chính

  • Tạo tin nhắn: Dễ dàng tạo tin nhắn bằng cách sử dụng tab nhóm nơi các thành viên trong nhóm được ủy quyền có thể cộng tác và tạo tin nhắn.
  • Lựa chọn đối tượng: Chọn từ bốn tùy chọn cho đối tượng mục tiêu. Gửi đến kênh chung của các đội đã chọn, gửi trò chuyện 1: 1 tới các thành viên của các đội đã chọn, gửi tới tất cả người dùng đã cài đặt ứng dụng hoặc gửi đến các nhóm M365, danh sách phân phối hoặc nhóm bảo mật.
  • Chỉ số tin nhắn: Xuất báo cáo gửi tin nhắn.

Hướng dẫn triển khai

Điều kiện tiên quyết

Để bắt đầu, bạn sẽ cần:

  • Đăng ký Azure nơi bạn có thể tạo các loại tài nguyên sau:

+ App Service

+ App Service Plan

+ Bot Channels Registration

+ Azure Function

+ Azure Storage Account

+ Service Bus

+ Application Insights

Bước 1: Đăng ký ứng dụng Azure AD

Đăng ký ứng dụng Azure AD trong danh bạ tenant của bạn.

  • Đăng nhập vào Cổng Azure để đăng ký của bạn và chuyển đến phần Đăng ký ứng dụng
  • Nhấp vào New registration để tạo ứng dụng Azure AD.

+ Name : Tên Ứng dụng nhóm của bạn – nếu bạn đang làm theo mẫu để triển khai mặc định, chúng tôi khuyên bạn nên sử dụng ” Company Communicator”.

+ Supported account types : Chọn ” Accounts in any organizational directory” (tham khảo hình ảnh bên dưới).

+ Để trống trường ” Redirect URI” ngay bây giờ.

  • Bấm Register để hoàn tất đăng ký.
  • Khi ứng dụng được đăng ký, bạn sẽ được đưa đến trang ” Overview” của ứng dụng. Sao chép Application (client) ID; chúng ta sẽ cần nó sau. Xác minh rằng ” Supported account types” được đặt thành Nhiều tổ chức.
  • Trên thanh bên trong phần Quản lý, điều hướng đến phần ” Certificates & secrets”. Trong phần Client secrets section, nhấp vào “+ New client secret”. Thêm mô tả cho bí mật và chọn thời điểm bí mật hết hạn. Nhấp vào ” Add”.
  • Khi bí mật của khách hàng được tạo, hãy sao chép Giá trị của nó; chúng ta sẽ cần nó sau.

Tại thời điểm này, bạn sẽ có 3 giá trị sau:

+ Application (client) ID for the bot.

+ Client secret for the bot.

+ Directory (tenant) ID.

Chúng tôi khuyên bạn nên sao chép các giá trị, chúng tôi sẽ cần chúng sau này.

Bước 2: Triển khai đăng ký Azure của bạn

  • Nhấp vào nút Deploy to Azure bên dưới.
  • Khi được nhắc, hãy đăng nhập vào đăng ký Azure của bạn.
  • Azure sẽ tạo một ” Custom deployment” dựa trên mẫu ARM của Company Communicator và yêu cầu bạn điền vào các thông số của mẫu.

Lưu ý: Hãy đảm bảo rằng bạn không sử dụng dấu gạch dưới (_) hoặc khoảng trắng trong bất kỳ giá trị trường nào nếu không việc triển khai có thể không thành công.

  • Chọn đăng ký và nhóm tài nguyên.

+ Chúng tôi khuyên bạn nên tạo một nhóm tài nguyên mới.

+ Vị trí nhóm tài nguyên PHẢI nằm trong trung tâm dữ liệu hỗ trợ tất cả những điều sau:

  • Storage Accounts
  • Application Insights
  • Azure Functions
  • Service Bus
  • App Service
  • Nhập Tên Base Resource, mà mẫu sử dụng để tạo tên cho các tài nguyên khác.

+ [Base Resource Name] phải có sẵn. Ví dụ: nếu bạn chọn contosocommunicator làm tên cơ sở, thì tên contosocommunicator phải có sẵn (không được sử dụng); nếu không, việc triển khai sẽ không thành công với lỗi Xung đột.

+ Nhớ tên tài nguyên cơ sở mà bạn đã chọn. Chúng ta sẽ cần nó sau.

  • Cập nhật các trường sau trong mẫu:

+ Bot Client ID : application (client) ID của ứng dụng bot Microsoft Teams. (từ Bước 1)

+ Bot Client Secret: Bí mật của ứng dụng bot Microsoft Teams. (từ Bước 1)

+ Tenant Id: Tenant Id (từ Bước 1)

+ Proactively Install User App [Optional]: Giá trị mặc định là true. Bạn có thể đặt nó thành false nếu bạn muốn tắt tính năng này

+ User App ExternalId [Optional]: Giá trị mặc định là 148a66bb-e83d-425a-927d-09f4299a9274. Đây PHẢI là id giống như trong tệp kê khai ứng dụng Nhóm cho ứng dụng người dùng.

+ DefaultCulture, SupportedCultures [Tùy chọn]: Theo mặc định, ứng dụng chứa tài nguyên en-US. Bạn có thể thêm / cập nhật tài nguyên cho các ngôn ngữ khác và cập nhật cấu hình này nếu muốn.

Lưu ý: Đảm bảo rằng các giá trị được sao chép nguyên trạng, không có khoảng trắng thừa. Mẫu kiểm tra xem các GUID có chính xác 36 ký tự hay không.

Lưu ý: Nếu đăng ký Azure của bạn thuộc đối tượng tenant khác với tenant mà bạn muốn cài đặt Ứng dụng nhóm, vui lòng cập nhật trường Id tenant với tenant nơi bạn muốn cài đặt Ứng dụng nhóm.

  • Cập nhật ” Sender UPN List”, là danh sách được phân tách bằng dấu chấm phẩy gồm những người dùng (Tác giả) sẽ được phép gửi tin nhắn bằng Company Communicator.

+ Ví dụ: để cho phép Megan Bowen ( [email protected] ) và Adele Vance ( [email protected] ) gửi tin nhắn, hãy đặt tham số này thành [email protected] ; [email protected].

+ Bạn có thể thay đổi danh sách này sau bằng cách chuyển đến thanh ” Configuration” của Dịch vụ ứng dụng.

  • Nếu bạn muốn thay đổi tên ứng dụng, mô tả và biểu tượng từ mặc định, hãy sửa đổi các thông số mẫu tương ứng.
  • Đồng ý với các điều khoản và điều kiện của Azure bằng cách nhấp vào hộp kiểm ” I agree to the terms and conditions stated above” nằm ở cuối trang.
  • Nhấp vào ” Purchase” để bắt đầu triển khai.
  • Chờ cho quá trình triển khai kết thúc. Bạn có thể kiểm tra tiến trình triển khai từ ngăn ” Notifications” của Cổng Azure. Có thể mất đến một giờ để việc triển khai kết thúc.
  • Khi quá trình triển khai hoàn tất thành công, hãy chuyển đến tab ” Outputs” của triển khai và ghi lại các giá trị theo sau. Chúng ta sẽ cần chúng sau.

+ botId: Đây là ID ứng dụng của Microsoft cho ứng dụng Company Communicator. Đối với các bước sau, nó sẽ được gọi là% botId%.

+ appDomain: Đây là miền cơ sở cho ứng dụng Company Communicator. Đối với các bước sau, nó sẽ được gọi là% appDomain% .

Bước 3: Thiết lập xác thực

  • Lưu ý rằng bạn có các giá trị% botId% và% appDomain% từ bước trước (Bước 2).
  • Truy cập trang App Registrations tại đây here và mở ứng dụng bạn đã tạo (ở Bước 1) từ danh sách ứng dụng.
  • Trong Manage, nhấp vào Authentication để hiển thị cài đặt xác thực.

+ Thêm một mục mới vào Redirect URIs:

  • Type: Web
  • Redirect URI: nhập https://%appDomain%/signin-simple-end for the URL e.g. https://appName.azurefd.net/signin-simple-end
  • Trong Implicit grant, hãy kiểm tra ID tokens.
  • Nhấp vào Save để thực hiện các thay đổi của bạn.
  • Quay lại bên dưới Manage, nhấp vào Expose an API.

+ Nhấp vào Set link đặt bên cạnh Application ID URI và thay đổi giá trị thành api: //% appDomain%, ví dụ: api: //appName.azurefd.net.

+ Nhấp vào Save  để thực hiện các thay đổi của bạn.

+ Nhấp vào Add a scope, trong Scopes defined by this API. Trong flyout xuất hiện, hãy nhập các giá trị sau:

  • Scope name: access_as_user
  • Who can consent?: Admins and users
  • Admin and user consent display name: Access the API as the current logged-in user
  • Admin and user consent description: Access the API as the current logged-in user
  • Nhấp vào Add scope để thực hiện các thay đổi của bạn.
  • Bấm Add a client application, trong Ứng dụng Authorized. Trong flyout xuất hiện, hãy nhập các giá trị sau:
  • Client ID: 5e3ce6c0-2b1f-4285-8d4b-75ee78787346
  • Authorized scopes: Chọn phạm vi kết thúc bằng access_as_user. (Chỉ nên có 1 phạm vi trong danh sách này)
  • Nhấp vào Add application để thực hiện các thay đổi của bạn.
  • Lặp lại hai bước trước nhưng với ID ứng dụng khách = 1fec8e78-bce4-4aaf-ab1b-5451cc387264. Sau bước này, bạn sẽ có hai ứng dụng khách (5e3ce6c0-2b1f-4285-8d4b-75ee78787346 và 1fec8e78-bce4-4aaf-ab1b-5451cc387264) được liệt kê trong Ứng dụng Authorized client.
  • Quay lại phần Manage, nhấp vào Manifest.

Trong trình chỉnh sửa xuất hiện, hãy tìm thuộc tính optionalClaims trong tệp kê khai ứng dụng JSON Azure AD và thay thế nó bằng khối sau:

  • Nhấp vào Save để thực hiện các thay đổi của bạn.

Bước 4: Thêm quyền vào ứng dụng của bạn

Tiếp tục từ trang đăng ký ứng dụng Azure AD nơi chúng ta đã kết thúc Bước 3.

  • Chọn thanh API Permissions từ phía bên trái.
  • Nhấp vào nút Add a permission để thêm quyền vào ứng dụng của bạn.
  • Trong Microsoft API bên dưới Chọn nhãn API, hãy chọn dịch vụ cụ thể và cấp các quyền sau:

+ Trong Commonly used Microsoft APIs,

+ Chọn “Microsoft Graph”, sau đó chọn Delegated permissions và kiểm tra các quyền sau:

  • Group.Read.All
  • AppCatalog.Read.All

Sau đó chọn Application permissions  và kiểm tra các quyền sau,

  • Group.Read.All
  • User.Read.All
  • TeamsAppInstallation.ReadWriteForUser.All

Nhấp vào Add Permissions để thực hiện các thay đổi của bạn

  • Nếu bạn đăng nhập với tư cách là Quản trị viên toàn cầu, hãy nhấp vào nút “Grant admin consent for %tenant-name%” để cấp sự đồng ý của quản trị viên, nếu không, hãy thông báo cho Quản trị viên của bạn để làm điều tương tự thông qua cổng thông tin.

Ngoài ra, bạn có thể làm theo các bước dưới đây:

+ Chuẩn bị liên kết – https://login.microsoftonline.com/common/adminconsent?client_id=%appId%. 

Thay thế% appId% bằng Application (client) ID của ứng dụng bot Microsoft Teams (từ bên trên).

+ Quản trị viên Toàn cầu có thể đồng ý bằng cách sử dụng liên kết ở trên.

Bước 5: Tạo gói ứng dụng Nhóm

Ứng dụng Company communicator đi kèm với 2 ứng dụng – Author, User.. Ứng dụng Author dành cho những nhân viên tạo và gửi tin nhắn trong tổ chức và ứng dụng User dành cho những nhân viên nhận được tin nhắn.

Tạo hai gói ứng dụng Nhóm: một gói để cài đặt cho nhóm Authors và gói khác để người nhận cài đặt cá nhân và / hoặc cho nhóm.

  • Đảm bảo rằng bạn đã nhân bản cục bộ kho ứng dụng.
  • Mở tệp Manifest \ manifest_authors.json trong trình soạn thảo văn bản.
  • Thay đổi các trường giữ chỗ trong tệp kê khai thành các giá trị phù hợp với tổ chức của bạn.
  • developer.name
  • developer.websiteUrl
  • developer.privacyUrl
  • developer.termsOfUseUrl
  • Thay đổi <<appDomain>> trong cài đặt configUrl thành giá trị% appDomain%, ví dụ “https://appName.azurefd.net/configtab”.
  • Thay đổi <<botId>> trình giữ chỗ trong cài đặt botId thành giá trị% botId% – đây là ID ứng dụng Azure AD của bạn ở trên. Đây chính là GUID mà bạn đã nhập vào mẫu trong ” Bot Client ID “. Xin lưu ý rằng có hai nơi trong tệp kê khai (dành cho tác giả) mà bạn sẽ cần cập nhật Bot ID.
  • Thay đổi <<appDomain>> trình giữ chỗ trong cài đặt validDomains là giá trị% appDomain%, ví dụ “appName.azurefd.net”.
  • Thay đổi <<botId>> trình giữ chỗ trong cài đặt id của phần webApplicationInfo thành giá trị% botId%. Thay đổi <<appDomain>> trình giữ chỗ trong cài đặt tài nguyên của phần webApplicationInfo là giá trị% appDomain%, ví dụ “api: //appName.azurefd.net”.
  • Sao chép tệp kê khai_authors.json vào tệp có tên tệp kê khai.json.
  • Tạo gói ZIP với tệp manifest.json, color.png và outline.png. Hai tệp hình ảnh là biểu tượng cho ứng dụng của bạn trong Nhóm.

+ Đặt tên cho gói này là company-communicator-authors.zip, để bạn biết rằng đây là ứng dụng dành cho các nhóm tác giả.

+ Đảm bảo rằng 3 tệp là cấp cao nhất của gói ZIP, không có thư mục lồng nhau.

  • Xóa tệp manifest.json

Lặp lại các bước ở trên nhưng với tệp Manifest \ manifest_users.json. Lưu ý: bạn sẽ không cần thay đổi bất cứ điều gì cho phần configurationUrl hoặc webApplicationInfo vì ứng dụng người nhận không có tab có thể định cấu hình. Đặt tên cho gói kết quả là company-communicator-users.zip, để bạn biết rằng đây là ứng dụng dành cho người nhận.

Bước 6: Cài đặt ứng dụng trong Microsoft Teams

  • Cài đặt ứng dụng authors (gói company-communicator-authors.zip) cho nhóm tác giả tin nhắn của bạn.

Lưu ý rằng ngay cả khi những người không phải là tác giả cài đặt ứng dụng, danh sách UPN trong cấu hình ứng dụng sẽ ngăn họ truy cập vào trải nghiệm soạn thảo thư. Chỉ những người dùng trong danh sách UPN của người gửi mới có thể soạn và gửi tin nhắn.

QUAN TRỌNG: Chúng tôi khuyên bạn nên cài đặt ứng dụng tác giả cho nhóm thích hợp dưới dạng ứng dụng tùy chỉnh (sideloaded). KHÔNG sử dụng các chính sách cấp phép ứng dụng để hạn chế quyền truy cập vào ứng dụng này đối với các thành viên của nhóm tác giả. Nếu không, các thành viên của nhóm tác giả có thể không nhận được tin nhắn được gửi từ Company Communicator.

  • Thêm tab có thể định cấu hình vào nhóm tác giả để họ có thể soạn và gửi tin nhắn.
  • Tải ứng dụng User  lên danh mục ứng dụng của đối tượng tenant của bạn để mọi người trong đối tượng tenant của bạn có thể cài đặt.

QUAN TRỌNG: Cài đặt ứng dụng chủ động sẽ chỉ hoạt động nếu bạn tải ứng dụng Người dùng lên danh mục ứng dụng của tenant.

  • Cài đặt ứng dụng User (gói company-communicator-users.zip) cho người dùng và nhóm sẽ là mục tiêu của tin nhắn.

Nếu proactiveAppInstallation được bật, bạn có thể bỏ qua bước này. Dịch vụ sẽ cài đặt ứng dụng cho tất cả người nhận khi tác giả gửi tin nhắn.

Tổng quan về giải pháp

Tham khảo hình ảnh sau để biết kiến ​​trúc cấp cao.

Ứng dụng Company Communicator có các thành phần chính sau:

  • App Service: Dịch vụ ứng dụng triển khai trải nghiệm soạn tin nhắn trong tab nhóm và điểm cuối nhắn tin cho bot.
  • Service Bus:: Các tin nhắn riêng lẻ được bot gửi đến người nhận được xếp vào hàng đợi xe buýt dịch vụ, sẽ được xử lý bởi một Hàm Azure. Hàng đợi này tách rời trải nghiệm thành phần thư khỏi quá trình chuyển thông điệp đến người nhận.
  • Azure Function: Chức năng Azure chọn các tin nhắn từ hàng đợi, chuẩn bị cho người nhận và gửi chúng
  • Microsoft Graph API:: Ứng dụng thúc đẩy api đồ thị của Microsoft cho các Search Groups, Get Group Transitive Members, Get Users và chủ động cài đặt ứng dụng User application cho người dùng.

App Service

Dịch vụ ứng dụng thực hiện hai thành phần chính, tab để soạn tin nhắn và xem trạng thái của chúng, và điểm cuối nhắn tin cho bot.

Tab Tin nhắn

Tab tin nhắn là giao diện mà tác giả tin nhắn tạo ra các tin nhắn sẽ được gửi đi, chỉ định người nhận dự định và bắt đầu gửi. Sau khi gửi, tab báo cáo trạng thái gửi tin nhắn, như số lượt gửi thành công hay thất bại.

Tab được triển khai dưới dạng ứng dụng React, sử dụng các thành phần UI từ Stardust UI và Office UI Fabric React. UX soạn thư nằm trong một mô-đun tác vụ, với phần xem trước thư được triển khai bằng SDK thẻ thích ứng.

The tab’s front-end gets its data from web APIs implemented by the same app service that’s hosting it. These APIs are protected by AAD token authentication, which checks that the user attempting to access the site is in the list of valid senders

Bot endpoint

Dịch vụ ứng dụng hiển thị điểm cuối nhắn tin bot, điểm cuối này nhận các hoạt động từ Bot Framework khi người dùng tương tác với ứng dụng.

conversationUpdate: Khi ứng dụng được cài đặt trong nhóm hoặc cá nhân người dùng, bot sẽ được thông báo qua hoạt động conversationUpdate. Bot sử dụng các thông báo này để theo dõi những người dùng và nhóm đã cài đặt ứng dụng:

  • Danh sách các đội được sử dụng để điền bộ chọn nhóm trong UX
  • Bot theo dõi id người dùng Nhóm (29: xxx) của những người dùng cài đặt ứng dụng, để nó có thể truyền tin nhắn cho họ. Chủ động nhắn tin trong Nhóm yêu cầu bot biết ID duy nhất này, nếu không thì không thể lấy ID này từ ID AAD hoặc UPN của họ.
  • messageReaction: Khi người dùng phản ứng với một tin nhắn do bot gửi, các Nhóm sẽ gửi cho bot một sự kiện messageReaction. Chúng tôi không sử dụng thông tin này trong phiên bản đầu tiên, chúng tôi dự định làm như vậy trong tương lai.
  • fileConsent: Khi người dùng chấp nhận / từ chối thẻ chấp thuận tệp do bot gửi, Nhóm sẽ gửi cho bot sự kiện fileConsentAccept hoặc fileConsentDecline. Trên tệp chấp thuận của người dùng được tải lên OneDrive của người dùng.

Azure Function

Company Communicator sử dụng năm Chức năng Azure:

Chức năng Prepare To Send

Đây là một hàm bền và được thực thi cho mọi tin nhắn trong hàng Service Bus ” prepare-to-send “. Hàm thực hiện như sau:

  • Lưu trữ tin nhắn.
  • Đồng bộ hóa người nhận
  • Chủ động cài đặt ứng dụng User cho những người nhận không có ứng dụng
  • Gửi thông báo kích hoạt tổng hợp dữ liệu tới Data Queue
  • Gửi tin nhắn dành riêng cho mọi người nhận đến Send Message Queue.
  • Nó cũng quản lý trạng thái của thông báo. (nếu đồng bộ hóa người nhận / ứng dụng cài đặt).

Chức năng Send

Hàm này được thực thi cho mọi tin nhắn trong hàng Service Bus ” send “. Tin nhắn chứa thông tin gửi cho từng người nhận- Id tin nhắn và chi tiết người nhận. Hàm thực hiện như sau:

  • Kiểm tra xem Id cuộc hội thoại có được đặt cho người nhận hay không. Nếu không, hãy đánh dấu là không thành công và thoát.
  • Đọc tin nhắn sẽ được gửi.
  • Gửi tin nhắn đến người nhận.
  • Lưu trữ trạng thái gửi trong bảng Azure.

Chức năng tổng hợp dữ liệu

Một phiên bản của chức năng này chạy sau mỗi 20 giây, trong khi ứng dụng đang tích cực gửi tin nhắn. Đối với mỗi thư hiện đang ở trạng thái gửi, chức năng tổng hợp dữ liệu sẽ kiểm tra các bản ghi gửi được tạo bởi chức năng Send và cập nhật số lượng thành công / thất bại.

Chức năng kết xuất dữ liệu

Đây là một hàm bền và được thực thi cho mọi thông báo trong hàng Service Bus ” export”. Hàm thực hiện như sau:

  • Đọc tất cả những người nhận tin nhắn.
  • Tạo và phân chia tệp zip trong Azure Blob Storage.
  • Gửi File Consent Card cho người dùng để tải tệp lên One Drive của người dùng.

Chức năng dọn dẹp

Đây là một chức năng kích hoạt thời gian và chạy theo thời gian đã lên lịch. Nó xóa các tệp theo giai đoạn và thẻ file consent mà không có phản hồi từ người dùng trong một khoảng thời gian nhất định.

Microsoft Graph API

Delegated Permissions

Dịch vụ ứng dụng yêu cầu quyền được ủy quyền sau:

App Permissions

Các hàm Azure yêu cầu các Quyền ứng dụng sau đây cho các trường hợp sử dụng khác nhau:

Bài viết thuộc về: www.office365vietnam.info

Ý kiến của bạn:

This site uses Akismet to reduce spam. Learn how your comment data is processed.