Designing a profile form for profiles in Quota X, and a different form for profiles in Quota Y

researchcooperative
@researchcooperative
9 years ago
694 posts
1. If my understanding is correct, from any profile anywhere, we can click into the generic form designer and design fields that will then be listed with a .tpl label.

2. Where in the system should that .tpl file name be taken to then build a form (i.e. a compiled set of fields) that is specific to profiles in Quota X?

3. Can we then repeat the process, and design another form that is specific to profiles in Quota Y?

4. Can the fields we create for these different forms be displayed separately in different sections of the form designer? Or should we say, use the first 10 lines for fields in one form, and then the next 10 lines for fields in a different form? The field name could also include the destination quota name, to clearly assign the fields for the forms of different quotas.

I don't need the coding details, I just need to know how to ask someone else to design forms for the profiles in different quotas.

I can see, more or less, how to design individual fields, and can see that each field can be designed to be displayed to selected user groups, but I have no overview of how a particular set of fields can be compiled into a form that is specific for profiles in a specific quota.

3. I would also like members to see the same form (i.e same set of fields) when they first create their profile, and again when they return to update the profile. How is this achieved, in general terms?
updated by @researchcooperative: 05/08/16 07:50:30AM
michael
@michael
9 years ago
7,815 posts
researchcooperative:
1. If my understanding is correct, from any profile anywhere, we can click into the generic form designer and design fields that will then be listed with a .tpl label.
you can get to the Form Designer from any form's UPDATE or CREATE screen. From there you can add more form fields. The Form Designer has nothing to do with .tpl files which are found in the skins directory or the TEMPLATES tab of the module/skin. I do not understand this part of the question ".....that will then be listed with a .tpl label......"

