Triển khai PowerApps app templates: Employee Training (Phần 5)

  1. Home
  2. »
  3. Business Applications
  4. »
  5. Power Apps
  6. »
  7. Triển khai PowerApps app templates: Employee Training (Phần 5)

Đào tạo nhân viên là một ứng dụng Microsoft Teams giúp các nhà tổ chức dễ dàng công bố, theo dõi và quảng bá các sự kiện học tập và đào tạo cho tổ chức của bạn. Với ứng dụng này, người lên kế hoạch sự kiện có thể gửi lời nhắc và thông báo tới những người đăng ký sự kiện, và nhân viên có thể bày tỏ sự quan tâm đến các sự kiện sắp tới, cập nhật thông tin về các sự kiện hiện tại và chia sẻ chi tiết sự kiện với đồng nghiệp thông qua tiện ích mở rộng tin nhắn của Teams.

Ứng dụng có thể được sử dụng theo các cách sau:

  • Khám phá sự kiện mới: Duyệt các sự kiện mới được chia sẻ trong tổ chức của bạn trong tab “Discover”.
  • Tìm kiếm sự kiện: Sử dụng các bộ lọc như danh mục, người tạo, và sắp xếp theo độ phổ biến hoặc mới nhất.
  • Đăng ký sự kiện: Nếu bạn thấy một sự kiện thú vị, bạn có thể đăng ký tham gia.
  • Hợp tác: Sử dụng tiện ích mở rộng tin nhắn để chia sẻ các sự kiện sắp tới với đồng nghiệp của bạn.
  • Cài đặt ứng dụng trong một nhóm: Tạo sự kiện cho nhân viên trong tổ chức của bạn theo yêu cầu.
  • Xuất chi tiết đăng ký: Xuất chi tiết đăng ký cho sự kiện cụ thể dưới định dạng CSV.

 

Người dùng cuối tương tác:

Hướng dẫn triển khai từng bước:

Yêu Cầu Trước Khi Bắt Đầu

  • Một đăng ký Azure nơi bạn có thể tạo các loại tài nguyên sau:
  • Dịch vụ Ứng dụng (App Service)
  • Kế hoạch Dịch vụ Ứng dụng (App Service plan)
  • Đăng ký Kênh Bot (Bot Channels Registration)
  • Tài khoản Lưu trữ (Storage account)
  • Dịch vụ Tìm kiếm (Search service)
  • Application Insights
  • Một bản sao của kho ứng dụng Employee Training trên GitHub

 

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

  1. Đăng ký một ứng dụng Azure AD trong thư mục của tenant: để xác thực bot và tab app.
  2. Đăng nhập vào cổng Azure từ tài khoản đăng ký của bạn và truy cập vào phần “App registrations” tại đây.
  3. Nhấp vào “New registration” và tạo một ứng dụng Azure AD mới.
  • Tên: Đặt tên cho ứng dụng Teams của bạn – nếu bạn theo mẫu triển khai mặc định, chúng tôi khuyến nghị tên “Employee Training”.
  • Loại tài khoản hỗ trợ: Chọn “Accounts in any organizational directory” (Tài khoản trong bất kỳ thư mục tổ chức nào).
  • Trường “Redirect URL”: Để trống.

 

Bước 2: Tạo SharePoint List

Ứng dụng này lưu trữ dữ liệu bằng cách sử dụng nhiều danh sách. Bạn có thể tự động tạo các danh sách và trường cần thiết bằng cách sử dụng DeploySPLists Power Automate. Công cụ này có sẵn trong gói tải về trong thư mục Flows.

Nhập quy trình triển khai danh sách SharePoint

  1. Truy cập https://flow.microsoft.com
  2. Chọn My flows từ thanh điều hướng bên trái.
  3. Chọn Import trên thanh lệnh.
  4. Tải lên gói DeploySPLists.zip
  5. Trường “Redirect URL”: Để trống.

6. Nhấp vào nút “Register“.

7. Khi ứng dụng được đăng ký, bạn sẽ được chuyển đến trang “Overview” của ứng dụng. Sao chép Application (client) ID; chúng ta sẽ cần nó sau này. Xác nhận rằng “Supported account types” được đặt là Multiple organizations (Nhiều tổ chức).

8. Trong thanh bên trái, trong phần Manage, điều hướng đến phần “Certificates & secrets”. Trong phần Client secrets, nhấp vào “+ New client secret”. Thêm mô tả cho secret và chọn Expires“Never”. Nhấp vào “Add”.

