Hi All,

IMO we need to provide sample theme archive with possible overrides
including exact file names that they can include.

Regards,

*Dakshika Jayathilaka*
PMC Member & Committer of Apache Stratos
Associate Technical Lead
WSO2, Inc.
lean.enterprise.middleware
0771100911

On Wed, Aug 24, 2016 at 9:13 AM, Jenananthan Yogendran <[email protected]
> wrote:

> Hi All,
>
> In App Manager we need to support custom themes for tenants. We hope to
> provide the tenant custom theme support like APIM[1].
>
> Currently APPM has three asset types (webapp,site,mobileapp) as extension
> types.Each asset type has its own theme by overriding the some theme
> resources of the default theme.Where default
> theme provides common theme resources for all asset types.
>
> *Current structure*
>
> store
>  |--extensions
>  |       |--assets
>  |       |--webapp
>  |       *|--themes*
>  | *|--store*
>  | |--mobileapp
>  | *|--themes  *
>  | *|--store*
>  |--*themes*
> *   |--store*
>
> Where "themes/store" is default theme directory and each asset has
> overridden this theme under extensions directory.
>
> So when we provide the custom theme support for tenants we need to focus
> on providing ability to customize the default theme resources as well as
> theme resources overridden in asset level.
> E.g Theme resources for header and footer is common to all asset types and
> which comes from the default theme.Theme resources for asset overview page
> is different for each assets and they come from
> asset level.
>
>
> As I had offline discussion with Sameera M , we came up following
> directory structure for adding custom theme.
>
> *Custom theme support*
>
>  store
>  |--extensions
>  |       |--assets
>  |       |--webapp
>  |       | |--themes
>  | | |--store
>  | |
>  | |--mobileapp
>  | |--themes
>  | |--store
>  |--themes
>    |--store
>    |
>    *|--<tenantdomain>   *
> *    |--extensions*
> *    | |--<assetype>*
> *    | |--themes  *
> *    | |--store*
> *    |*
> *    |*
> *    |--themes*
> *    |--store*
>
>
>    - Resources in themes/store directory can be overridden by tenants in
>    <tenantdomain>/themes/store.
>    - Reduces in  store/extensions/assets/<assettype>/themes/store can be
>    overridden by tenants in store/<tenantdomain>/extension
>    s/assets/<assetype>/themes/store
>
>
> e.g
>
> store
>  |--extensions
>  |       |--assets
>  |       |--webapp
>  |       | |--themes
>  | | |--store
>  | | |--css
>  | | |--overview-style.css
>  | |--mobileapp
>  | |--themes
>  | |--store
>  |--themes
>    |--store
>    |   |--css
>    |    |--header-style.css
>    |
>    |--*eng.com <http://eng.com>*
>     |--extensions
>     | |--webapp
>     | |--themes
>     | |--store
>     | |--css
>   | |--overview-style.css
>     |
>     |
>     |--themes
>     |--store
>         --css
>         --header-style.css
>
>
>
> *Implementation*
>
> 1. Tenant user will be provided an interface(in admin-dashboard) to upload
> the custom theme
> 2. Theme resources should be uploaded in zip format.
> 3. Provide configuration option to whitelist the resource files that can
> be uploaded
> 4. Uploaded resource files will be stored in store under the directory
> having tenant name
>
> store
>  |
>  |--themes
>    |
>    |--<*tenantdomain>   *
> *    |--extensions*
> *    | |--<assettype>*
> *    | |--themes  *
> *    | |--store*
> *    |*
> *    |*
> *    |--themes*
>
>
> *    |--store*
>  5. if deployment has multiple store nodes, custom theme should be
> uploaded in one store node
>    and should be synced using suitable sync mechanism like rsync.
>
>
> Appreciate your feedback.
>
> [1] http://wso2-oxygen-tank.10903.n7.nabble.com/APIM-ES-Store-Su
> pporting-custom-themes-for-tenants-td92555.html
>
>
> Thanks
> --
> Jenananthan Yogendran
> *Senior Software Engineer,*
> *WSO2 inc., http://wso2.com <http://wso2.com>*
>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to