Hướng dẫn sử dụng PVO - phiên bản web-based

Khi dùng PVO mà gặp vấn đề, kiểm tra note này trước

PVO - Một số vấn đề thường gặp https://vuenglishclass.blogspot.com/2022/03/pvo-mot-so-van-e-thuong-gap.html

I. GIỚI THIỆU

PVO (dạy chính thức trong lớp TẠP) là phần mềm từ điển cá nhân, cho phép người dùng lưu và tra cứu lại tất cả những từ vựng/cấu trúc đáng nhớ tích lũy trong quá trình học tiếng kéo dài nhiều năm. Việc lưu từ được thực hiện theo cơ chế liên kết liên tưởng (association), khiến học viên hệ thống hóa từ vựng cá nhân một cách logic và chặt chẽ, giúp nhớ từ lâu hơn đồng thời tạo điều kiện dễ dàng để tìm lại cụm từ cần thiết khi nói và viết. 

Phần mềm này đặc biệt hữu ích với phiên dịch và giáo viên tiếng Anh, những người thường xuyên cần tra cứu từ vựng, ghi nhớ hàng loạt thông tin chi tiết liên quan đến ngữ cảnh sử dụng từ và xây dựng tư liệu bài giảng.

Trong PVO, hệ thống từ vựng của người dùng được cấu hình như một cái cây, bao gồm hệ thống mắt xích khái niệm (CONCEPT) kết nối nhau theo cấp bậc, và mỗi ví dụ (EXAMPLE) chứa cấu trúc cần nhớ như một chiếc lá được gắn theo một hay một nhóm Concept.

PVO 2022 (bắt đầu sử dụng từ TẠP I 2022) có một số cải tiến quan trọng sau đây so với các version cũ

  1. Web-based: phần mềm và dữ liệu lưu trên máy chủ, người dùng chỉ cần theo đường dẫn URL truy cập vào từ bất kỳ thiết bị/hệ điều hành nào có web browser. Giao diện thiết kế tối ưu hóa với 2 version riêng biệt cho PC và mobile phone. Chương trình tự nhận biết bạn đang dùng loại thiết bị nào và chọn giao diện hiển thị thích hợp.

  2. Multi-user database: cơ sở dữ liệu dùng chung cho nhiều người, mỗi người tự tạo tài khoản với mật khẩu riêng khi truy cập. Mỗi tài khoản có thể tạo nhiều từ điển phục vụ cho các mục đích khác nhau.

  3. Convenient backup: người dùng có thể backup dữ liệu bằng tay khi cần, hoặc thiết lập chế độ tự động gửi định kỳ dữ liệu cần backup vào email cá nhân. Dữ liệu backup được xuất dưới dạng Excel và có thể khôi phục ngược trở lại hệ thống khi xảy ra mất mát dữ liệu ngoài ý muốn hoặc khi hệ thống nâng cấp lên version mới.

  4. Old data migration: cho phép chuyển dữ liệu quan trọng từ version PVO cũ sang hệ thống mới nếu điều kiện tương thích cho phép.

  5. Minimalistic approach: phát triển theo hướng tối giản cả giao diện lẫn dữ liệu được lưu - chỉ đưa vào những gì cần thiết nhất. Điều này giúp tăng tốc độ load dữ liệu (đặc biệt khi mạng chậm), hiển thị dễ dàng hơn trên màn hình nhỏ như mobile phone và tablet.
    Các mối quan hệ (Link) được thiết lập giữa Concept-Concept & Example-Concept cũng tối giản hóa cho dễ hiểu và dễ áp dụng hơn với người dùng (nhưng không tương thích ngược với các version PVO cũ)

  6. Relevancy improvement: các ví dụ có thể lưu kèm theo thông tin phân loại liên quan tới ngữ cảnh sử dụng như Tone, Mode, Register, Nuance và Dialect.

  7. Search improvement: cơ chế tìm lại cấu trúc cần thiết cũng được mở rộng, cho phép tìm theo một hoặc một tập hợp các tiêu chuẩn (keyword, tone, mode, register, nuance, dialect và linked concept).

II. DATABASE STRUCTURE

III. HƯỚNG DẪN SỬ DỤNG

1. Giao diện REGISTER




Để sử dụng PVO, người dùng cần đăng ký bằng một email hợp lệ, có thể nhận mã kích hoạt tài khoản do hệ thống gửi. 
  1. Email đăng ký sẽ là UserId để log in hệ thống sau khi kích hoạt thành công.
  2. Hiện tại không có yêu cầu gì về độ dài ngắn và format của mật khẩu. Chỉ không được phép dùng mật khẩu trống.
  3. Thông báo lỗi liên quan
    1. Incorrect email format (email sai định dạng)
    2. Email already in use (email đã dùng để đăng ký cho một tài khoản khác)
    3. Emails don't match (hai email nhập vào không khớp)
    4. Passwords don't match (hai mật khẩu nhập vào không khớp)
    5. Incorrect license code. Check with the PVO admin (License code không hợp lệ, Cần liên lạc với thầy Vũ về license code hiện tại là gì)
    6. Nếu email hoặc password bỏ trống, nút Register sẽ bị disabled. 
Sau khi đăng ký thành công, sẽ nhận được thông báo
Mở email do hệ thống gửi và click vào link tương ứng để kích hoạt tài khoản. 
Khi click vào xác thực và activate thành công, chương trình tự động log in người dùng luôn và hiển thị giao diện DICTIONARY.

Sau khi đăng ký và kích hoạt tài khoản thành công, hệ thống tạo cho mỗi tài khoản mới một từ điển với tên mặc nhiên My PVO. Người dùng có thể tạo thêm các từ điển khác thông qua giao diện DICTIONARY.

Tips: Thời gian đầu, nên thực hành nhuần nhuyễn với từ điển mặc nhiên My PVO trước khi tạo thêm từ điển.

