Home > Design application > Form trong một ứng dụng domino!

Form trong một ứng dụng domino!

Form, giống như page,  là một thành phần để hiển thị thông tin. Mọi thứ mà bạn có thể làm với page đều có thể làm với form (Domino designer help: Lotus Domino Designer Basic User Guide and Reference > Application Design > Designing forms).

Xong cái quan trọng làm cho form thường được sử dụng đó là khả năng làm việc với dữ liệu. Đặc điểm này làm cho form thường được dùng hơn page. Ngoài ra, form cung cấp một cấu trúc để hiển thị các document. khi người dùng lưu lại dữ liệu trên một form, dữ liệu sẽ được lưu lại vào database dưới dạng một document, và khi người dùng mở một document, domino sẽ tìm form tương ứng để hiển thị thông tin trên document đó. Domino làm dựa vào field “Form” của  document để tìm ra form tương ứng để hiển thị thông tin.

Các thuộc tính thường dùng của form:

  1. Phần infor
    Name: Tên của form (:D), có dạng Name|AliasComment: ghi chúType: có 3 loại

    • Document: Dữ liệu trên form được lưu lại thành một document bình thường
    • Responses: Đánh đấu document sau khi lưu là một responses, một responses là một document “con” có quan hệ với một document cha khác. khi gọi lệnh @Command([Compose]; “Form1”) từ một document có UNID là: xxx…., trong đó form1 được đánh dấu là response thì Domino sẽ tự gọi đường dẫn Form1?OpenForm&ParentUNID=xxx….. và khi lưu lại form thì document được tạo sẽ có quan hệ con với document cha xxx….
    • Responses: Đánh dấu document sau khi lưu là một ressponses, cha của nó là một responses

    @chat: Các bạn có thể thấy ngay cấu trúc này sử dụng để tạo một cấu trúc dữ liệu dạng thread thì thật là thuận tiện và nhanh. mình đã từ viết một phần của phần mềm có dạng thead của một diễn đàn, rất nhanh và gọn gàng….

  2. Phần default:
    • On Create: có 2 thuộc tính cho phép bạn chỉ định phương thức kế thừa của document từ document cha
    • On Open: có 3 thuộc tính, 1 là có tự động mở document dạng edit mode hay không, 2 là Hiển thị context panel (cái này mình cũng chưa dùng bao giờ ==!), 3 là sử dụng xpage để hiển thị.
    • On Web Access: các thuộc tính khi hiển thị trên web, sử dụng xpage để hiển thị thay thế, content-type, character set
  3. Phần sercurity: cho phép bạn lựa chọn các tùy chọn bảo mật, cho phép người/nhóm người được hiển thị form, được tạo document v.v.. hay co phép public user (Anonymous Access).

Các thuộc tính khác của form (HTML):

Ở trên là các thuộc tính của form được quản lý bởi server, còn đây là các thuộc tính của form khi hiển thị trên browser.

Tên thuộc tính HTML tương ứng Nội dung
Window title <Title> Tiêu đề của sổ
HTML head content Bạn có thể chen nội dung giữa thẻ <Head> vào đây, như khai báo các file style, script v.v…
HTML body Attribute Thuộc tính của thẻ body Các thuộc tính của thẻ body
WebQueryOpen
JS header Các đoạn code javascript trong khu vực header, đây là nơi để bạn khai báo các đoạn code javascript dùng trong form, tât nhiên bạn cũng có thể viêt các đoạn code javascript trong body của form
OnLoad, OnUnload, OnClick…. Event onload, onUnload, onClick…. của thẻ body

@Chat: Mình đã gặp trương hợp mang code nguyên một trang HTML vào body của form rồi, cái này là sai hoàn toàn, các bạn nên view source được server domino response lại trên browser xem có đúng không trong quá trình làm để tránh sai sót. Có thể với một số browser thì nó tự validate lại code trước khi hiển thị, nhưng trong một số trường hợp như sử dụng một framework javascript bên ngoài thì các bạn không thể chắc chắn rằng nó sẽ chạy đúng phải không?

Text Properties:

Pass-Thru HTML (Menu: Text > Pass-Thu HTML): chuyển một đoạn text bình thường thành một đoạn HTML, đoạn text bình thướng sau khi được chuyển thành HTML sẽ được browser đối xử như là một đoạn HTML.

Ví dụ:

Trong ví dụ trên ta thấy dòng thứ nhất là một dòng text bình thương, khi hiển thị trên browser nó sẽ hiện format giống như ta thiết kế trên form, còn dòng text thứ 2 đã chuyển qua dạng HTML, thì khi hiển thị trên browser tất cả các format trên design sẽ mất hết, thay vào đó, sẽ được đối xử như các đoạn code HTML bình thường

Các thuộc tính của text trên một form ngoài việc format text (căn chỉnh, xanh đỏ tím vàng v.v…) ra có một phần khá thú vị (theo ý kiến chủ quan của mình) đó là “Paragraph hide when” , nôm na là đoạn text bị ẩn đi khi nào.

Ở đây ta thấy, một đoạn code có thể bị ẩn khi:

  • Tùy vào môi trường hiển thị: Lotus Notes, mobile, hay web.
  • Ẩn khi document đang ở trạng thái đọc, hay trạng thái hiệu chỉnh.
  • Ẩn khi một điều kiện “được tính toán”, ta có thể ẩn một nút lệnh khi người dùng không có một quyền (roles) nào đó, hoặc không thuộc một nhóm nào đó, đoạn text có thể ẩn khi một trường A có giá trị là X v.v….

Mình sẽ có bài viết về các thành phần trên một form, lúc đó mình sẽ có một ví dụ tổng hợp của cả bài đấy và bài này.

@Chat: Đến đây các bạn có thể thấy rằng Domino cung cấp một môi trường thiết kế khá tốt nhỉ???

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: