Using the form designer tool - many questions

researchcooperative
@researchcooperative
10 years ago
694 posts
A documentation video with the above title is shown here: https://www.jamroom.net/the-jamroom-network/documentation/getting-started/1275/using-the-form-designer

BUT... the form designer tool appears at multiple locations in a network, according to which modules are being used. Each location has its own URL (the list below is just for the modules that I am working with).

In each case, when we modify an existing field in a form, or create a new field, we can go to the bottom of the form designer page and (it seems) choose which areas of our network the created or updated form will apply to, namely:

- user categories ('groups' such as master admin, normal user, power user, etc.), and
- quotas (profile categories defined by the modules allocated to them).

Many matters remain unclear to me:

(1) What is the relationship between the create and update form design page - in each module that labels the form design pages in this way?

(2) Should we always work with the Form Designer Create Form, and then tick a box that says "Add To Update Form"?

(3) Is the result different if we make changes in the Update Form and tick the box for "Add to Create Form"? What happens if the Create and Update Forms are not exact mirrors of each other? Are there situations where they should not be mirrors of each other?

(4) The "Add to Update Form" checkbox seems to exist only when the two form panels in a module are "Create" and "Update"? In other modules, this option does not appear when we create a new field in our form. What is the relationship between the alternative form design pages in those modules?

(5) In each module, how do we tell the form to display itself when a user has filled in the form? It seems like these forms are only visible in Admin. mode or to the profile owner when they are being created or filled in. I want all profile owners to have their profile information displayed by default, and visible to any visitor from the internet. When I am logged out, I do not see any profile pages that display the form created with the profile module.

(6) When a new member signs up, how can they create a public profile page that is displayed by default, and that follows the standard format of a form designed and provided by Admin?

I do not want every member designing their own public profile form, or being forced to learn how to use jr code etc., in order to make their profile details public.

(7) Once a particular user's profile has been created with a profile description based on a particular form, will future updates of that form apply to the existing profile? (Keeping all the existing information in so far as the fields for that information have not been deleted).

(8) In the profile module, I can design a form and select "display groups" from the bottom of the Form Designer page, but I cannot see what effect this selection has. Regardless of the groups and quotas selected, and logged in as Admin., I see the same profile form attached to all profiles in all quotas.

If each form is tied to a particular module, and that module is used in multiple quotas, is it actually possible to design a different form for each quota?

(9) Once a particular form design has been applied to a module, and to all the quotas where that module is used, will that design be fixed (unchangeable) in each existing quota, or will it be updated across all existing quotas?

Or to ask the same question in a different way, how can each quota have its own particular set of forms, when it is using modules that are also allocated to other quotas?

(10) Can operation of the form designer tool be explained in every context where it automatically appears after installing all the modules? The only introduction I can find is the example at the top of this page, and this only shows the tool being used for a video module.

The following list shows all the places where I would like to know how to use the form designer tool.

Thanks.


Profile module

/profile/form_designer/m=jrProfile/v=create

/profile/form_designer/m=jrProfile/v=settings


Forum module

/forum/form_designer/m=jrForum/v=create

/forum/form_designer/m=jrForum/v=update


Groups module

/group/form_designer/m=jrGroup/v=create

/group/form_designer/m=jrGroup/v=update


Group Discussion module

/group_discuss/form_designer/m=jrGroupDiscuss/v=create

/group_discuss/form_designer/m=jrGroupDiscuss/v=update


Group Page module

/group_page/form_designer/m=jrGroupPage/v=create

/group_page/form_designer/m=jrGroupPage/v=update


Pages module

/page/form_designer/m=jrPage/v=create

/page/form_designer/m=jrPage/v=update


User module

/user/form_designer/m=jrUser/v=signup

/user/form_designer/m=jrUser/v=account


--
PJ Matthews, Kyoto
Migrated from Ning 2.0. Now at Jamroom 6 beta and using Jamroom Hosting for The Research Cooperative (researchcooperative.org)

updated by @researchcooperative: 05/11/15 05:27:33AM
brian
@brian
10 years ago
10,149 posts
The form designer works the same everywhere - i.e. it is not different on a profile form versus a page designer form. The concept is identical. So instead of going into detail on every page and URL you have listed, I'm going to do my best to help you understand the concept of the form designer.