Một vấn đề có thể gặp khi đăng ký tài khoản là người dùng không nhận được email để kích hoạt tài khoản dù hệ thống thông báo đã gửi. Có các khả năng sau đây:
  1. Nhập sai email khi đăng ký. Nếu nhập sai thì Register lại với địa chỉ email đúng.
  2. Activation email rơi vào SPAM hay một tab nào khác. Search mailbox xem có thư gửi từ địa chỉ pvo@vupvo.org hay không.
  3. Email bị thất lạc trong quá trình trung chuyển (do lỗi của mail server). Nếu là trường hợp này và người dùng đã lỡ đóng cửa sổ Register, thì theo các bước sau đây để yêu cầu gửi lại mã kích hoạt
    1. Vào giao diện Login của PVO. Nhập địa chỉ email và mật khẩu đã dùng khi đăng ký rồi click Login
    2. PVO sẽ báo lỗi là tài khoản này chưa được kích hoạt (unactivated account) và hiện link cho phép yêu cầu lại code.

    3. Click vào "Click here" và sẽ thấy màn hình sau đây
    4. Click tiếp vào "Please click here" (chương trình có thể yêu cầu người dùng chờ 2 phút để đảm bảo email đã gửi thật sự thất lạc thay vì đến chậm rồi mới hiện link).
    5. Check lại mailbox.

2. Giao diện LOGIN



Nếu Remember me được chọn, hệ thống tự động ghi nhớ email cho lần truy cập sau. Địa chỉ email sẽ được che bớt một phần vì lý do an toàn.
  1. Thông báo lỗi liên quan

    1. Incorrect email format (email sai định dạng)  

    2. Email doesn't exist (email cung cấp không tồn tại trong hệ thống)

    3. Unactivated account (tài khoản đã đăng ký nhưng chưa kích hoạt thành công)

    4. Incorrect password (mật khẩu cung cấp không đúng)


Chọn Forgot Password để khôi phục mật khẩu
  1. Thông báo lỗi liên quan
    1. Incorrect email format (email sai định dạng)
    2. Email doesn't exist (email cung cấp không tồn tại trong hệ thống)
    3. Unactivated account (tài khoản đã đăng ký nhưng chưa kích hoạt thành công)
  2. Nếu Reset thành công thì hệ thống hiển thị thông báo như dưới đây

Người dùng sẽ nhận được một email như dưới đây

Click vào RESET sẽ mở ra cửa sổ cho phép nhập password mới
  1. Thông báo lỗi liên quan
    1. Password is required (mật khẩu không thể để trống)
    2. Passwords don't match (hai mật khẩu nhập vào không giống nhau)
    3. Unactivated account (tài khoản đã đăng ký nhưng chưa kích hoạt thành công)
  2. Nếu Update password thành công, chương trình tự động login và hiện giao diện EXAMPLE.
3. Giao diện FRAME
Góc trên bên trái hiển thị tên của từ điển đang mở (the loaded dictionary).
Góc dưới bên trái hiện thị thông tin copyright theo format © 2022 Hồ Lê Vũ Ver 1.x.x.
Góc trên bên phải hiển thị login email của người dùng.
Ở giữa phía dưới hiển thị dòng trạng thái của hệ thống. 
Tab Menu nào đang được mở thì tiêu đề sẽ đổi màu và chuyển sang chữ hoa hết. 

Danh mục menu ngang
  1. CONCEPT: nhập Concept mới, sửa xóa Concept cũ, tạo link giữa các Concepts.

  2. EXAMPLE: nhập Example mới và tạo link với Concept(s).

  3. SEARCH: tìm Example(s) cần thiết.

  4. TREE: hiện cây từ vựng liên quan tới một Concept cụ thể.

  5. EDIT: sửa/xóa Example đã có. 
    1. Đây là giao diện ẩn, người dùng không thể click và truy cập trực tiếp.
    2. Khi người dùng click vào mục liên quan trong giao diện khác và được chuyển tới EDIT thì tab này mới xuất hiện ở cuối menu (như dưới đây).

Danh mục menu dọc

  1. BACKUP: back up dữ liệu ra file để lưu trên máy hoặc gửi qua email, khôi phục dữ liệu hỏng và chuyển dữ liệu từ các version PVO cũ

  2. DICTIONARY: quản lý hệ thống đa từ điển, cho phép tạo mới, hiệu chỉnh và nạp từ điển.

  3. ACCOUNT: thay đổi thông tin người dùng

  4. LOG OUT: thoát hệ thống
Khi login vào PVO (ngoại trừ lần account vừa được kích hoạt), giao diện mặc nhiên hiển thị sẽ là EXAMPLE.

4. Giao diện CONCEPT

