Wiki source code of Copy of New Form Builder

Version 4.1 by rijo on 2022/08/22 15:57

Hide last authors
rijo 1.1 1
2 The Forms tool allows you to create, edit, delete, and manage forms and questions. Creating a form is as simple as defining basic form information, choosing which questions/fields will be included on the form, selecting which products and/or packages, designing the look and feel, and dragging in questions and other elements onto the Form’s webpage using an easy to use WYSIWYG editor. When a user completes and submits a form, all of the demographic and transaction information from the form is saved in the ONEcount database.
3
4 \\
5
6 \\
7
8 When a user completes and submits a form, all of the information gathered from the form is entered into the ONEcount database. Plan forms carefully to ensure that you include questions and possible responses that will provide you with all the data you wish to collect from subscribers/purchasers.
9
10 \\
11
12 \\
13
14 **Questions are shared among ALL forms, so any changes made to question type, text, responses, alias, report header (See Question Builder - Create and Manage Questions for more detail) will change ALL forms, not just the form you are working on. Deleting a question will remove that question from ALL forms as well. **
15 **Changes made to form information, form layout, order of questions, and optional validations will NOT universally change forms – these changes will be applied only to the form you are working on.**
16
17 \\
18
19 Form-related tasks include:
20
21 * creating database fields/questions available for placement in online forms; (See __[[Questions - Create and Manage Questions>>url:http://docs.onecount.net:8090/display/OD/Questions+-+Create+and+Manage+Questions||shape="rect"]]__ for more detail.)
22 * creating new forms;
23 * managing existing forms;
24 * creating source codes that are used to track the source of a name/transaction;
25 * and creating individually branded, designed forms.
26
27 \\
28
29 The first task listed above – creating questions is accomplished using the Question Builder tool. The next two tasks – creating new forms and managing existing forms – are carried out using the Form Builder tool under INVENTORY. Creating source codes is handled under __[[Source Codes>>url:http://docs.onecount.net:8090/display/OD/Source+Codes+-+How+to+Create+and+Manage+Source+Codes||shape="rect"]]__ and creating branded forms is handled under __[[Brands>>url:http://docs.onecount.net:8090/display/OD/Brand+-+How+to+Create+and+Manage+Brands||shape="rect"]]__. All of these tools are found under INVENTORY.
30
31 [[image:attach:Form-builder-nav.png||height="250"]]
32
33 \\
34
35 __PHASE A: Defining the Form__
36
37 __[[image:attach:FormDefinitionAug22.png||height="250"]]__
38
39 \\
40
41 1. Required: Give your Form a title. You will have an option to use this title when designing the form in Phase D. If you want to use a different title when designing the form you may do so by using a custom “text section” content block when designing the form.[[image:attach:FB Title.png||height="250"]]
42 1. Give your Form a description. You will have an option to use this title when designing the form in Phase D. If you want to use a different title when designing the form you may do so by using a custom “text” content block when designing the form.
43 1. Required: Assign a source code to a Form. To add or change existing source codes, go to the source code manager in the inventory tab of the navigation bar at the top. If you do not have a source code for this form then use a generic source code.
rijo 4.1 44 1. If choosing popup as the 'Form Type', for best viewing experiences, please ensure that the minimum width and height used are 350-400.
rijo 1.1 45 1. OPTIONAL: If you want to direct users to a specific page after submitting the form, then place the url into the "Thank you page URL" field.
46 1. Select a submission option ~*~*~*~*~*~*~*~*~*~**
47 1. Show only relevant products ~*~*~*~*~*~*~*~**
48 1. Enter the text/message to be displayed if an email already exists.
rijo 3.1 49 1. Body markers that may be used in the text are as follows:
50 %%TEXT%% – will link to Sign in page%%
51 ~#~#TEXT - will be linked to Password Reset page~#~#
52 1. STATUS: Activate the Form for user access or disable the form.
rijo 1.1 53
54 \\
55
56 \\
57
58 PHASE B: Adding Demographic Questions.
59
rijo 3.1 60 [[image:attach:AddingDemoQuesAuf22.png||height="400"]]
rijo 1.1 61
62 \\
63
64 1. Start by adding your first demographic question. In the first dropdown box all ONEcount questions that are in your question inventory will appear in the dropdown menu list.  You may also type the question name or number into the dropdown box to find a question to add.
65 1. VALIDATIONS: If needed, select validation(s) to require a specific format for responses to this question. Validations include alphanumeric, date, email, or is a required field. In email match (email address matches the email in the “email” question/field), or is a number. Multiple validations can be added to each question.
66 1. AUTO POPULATE: You may choose to have fields auto populated for identified users by setting the auto populate switch to yes.
67 1. To add additional questions, click the “Add” button in the top right hand corner.
68 1. To remove a question click the “X” at the end of the respective row.
69
70 \\
71
72 PHASE C: Add Products and Packages.
73
rijo 3.1 74 [[image:attach:form-builder-products-Aug22.png||height="400"]]
rijo 1.1 75
76 In this phase, you can add a single product or package, or a combination of multiple products and packages.
77
78 **PRODUCTS: **Add a single product resource, like a e-newsletter, webinar, whitepaper or single issue magazine purchase. Optional: to have a product automatically selected, choose which option to have selected using the “Pre-Selection” dropdown.
79
80 **~ **
81
82 1. Choose a template for how you want product options displayed. Examples of template types are in the images below. ~*~*~*~*~*~*~*~*
83 1. Select the first product you would like to include on the form. All the products created within ONEcount will appear in the product drop down. To search for a specific product, you can type the product name or ID number into the field.
84 1. Preselection ~*~*~*~*~*~*~*~*
85 1. To add additional products- click the add product button in the right hand corner.
86 1. To remove a product, click an X
87
88 \\
89
90 **PACKAGES:** Add a group of products, like a digital and print subscription, multiple issue magazine subscription, a magazine subscription and e-newsletter, digital access or other bundled resources with a term duration (expiration date) or access limit. Optional: to have a package automatically selected, choose which option to have selected using the “Pre-Selection” dropdown.
91
92 1. Choose a template for how you want Package options displayed. Examples of template types are in the images below. ~*~*~*~*~*~*~*~*
93 1. Select the first package you would like to include on the form. All the packages created within ONEcount will appear in the product drop down. To search for a specific product, you can type the package name or ID number into the field.
94 1. Preselection ~*~*~*~*~*~*~*~* Term/Type
95 1. To add additional packages- click the add product button in the right hand corner.
96 1. To remove a package, click the X
97
98 \\
99
100 **Pre-selection of Products and Packages with query string **
101
102 In order to preselect the terms via the query string, a comma-separated value of term ids can be passed as a query string on parameter name "terms". The respective packages for the given term ids should be present on the created form. The term ids can be appended on the URL as:
103 \\&terms=991,1002
104 \\Similarly, to preselect the products via the query string, a comma-separated value of product ids can be passed as well on parameter name "prods". The given product id should be present on the created form. The product ids can be appended on the URL as:
105
106 &prods=10001,20001
107
108 \\
109
110 \\
111
112 PHASE D: Designing the Form
113
114 [[image:attach:Editori-main-menu copy.png||height="250"]]
115
116 Use the editor to customize the look and feel of your form webpage. To add page and form elements, drag the element(s) from the menu on the right to where you want them to appear. Sections of the Elements menu can be collapsed for ease of use to drag in content blocks that are located lower in the menu.
117
118 \\
119
120 To create additional content areas, start by adding a “Grid Template” from the Elements menu.
121
122 [[image:attach:FB Grid Template.png||height="250"]]
123
124 \\
125
126 ELEMENTS MENU
127
128 \\
129
130 To add elements, like titles, text blocks, images/logos, products/packages, or questions/fields use the Elements menu (image).
131
132 1. Begin creating a layout by first adding **Grid Templates. **First add One Column Grid Templates to define the basic layout. For multiple columns, add a one column Grid Template before dragging 2 or 3 column Grid Templates into the form.
133 1. To add a Title and Description, drag in the “Title” or “Description” content blocks from the “Form Info” section of the Elements menu. The “Title and Description” will be what you have entered during Phase 1, Form Definition.
134 11. To create a custom heading or text block, add a “Text” or “Text Section” from the list of products near the lower part of the Elements menu.
135 11. To add Products/Packages drag in the Product or Package from the Elements menu on the right. The layout of Products or Packages will be based on what Template Type you selected during Phase 3, Add Products & Packages.
136 11. Adding Images, first drag the image icon from the Elements Menu and place it where you want an image to be placed.
137 111. A pop-up window will open with a library of images already added.
138 111. To add a new image, click the left-hand side of the image pop-up window. Using the folder browser, choose an image from your files that you would like to upload.
139 111. After uploading an image file, select the image from the image library list on the right hand side.
140 111. After selecting your image, click the “X” button to close the image library. Your image will be placed in the image content block.
141 111. To add Questions/Fields drag the questions you have selected during Phase 2, “Add Demographics”, from the “Demographics” section of the Elements menu.
142 1111. It is recommended to place each Question in individual Grid Templates (single or multiple column).
143 1111. To add additional questions, return to Phase 2 “Add Demographics”.
144
145 \\
146
147 TEMPLATES MENU
148
rijo 3.1 149 [[image:attach:TEMPLATES menu Aug22.png||thumbnail="true" height="250"]]
150
rijo 4.1 151 To use a template, drag-n-drop the preferred template from the right-hand panel to the canvas.  The various types of templates include:
rijo 3.1 152
153 1. Three-column with graphic
154 1. Two-column with graphic
155 1. One column/graphic on top
156 1. One-column graphic click-through
157
158 The Demographic components and other features can be added to the forms per the designated space provided in the chosen template.
159
rijo 4.1 160 The templates are designed to be responsive, that is moldable to the various screen-sizes.  These can be used for either 'Forms' or 'popups.'
rijo 3.1 161
rijo 4.1 162 Please Note: For ease of use, please ensure the canvas is empty before the drag-n-drop.
rijo 3.1 163
rijo 1.1 164 \\
165
166 STYLE MENU
167
168 To customize the design or CSS styles like dimensions, typography and colors use the CSS editor ().
169
170 [[image:attach:object-tools.png||height="250"]]
171
172 1. First, select which element you would like to modify. Elements can be designed at the Grid Template, Content Block, Product/Package, or Question level. Then click on the paint-brush tool on the upper-right nav bar of the form builder.
173 1. Elements sharing common “classes” will be globally changed when edited. To edit the appearance of just a single content block either remove classes or select the element individually.
174 1. DIMENSION: Edit the margin and padding size of content blocks or Grid Templates. Adjustments can be made by using either pixel or percentage.
175 11. Click on the “px” or “%” to switch units.
176 11. TYPOGRAPHY: Edit fonts, font sizing, font color, alignment, and other typographical styling.
177 11. DECORATIONS: Edit background colors, borders of content blocks or individual elements.
178 111. Make sure the Opacity Slider is set above 10% for color edits to be visible. It is recommended to move the Opacity Slider all the way to the right.
179
180 \\
181
182 To alter the text of a button (like a submit, etc) select the button and click on the gear icon on the upper-right:
183
184 [[image:attach:editor-object-settings.png||height="250"]]
185
186 \\
187
188 To preview, click the Preview link at the top.
189
190 Elements Menu: (add the four square image). The Component Manager
191
192 ADDING LINKS TO FORMS
193
194 1. Select the text that you would like to hyperlink. Then click the hyperlink button () that appears last on the black edit bar.
195 1. Next, deselect the content block.
196 1. Now, click the linked text.
197 1. Open the component settings by clicking the gear icon at the top. ()
198 1. Paste or type the url destination for the link into the “Href” field. You may also add a title and specify a target for the link.
199
rijo 3.1 200 \\
201
rijo 4.1 202 PHASE E: EMAIL CONFIRMATION
rijo 3.1 203
204 The Email Confirmation tab is used to fill out details of the confirmation email.
205
206 [[image:attach:EmailConfirmationTab.png||height="250"]]
207
208 1. **Email Confirmation (Yes/No) **is where you select whether a confirmation email will be sent upon subscription to/registration for any products listed on the form.
209 11. **a.     Enter Acknowledgement Email Information. (See Items b-c below.)**
210 11. This is where you can create customized acknowledgement emails specific to the form/product attached to the form. Creating these customized emails is optional, as default acknowledgement emails not specific to any form and/or product are configured in the Configuration Manager.
211 11. Enter the subject of the email in "New Thank You Email Subject" field.
212 Enter the content of the email in "New Thank You Email" field. 
213 Body markers that may be used in the text are as follows:
214 %%USERNAME%% – will replace the body marker %%USERNAME%% with the subscriber's username.
215 %%PASSWORD%% – will replace the body marker %%PASSWORD%% with the subscriber's password.
216 %%ONECOUNTID%% – will replace the body marker %%ONECOUNTID%% with the subscribers account number/ONEcount ID.
217 %%RECEIPTDISPLAY%% – will replace the body marker %%RECEIPTDISPLAY%% with a receipt for purchase amount, if any.
218 11. Enter the content of the email in the "Update Thank You Email" field.
219 Enter the subject of the email in the "Update Thank You Email Subject" field.
220 Enter the email address for BCC in the "Email Confirmation BCC" field.
221
222 \\
223
rijo 4.1 224 PHASE F: DESIGNING THANK YOU PAGE
rijo 3.1 225
rijo 4.1 226 The 'ThankYou Page Design' tab helps in designing a thank you page after form has been submitted.
227
228 [[image:attach:TYPageDesign-Aug22.png||height="400"]]
229
230 Up to four templates, that are drag-n-droppable, are provided in the right-hand panel.  These can be further customized using the components from the form builder, such as the Submit button, Captcha, Demographics components, and such.
231
232 So, we now have three ways for designating a Thank you page:
233
234 1. Provide a URL in the 'Thank you Page URL' field found in the 'Form Definition' tab.  This has priority over the following two steps (2. and 3.)
235 1. Choose a preferred template from the 'Thank you Page Design' tab.  If step 1. is not provided, step 2. takes priority, if provided.
236 1. Using the default Thank you page.  This comes into play if steps 1. and 2. are left blank.  This is also what will be used for the older forms (that did not have the Thank You Page Design feature).
237 1. The older forms that did not have the 'Thank you Page Design' feature, will now include this feature so that the thank you are now customizable
238
239 The templates provided in the 'Thank you page Design' tab are responsive.
240
241 The default Thank you page looks as shown below:
242
243 [[image:attach:DefaultTY-Aug22.png||height="250"]]
244
245 The default values in the Thank you page are populated from the Config Manager.
246
247 \\
248
249 \\
250
rijo 1.1 251 TO DUPLICATE A FORM
252
253 1. From the “Manage Forms” page click the copy icon at the end of the row for the form you wish to copy. ()
254
255 \\
256
257 TO EDIT A FORM
258
259 \\
260
261 1. Click the Pencil Icon () towards the end of the row of the Form that you wish to edit. ()
262
263 DELETING A FORM
264
265 1. Click on the Trash Icon () towards the end of the row of the Form that you wish to delete. ()
266
267 \\
268
269 **~ **
270
271 (% style="margin-left: 0.0px;" %)
272 (((
273 (% class="pagetitle with-breadcrumbs" %)
274 (((
275 (% class="with-breadcrumbs" %)
276 = New Form Builder Notes: =
277 )))
278 )))
279
280 (% class="page view" %)
281 (((
282 (% class="wiki-content" %)
283 (((
284 == Along with customization and new product templates it does: ==
285
286 * Registration
287 * Subscription, Unsub and Renew
288 * Login, Lookup
289 * Progressive lookup
290 * Smartlink login
291 * Redirect to landing and sending email after form submission
292 * Payment
293 )))
294 )))
295
296 = CREATE LANDING PAGE FOR FORM: =
297
298 To create landing page for form, select template type as Landing Page in form-builder Add Product & Package tab as shown in image below:
299
300 [[image:attach:image2020-10-9_14-8-52.png||height="250"]]
301
302 \\
303
304 After selecting template type as landing page select redirect form from the drop down. Drag and Drop the package or product from blocks to the canvas from design tab. Below is the image of landing page design.
305
306 [[image:attach:image2020-10-9_14-9-30.png||height="250"]]
307
308 \\
309
310 The images on the design is from the URL present to that package or product as shown in image below.
311
312 [[image:attach:image2020-10-9_14-9-51.png||height="250"]]
313
314 \\
315
316 = ADDING BRAND HEADER AND FOOTER TO FORMS: =
317
318 There are two ways to add brand header and footer to form builder forms.
319
320 * You can add brand id at the end of Form URL to automatically apply brand header and footer for the form.
321
322 Ex: [[https:~~/~~/client.onecount.net/>>url:https://client.onecount.net/||shape="rect"]] /onecount/form/display.php?id=53464b88-c391-479f-82cf-e1cd19a870cd&brand=brandid
323
324 * By selecting a brand from the dropdown present in tab definition tab.
325
326 \\
327
328 Once brand is selected you can drag brand header and footer from design tab and edit them. Editing brand header and footer gives flexibility to remove or change design or text for the particular form.
329
330 \\
331
332 = CREATING POPUPS USING FORM BUILDER: =
333
334 These popups are used in action manager for targeting and for gating products. Below are the steps to create form which behaves as popup.
335
336 * Select the type of form from the dropdown in Form Definition tab.
337 * If form type is popup then popup config fields are displayed. Below are the fields which define behavior of popup.
338 ** Popup Width - It define width of a popup.
339 ** Popup Height – It define height of a popup.
340 ** Popup Horizontal Position - It define the horizontal position of popup on screen.
341 ** Popup Vertical Position – It define the vertical position of popup on screen.
342 ** Popup Slide Position – It define from which side popup should slide before appearing on position.
343 ** Popup Delay – It define how much time popup should take to appear on screen.
344
345 ===== Prerequisite: As these forms appear as popup on the client site, you will need to add a CNAME record in your domain's DNS so that the pop-up and form code can be loaded from our servers into your domain. So if your domain is abc.com, you will need to add a CNAME record mapping oc.abc.com to <client>-[[reg.onecount.net>>url:http://reg.onecount.net||shape="rect"]]. Then this is done, any request going to oc.abc.com will actually to go your registration server at <client>-reg.onecount.net for loading the pop-up code and setting cookies. =====
346
347 ===== ·      Popup setup for gating: Once popup is created you need to create the Packages/Products for gated content. While creating the Package/product you need to select “Form” as “Primary Form or Landing Url” option. Then select the popup form created in the previous step. A text box will be displayed as below =====
348
349 ===== You can use this to ensure CNAME set up is done correctly. This box will be auto filled with <client>-[[reg.onecount.net>>url:http://reg.onecount.net||shape="rect"]] but If you need to gate a page or section on site [[abc.com>>url:http://abc.com||shape="rect"]] then enter oc.[[abc.com>>url:http://abc.com||shape="rect"]] in text box (because popup will appear on [[abc.com>>url:http://abc.com||shape="rect"]], This step is just for CNAME setup validation). If CNAME setup is not done, then it will throw warning while saving Product/Package. Also, the pop-up won't work on your site. =====
350
351 ===== ·      Popup setup for targeting: Once popup is created you need to create the action in action manager. While creating the action manager select popup form created. If popup should appear on site [[abc.com>>url:http://abc.com||shape="rect"]] then enter oc.[[abc.com>>url:http://abc.com||shape="rect"]] in Target Domain. We will check if CNAME set up is done correctly, if not error will be warning. =====
352
353 **Extra Scripts/Extra Styles:
354 **These boxes allow you to add additional Javascript code or CSS to your forms to alter the appearance or function of the form.
355
356 [[image:attach:image2020-10-9_14-10-26.png||height="250"]]
357
358 \\
359
360 One use for these boxes is to add Javascript code to your form that will change the questions and/or question responses based on a user’s response to a question on the form.
361
362 **Code for altering responses based on select type demographics:**
363
364 \\
365
366 **Example:** If a form contains a question which ask whether the user is a doctor or a patient. If the user selects doctor the demographic fields which are related to doctor will appear (type of specialty, NPI #, medical degree achieved, etc.). Otherwise, demographic fields for a patient will appear on the form. This modifications helps to show user only those demographic fields which are related to their previous answers.
367
368 \\
369
370 **Example Sample Code:**
371
372 \\
373
374 removeInitial = [1043,859,659,683,699,707,723,731,747,771,779,787,795,867,915,739,763,1059,1075,1083,1091,755];
375
376 \\
377
378 var hcpObj = {
379
380 "dropDownId" : 1051,
381
382 "whenSelcectedItem" : [{
383
384 "Yes" : [659],
385
386 "No" : [683],
387
388 }],
389
390 "itemsDisplayWhenSelected" : [659,683,699,707,723,859,731,915,867,747,787,1043,779,771,795,739,763,1059,1075,1083,1091,755]
391
392 };
393
394 document.getElementById("q_id_1051").onchange = function(){autoDropDown(hcpObj)};
395
396 \\
397
398 var hcpNoObj = {
399
400 "dropDownId" : 683,
401
402 "whenSelcectedItem" : [{
403
404 "Patient Role" : [1059,1211],
405
406 }],
407
408 "itemsDisplayWhenSelected" : [659,699,707,723,859,731,915,867,747,787,1043,779,771,795,739,763,1059,1075,1083,1091,755]
409
410 };
411
412 document.getElementById("q_id_683").onchange = function(){autoDropDown(hcpNoObj)};
413
414 \\
415
416 \\
417
418 **Steps:**
419
420 * Initialize removeInitial variable and pass an array of demographics ids which you want to hide when form is loaded.
421 * Create an object with any name and this object should contain 3 elements
422
423 1. dropDownId – You need to pass an id of select type whose action must be taken.
424 1. whenSelectedItem – You need an array of object this will be the response for the each select type from the dropdown. Key will be the response type and value will be the array of demographics id which should appear when this key is selected.
425 1. ItemsDisplayWhenSelected – This is array of demographics id, ids which are hidden before selecting the action for the demographic select type.
426
427 * getElementById("q_id_1051") – 1051 will be the demographics id which will be same as dropDownId.
428 * autoDropDown(hcpNoObj) – autoDropDown() function is called and object which is created above will be passed as a parameter this function implements the response base altering the demographics.
429
430 \\
431
432 **Note:**
433
434 * removeInitial is assigned only once at the beginning of the script.
435 * All the code must be included in form extra script area.
436
437 \\