9. Sau khi client secret được tạo, sao chép giá trị (Value) của nó. Hãy ghi chú lại client secret này vì bạn sẽ cần nó sau này.

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

  • Application (client) ID: Sẽ được sử dụng sau này trong quá trình triển khai ARM làm Bot Client id và trong các tệp manifest như <<botid>>.
  • Client secret của bot: Sẽ được sử dụng sau này trong quá trình triển khai ARM làm Bot Client secret.
  • Directory (tenant) ID.

Chúng tôi khuyến nghị bạn sao chép những giá trị này vào một tệp văn bản, sử dụng ứng dụng như Notepad. Bạn sẽ cần những giá trị này sau này.

 

Bước 2: Triển khai ứng dụng lên Azure

  1. Nhấp vào nút “Deploy to Azure.
  2. Khi được yêu cầu, đăng nhập vào tài khoản Azure của bạn.
  3. Azure sẽ tạo một “Triển khai tùy chỉnh” dựa trên mẫu ARM và yêu cầu bạn điền các tham số của mẫu.
  • Chọn đăng ký và nhóm tài nguyên:
    • Khuyến nghị tạo một nhóm tài nguyên mới.
  1. Vị trí nhóm tài nguyên PHẢI nằm trong trung tâm dữ liệu hỗ trợ: Application Insights, Storage Account, Search service. Để cập nhật danh sách, hãy nhấp vào đây và chọn vùng mà các dịch vụ này có sẵn:
  • Application Insights
  • Search service
  1. Nhập “Base Resource Name”, tên cơ sở này sẽ được sử dụng để tạo tên cho các tài nguyên khác.
  • Tên dịch vụ ứng dụng [Base Resource Name] phải sẵn có. Ví dụ: nếu bạn chọn tên cơ sở là “employeetraining”, tên “employeetraining” phải sẵn có (không bị trùng); nếu không, quá trình triển khai sẽ thất bại với lỗi “Conflict”.
  1. Nhớ tên tài nguyên cơ sở mà bạn đã chọn. Chúng ta sẽ cần nó sau này.
  2. Điền các ID khác nhau trong mẫu:
  • Bot client ID: ID ứng dụng (client) được đăng ký trong Bước 1.
  • Bot client secret: Client secret được đăng ký trong Bước 1.
  • Tenant ID: Tenant ID được đăng ký trong Bước 1. Nếu Microsoft Teams tenant của bạn giống với Azure subscription tenant, thì nên giữ các giá trị mặc định.
  1. Đảm bảo rằng các giá trị được sao chép đúng, không có khoảng trống thừa. Mẫu sẽ kiểm tra rằng GUIDs có đúng 36 ký tự.
  2. 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 thay đổi các tham số mẫu tương ứng.
  • LƯU Ý: Nếu bạn dự định sử dụng tên miền tùy chỉnh thay vì dựa vào Azure Front Door, hãy đọc hướng dẫn tại đây trước. Ứng dụng không được hỗ trợ trên các thiết bị iOS khi sử dụng Azure Front Door. Vui lòng sử dụng tên miền tùy chỉnh để ứng dụng hoạt động trên các thiết bị iOS.
  1. Nhấp vào “Review + create” để bắt đầu quá trình triển khai. Hệ thống sẽ xác thực các tham số đã cung cấp trong mẫu. Sau khi xác thực xong, nhấp vào “Create” để bắt đầu triển khai.
  2. Chờ quá trình triển khai hoàn tất. Bạn có thể kiểm tra tiến trình triển khai từ bảng “Notifications” của Azure Portal. Quá trình triển khai có thể mất hơn 30 phút để hoàn thành.
  3. Sau khi triển khai thành công, mở chi tiết triển khai và nhấp vào tùy chọn “Outputs” hiện trong menu điều hướng bên trái và ghi lại các giá trị được liệt kê. Chúng ta sẽ cần chúng sau này trong quá trình triển khai.
  4. Tìm App Service plan đã tạo trong thanh tìm kiếm của Azure Portal. Tên App Service plan sẽ giống với tên tài nguyên cơ sở. Khi App Service plan được mở, mở rộng menu điều hướng bên trái và nhấp vào “Scale up (App Service plan)” dưới mục Settings. Chọn mức giá S1 dưới mục Production. Nhấp vào “Apply”.

 

