Add custom input fields to Quickr for Domino native forms
This article provides a solution on adding custom input fields to Quickr for Domino native forms, such as Event, Post, Page, Task and so on, these fields work exactly the same as native fields, all data user entered in the form will be saved in a single document.
IBM Lotus Quickr is Web-based team collaboration software, it provides powerful functions to make team work more closely and efficiently, further more its well designed infrastructure makes the customization more easily, and users can extend the application conveniently to meet their particular requirements without having to involve technical experts.
Lotus Quickr 8 has two editions:
l Lotus Quickr for IBM Lotus® Domino®
l Lotus Quickr for IBM WebSphere® Portal®.
This article will focus on Lotus Quickr for IBM Lotus® Domino®, all the reference of Quickr below should indicate this edition.
Quickr is built upon Domino server, all user data, design elements and web page components reside in Domino databases. Quickr makes good use of them and organizes them as an integrated application. This article will guide you to customize Quickr for Domino native form, add custom input field on it and finally save the data to database. The idea of this topic is just from several requirements of Quickr users.
Extending Quickr native form is a common requirement from users. Although Quickr has already provided several form types, such as Event, Post, Page, Task and so on, users are still looking for an extendable way to embed their specific fields in these forms to keep their business data.
According to this requirement, we provide a solution to add a custom field to a Quickr native form, and after user inputs value in this field and submits the form, the value will be saved into the same document with other inputted values.
This solution will not update any existed web components and no need to add any script. What’s more, the custom field works as a native field and has the same appearance with others.
Page is the most common form type in Quickr, it includes 4 native fields: Title, Contents, Attachments and Email Notification. One scenario is adding a custom field to the Page form to keep the category information, which will be used to classify documents. Following paragraph will guide you how to implement it step by step.
To get the most out of this article, you should have the following:
l Skills of Lotus Domino application development
l To be familiar with Lotus Quickr for Domino customization
1. Open MeetingRoom.ntf via Domino Designer
2. Open "QDK_h_Field" form
3. Add an editable field "h_NotesFieldDefinition" at the bottom of the form. Save the changes.
4. Open "h_QDK" view, and preview it in Notes.
5. Select the document whose h_Type is "h_Field", Title is "Calendar information" and h_SystemName is "h_CalendarControl"
6. Press Ctrl+C, then Ctrl+V to create a copy of that document
7. Open the new created document (This document can be distinguished from the original one by h_Modified field), and update the fields like this:
8. Save the changes and close all opened documents and close Notes client and Designer.
9. Start Quickr server and create a new place.
10. Open that place, select Calendar, and click "New Event" button, the customizing field will be displayed at the bottom of the page.
11. Input some information and click "Check In" button, data will be saved successfully.
12. Open that new created event, you can find the information you inputted there.
Add a drop down list field
1. In step3 above, add two extra fields in "QDK_h_Field" form, like this:
h_FieldAvailableChoices - An editable "Dialog list" field to keep the choices, make sure the "Allow multiple values" setting of this field is checked.
h_FieldDefaultValue - An editable "Text" field to keep the default choice.
2. In step7 above, update the fields like this: (Attention: the values in h_FieldAvailableChoices field should be separated by comma)
The result looks like:
1. In step3 above, add one extra field in "QDK_h_Field" form named "h_FieldDefaultValue":
h_FieldDefaultValue - An editable "Text" field to keep the html string.
2. In step7 above, input the following string as the value of "h_FieldDefaultValue" field.
3. Put your js file named "yourfile.js" under "[Domino]\data\domino\html\qphtml\html\custom\"
l Refer to the IBM Lotus Quickr Information Center.l Refer to the IBM Lotus Quickr wiki.