In regards to the front-end api mentioned here

When using the API to set a value on dropdown fields setValue() requires you pass in the GUID of the value, and getValue() returns the GUID of the selected value. In most cases the GUID is largely unhelpful in the task at hand and requires many extra steps which are not fault tolerant.

Ideally this would function in a way where the API methods would receive and return the English values which are readily available to users and developers. Internally the API should do the translation from Text -> GUID and return a value of True if it's able to set the value correctly. Or return False if it was unable to find an option with the specified text.

 

Example:
2 Programs for ASAE that import professional development activities. Each program uses the same code, but has a different dropdown field within the table field. With the API requiring the GUID each program requires its own mapping variable within the file, or 2 separate files to maintain, one for each program. 

window.apiAddToTable = (table, item, useRenewalMap) => {
    var examMap = {
        'Live Program (participated in real time: face-to-face, online, live webinar)': 'c649c690-c412-45e2-965f-6a953dddcfc2',
        'Self-Study (individual self-paced study)': '66782622-5e46-4734-a61a-4afe7c0bbe3d',
        'College Course (taken for academic credit)': '124a9480-3fe5-4020-ac0f-89a5a71d5869',
        'Mentoring (one-on-one relationship)': '48fc8eba-956c-4aec-a908-3133bd60462b',
        'Group Study (pre-planned in-depth study)': 'd048f66d-1b9e-4d8c-b7b8-fef5b7146c42',
        'Self-Study (imported from ASAE Database)': 'a43f9e1b-5880-4469-92ba-1727359dd812',
        'Live Program (imported from ASAE Database)': 'e1a9a166-02fd-4169-838f-7d378afc7064',
    };

    var renewalMap = {
        'Live Program (participated in real time: face-to-face, online, live webinar)': 'afcb3e76-992b-49d4-ba5a-885979cc0f71',
        'Self-Study (individual self-paced study)': '2bed5217-a54d-4b7e-abf0-9e579b982d7d',
        'College Course (taken for academic credit)': 'f3f5d40d-106b-4354-8233-42400bc1da04',
        'Mentoring (one-on-one mentoring)': 'd31b4b5c-dfd4-4c4f-bd72-82b96c9e2388',
        'Leadership, Authorship, Teaching': 'd6f7ad2f-e547-4f9d-9b29-562fe2cca72c',
        'Group Study (pre-planned in-depth study)': 'e6ddac7e-87b3-402a-a930-bca32a5a45e3',
        'Self-Study (imported from ASAE Database)': '211678c9-c9b6-423d-8681-3147cc7312d3',
        'Live Program (imported from ASAE Database)': '4a1f24fd-5016-45b0-8017-0b13482b8886',
        'Ethics (Imported from ASAE Database)': 'da31669c-2e24-40b6-acdb-d5a32ba39959',
        'Ethics': '7a000f7c-ae64-4b3b-aebd-2e7b5de1839b',
    };

    var hashMap = (!!useRenewalMap) ? renewalMap : examMap;

    if (hashMap.hasOwnProperty(item.ProgramType) === false) return;

    try {
        table.addRow([{
                'alias': 'titleOfProgram',
                'value': item.ProgramTitle
            },
            {
                'alias': 'sponsoringOrganization',
                'value': item.SponsoringOrg
            },
            {
                'alias': 'startDate',
                'value': new Date(item.StartDate)
            },
            {
                'alias': 'endDate',
                'value': new Date(item.EndDate)
            },
            {
                'alias': 'typeOfProgram',
                'value': hashMap[item.ProgramType]
            },
            {
                'alias': 'presenter',
                'value': item.PresenterswithOrg
            },
            {
                'alias': 'numberOfCeCredits',
                'value': item.CAECreditHours
            },
            {
                'alias': 'descriptionOfProgram',
                'value': item.MeetingDescription
            },
        ]);
    } catch (e) {
        console.warn('Error occured while attempting to add activites to table field');
        console.log(e);
    }
};