Bước 3: Thiết Lập Xác Thực Cho Ứng Dụng

  1. Trở lại trang “App Registrations” tại đây.
  2. Nhập Bot client id đã tạo ở Bước 1 vào ô tìm kiếm Owned applications.
  3. Nhấp vào ứng dụng (đây nên là cùng một ứng dụng đã đăng ký ở Bước 1).
  4. Trong menu bên trái, chọn “Authentication” dưới mục Manage.
  5. Chọn “Accounts in any organizational directory (Any Azure AD directory – Multitenant)” dưới Supported account types và nhấp vào “+Add a platform”.
  6. Trong menu bật ra, chọn “Web”.

7. Thêm URL chuyển hướng https://[baseresourcename].azurefd.net/signin-simple-end vào trường Redirect URLs và nhấp vào nút Configure. Ví dụ: https://employeetraining.azurefd.net/signin-simple-end

8. Khi menu bật ra đóng lại, cuộn xuống dưới đến phần ‘Implicit Grant’ và chọn các hộp kiểm “Access tokens” và “ID tokens”. Sau đó, nhấp vào nút “Save” trên thanh công cụ ở trên cùng.

9. Trong menu bên trái, dưới mục Manage, chọn “Expose an API”.

10. Chọn liên kết Set để tạo Application ID URI dưới dạng api://{BotID}. Chèn tên miền đầy đủ của bạn (kèm theo dấu gạch chéo “/” ở cuối) giữa hai dấu gạch chéo kép và GUID. Toàn bộ ID nên có dạng: api://[baseresourcename].azurefd.net/{botid}.

    • Ví dụ: api://employeetraining.azurefd.net/c6c1f32b-5e55-4997-881a-753cc1d563b7.

11. Chọn nút Add a scope. Trong bảng mở ra, nhập access_as_user làm tên phạm vi (Scope name).

12. Đặt Who can consent? thành “Admins and users”.

13. Điền vào các trường để cấu hình thông báo cấp quyền cho quản trị viên và người dùng với các giá trị phù hợp cho phạm vi access_as_user. Gợi ý:

    • Admin consent display name: Employee Training Admin
    • Admin consent description: Cho phép Teams gọi API web của ứng dụng dưới danh nghĩa người dùng hiện tại.
    • User consent display name: Employee Training User
    • User consent description: Cho phép Teams gọi API của ứng dụng này với các quyền mà bạn có.

14. Đảm bảo rằng State được đặt thành Enabled.

15. Chọn Add scope.

Lưu ý: Phần tên miền của tên phạm vi hiển thị ngay dưới trường văn bản nên tự động khớp với Application ID URI đã đặt ở bước trước, với /access_as_user được thêm vào cuối; ví dụ: api://employeetraining.azurefd.net/c6c1f32b-5e55-4997-881a-753cc1d563b7/access_as_user.

16. Trong cùng trang, ở phần Authorized client applications, bạn xác định các ứng dụng muốn ủy quyền cho ứng dụng web của mình. Nhập từng ID sau:

    • Nhấp vào “+Add a client application” và sao chép-dán ID dưới đây, sau đó chọn hộp kiểm “Authorized scopes”. Lặp lại bước này cho GUID thứ hai.
      • 1fec8e78-bce4-4aaf-ab1b-5451cc387264 (Ứng dụng Teams trên thiết bị di động/máy tính để bàn)
      • 5e3ce6c0-2b1f-4285-8d4b-75ee78787346 (Ứng dụng Teams trên web)

17. Trong menu bên trái, điều hướng đến API Permissions, và chắc chắn thêm các quyền sau của Microsoft Graph API > Delegated permissions:

        • offline_access
        • openid
        • profile
        • User.ReadBasic.All
        • People.Read
        • Directory.Read.All
        • Calendars.ReadWrite

Microsoft Graph API > Application permissions:

    • Calendars.ReadWrite

18. Nhấp vào “Add Permissions” để xác nhận các thay đổi của bạn.

19. Nếu bạn đang đăng nhập với tư cách Quản trị viên Toàn cầu, nhấp vào nút “Grant admin consent for %tenant-name%” để cấp quyền quản trị, nếu không, thông báo cho quản trị viên của bạn thực hiện tương tự qua cổng hoặc làm theo các bước được cung cấp tại đây để tạo liên kết và gửi cho quản trị viên của bạn để cấp quyền.

