Yeah +1 for the lasantha's idea. That will make it easy to read the json also. What are the golden layout level functionality that we are using now? ( tabs and containers?)
On Tue, Aug 29, 2017 at 12:06 PM, Lasantha Samarakoon <[email protected]> wrote: > IMHO it is better to keep the layout information along with the page > contents in the dashboard.json file. Separating those information into > another set of files will only complex the entire flow. > > In order to reduce the bulkiness of the dashboard.json what we can do is > remove all the unnecessary GoldenLayout properties from the page > configuration section. We can add them at the code level on runtime. Only > the limited set of those properties which the users really need to > manipulate should goes along with the page content. > > *Lasantha Samarakoon* | Software Engineer > WSO2, Inc. > #20, Palm Grove, Colombo 03, Sri Lanka > Mobile: +94 (71) 214 1576 <+94%2071%20214%201576> > Email: [email protected] > Web: www.wso2.com > > lean . enterprise . middleware > > On Tue, Aug 29, 2017 at 11:55 AM, Nisala Nanayakkara <[email protected]> > wrote: > >> Hi Nipuna, >> >> We do not keep layout information separately in dashboard JSON as in the >> previous version. Since layouting is handled by the GoldenLayout framework, >> we keep the dashboard content and layouting information in the "content" >> object of dashboard JSON. Since this is somewhat bound to the GoldenLayout >> framework, it is bit difficult to separate the layout information into a >> separate file. >> >> Thanks, >> Nisala >> >> On Tue, Aug 29, 2017 at 10:50 AM, Nipuna Chandradasa <[email protected]> >> wrote: >> >>> Hi Nisala, >>> >>> In previous dashboard.json we had a problem like we have bulky >>> information(ex:- layout) inside the same JSON. So i assume inside the >>> content attribute which holds the page contents we are going to keep these >>> information? if it Is there's a plan to move these information to a >>> separate file? >>> >>> Other than that i'm +1 for above mentioned JSON format. >>> >>> Thank you, >>> >>> On Tue, Aug 29, 2017 at 9:44 AM, Nisala Nanayakkara <[email protected]> >>> wrote: >>> >>>> Hi Udara, >>>> >>>> Please find my comments inline. >>>> >>>> Assume we have a page2, which is going to be listed under page0>page1. >>>> So are we going to have a object like "page0/page1/page2" : {} >>>> ? This bit is not clear in the above. >>>> >>>> Yes. we are going to keep an object as mentioned above. >>>> >>>> Also better if you can explain what is a *page resource URL* so others >>>> can understand. >>>> >>>> It simply means the resource path of the page URL. Ex:- >>>> "page0/page1/page2" >>>> >>>> { >>>> "id": "1", >>>> "url": "sampledashboard", >>>> "name": "Sample Dashboard", >>>> "version": "2.0.0", >>>> "description": "Lorem ipsum dolor sit amet DAS", >>>> "owner": "admin", >>>> "lastUpdatedBy": "admin", >>>> "createdTime": 1502820091111, >>>> "lastUpdatedTime": 1502820091112, >>>> "isShared": false, >>>> "parentId": "1", >>>> >>>> Yes. We are going to have a dashboard to dashboard relationship. As an >>>> example, if someone personalizes a dashboard and save it, we are going >>>> maintain its original dashboard id as the parentId. >>>> >>>> Thanks, >>>> Nisala >>>> >>>> >>>> On Tue, Aug 29, 2017 at 8:37 AM, Udara Rathnayake <[email protected]> >>>> wrote: >>>> >>>>> Hi Nisala, >>>>> >>>>> Assume we have a page2, which is going to be listed under page0>page1. >>>>> So are we going to have a object like "page0/page1/page2" : {} >>>>> ? This bit is not clear in the above. >>>>> >>>>> Also better if you can explain what is a *page resource URL* so >>>>> others can understand. >>>>> >>>>> >>>>> On Mon, Aug 28, 2017 at 11:26 PM, Nisala Nanayakkara <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi all, >>>>>> >>>>>> We are in the process of re-writing dashboard component using React. >>>>>> Currently we have dashboard view component with following features, >>>>>> >>>>>> - Dashboard listing (will retrieve the dashboard from the DB and >>>>>> list down) >>>>>> - Backend API support for dashboard CRUD activities. >>>>>> - Dashboard view support (This will retrieve the selected >>>>>> dashboard from DB and render using Golden Layout) >>>>>> - Multiple pages support for dashboards (This will introduce >>>>>> multiple pages at the same level, We need to support hierarchical page >>>>>> support ) >>>>>> - Internal routing between dashboard listing and dashboard view >>>>>> >>>>>> Since we are using the golden layout for layouting, we keep the >>>>>> content of the each page with respect to page resource url. When we are >>>>>> going to implement the hierarchical pages support, we are going to >>>>>> process >>>>>> these page urls and display the hierarchical menu according these page >>>>>> urls. Please find the sample dashboard json given below, >>>>>> >>>>>>> { >>>>>>> "id": "1", >>>>>>> "url": "sampledashboard", >>>>>>> "name": "Sample Dashboard", >>>>>>> "version": "2.0.0", >>>>>>> "description": "Lorem ipsum dolor sit amet DAS", >>>>>>> "owner": "admin", >>>>>>> "lastUpdatedBy": "admin", >>>>>>> "createdTime": 1502820091111, >>>>>>> "lastUpdatedTime": 1502820091112, >>>>>>> "isShared": false, >>>>>>> "parentId": "1", >>>>>>> >>>>>> Also what is the use of parentId here? >>>>> >>>>> Are we going to have any dashboard to dashboard relationship? >>>>> >>>>>> "content": [ >>>>>>> { >>>>>>> "page0": { >>>>>>> *content of page0* >>>>>>> }, >>>>>>> "page1": { >>>>>>> *content of page1* >>>>>>> } >>>>>>> } >>>>>>> ] >>>>>>> } >>>>>> >>>>>> >>>>>> >>>>>> So we do not keep any mapping between pages and its hierarchy as in >>>>>> the previous versions of the dashboard component. But we may need to >>>>>> maintain some additional attributes such as Page title, isHidden and etc >>>>>> wrt page URL. In that case, I think it is better to maintain a separate >>>>>> mapping between these attributes and page URLs as in the previous >>>>>> dashboard >>>>>> component. Please find the sample dashboard json given below. >>>>>> >>>>>>> { >>>>>>> "id": "1", >>>>>>> "url": "sampledashboard", >>>>>>> "name": "Sample Dashboard", >>>>>>> "version": "2.0.0", >>>>>>> "description": "Lorem ipsum dolor sit amet DAS", >>>>>>> "owner": "admin", >>>>>>> "lastUpdatedBy": "admin", >>>>>>> "createdTime": 1502820091111, >>>>>>> "lastUpdatedTime": 1502820091112, >>>>>>> "isShared": false, >>>>>>> "parentId": "1", >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> * "menu": { "page0": { "ishidden": false, >>>>>>> "title": "Page 0" }, "page1": { >>>>>>> "ishidden": false, "title": "Page 1" } }*, >>>>>>> "content": [ >>>>>>> { >>>>>>> "page0": {}, >>>>>>> "page1": {} >>>>>>> } >>>>>>> ] >>>>>>> } >>>>>>> >>>>>> Because It will give a clear separation between dashboard content and >>>>>> the pages’ menu attributes. WDYT? >>>>>> >>>>>> Thanks, >>>>>> Nisala >>>>>> >>>>>> -- >>>>>> *Nisala Niroshana Nanayakkara,* >>>>>> Software Engineer >>>>>> Mobile | +94 717600022 >>>>>> WSO2 Inc | http://wso2.com/ >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> [email protected] >>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Regards, >>>>> UdaraR <http://bit.ly/udarakr> >>>>> >>>> >>>> >>>> >>>> -- >>>> *Nisala Niroshana Nanayakkara,* >>>> Software Engineer >>>> Mobile | +94 717600022 >>>> WSO2 Inc | http://wso2.com/ >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> [email protected] >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >>> >>> -- >>> Nipuna Marcus >>> *Senior Software Engineer* >>> WSO2 Inc. >>> http://wso2.com/ - "lean . enterprise . middleware" >>> Mobile : +94 (0) 713 667906 <+94%2071%20366%207906> >>> [email protected] >>> >> >> >> >> -- >> *Nisala Niroshana Nanayakkara,* >> Software Engineer >> Mobile | +94 717600022 >> WSO2 Inc | http://wso2.com/ >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > -- Nipuna Marcus *Senior Software Engineer* WSO2 Inc. http://wso2.com/ - "lean . enterprise . middleware" Mobile : +94 (0) 713 667906 [email protected]
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
