Hi All,

IMO it's better if we can maintain third-party libraries as a separate
entity. Usually, most of the third party libs have their own dependencies
(ex: some CSS files refer images/ fonts ). If we place them separately it's
hard to identify relevant dependency at a glance.

 At the same time, I would like to propose to have library version as well.
This will really useful if someone wants to upgrade third-party lib etc.

Regards,

*Dakshika Jayathilaka*
PMC Member & Committer of Apache Stratos
Senior Software Engineer
WSO2, Inc.
lean.enterprise.middleware
0771100911

On Tue, Jun 7, 2016 at 3:11 PM, Tanya Madurapperuma <[email protected]> wrote:

> Hi all,
>
> During an offline discussion with Jerad following modification were
> suggested regarding the directory structure of the extension model. All
> these changes are subjected to js and css file locations.
>
> *Chart template structure*
>
> |── line-chart
>   │   ├── css
>   │   │   └── line-chart.css
>   │   └── js
>   │       ├── d3.min.js
>   │       ├── vega.js
>   │       └── VizGrammar.min.js
>    |── config.json
>   ├── api.js
>
>
> *Changes to the existing model*
>
>    - rename index.js to api.js
>    - rename chart-libs folder to js
>    - have a css folder in the same level
>
>
> *Generated gadget structure*
>
> └── test_gadget
> │       │       ├── conf.json
> │       │       ├── css
> │       │       │   └── line-chart.css
> │       │       ├── gadget-controller.jag
> │       │       ├── gadget.json
> │       │       ├── index.png
> │       │       ├── index.xml
> │       │       └── js
> │       │           ├── core
> │       │           │   ├── gadget-core.js
> │       │           │   ├── line-chart-api.js
> │       │           │   └── provider-api.js
> │       │           ├── d3.min.js
> │       │           ├── vega.js
> │       │           └── VizGrammar.min.js
>
>
> *Changes to the existing model*
>
>    - Instead of the *chart-libs* folder inside *js* folder, have a *core 
> *folder
>    inside *js *folder and place chart specific js files in js folder
>
>
> *Folder structure for storing common libs*
>
> portal
>       |── gadget-commons
>
>    ├── css
>    │   └── common.css
>    └── js
>        └── common.js
>
>
> *Changes to the existing model*
>
>    - Now we have common libs inside portal/libs/common-chart-libs/
>
> *chart config.json*
>
> "common": {
>         "js": ["common"],
>         "css": ["common"]
>     },
>     "chart": {
>         "js": ["d3.min", "vega", "VizGrammar.min"],
>         "css": ["line-chart"]
>     }
>
> *existing config.json*
>
> "common-libs" : ["wso2gadgets","chart-utils"],
> "chart-libs" : ["d3.min","vega","VizGrammar.min"]
>
> I think this model is cleaner and intuitive than the exiting model.
> AFAIK existing wizard is only used for IOT analytics. If there are no
> concerns from them shall we move to this new model?
>
> @ Suho, Dunith : WDYT ? Will this incur lot of changes from IOT side?
> Appreciate your input.
>
> Thanks,
> Tanya
>
> --
> Tanya Madurapperuma
>
> Senior Software Engineer,
> WSO2 Inc. : wso2.com
> Mobile : +94718184439
> Blog : http://tanyamadurapperuma.blogspot.com
>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to