Quote:
(1) What is the relationship between the create and update form design page - in each module that labels the form design pages in this way?

Most modules have a way to CREATE an item and way to UPDATE an item. For example you create a page - you will do this on the CREATE form. You come back later to modify it and you do that on the UPDATE form. The form designer allows you to have custom form fields on both, or just the create or update form. It is up to you.

Quote:
(2) Should we always work with the Form Designer Create Form, and then tick a box that says "Add To Update Form"?

Do you want the same form field to show on the update form? Then yes.

Quote:
(3) Is the result different if we make changes in the Update Form and tick the box for "Add to Create Form"? What happens if the Create and Update Forms are not exact mirrors of each other? Are there situations where they should not be mirrors of each other?

No - its the same. Usually they will be the same on both forms - i.e. you have a "page category" option on the CREATE form, so you want the same "page category" on the UPDATE form. It is up to you.

Quote:
(4) The "Add to Update Form" checkbox seems to exist only when the two form panels in a module are "Create" and "Update"? In other modules, this option does not appear when we create a new field in our form. What is the relationship between the alternative form design pages in those modules?

If the module has BOTH a create and update form it will show. If it doesn't, it won't show.

Quote:
(5) In each module, how do we tell the form to display itself when a user has filled in the form? It seems like these forms are only visible in Admin. mode or to the profile owner when they are being created or filled in. I want all profile owners to have their profile information displayed by default, and visible to any visitor from the internet. When I am logged out, I do not see any profile pages that display the form created with the profile module.

Visitor to your site cannot modify your information (say a page you created in page creator). When adding a custom form field to a form you can choose who you want it to be displayed to in the groups field. It's important to understand that form designer is just for the form - it does not control what data is DISPLAYED on a item detail page - that is controlled by the skin and templates.

Quote:
(6) When a new member signs up, how can they create a public profile page that is displayed by default, and that follows the standard format of a form designed and provided by Admin?

This is how Jamroom works "out of the box" - you don't need to don anything. Make sure Signups are turned on in ACP -> Users -> User Accounts.

Quote:
(7) Once a particular user's profile has been created with a profile description based on a particular form, will future updates of that form apply to the existing profile? (Keeping all the existing information in so far as the fields for that information have not been deleted).

yes.

Quote:
(8) In the profile module, I can design a form and select "display groups" from the bottom of the Form Designer page, but I cannot see what effect this selection has. Regardless of the groups and quotas selected, and logged in as Admin., I see the same profile form attached to all profiles in all quotas.

This decides who the form field will show to. If you set it to admin, that form field will only show to ADMIN users when they are viewing that form.

Quote:
(9) Once a particular form design has been applied to a module, and to all the quotas where that module is used, will that design be fixed (unchangeable) in each existing quota, or will it be updated across all existing quotas?

It's dynamic - it will update if you change it.

Quote:
(10) Can operation of the form designer tool be explained in every context where it automatically appears after installing all the modules? The only introduction I can find is the example at the top of this page, and this only shows the tool being used for a video module.

Like I said at the very top - the form designer works the exact same everywhere. You use it to add custom form fields to existing CREATE and UPDATE forms. For example, let's say when modifying a Page Creator page in your system you want a new field for holding the page background color, but you want only MASTER ADMINS to be able to set it - you:

- go to a page in your system and click on the GEAR icon to modify it
- click the FORM DESIGNER button
- add a new field called "page_background_color" - do NOT check the "add to create form" (since we want it to be on our update page only)
- save

- in the FORM FIELD editor:
- in "label" type "page background color"
- in "sub label" leave it empty
- in "help" type "this will be the page background color"
- in "type" select "text"
- in "display groups" select ONLY "master admins"
- put a checkmark in ACTIVE and save

Now when you view the UPDATE form for a page you will see your new field. ONLY YOU will see it (as master admin) - other users will not see that form field when viewing the UPDATE form.

Let me know if that helps.


--
Brian Johnson
Founder and Lead Developer - Jamroom
https://www.jamroom.net
researchcooperative
@researchcooperative
10 years ago
694 posts
Quote:
(5) In each module, how do we tell the form to display itself when a user has filled in the form? It seems like these forms are only visible in Admin. mode or to the profile owner when they are being created or filled in. I want all profile owners to have their profile information displayed by default, and visible to any visitor from the internet. When I am logged out, I do not see any profile pages that display the form created with the profile module.