researchcooperative:
2. Where in the system should that .tpl file name be taken to then build a form (i.e. a compiled set of fields) that is specific to profiles in Quota X?
starting to get lost here, .tpl files are found in the skins, eg:
/skins/jrElastic/*

and are also accessable via the ACP at:
ACP -> SKINS -> YOUR SKIN -> TEMPLATES

researchcooperative:
3. Can we then repeat the process, and design another form that is specific to profiles in Quota Y?
If you add fields to the form via the Form Designer, then those fields will be accessable along with the other information stored by that form. So if the form is the one for UPDATE on the audio module, wherever you get the audio module item back from the datastore those extra fields will be there too.

If you setup a system where QUOTA A has different fields to QUOTA B and profiles in each of those quotas uploads a new audio file, then each will have different data attached to the item that comes back.

Items are retrieved from the datastore with the {jrCore_list} function.

researchcooperative:
4. Can the fields we create for these different forms be displayed separately in different sections of the form designer? Or should we say, use the first 10 lines for fields in one form, and then the next 10 lines for fields in a different form? The field name could also include the destination quota name, to clearly assign the fields for the forms of different quotas.

The Form Designer is only seen by the admin user, you can move the fields up and down to group them, there is no way to show "only the fields that are visible to QUOTA A" in the Form Designer design screen.

Thoughts: If the two forms are really different, I'd probably be thinking of making a separate module for each.
researchcooperative
@researchcooperative
9 years ago
694 posts
Which module controls the form designer? The form modules that I see in ACP list seem to be different beasts.

In the form designer the columns are headed: Order, Label, Name, Type etc.

I thought the name was actually the name of a tpl file.

Ok, got that wrong.

The modules I see under the "Form" heading in ACP are:

Chained select
Editor Embedded Media
Editor Image Upload
Simple Custom Forms

Do these have anything to do with Form Designer?

When I do a search on 'form designer' in the ACP search box, I get: 'No results found to match your search'.

Is cloning the form designer repeatedly for different quotas easy to do?

Aside: What will then happen when there are updates from JR? Presumably each clone will have to be manually updated, by comparison with the JR version, leading to ongoing maintenance costs for the site. Perhaps I should not worry about this. Maybe such work is less time consuming that it sounds.
updated by @researchcooperative: 01/30/16 06:32:18AM
researchcooperative
@researchcooperative
9 years ago
694 posts
Further background... in the site I am trying to build, I really need different profile forms for each quota. The function of each quota is different, so the profiles I or members make in each quota must also be different.

If all form fields for all quotas have to be in the same form designer list, then it may become difficult to handle them all. There is no WYSIWYG style of setting up the form, or a Site Builder page designer for setting up the form.

Making a super-easy design system for different profile forms in different quotas might greatly expand the usability and potential user-base of Jamroom.

For me this is critical, as I cannot ask people to join my network until I have worked out a way of designing profile forms that are easy for my members to use and update and display.

Thinking about the future, would it be possible for the creation of each quota to automatically trigger the generation of a new profile form design panel or module linked specifically to that quota, as a basic feature of JR?
brian
@brian
9 years ago
10,149 posts
The form designer is a feature provided by the Jamroom Core - it is not a module. Modules can then "register" a form to be customizable via the form designer.

You can select WHAT quotas see WHICH specific fields. I would suggest spending some time playing around in the form designer and see what it can do - it's very flexible.


--
Brian Johnson
Founder and Lead Developer - Jamroom
https://www.jamroom.net
researchcooperative
@researchcooperative
9 years ago
694 posts
brian:
Modules can then "register" a form to be customizable via the form designer.

1. Thanks. Please say more about this.

Which modules can do this, how is it done, and who would or could be using the forms?

2. Another matter occurs to me:

Would it be possible to show all fields for "profile create" and "profile settings" on the same page, with a a column and check box alongside showing which fields are in create only, which in settings only, and which are in both, and then allowing us to control where each field appears by checking one or both boxes.

3. At the moment, it is not clear to me how to make a "profile settings" field that also appears as a "profile create" field so that it can be updated by the profile owner.

My understanding is that the 'profile create' fields cannot be modified by a new member when he or she returns to the site after logging out. Is this correct?

I do not see an "add to create form" checkbox that has been mentioned in a previous discussion of forms (/using-the-form-designer-tool-many-questions).

Back then it was suggested I need to create new Aparana modules in order generate profile forms that are specific to specific quotas. That is far beyond my capacity as a non-coding administrator.

4. I will keep playing with this, but setting up and displaying profile forms (each with many fields) does seem unnecessarily difficult/non-intuitive for such a key function of any member-based network that might be created using JR.
researchcooperative
@researchcooperative
9 years ago
694 posts
brian:
You can select WHAT quotas see WHICH specific fields...

(The following comments can be skipped to see a short and perhaps answerable question at the end.)

Thanks again...

I understand that the above quoted statement is a kind of shorthand for explaining the system... but what I need is a step-by-step guide that explains how to create profile forms that PEOPLE see.

In writing such a (hypothetical) guide, please begin with the point of view of a non-member visiting a Jamroom site, and wanting to see what kind of people are members. First step of a curious non-member will be to visit the profile pages (and this will apply to 99% of Jamroom sites, regardless of their purpose, I imagine).

The profiles may represent actual individuals, or they may be company names, or groups, or whatever. But a person is looking at their computer and wanting to see what the site is for, and what others are doing there.

So how does the site administrator make sure visitors can see those profiles?

Who is in control? Do profile owners always have the power to make their own profile public or private (i.e. published or not published?). Can Admin. make this optional or not optional by default?

In my case, as Admin., I want profile owners to be able to publish or unpublish their profiles, and for their profiles to be easily seen by all users if published. So I will be selecting "Display to (group) all users including logged-out" for every field in the create form and every field the settings form. Does 'display to all users including logged out' mean that a selected field will be seen on all profiles in all quotas by all visitors to the site?

The problem I have is that nothing I do with the form designer seems to have any visible effect on profile pages.

A few fields have previously been hard-wired (at my site publishscience.net) to be visible on profile pages, but 'Display' for a newly created field in the 'Form designer' does not seem to mean actual display on profile pages.

There are missing steps and no direct links between designing a form field, choosing display options for a set of fields, and actual display to people looking at the site.

In principle, there are four categories of PEOPLE who might or might not see a published profile:

A. Logged in Master Admin.
B. Logged in profile owners
C. Logged in network members
D. Non-members and all logged-out members, profile owners, and Admin.

As a logged in Master Admin., I would like to be able to design a sign-up form with muliple fields, for a specific quota, and then do a preview of how it will look to the people in Group D.

And then, with one click (i.e. "Save form" button), I would like it to become the form that new members see when they sign up, confirm with their own preview for their primary member profile, and then publish. And I would like that to be the same form they see when they return to the site and want to edit their regular member profile data. Forms designed for other quotas should be set up and work with similar convenience.

For my network, I would prefer 'publishing a completed, filled-in form' to mean publishing for Group D, but for other networks the default might be to publish for group C, or logged in members of a 'private group' within a larger network membership.

I agree that flexibility is good, and needed, but I wish the Jamroom administration system could be more admin-friendly and regular-member-friendly in its operation.

I can see that the basic system is fantastic, but in this essential matter of form design, it remains unusable for me.

In short, I don't know what 'display to Quota means'. What does this mean?
updated by @researchcooperative: 02/02/16 07:38:15AM
douglas
@douglas
9 years ago
2,806 posts
Adding form fields with the form designer does just that, it adds new fields to the form your modifying. You then need to add the variable for that new form field in you profile templates where you want it to show.

For example:

Create a new form field in the modify profile form designer, the beginning of the form field name will start with profile_, so if you name the new field profile_website, then the variable you want to add to your profile templates would be {$profile_website}. You can also check to see if the field has been filled out by the profile by using an if statement in your template, ie.

{if isset($profile_website) && strlen($profile_website) > 0}
    {* Show the profiles website field since it has been filled in by the profiles user *}
    {$profile_website}
{/if}

The display to quota means that the new field will only show to users that have a profile in the quota(s) you select.

Hope this helps!


--

Douglas Hackney
Jamroom Team - Designer/Developer/Support
FAQ-Docs-Help Videos
researchcooperative
@researchcooperative
9 years ago
694 posts
Dear Douglas,

I don't understand the answer, sorry. When I go to:

http://publishsciencenet.jamroomhosting.com/profile/admin/templates

... I see nothing that leads me to something that looks like your code.

And does your piece of code relate to the process of designing a standard form for all profiles in a particular quota?

I guess what I am looking for is something like Site Builder - let's call it "Form Builder" - that takes the basic foundation provided by jrCore and the profile form designer, and then makes it easy to design create(=signup?)-and-update forms for a particular quota without having to work with code strings.

Is this technically possible? I'll invest $1000 in this for JR if it can be done.

I am not asking for something that reduces the flexiblity of Jamroom.

I am asking for something that makes the flexibility much more usable by a much larger potential customer base for Jamroom (including myself).

Until then, I feel stuck. I am stuck.

Also, in my case, I need the create and update (settings) forms to be the same form, in effect, so that users can see what they have already filled in and published, and what remains to be added when the log-in on another visit.

I do not see how to make two forms (with create and settings fields) effectively one for ease of use by users who have just one profile.

This is one of the things I would like the proposed "Form Builder" to take care of (as an option of course, since some sites may want to separate the sign-up form system from the profile form).

Is it expected that there will only be one profile create (sign-up) form per user, but potentially many different profile 'settings' forms, for each different profile the user may make?

It would be nice if the "Form Builder" could allow admin to design profile forms like this:

1. Regular member sign-up and primary profile form (i.e. sign-up = primary profile form, with optional fields that can be completed at any time after sign-up).

2. "Add-on profile forms" (in one or more quotas, depending on the options Admin has given to regular members). Each "add-on profile form" will likely vary according to the quota, since quotas may have very different functionalities depending on what modules are available to users in each quota)

I have other specific questions, but will leave them for a another post, another time.

Thanks.
updated by @researchcooperative: 02/04/16 06:28:40AM
paul
@paul
9 years ago
4,335 posts
Sorry - late in on this thread.
Can you give us specific examples of additional form fields you want to create, for different quotas say? We can then hopefully explain exactly what you need to do.
Thanks


--
Paul Asher - JR Developer and System Import Specialist
researchcooperative
@researchcooperative
9 years ago
694 posts
Dear Paul,

Thanks. The following are four main types of form that I need. The first two are member profile forms, the second two are administrative profile forms.

I will need to adjust the actual fields used in each form, over time, so I want to keep the flexibility of the basic form (field) designer, but am looking for a way to have the forms organised in a way that keeps the different forms separate. Hence my suggestion of a Form Builder to work with the form (field) designer.

For the second two, there will only ever be one profile each in the respective quotas. In addition to the editing hub, I have a translation hub, and audio hub, and so on, and these will also require their own profile forms.

Do the display (visibility) settings in form designer over-ride profile owner's privacy settings, or vice versa?


A. Regular member profile form (for sign up and later completion/modification)
Quota = Regular member
* = required
Visibility: (group) all users including logged out.
Privacy controls: default = not private, can be searched (but user may unpublish if wanting to go offline)

1. Name*
2. Location*
3. Work interests/services offered*
4. Affiliation
5. Preferred method(s) of contact
6. Preferred language(s) of contact
7. Contact details*
8. Joined (year of joining PSN)*
9. Short biography or other description
10. Website 1
11. Website 2


B. Special member profile form (for use by members willing to pay subscription for access to transaction services, etc.). This may also be a signup form for companies that do not require regular membership.
Quota = special member
*=required
Visibility: (group) all users including logged out.
Privacy controls: default = not private, can be searched (but user may unpublish if wanting to go offline)

1. Company or other name*
2. Location*
3. Contact person*
4. Preferred method(s) of contact
5. Preferred language(s) of contact
6. Contact details*
7. Services offered
8. Discounts offered
9. Joined (year of joining PSN)*
10. Company history
11. Website 1
12. Website 2
13. Website 3


C. Publish Science Network Info form (for network profile and working groups, etc.)
Quota = Publish Science Network (jrsite owner). This does not need to be a sign-up form. It just needs to be a profile form that can be edited by Admin whenever needed.
*=required
Visibility: (group) all users including logged out.
Privacy controls: default = not private, can be searched.

1. About*
2. Location*
3. Preferred method(s) of contact
4. Site language
5. Network contact*
6. Services offered

D. Editing Hub profile form (for forum, groups and information related to editing services). This does not need to be a sign-up form. It just needs to be a profile form that can be edited by Admin whenever needed.
Quota = Publish Science Network
*=required
Visibility: (group) all users including logged out.
Privacy controls: default = not private, can be searched.

1. About*
2. Hub contact
updated by @researchcooperative: 02/04/16 08:15:47PM
paul
@paul
9 years ago
4,335 posts
Unless I'm misunderstanding this all can be done with the Form Designer as it stands. In the profile update form, click on Form Designer button and start adding in all of the above fields, allocating each one to the appropriate groups and quotas (where there are duplicate fields for quotas, hold down the cntrl key and select multiple quotas, so, for instance, Website 1 and Website 2 are visible for profiles in quota A and B whilst Website 3 is only visible to profiles in quota B).
If any of this entered data needs to be visible on a profile page, you'll need to edit the profile template(s) to now show it. Profile privacy settings will override things though, but only in that if a profile sets his privacy to 'followers only', or 'private', only followers and admins will see the profile anyway!!

Are any of these fields needed to be shown in the signup form? If so, we would need to add these fields to the User Account form and the Signup forms, not the profile update form.


--
Paul Asher - JR Developer and System Import Specialist
researchcooperative
@researchcooperative
9 years ago
694 posts
Thanks very much.

1. For the forms A and B (member forms) ALL the entered data needs to be visible on all the profile pages, and ALL the fields need to be shown in the signup form, but they do not all need to be "required" fields. The new user can think about the optional fields and later add more details if they want, once they are confident about how the site works.

There is one instance where I would like to make a field that is not publicly displayed on the profile page, and that is a field labelled "Private message to Admin". This is a field that allows new members to express any concerns or questions they have directly during the signup process.

What and where is the "User Account" form you mention? If this is different from a Sign-up (create) form, how is it created?

2. I think you may be right that it can all be done with the form designer as it stands, but from an admin point of view, it is awkward to keep track of shared vs non-shared fields, for different quotas.

It is important to be able to see how the complete form will look to users while we are setting it up (the WYSIWYG perspective). This may be 'mere convenience' from an engineering perspective, but from the perspective of gaining users of JR, it would be a big plus.

3. If a field is displayed to "(group) all users including logged out" does this make selecting any of the quotas or other user groups redundant? I imagine it does, but it might be nice to have some kind of prompt or device indicating that this selection overides all other selections (if this is how it works).

4. In general, it is a good thing for each member to have personal privacy control over how their profile is displayed, but for some sites, site owners might want to over-ride such control. Perhaps, under control of Master Admin, there could be a toggle switch for "Admin overides member/Member overides Admin" vis a vis the Privacy controls.

5. In Profile Form A, I am restricting ordinary members to 2 website links (which also helps to discourage spam linking by free members). In Profile Form B, as a privilege of "Special Member" status I am allowing 3 website links (which may be commercially useful for such paying members). In the final version, the subtexts and help messages may be different for these fields in the Regular member and Special member forms.

This is another reason I want to keep all fields for different forms separate (i.e. for profiles in different quotas) -- so that any field can easily be modified for quota-specific purposes as the need arises, without having to worry if that field is being used for profiles in another quota.

6. I may be able to achieve my goal of separate forms for separate quotas simply by adding a quota label (Q1, Q2 etc) to each field, and keeping all Q1 fields together, all Q2 fields together etc. For example, I could label them profile_Q1F1_name, profile_Q1F2_location, profile_Q1F3_work_interests, etc. (using the quota numbers assigned by the jr system).

But then, how do I merge/synchronise the fields in the "sign-up (create)" and "update (settings)" areas?

7. Editing the profile template(s) to display what has been designated for display is a difficult manual step for me. It is counter-intuitive that after choosing display options in form designer, there is no actual display. I don't comprehend it.

This is another thing I would like the proposed "Form Builder" module to handle... so that after choosing the display settings for each field, no further action is needed for the display to happen (or not happen, according to the setting chosen).
updated by @researchcooperative: 02/05/16 06:02:14AM
douglas
@douglas
9 years ago
2,806 posts
Quote:
What and where is the "User account" form you mention?

yoursite.com/user/signup


--

Douglas Hackney
Jamroom Team - Designer/Developer/Support
FAQ-Docs-Help Videos
SteveX
SteveX
@ultrajam
9 years ago
2,589 posts
If you try some of these things out using the Form Designer you will be able to figure it out in much less time than it takes you to formulate your lists of questions. Most of these tasks are really quite straightforward when you try to action them. Overthinking things will just waste your time.

Try things out. You should then be able to focus your questions on your actual needs, and make it possible for someone to answer helpfully. Try things out on a test site and you will gain perspective and save yourself a lot of time.

As far as your users go, I have found that academic-type users (I think that's your market) really appreciate simplicity in a quota structure. They don't have anywhere near enough time to learn new stuff in order to make use of a good tool. They will deliberately avoid anything which requires them to spend time figuring out if their time investment is worth it or not. Keep your quota structure simple and flexible at the start, then reorganise it when practical branchings become clear.

To that end, for point 5 above, give them the same sub and help text. e.g. "Users on a Members account get 2 links but members on a Pro account get 3 links.

That text also tells them that they should upgrade in order to gain better features. They will get that, they aren't stupid, just afraid of losing a lot of time that they don't have.


--
¯\_(ツ)_/¯ Education, learning resources, TEL, AR/VR/MR, CC licensed content, panoramas, interactive narrative, sectional modules (like jrDocs), lunch at Uni of Bristol. Get in touch if you share my current interests or can suggest better :)
researchcooperative
@researchcooperative
9 years ago
694 posts
Dear UH,

Thanks. All true... Will continue to tinker.

Tags