Khi giao diện CONCEPT lần đầu tiên được mở, ô ChildParent đều bỏ trống. Hệ thống chưa load bất kỳ Concept nào xuống. Dòng trạng thái ghi rõ từ điển hiện đang có tổng cộng bao nhiêu Concepts và Examples. 

  1. Nhập Concept mới 
    1. Nhập tên Concept (bắt buộc) và definition (không bắt buộc), click Add
    2. Thông báo lỗi liên quan
      1. Concept already exists (concept nhập vào đã có trong từ điển)
      2. Nút Add bị disabled nếu phần tên bỏ trống.
    3. Concept vừa nhập xuất hiện trong ô Child. Định nghĩa (nếu có) xuất hiện trong ô Definition.
  2. Tìm Concept đã có bằng cách sử dụng ô Search.
    1. Gõ cụm từ cần search rồi ấn Enter hoặc click vào biểu tượng kính lúp.
      1. Nếu Search ra kết quả, clear luôn nội dung Search.
    2. Thông báo lỗi liên quan
      1. Nếu không tìm thấy Concept được nhập vào ô Search, cho phép add luôn cụm từ vừa tìm thành Concept mới
      2. Dùng luôn cụm từ vừa được searched hoặc thay đổi đôi chút. Gõ vào định nghĩa (không bắt buộc).
      3. Click Add để thêm Concept mới. 
        1. Thông báo lỗi liên quan
          1. Concept already exists (concept muốn nhập đã có trong từ điển)
        2. Không lỗi, quay về màn hình chính với Concept vừa nhập hiển thị trong ô tương ứng. 
        3. Nếu người dùng chọn Add, thì ô Search sẽ được xóa. Nếu chọn Cancel thì nội dung ô Search được giữ nguyên để người dùng có thể sửa lại một vài ký tự gõ sai.
  3. Menu phụ: Click vào dấu ... cạnh tên Concept.


    1. Example: chuyển sang giao diện EXAMPLE. Concept tương ứng được hiển thị sẵn trong ô Concept.
    2. Tree: chuyển sang TREE (cách khác là double-click lên tên Concept). Concept tương ứng trở thành Root Concept. Mode hiển thị ở TREE là mode được lựa chọn ở lần cuối cùng trong cùng phiên làm việc. Nếu đây là lần đầu tiên truy cập TREE trong phiên làm việc này, mặc nhiên sẽ chọn Simple.
    3. Edit: sửa lại tên/định nghĩa Concept. Concept sẽ được chuyển ngược lên cửa sổ Edit phía trên để thực hiện những thay đổi cần thiết.
      1. Thực hiện thay đổi cần thiết và click Update để cập nhật.
      2. Thông báo lỗi liên quan
        1. Concept already exists (tên mới đổi trùng với một concept khác trong từ điển)
    4. Delete: xóa concept. Concept chỉ có thể xóa nếu nó không link với Example nào
      1. Thông báo lỗi liên quan
        1. Nếu concept định xóa concept đang được link với ít nhất 1 Example. Hiện cảnh báo, nêu rõ số lượng Examples được linked.
          1. Nếu click Search, chuyển sang giao diện SEARCH và hiển thị luôn kết quả tìm kiếm là toàn bộ Examples được link với Concept định xóa. Người dùng có thể tiếp tục xử lý từ đó.
  4. Thiết lập link giữa các Concepts
    1. Add hoặc Search concept A bên ô Child
    2. Search concept B bên ô Parent.
    3. Chương trình kiểm tra và hiển thị mối quan hệ hiện tại giữa A và B
      1. Nếu linking chưa được thiết lập, giá trị sẽ là No link. Giá trị này cũng dùng để xóa mối quan hệ đã thiết lập giữa 2 Concepts. 
      2. Thông báo lỗi liên quan
        1. A concept can't link to itself (nếu Child và Parent là một)
        2. Both child and parent are required (nếu ô Child hoặc Parent bỏ trống)
        3. Circular link (Nếu linking đã thiết lập giữa A và B nhưng theo chiều ngược lại - B đang là con của A, để tránh link vòng, hiện cảnh báo: 

          1. Nếu click Change, quan hệ giữa 2 Concept sẽ đảo chiều, Child thành Parent và Parent thành Child, hai ô tương ứng sẽ được cập nhật lại và mối quan hệ cũng được cập nhật theo mối quan hệ mới chọn (nếu có thay đổi).
          2. Người dùng cũng có thể đảo chiều bằng cách xóa mối quan hệ cũ rồi thiết lập mối quan hệ mới theo chiều ngược lại. 
      3. Chọn mối quan hệ trong Relation list để thiết lập, thay đổi hoặc xóa link giữa 2 Concepts.
Để giúp người dùng kiểm tra được mình hiện đang có những Concept nào, tại bất kỳ thời điểm nào trong phiên làm việc và tại bất kỳ giao diện nào đều có thể hiện list các Concept đã có bằng tổ hợp phím tắt Ctrl+S hoặc click vào biểu tượng PVO ở góc trên cùng bên trái màn hình.

PVO sẽ truy xuất toàn bộ concepts đang có từ database và hiển thị theo thứ tự alphabet như hình dưới đây


Chú ý
  1. Để tránh phải liên tục truy xuất dữ liệu từ server, list này chỉ được cập nhật mỗi khi người dùng click vào biểu tượng Refresh. Việc thực hiện những tác vụ như thêm hay xóa Concept sẽ không tự động cập nhật list. Tránh lạm dụng việc Refresh (nhất là khi bạn đã có vài trăm Concept trở lên) và làm tăng tải xử lý cho máy chủ cũng như mất nhiều thời gian để load lại dữ liệu.
  2. Có thể tìm nhanh một Concept trong list bằng cách click chuột vào list. Sau đó bấm một chữ cái để tự động chuyển tới Concept đầu tiên bắt đầu bằng chữ cái đó. Nếu bấm tiếp một chữ cái (đủ nhanh - trong vòng 500ms) thì chuyển tiếp sang chữ cái thứ 2. Ví dụ để chuyển đến concept Content (bấm c...o...n... trong thời gian đủ nhanh).
  3. Click vào biểu tượng Copy bên cạnh tên một Concept để copy concept đó vào bộ nhớ. Sau đó có thể Ctrl+P để paste nội dung được copy vào một chỗ thích hợp (thường là tại ô Search Concept)
  4. Khi list Concept đang hiển thị màn hình, người dùng không thể thực hiện tác vụ nào khác. Chỉ khi click vào dấu X để đóng list thì mới trở về phiên làm việc bình thường.
  5. Nếu list Concept được gọi từ giao diện TREE, double click lên bất kỳ Concept nào trong list sẽ tự động đóng list và hiển thị tree của Concept tương ứng.

Bộ giá trị các thông số hệ thống

CONCEPT LINK
   No link
   Association
   Type of 

EXAMPLE LINK
  No link
  Idiom
  Nominal
  Agent
  Patient
  Action
  Described by
  Describing
  Other phrase  

TONE
  Neutral
  Informal
  Formal
  Slightly informal
  Slightly formal    

MODE
  Neutral
  Spoken
  Written

REGISTER
  Neutral
  Academic
  Literature  
  Business
  Law
  Journalism
  Medicine  
  Other (chọn giá trị này nếu cụm từ cần lưu thuộc về một Register chưa có tên trong danh sách. Nhập tên Register liên quan trong phần Notes)

NUANCE
  Neutral
  Old fashioned
  Humorous
  Oft positive
  Oft negative

DIALECT
  Neutral
  American
  British
  Other (chọn giá trị này nếu cụm từ cần lưu thuộc về một dialect chưa có tên trong danh sách. Nhập tên Dialect liên quan trong phần Notes)



5. Giao diện EXAMPLE

Nhập examples mới
  1. Gõ hoặc copy nội dung Example vào ô nội dung.
  2. Chọn (tô đen) và highlight những cụm từ cần thiết (hoặc bấm tổ hợp phím tắt Ctrl+H). Bấm vào biểu tượng bóng đèn bên trong ô nội dung để hightlight hoặc de-highlight.
  3. Chọn Tone, Mode, Register, NuanceDialect. Giá trị mặc nhiên đều là Neutral.
  4. Nhập thêm ghi chú khác nếu cần (không bắt buộc), ví dụ
    1. Sources: nguồn từ đâu (newspapers, TV show, novels, conversations, etc.)
    2. Translation: nghĩa dịch ra tiếng Việt
    3. Other notes: chú thích cần thiết khác (vd cultural schemas/annotation)  
  5. Link Example vừa nhập với 1 hay nhiều Concept(s).
    1. Chú ý: một Example có thể đồng thời link với nhiều Concept theo các mối quan hệ khác nhau. List Relations luôn ở trạng thái disabled nếu 1 trong 2 ô Example và/hoặc Concept trống.
    2. Ô Example (ví dụ E1) đã có nội dung và phần cần thiết đã được highlighted.
    3. Search và hiển thị Concept cần link (ví dụ C1) trong ô Concept.  
      1. Nếu không tìm thấy Concept được nhập vào ô Search, cho phép add luôn cụm từ vừa tìm thành Concept mới, tương tự như với giao diện CONCEPT.
      2. Nhập được Concept rồi thì ô Search tự động xóa nội dung.
    4. Khi ô Example và Concept đều đã có nội dung, list Relations enabled. Nếu E1 và C1 chưa có quan hệ, hiện giá trị mặc nhiên No Link.
    5. Nếu người dùng đổi giá trị No link sang một giá trị khác, quan hệ được thiết lập, C1 được thêm vào list Linked Concepts bên dưới.
      1. Với một Concept đã linked, rê chuột qua tên Concept sẽ tự động hiển thị tên mối quan hệ đã thiết lập
      2. Nếu muốn xóa link thì chỉ cần bấm vào dấu X bên cạnh tên Concept trong list Linked Concept(s).
    6. Ô Concept set về trống. List Relations disabled và về lại giá trị mặc nhiên No Link.
    7. Người dùng tiếp tục nhập concepts C2, C3 rồi thiết lập quan hệ tương ứng như các bước trên.
    8. Giả sử trong list Linked Concepts hiện đã có C1 C2 C3 (đều link với E1). Ô Concept ở trên trống, list Relation disabled. 
    9. Nếu muốn thay đổi, ví dụ quan hệ giữa C1 và E1, click vào C1 trong list Linked Concepts hoặc search lại C1 trong ô Search, cả hai hành động này đều dẫn tới kết quả C1 xuất hiện trở lại trong ô Concept. Relation list được enabled, và hiện thị mối quan hệ hiện có giữa E1 và C1.
    10. Thay đổi sang mối quan hệ khác, hoặc xóa mối quan hệ bằng cách chọn No Link. Nếu chỉ đổi mối quan hệ thì C1 vẫn có mặt trong list Linked Concepts. Nếu xóa mối quan hệ = No Link, thì xóa luôn C1 trong list bên dưới.
  6. Sau khi mọi thông tin cần thiết đã được nhập, bấm Save & Reset để lưu Example kèm theo các mối quan hệ với Concept(s) mới thiết lập. 
    1. Mọi thông tin mới sẽ chưa được lưu vào database cho đến khi click Save & Reset
    2. Thông báo lỗi liên quan
      1. No highlighted parts (Example trống, hoặc đã có nội dung nhưng chưa cụm từ nào được highlighted)
      2. Example content cannot exceed 2000 characters (độ dài example không thể quá 2000 ký tự)
      3. Duplicate examples (Example mới trùng với một Example đã có. 2 Examples bị coi là trùng nếu nội dung, kể cả phần highlighted, giống hệt nhau. Nếu nội dung giống nhau nhưng phần highlighted khác: vẫn coi là 2 ví dụ riêng biệt.)
      4. Chưa thiết lập link với bất kỳ concept nào.
        1. Nếu người dùng chưa biết nên link Example này với Concept nào, hệ thống sẽ tạm thời đánh dấu Example này là Undecided. 
          1. Chọn Undecide, Example được tạm thời phân loại Undecided (và có thể tìm lại qua option Search undecided examples trong giao diện SEARCH). Tiếp tục hoàn thành Save & Reset.
          2. Chọn Cancel: không làm gì, quay lại để người dùng tự tạo link với Concept.
    3. Một khi đã click Save & Reset thì không còn có thể thay đổi bất kỳ nội dung nào ở trên. Muốn sửa thông tin, dùng giao diện EDIT.
    4. Màn hình reset về giá trị ban đầu để nhập Example mới.
      1. Nếu ô Re-use the same parameters when reset được chọn, sử dụng lại các giá trị vừa được chọn cho Example trước (Tone, Mode, Register, Nuance, Dialect & Sources/Notes) 
        1. Lựa chọn này cho phép tiết kiệm thời gian khi người dùng cần nhập một lượng lớn Examples trích xuất từ cùng nguồn và mang cùng một tính chất.
      2. Nếu không, reset về giá trị mặc nhiên của hệ thống.
6. Giao diện SEARCH
  1. Nhập một hoặc nhiều tiêu chí Search (cần nhập ít nhất một tiêu chí)
    1. Nhập chuỗi ký tự tìm (tìm trong nội dung của cả Example và Notes)
      1. Muốn clear toàn bộ nội dung để nhập lại: click vào dấu X ở góc trên bên phải.
    2. Chọn Tone, Mode, Register, Nuance, Dialect. Giá trị mặc nhiên là ALL (tìm tất cả)
    3. Chọn một hoặc nhiều linked Concept(s)
      1. Search để hiển thị Concept trong ô Concept rồi click Add để thêm vào list Linked concepts. Không làm gì nếu Concept được add đã nằm trong Linked concepts list.
      2. Lặp lại bước 1 cho đến khi chọn xong Các concepts liên quan. 
      3. Chọn Concept trong Linked concepts list và click Remove để xóa bớt
    4. Select Search undecided examples để tìm các Examples chưa được link với một concept nào (và được hệ thống xếp loại Undecided).
      1. Lưu ý: một Example nếu đang là Undecided thì sẽ ko được link với Concept nào. Vì thế nếu chọn ô này nhưng lại nhập thêm ít nhất một concept khác thì sẽ luôn ko tìm ra kết quả bởi vì SEARCH chỉ tìm những Examples nào ĐỒNG THỜI link với tất cả concepts được chọn. Vì vậy nếu người dùng thêm ít nhất một Concept vào list  Linked concepts thì hệ thống unselect và disable ô này. Muốn enable lại ô này, người dùng cần xóa hết toàn bộ nội dung của Linked concepts.
    5. Nếu chọn Save search parameters, các thông số của lần search cuối cùng sẽ được lưu giữ sau khi người dùng chuyển sang tab khác rồi quay lại. Nếu không chọn mục này, khi quay lại SEARCH từ tab khác, mọi thứ sẽ về lại giá trị mặc nhiên. Checked Khi vào SEARCH lần đầu tiên, ô này mặc nhiên được chọn.
    6. Click Search để tìm.
      1. Chương trình kết hợp tất cả các tiêu chí Search được nhập. Nếu nhập nhiều linked Concept, chỉ tìm những Example được link đồng thời với tất cả các Concept đó.
        1. Thông báo lỗi liên quan
          1. No search criteria (chưa có tiêu chí Search nào được nhập)
          2. No results found (không tìm thấy kết quả nào)
      2. Nếu có ít nhất một kết quả, hiện thông báo số lượng kết quả tìm được và list kết quả.
List kết quả
  1. Mỗi Example hiển thị một dòng. 
  2. Nếu Example dài quá, chỉ hiển thị cụm từ được highlighted đầu tiên, kèm theo một nhóm từ quanh nó (khoảng 50 ký tự trước và 50 ký tự đi sau)Nếu ví dụ gồm nhiều đoạn (người dùng nhấn Enter xuống dòng), thì chỉ hiện nội dung đoạn đầu tiên có cấu trúc được highlighted. Nếu nội dung ví dụ không được hiện hết, sẽ có dấu ... xuất hiện ở 2 đầu phần text được hiển thị.
  3. Double click lên Example sẽ chuyển sang giao diện EDIT.
7. Giao diện EDIT

EDIT về cơ bản giống EXAMPLE nhưng ở trạng thái ẩn. Khi double click lên một Example được chọn ở tab khác, sẽ mở ra giao diện này. Lúc đó tên tab mới hiển thị ở cuối menu ngang. Sau khi thực hiện thay đổi và chọn Save & Exit hoặc Delete thì đóng giao diện về lại trạng thái ẩn. Khi đóng giao diện, PVO trở về giao diện cuối cùng được mở trước EDIT.

Thực hiện thay đổi theo nhu cầu 
  1. Thay đổi nội dung Example.
  2. Thay đổi các cụm từ được highlighted
  3. Thay đổi thông tin Tone/Mode/Register/Nuance/Dialect/Notes
  4. Thay đổi mối quan hệ, thêm, xóa link giữa Example và Concept(s) tương tự như với giao diện EXAMPLE 
    1. Lưu ý: với trường hợp undecided Examples, list Linked Concepts sẽ trống. Khi người dùng link undecided Example với một Concept cụ thể, hệ thống sẽ tự động xóa phân loại Undecided. Ngược lại, nếu trong quá trình edit mà người dùng xóa hết concept link, ví dụ lại trở thành undecided (tương tự như với giao diện EXAMPLE).
  5. Click Save & Exit 
    1. Nếu người dùng ko thay đổi gì thì chỉ đóng giao diện.
    2. Nếu người dùng có thay đổi
      1. Thông báo lỗi liên quan: giống như EXAMPLE, ngoài ra
        1. Duplicate examples (Example sau khi sửa nội dung lại trùng với một Example đã có. 2 Examples bị coi là trùng nếu nội dung, kể cả phần highlighted, giống hệt nhau. Nếu nội dung giống nhau nhưng phần highlighted khác: vẫn coi là 2 ví dụ riêng biệt.) Báo lỗi và ko lưu thông tin.
      2. Không có lỗi thì cập nhật toàn bộ thay đổi lên database.
  6. Click Delete để xóa Example. 
    1. Cảnh báo và liệt kê tất cả các concept được link với example muốn xóa.

    2. Với undecided Examples thì hiện thông báo
  • Nếu chọn Delete, cắt toàn bộ link của Example với Concepts trước khi xóa Example.
  • Khi Sửa/Xóa/Thoát thành công, EDIT tự động đóng, về lại trạng thái ẩn và chương trình tự động chuyển về tab mở cuối cùng trước EDIT.

  • 8. Giao diện TREE 

    Hiện thị cấu trúc cây từ vựng chi tiết của một Concept được chọn (Root Concept).
    1. Trong tab CONCEPT, double click lên Concept đang hiển thị, hoặc chọn menu phụ tương ứng, sẽ chuyển sang TREE. Mode hiển thị ở TREE là mode được lựa chọn ở lần cuối cùng trong cùng phiên làm việc. Nếu đây là lần đầu tiên truy cập TREE trong phiên làm việc hiện tại, mặc nhiên sẽ chọn Simple.
    2. Thay vì chuyển từ tab khác, có thể nhập thẳng tên Concept vào ô Search.
      1. Thông báo lỗi liên quan
        1. Concept doesn't exist (chưa có concept này trong từ điển)
    3. Cây từ vựng được hiển thị theo 2 chế độ: FULL và SIMPLE. Phiên bản mobile chỉ có chế độ SIMPLE.
      1. Nếu tên của mối quan hệ hoặc concept dài quá không hiện đủ, di chuột qua sẽ hiện label động với đầy đủ tên.
    Chế độ SIMPLE



    Khi một Root concept được chọn, hệ thống hiển thị
    1. Danh sách child Concepts bên trái & parent Concepts bên phải
      1. Double click vào bất kỳ Concept nào trong số đó thì nó chuyển thành Root Concept và cây từ vựng được cập nhật tương ứng.
      2. Nếu người dùng đã chọn xem cấu trúc của một loạt Concept (có browsing history) thì click vào mũi tên & để chuyển qua lại trong history.
        1. Nếu mới chỉ có một Concept trong history, không hiện mũi tên nào.
        2. Nếu đang ở Concept cuối cùng, ẩn mũi tên .
        3. Nếu đang ở Concept đầu tiên, ẩn mũi tên .
    2. Danh sách các mối quan hệ ở trên
      1. Chỉ mối quan hệ nào đã có ví dụ được link thì mới hiển thị. Hiển thị rõ số lượng linked Examples kèm theo mối quan hệ.
      2. Click lên mối quan hệ nào thì hiển thị list linked Examples tương ứng.
        1. Trật tự thể hiện theo thứ tự nhập Examples trước đây (cũ nhất ở trên cùng).
    3. Danh sách Examples giống như với kết quả ở SEARCH. Click lên bất kỳ Example nào cũng sẽ chuyển sang EDIT.
    4. Nội dung ví dụ được hiển thị ở cả Simple và Full modes theo nguyên tắc tương tự như với tab SEARCH.
    Chế độ FULL

    Thiết kế theo mô hình phân cấp thư mục của Windows.

    1. Giao diện chia thành 2 nửa: Trái và Phải, nửa Phải chia thành 2 phần: Trên và Dưới.
    2. Nửa bên Trái chỉ hiện cấu trúc thư mục. Nửa trên bên Phải chỉ hiện danh sách file (nếu có). Nửa dưới bên Phải chỉ hiện nội dung file (với trường hợp Example) hoặc mạng lưới kết nối (với trường hợp Concept)

    Khi search tìm ra được một Concept, nó sẽ được load thành Root Concept ở nửa bên trái - thư mục gốc.

    1. Thư mục Root Concept chứa 3 thư mục con
      1. Parents: chứa các file là parent Concept của Root Concept
      2. Children: chứa các file là child Concept của Root Concept
      3. Examples: chứa các thư mục con Relations tương ứng với các mối quan hệ đã được thiết lập giữa Examples và Root Concept - mỗi thư mục con tương ứng với một mối quan hệ và chứa tất cả các Examples linked với Root Concept qua mối quan hệ đó.
        1. Chỉ Relation nào có chứa ít nhất một Example mới được liệt kê.
    2. Bên cạnh tên mỗi thư mục con luôn kèm theo một con số để trong ngoặc (n) thể hiện số entries hiện có trong thư mục đó. Nếu n = 0 (thư mực rỗng), click vào thư mục sẽ không có tác động gì.

    Khi cây thư mục của Root lần đầu được hiển thị, hoặc mỗi khi click vào Root Concept ở nửa bên trái, nửa bên phải phía dưới sẽ hiện mạng lưới liên kết Concept-Concept của Root.

    Double-click vào bất kỳ Concept nào trong mạng lưới phía dưới thì Concept đó sẽ được chuyển thành Root và toàn bộ giao diện sẽ cập nhật tương ứng.

    Nếu click vào folder Parents ở nửa bên trái, nửa bên phải phía trên sẽ hiện các files nằm trong thư mục đó (chính là các Parent Concepts của Root)


    Nếu click vào file (tức Concept) nào ở trên thì nửa dưới sẽ hiện mạng lưới liên kết Concept-Concept tương ứng với Concept.


    Trong mạng lưới trên, Root Concept ban đầu sẽ được đánh dấu riêng bằng viền nét đứt. Và theo nguyên tắc tương tự như mạng lưới của Root Concept, double-click vào bất kỳ Concept nào trong mạng lưới được hiển thị thì Concept đó sẽ được chuyển thành Root và toàn bộ giao diện sẽ cập nhật tương ứng.

    Tương tự, nếu click vào folder Children ở nửa bên trái, nửa bên phải phía trên sẽ hiện các files nằm trong folder đó (chính là các Child Concepts của Root). Và nếu click vào file (tức Concept) nào ở trên thì nửa dưới sẽ hiện mạng lưới liên kết Concept-Concept tương ứng với Concept đó.

    Tương tự như trường hợp Parent, Root Concept ban đầu sẽ được đánh dấu riêng bằng viền nét đứt.

    Folder Examples ở nửa bên trái hiện các sub-folder mà nó chứa (chính là các Relations)


    Nếu click vào một sub-folder Relations ở nửa bên trái, nửa bên phải phía trên sẽ hiện các files nằm trong folder đó (chính là các Examples được linked với Concept qua mối quan hệ tương ứng)


    Nếu click vào một file (tức Example) ở nửa trên thì nửa dưới sẽ hiện toàn bộ nội dung của Example đó. 

    Ngoài toàn bộ nội dung (có kèm theo cấu trúc được highlighted), ở phía dưới sẽ hiện luôn các giá trị thông số liên quan và phần notes (nếu có) theo format: Nội dung (có kèm phần highlight) cách một dòng trắng [parameter 1] [parameter 2].... [parameter n] cách một dòng trắng Notes Parameter gồm có Tone, Mode, Register, Nuance và Dialect, mỗi giá trị in đậm (bold) và đặt giữa hai dấu ngoặc vuông []. Các giá trị cách nhau một khoảng trắng. Những thông số mà giá trị là giá trị mặc nhiên Neutral sẽ không cần hiện. Nếu tất cả các giá trị đều là mặc nhiên, toàn bộ phần này sẽ bị bỏ qua.

    Nội dung notes in nghiêng. Phần này sẽ bị bỏ qua nếu trường Notes có nội dung.




    Click vào ô hiển thị nội dung ví dụ: sẽ chuyển về tab EDIT để tiếp tục xem/sửa các thông tin chi tiết liên quan đến ví dụ được chọn.

    9. Giao diện BACKUP

    1. Automatic backup: hệ thống tự động xuất dữ liệu dạng Excel và gửi vào email người dùng theo tần số được chọn.
      1. Never: disable chức năng backup tự động.
      2. Daily: backup file được gửi đi vào 12h đêm mỗi ngày.
      3. Weekly: backup file được gửi đi vào 12h đêm mỗi ngày chủ nhật.
      4. Tên file và email subject đặt cùng theo format: PVO backup DD-MM-YYYY

    Ngoài ra, mỗi khi thực hiện thay đổi có thể ảnh hưởng tới dữ liệu, PVO sẽ tự động tạo ra một file backup và gửi luôn vào email của người dùng.


    Hiện tại, automatic backup gửi qua email tại các thời điểm sau đây

    1. Trước khi người dùng Recover lại từ dữ liệu backup cũ
    2. Trước khi người dùng Transfer dữ liệu từ phiên bản PVO cũ
    3. Trước khi người dùng Transfer dữ liệu từ từ điển này sang từ điển kia trong phiên bản hiện tại
    4. Trước khi người dùng Delete một từ điển
    5. Theo lịch Automatic backup mà người dùng đã thiết lập

    Trong nội dung backup email được gửi, sẽ có chú thích cho biết backup được tạo ra là trường hợp nào trong 5 trường hợp trên.



    1. Manual backup
      1. Hệ thống xuất dữ liệu dạng Excel. Tên mặc nhiên của file theo format như trên.
      2. Hiện cửa sổ để người dùng chọn nơi lưu file.

      3. Click Save để lưu file vào nơi chỉ định. 
        1. Thông báo lỗi liên quan: sử dụng báo lỗi mặc nhiên của hệ điều hành (ví dụ: tên file lưu đã tồn tại, ổ đĩa hết dung lượng, không có quyền ghi dữ liệu lên ổ đĩa v.v...)
      4. Lưu ý: nếu browser của người dùng thiết lập chế độ tự động lưu các file được download về thư mục chỉ định thì file backup tạo ra sẽ tự động lưu mà không cần hỏi. Nếu muốn chọn folder để lưu, cần enable lựa chọn như dưới đây trong phần Setting của browser.
    2. Data recovery: nếu dữ liệu bị sự cố hỏng mất (ổ đĩa hỏng vật lý hay do virus, mở tài khoản mới với dữ liệu trắng, hay nâng cấp version mới v.v..), dùng chức năng này để khôi phục bằng cách import dữ liệu từ một backup file đã xuất thông qua quá trình ở mục 1 hoặc 2
      1. Hiện cửa sổ để người dùng chỉ nơi để import file
      2. Cảnh báo dữ liệu hiện tại sẽ bị xóa hết và ghi đè bởi dữ liệu được import.

      3. Nếu chọn Continue, hiện thông báo chờ. Để đảm bảo an toàn dữ liệu, người dùng không được thực hiện thêm thao tác gì trong thời gian chờ đợi.
      4. Nếu nội dung của Recovery file hỏng hoặc sai format thì báo lỗi và không làm gì cả.
      5. Nếu không có lỗi, thay thế toàn bộ dữ liệu hiện tại bằng dữ liệu trong Recovery file. Thông báo khôi phục thành công với số lượng Concepts và Examples được khôi phục. Cập nhật dòng trạng thái hệ thống tương ứng nếu nội dung từ điển hiện tại có thay đổi do quá trình Recovery.

    3. Old PVO transfer: chuyển dữ liệu từ phần mềm PVO cũ sang
    Hướng dẫn cách xử lý dữ liệu từ PVO cũ trước khi chuyển.
    1. Dữ liệu PVO cũ được lưu trong thư mục cài đặt PVO (mặc nhiên là C:\PVO) theo đường dẫn PVO\Database\Default. Tên từ điển mặc nhiên là Default.mdb
    2. Đây là file định dạng MS Access trong MS Office. Mở file bằng phần mềm Access.
    3. Nếu có thông báo Security Warning (dữ liệu bị disabled vì lý do an toàn) thì click vào ô Option... và chọn Enable this content.
    4. Trong cột Tables nằm dọc theo lề bên trái màn hình, tìm table tblExample (nằm ở vị trí trên cùng). 
    5. Click chuột phải trên ô tblExample, chọn Export, rồi chọn Excel.
    6. Giữ nguyên mọi lựa chọn mặc nhiên, bấm OK để lưu thành file tblExample.xlsx.
    7. Khi chương trình PVO mới yêu cầu nạp file dữ liệu cũ, chọn file tblExample.xlsx vừa tạo ra ở trên.
      1. Người dùng trước hết cần load từ điển muốn dùng để tiếp nhận dữ liệu PVO cũ.
      2. Do hệ thống mối quan hệ giữa Concept-Concept và Example-Concept đã thay đổi và không tương thích ngược, dữ liệu duy nhất có thể chuyển sang hệ thống mới là toàn bộ Examples.
      3. Hiện cửa sổ để người dùng chỉ nơi lưu Old PVO data file.
      4. Hiện thông báo tất cả các Examples từ file cũ sẽ được chuyển, yêu cầu người dùng xác nhận.
      5. Nếu chọn Continue
        1. Hiện thông báo chờ, thực hiện chuyển dữ liệu. 
        2. Nếu import file hỏng hoặc sai format thì báo lỗi và không làm gì cả. 
        3. Tất cả Examples chuyển sang tạm thời được phân loại là Undecided (chưa gắn với một Concept cụ thể nào và có thể tìm lại qua option Search undecided examples trong tab SEARCH).
        4. Mỗi Example chỉ chuyển nội dung+cấu trúc được highlight+sources/notes. Các giá trị Tone/Mode/Register/Nuance/Dialect (chưa có trong version cũ) set về giá trị mặc nhiên (Neutral)
        5. Kiểm tra xem Example được chuyển đã tồn tại trong hệ thống chưa. Bỏ qua  nếu bị trùng. 2 Examples bị coi là trùng nếu nội dung, kể cả phần highlighted, giống hệt nhau. Nếu nội dung giống nhau nhưng phần highlighted khác: vẫn coi là 2 ví dụ riêng biệt.
        6. Hiện thông báo chuyển dữ liệu thành công với số lượng Examples chuyển thành công và Examples bị bỏ qua do trùng lặp. Cập nhật dòng trạng thái hệ thống về tương ứng nếu nội dung từ điển hiện tại có thay đổi do quá trình Transfer.
    10. Giao diện DICTIONARY

    Khi bắt đầu dùng chương trình, hệ thống tạo cho người dùng một từ điển với tên mặc nhiên My PVO. Người dùng có thể đổi tên mặc nhiên này và/hoặc tạo thêm từ điển.

    PVO cho phép người dùng tạo nhiều từ điển cho các mục đích khác nhau. (Ví dụ người dùng A tạo 2 từ điển riêng cho tiếng Pháp và tiếng Anh; Người dùng B tạo 2 từ điển đều tiếng Anh: 1 để lưu cấu trúc giao tiếp và 1 để luyện thi IELTS). Nếu sau này, để dễ quản lý, người dùng B muốn chập các từ điển lẻ thành một từ điển thống nhất, sử dụng chức năng TRANSFER - cho phép copy dữ liệu từ từ điển này sang từ điển kia.

    Tạo từ điển mới 
    1. Nhập tên từ điển và click Create.
    2. Thông báo lỗi liên quan
      1. Name already in use (trùng tên với một từ điển đã có)
      2. Nút Create bị disabled nếu ô tên bỏ trống.
    Các chức năng khác: nháy vào dấu ... trên icon của một từ điển cụ thể sẽ hiển thị menu phụ
    1. Load: nạp từ điển
      1. Nếu người dùng chỉ có một từ điển, từ điển này mặc nhiên được nạp khi log in.
      2. Nếu người dùng có nhiều hơn một từ điển, từ điển mở cuối cùng ở lần truy cập trước sẽ được nạp khi log in.
      3. Muốn đóng từ điển đang mở và nạp từ điển khác, chọn từ điển cần mở và click Load.
      4. Hiện thông báo từ điển nào được load thành công. Tên từ điển được cập nhật tương ứng ở góc trên bên trái màn hình.
    2. Edit: đổi tên từ điển 
      1. Thực hiện thay đổi cần thiết

      2. Click Update để cập nhật. Nếu từ điển được đổi tên là từ điển đang được load (current dictionary), tên của từ điển hiện góc trên bên trái màn hình được cập nhật tương ứng.
        1. Thông báo lỗi liên quan
          1. Name already in use (tên mới trùng với một từ điển đã có)
    3. Transfercopy toàn bộ dữ liệu từ từ điển này sang một từ điển khác (cơ bản là export dữ liệu từ từ điển nguồn, sau đó import vào 1 từ điển đích - chức năng tương tự hai mục tương ứng của BACKUP). Transfer xong thì người dùng có thể xóa từ điển đích đi để hoàn thành quá trình chập hai từ điển thành một.

      1. Nếu người dùng chỉ có một từ điển, tác vụ Transfer sẽ không khả thi và mục này bị ẩn đi.
      2. Nếu người dùng có ít nhất 2 từ điển, hiện list những từ điển có thể chuyển dữ liệu sang (từ điển Đích)
      3. Chọn một từ điển trong list (từ điển đích) và click Transfer. Hệ thống hiện thông báo chờ và thực hiện copy dữ liệu. 
        1. Thông báo lỗi liên quan

        Source dictionary is empty. (từ điển NGUỒN không có dữ liệu để chuyển)
      4. Sau đó hiện thông báo hoàn tất. Cập nhật dòng trạng thái hệ thống về tương ứng nếu nội dung từ điển hiện tại có thay đổi do quá trình Transfer. 
      5. Nguyên tắc copy dữ liệu: copy toàn bộ dữ liệu từ NGUỒN sang ĐÍCH
        1.  Nếu đích và nguồn có trùng concepts: hệ thống chập concept trùng thành 1 và kết hợp linking với Examples và Concepts khác của cả 2. Ví dụ
          1. Concept A của từ điển đích: link với Examples E1, E2, E3 và với Concepts A1, A2 (3 examples & 2 concepts). 
          2. Concept A' của từ điển nguồn: link với Examples F4, F5 và Concepts B3 (2 examples & 1 concept). 
          3. A = A', kết hợp thành Concept A của từ điển đích: link với Examples E1, E2, E3, F4, F5 và Concepts A1, A2, B3 (5 examples & 3 concepts)
        2. Tương tự, nếu đích và nguồn có ví dụ trùng: cũng chập thành 1, và kết hợp linking với Concepts. Ví dụ
          1. Example E của từ điển đích: link với Concepts A1, A2
          2. Example E' của từ điển nguồn: link với Concept B3
          3. E và E' được coi là trùng nếu nội dung, kể cả phần highlighted, giống nhau. Nếu nội dung giống nhưng phần highlighted lại khác: vẫn coi là 2 ví dụ riêng biệt.
          4. E = E', kết hợp thành: Example E của từ điển đích link với Concepts A1, A2, B3.
          5. Khi chập thì giữ nguyên mọi đặc tính khác của E (như tone, register, mode, nuance, notes v.v..) và bỏ qua đặc tính của E'.
        3. Chú ý: Data Recovery của BACKUP là xóa toàn bộ dữ liệu của từ điển đích và ghi đè dữ liệu backup. Còn Transfer của DICTIONARY là kết hợp cả dữ liệu hiện tại của từ điển đích với dữ liệu của từ điển nguồn.
          1. Để an toàn, trước khi TRANSFER, hệ thống tự động tạo một bản copy của từ điển đích (a pre-transfer backup) và gửi vào email cho người dùng. Nếu việc chuyển dữ liệu xảy ra vấn đề, người dùng có thể khôi phục lại trạng thái trước khi chuyển.
    4. Delete: xóa từ điển.
      1. PVO phải có ít nhất một từ điển nên mục này bị ẩn đi nếu người dùng chỉ có một từ điển.
      2. Chương trình kiểm tra và thống kê từ điển muốn xóa đang chứa bao nhiêu Concepts và Examples và cảnh báo dữ liệu đã xóa không thể khôi phục.
      3. Chọn Delete
        1. Hiện thông báo chờ. 
        2. Để an toàn, hệ thống tự động tạo một bản copy của từ điển chuẩn bị xóa (a pre-deletion backup) và gửi vào email cho người dùng. Nếu sau này đổi ý, người dùng có thể dễ dàng khôi phục lại từ điển đã xóa.
        3. Xóa toàn bộ dữ liệu liên quan đến từ điển (Concepts & Examples). Hiện thông báo xóa thành công.

      4. Nếu xóa nhầm, chỉ có cách dùng Data Recovery ở giao diện BACKUP để khôi phục từ dữ liệu đã backup.

    11. Giao diện ACCOUNT

    1. Thay đổi email (dùng để login và nhận backup file)
      1. Nhập email mới 2 lần rồi click Update email
      2. Thông báo lỗi liên quan
        1. Incorrect email format (email nhập vào sai định dạng)
        2. Emails don't match (hai email nhập vào không khớp)
        3. No changes found (Email mới vẫn giống email cũ)
        4. Email already used for another account (email thay đổi đã dùng cho một account khác)
        5. Nếu ô email trống, nút Update email sẽ bị disabled.
      3. Chương trình tạo ngẫu nhiên một activation code 6 chữ số và gửi đến email vừa cập nhật.
         
      4. Hiện cửa sổ yêu cầu người dùng nhập activation code để xác nhận email mới là hợp lệ.
         

        1. Nếu người dùng thất bại trong việc nhập activation code để xác nhận email mới, không có thay đổi nào được thực hiện.


      5. Lưu ý: khác với Register (người dùng có thể đăng ký rồi activate account sau vài ngày), Email Update đòi hỏi email mới phải được verified tức thì để thay đổi có thể thực hiện luôn. Sau khi activation code được nhập đúng mới thực sự cập nhật email và tự động thoát khỏi chương trình. Người dùng cần đăng nhập lại để thay đổi có hiệu lực.

    2. Thay đổi mật khẩu


      1. Nhập mật khẩu hiện tại và mật khẩu mới 2 lần rồi click Update password
      2. Thông báo lỗi liên quan
        1. Incorrect current password (mật khẩu hiện tại không đúng)
        2. New passwords don't match (hai mật khẩu nhập mới không khớp)
        3. No changes found (Mật khẩu mới vẫn giống cũ)
        4. Nếu ô password trống, nút Update password sẽ bị disabled.
      3. Nếu không có lỗi, hiện thông báo mật khẩu cập nhật thành công và tự động thoát khỏi chương trình. Người dùng cần đăng nhập lại để thay đổi có hiệu lực.

      4. Hiện tại không có yêu cầu gì về độ dài ngắn và format của mật khẩu. Chỉ không được phép dùng mật khẩu trống.
    12. Giao diện LOG OUT

    Click Log Out để thoát chương trình. PVO tự động re-direct về địa chỉ https://www.facebook.com/vuclass

    Comments

    Popular posts from this blog

    Class FAQ

    Lịch đăng ký và khai giảng lớp mới

    Chương trình học