Visitor to your site cannot modify your information (say a page you created in page creator). When adding a custom form field to a form you can choose who you want it to be displayed to in the groups field. It's important to understand that form designer is just for the form - it does not control what data is DISPLAYED on a item detail page - that is controlled by the skin and templates.

I don't want non-member visitors to modify information displayed, I just want them to see it. How exactly do I control where the form data is displayed for public view? I understand now that this will involve templates listed in the ACP for each module, but tampering with those (and knowing which ones to tamper with) seems to quickly get complicated.

The example shown in Documentation (using video genres) jumps into this process without any preamble to explain what is happening and why.


Quote:
(9) Once a particular form design has been applied to a module, and to all the quotas where that module is used, will that design be fixed (unchangeable) in each existing quota, or will it be updated across all existing quotas?

It's dynamic - it will update if you change it.

Does this mean that there can be only one form design per module, and all quotas must use that one design? This is awkward, because the modules are being used for different purposes in different quotas.

To have a different profile form, for example, for profiles in different quotas, do we need to clone the profile module in its entirety, and then assign each cloned module with its distinct profile form to each quota?


Thanks again.


--
PJ Matthews, Kyoto
Migrated from Ning 2.0. Now at Jamroom 6 beta and using Jamroom Hosting for The Research Cooperative (researchcooperative.org)

updated by @researchcooperative: 04/04/15 05:55:25PM
michael
@michael
10 years ago
7,788 posts
Quote: ....it does not control what data is DISPLAYED on a item detail page - that is controlled by the skin and templates.

I don't want non-member visitors to modify information displayed, I just want them to see it. How exactly do I control where the form data is displayed for public view? ....

That's correct. Forms put data INTO the datastore, templates get data OUT of the datastore.

If you don't want certain users to see certain stuff, then you can use checks in the template that is displaying the information.

The $_user variable is available in all templates and contains information about the user looking at the screen. so checking their information can allow you to control which users see what.

There are functions to do that too, like {if jrUser_is_logged_in()}
{if $_user.profile_quota_id == 3}
 show this only to users whos profile_quota_id is 3
{/if}

There is a list of some of the common variables on the debug page:
"{debug}"
https://www.jamroom.net/the-jamroom-network/documentation/development/1477/debug

Quote:
$_conf = configured variables in the system
$_user = user looking at the screen
$_profile = the profile info of the profile being viewed
$_post = stuff coming in from outside the page
$_items = all the stuff asked for via jrCore_list


Quote: .....
Does this mean that there can be only one form design per module, and all quotas must use that one design? This is awkward, because the modules are being used for different purposes in different quotas.

To have a different profile form, for example, for profiles in different quotas, do we need to clone the profile module in its entirety, and then assign each cloned module with its distinct profile form to each quota?....

The Form Designer allows you to select which quotas each field shows to. Look for the "Display Groups" section of the field you are interested in. You can ctrl+click on many groups to select multiple groups.

You don't need to (can't) clone the profile module. I would suggest that using the Aparna module to create a new module for each of the different types of things that you're trying to do is better than trying to get one module to do many different things simultaneously.

https://www.jamroom.net/the-jamroom-network/documentation/modules/853/jraparna

As for:
Quote: The example shown in Documentation (using video genres) jumps into this process without any preamble to explain what is happening and why.
sometimes a level of knowledge is expected, detailing more advanced features while also covering the basics makes it difficult to understand for both levels.
Suggest you try the courses:
https://www.udemy.com/start-your-own-online-community
https://www.udemy.com/developers-guide-to-customizing-jamroom

Or if there is a specific question, then fire away :)
updated by @michael: 04/06/15 12:46:55AM
researchcooperative
@researchcooperative
10 years ago
694 posts
Thanks,

I wonder if (eventually) the JR forms and templates could be automatically linked, so that setting up a form simultaneously sets up the display, on the assumption that most forms are designed with display in mind.

Display could be the default option, with options then added to not display (if the form is not wanted for display purposes) and to control the manner of display.

That's a product suggestion I suppose, so no need to reply here...

Cheers, P.


--
PJ Matthews, Kyoto
Migrated from Ning 2.0. Now at Jamroom 6 beta and using Jamroom Hosting for The Research Cooperative (researchcooperative.org)