Possibility to have global properties in my forms

  • tbawa
    Asked on August 3, 2015 at 10:46 AM

    Just a suggestion:

    I find myself repeating the same phrases, texts, details on many forms and e-mail notifications. I am talking here about contact phone numbers, postal addresses, contact names, etc.. But it also applies to things like prices for certain goods, dates, year, ... For example we are a volunteer based sporting association and names of office holders and their contact details change sometimes every year and it is a pain to remember where a particular name or phone number was used and then to update all the instances. Also our forms usually carry the current year in their title like "2015/16 Affiliation Form", "2015 Lightning Carnival Nomination Form". So we have to go through and edit every form every year.

    While the examples are specific to us I would say the problem itself is not and is likely to apply to quite a few of your clients.

    It would ease maintenance of all of our forms if these items could be stored centrally against our account (account wide properties with a property being a Name / Value pair - you could think of it as a JavaScript map) and then used in forms and e-mails using your standard substitution syntax of {property / field name}.

    For this to be useful these substitutions must also work in plain text fields (not text input fields) and also for labels, subtexts, default values and hints for input fields and also option values for drop lists, check boxes, and radio buttons. Basically anything that can display something textual should allow these type of substitutions.

    Name clashes, e.g. a field name being the same as global property name, would be resolved by looking up the local scope (form) first before looking up the global scope.

    Thanks for listening.

  • BJoanna
    Replied on August 3, 2015 at 12:55 PM

    I am not sure if I understood your request correctly.

    Do you want to have some place where you will store your unique data (like years) and then to call that data like property in other forms? 

    Maybe you could create one form template where you will store all your data (like fields) and then you can use hide field option to show only information that you want. And when you want to change data you can simply clone your form and hide other fields. 

    You can also use our Field Manager app to combine fields from your form.

    If I did not understood you correctly, can you please provide us more precise example what you want to achieve.

    Looking forward to your reply. 

  • tbawa
    Replied on August 3, 2015 at 11:13 PM

    Re:

    "I am not sure if I understood your request correctly.

    Do you want to have some place where you will store your unique data (like years) and then to call that data like property in other forms?"

    Correct, that is what I am after. Your proposed workarounds don't really work for what I have in mind.

    Example 1: We have a drop list that repeats on many forms. If I need to change an option value I have to edit every single form.

    Example 2: We have an e-mail footer containing Name and Phone number that repeats on many 'Auto Responders'. If I need to Phone Number or Name I have to manually edit every single affected e-mail template.

    Example 3: Many of our forms have year dependent headers, labels, option values, hints, subtexts. I have to go in every year to change this in all affected places.

    Part of the problem is that in your current system text fields, as well as label, option, hint, and subtext values don't support any form of providing dynamic or calculated or substituted content.

    Let's assume I want to use a price in both a subtext and in a calculation. I can define a hidden field containing the price and use that in a calculation but if I also want to show the price in a label or subtext or hint or option value I have to put it in manually as I can't use the value of the hidden field to build a label, subtext, hint, or option value.

    As a business if you have lots of forms and e-mail templates maintenance is a real concern and anything that helps to ease that would be in my opinion a real improvement. Having common data in a central place and being able to use it where needed would be in my opinion a good step in that direction.

    One possibility, and I can the endless use cases for that, would be if one can refer to data from different forms and even more so to data from form submissions.

    We could then create our own 'Company Data' form and reference that in field substitutions. So instead of {<fieldname>} one would reference {<formname>.<fieldname>} and that means the value of the field <fieldname> as stored in <formname>. And to further expand this lets refer to specific submissions like for example: {<formname>.<fieldname>[<submissionid]}.

    And now imagine you could populate an option list for a drop down, radio buttons, ... from previous submissions like you maintain a list of products through a form (never published just used internally by the business) but you can refer to the list like {{<formname>.<fieldname>[<filter>]} in an option list value of one of your public forms. <filter> would be a query condition.

    As an example we have

    Form Name: Products

    Fields: Name, Active, UnitPrice

    To get an option list with the names of products you use some like {Products.Name[Active='Yes']} in the option value settings.

    Any way, I am dreaming but I hope you understand the point I am trying to make.

    I do like your product and please consider this not as criticism but as (hopefully) constructive suggestions to make it even better.

    And of course I don't expect something like this to happen overnight or very quickly.

    Cheers

  • BJoanna
    Replied on August 4, 2015 at 3:11 AM

    Thank you for detail explanation. 

    We appreciate your suggestion and I will transfer this request  to our developers like one suggestion that will improve our tool and help users to be more productive and faster. I am not sure when or if this will be implemented.