Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Page/Template level authoring/configuration

Avatar

Level 3

I'm not sure which way to proceed.

I have a page/template which has an Angular application. This is fully data driven page, that is the reason why it is created in AngularJS.

Now, there is lots of configuration changes to be done for this page, say, all of the elements in the below JSON needs to be configured for this application to work. Could someone please suggest on how to implement this so that all these configurations can be added by the authors

NOTE: filters, autocompleteFilters, distances and categories can have 'N' number of elements

    {
        "apiKey": "abcdefg",
        "maxLimit": "1000",
        "countryCodes": "GB,FR,BE",
        "SaveEnabled": "false",
        "addressformat": "AddressLine1,SubLocality,Locality,AdministrativeArea,PostCode",
        "status": "0",
        "fields": "FeatureOne,FeatureTwo,FeatureThree,FeatureFour,FeatureFive,FeatureSix",
        "defaultQueryURL": "http://abc.com/fjk/llmkl",
        "displayLimit": "100",
        
        "filters": {
            "FeatureOne": [
                {
                    "info": "This is feature ONE",
                    "filter": "true",
                    "option": "FeatureOne",
                    "display": "Feature One",
                    "displayFilter": "Feature - ONE"
                }
            ],
            "FeatureTwo": [
                {
                    "info": "This is feature 2",
                    "filter": "false",
                    "option": "FeatureTwo",
                    "display": "Feature TWO",
                    "displayFilter": "Feature - 2"
                }
            ],
            "FeatureThree": [
                {
                    "info": "This is feature Three",
                    "filter": "true",
                    "option": "FeatureThree",
                    "display": "Feature 3",
                    "displayFilter": "Feature - THREE"
                }
            ]
        },
        
        "autocompleteFilters": [
            {"key" : "autocomp1", "value" : "Auto Complete 1"},
            {"key" : "autocomp2", "value" : "Auto Complete 2"},
            {"key" : "autocomp3", "value" : "Auto Complete 3"}
        ],

        "distances": {
            "options": [
                {
                    "option": "",
                    "display": "All distances"
                },
                {
                    "option": "1",
                    "display": "1miles"
                },
                {
                    "option": "2",
                    "display": "2miles"
                },
                {
                    "option": "5",
                    "display": "5miles"
                },
                {
                    "option": "10",
                    "display": "10miles"
                },
                {
                    "option": "25",
                    "display": "25miles"
                },
                {
                    "option": "50",
                    "display": "50miles"
                },
                {
                    "option": "100",
                    "display": "100miles"
                }
            ],
            "display": "miles",
            "default": "100",
            "unit": "imperial"
        },

        "categories": [
            {
                "name": "cat1",
                "services": "Category A,Category G,Category P"
            },
            {
                "name": "cat2",
                "services": "Category S,Category I,Category M"
            },
            {
                "name": "Other",
                "services": "Category C,Category K,Category L,Category D,Category N"
            }
        ]
    }

 

Thanks

1 Accepted Solution

Avatar

Correct answer by
Level 10

Why not create a dialog with multiple tabs and place the widgets on each tab that makes sense - that way - you can collect information from authors using dialogs. 

View solution in original post

2 Replies

Avatar

Correct answer by
Level 10

Why not create a dialog with multiple tabs and place the widgets on each tab that makes sense - that way - you can collect information from authors using dialogs. 

Avatar

Level 3

Thanks Scott for the reply.

I have got few config params like API key, Service URL etc which should be configured by only admin/application support and not by content Authors. How will I restrict this if I add everything on to dialog?

Thanks