Quản trị viên Toàn cầu cũng có thể cấp quyền sử dụng liên kết sau: https://login.microsoftonline.com/common/adminconsent?client_id=<%appId%>

Lưu ý: Hướng dẫn chi tiết về đăng ký ứng dụng cho tab SSO Microsoft Teams có thể tìm thấy tại đây.

 

Bước 4: Tạo Gói Ứng Dụng Teams

Bước này bao gồm việc tạo gói ứng dụng Teams cho phạm vi nhóm và sẵn sàng để cài đặt trong Teams. Tạo hai gói ứng dụng Teams: một cho người dùng cuối tự cài đặt cá nhân, và một để cài đặt cho nhóm Đào Tạo và Phát Triển.

  1. Mở tệp Manifest\manifest.json bằng trình soạn thảo văn bản.
  2. Thay đổi các trường giữ chỗ trong manifest bằng các giá trị phù hợp với tổ chức của bạn:
    • developer.name (Tên nhà phát triển)
    • developer.websiteUrl (URL trang web của nhà phát triển)
    • developer.privacyUrl (URL chính sách bảo mật)
    • developer.termsOfUseUrl (URL điều khoản sử dụng)
  3. Thay đổi trường giữ chỗ <<botId>> thành ID ứng dụng Azure AD của bạn. Đây là GUID mà bạn đã nhập trong mẫu dưới mục “Bot Client ID”.
  4. Trong phần “validDomains”, thay thế <<appDomain>> bằng tên miền Dịch vụ Ứng dụng Bot của bạn. Điều này sẽ là [BaseResourceName].azurefd.net. Ví dụ, nếu bạn chọn “employeetraining” làm tên cơ sở, thay thế trường giữ chỗ bằng employeetraining.azurefd.net.
    • Lưu ý: không thêm https:// vào tên miền hợp lệ.
  5. Trong phần “webApplicationInfo”, thay thế <<clientId>> bằng Client ID của ứng dụng được tạo trong Bước 1. Cũng thay thế api://<<applicationurl>>/<<clientId>> bằng URI Ứng dụng có kèm Client ID. Ví dụ: api://employeetraining.azurefd.net/19c1102a-fffe-46c4-9a85-016bec13e0ab, trong đó employeetraining là URL tài nguyên cơ sở được sử dụng trong valid domains và tabs, và 19c1102a-fffe-46c4-9a85-016bec13e0ab là Client ID.
  6. Tạo một gói ZIP với các tệp: ‘en-US.json’, 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 Teams.
    • Đặt tên gói này là employeetraining-enduser.zip để bạn biết rằng đây là ứng dụng dành cho người dùng cuối.
    • Đảm bảo rằng cả 4 tệp này nằm ở cấp trên cùng của gói ZIP, không có thư mục con.

7. Đổi tên tệp manifest.json thành manifest_enduser.json để tái sử dụng tệp này.

8. Mở tệp Manifest\manifest_lnd.json bằng trình soạn thảo văn bản.

9. Lặp lại các bước từ 2 đến 6 để thay thế tất cả các trường giữ chỗ trong tệp.

10. Lưu và đổi tên tệp manifest_lnd.json thành manifest.json.

11. Tạo một gói ZIP với các 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 Teams.

    • Đặt tên gói này là employeetraining-lnd.zip để bạn biết rằng đây là ứng dụng dành cho nhóm Đào Tạo và Phát Triển.
    • Đảm bảo rằng các tệp này nằm ở cấp trên cùng của gói ZIP, không có thư mục con

 

Bước 6: Chạy Ứng Dụng Trong Microsoft Teams

  1. Nếu tổ chức của bạn đã bật tính năng tải ứng dụng từ nguồn ngoài, bạn có thể cài đặt ứng dụng theo các hướng dẫn tại đây.
  2. Bạn cũng có thể tải lên ứng dụng này vào danh mục ứng dụng của tổ chức, để tất cả mọi người trong tổ chức có thể cài đặt. Xem hướng dẫn chi tiết tại đây.
  3. Chúng tôi khuyến nghị sử dụng chính sách cấp quyền ứng dụng để giới hạn quyền truy cập vào ứng dụng này cho các thành viên của nhóm chuyên gia.
  4. Hãy cài đặt ứng dụng (gói employeetraining.zip) vào nhóm của bạn.

 

Chúc các bạn thành công!

Bài viết công nghệ: