Hi All,
Why

It is good to monetize the applications developed by a tenant further by
allowing them to be accessed by public or by controlled set of tenants.

Sharing modes

   -

   Public Application

An application deployed by a tenant can be marked as public. This will
shall be available to any user in any tenant (including super tenant)


   -

   Application restricted to specific tenants

An application can be marked as available for uses in selected tenants
only. Any user of the selected set of tenants only can subscribe to the
application. Any user can subscribe any applications published in his or
her tenant domain.

UI enhancementHome Page

The AppManager Landing page, Web-Application and Mobile-Application tab
will remain almost the same as current 1.0.0 structure. It will
additionally show any Web or Mobile apps visible to current tenant which is
shared by other tenants.

Each tenant need to provide an icon to be displayed along with the
application. A default will be used if not provided.

Web-Application and Mobile Application Tabs

Web and Mobile application tabs will also show the relevant applications in
the same way as the Home page.

Search Criteria

Advanced search will have an option to search applications only of “Users
Tenant”( current Tenant) only. Ticking this will cause the search space to
be limited to current tenant only.



Discussion:

We can add a tick on Home, Web and Mobile application listing page so that
the listing is limited to current tenant. However I feel it may not be much
useful.

Publisher workflow

Publisher workflow(s) will be changed such that,

   1.

   Targeted tenant admin should approve the application when a shared
   application is published by other tenant.
   2.

   The approval task will be available in admin dashboard for the guest
   application.
   3.

   The application will be available in the store only after the admin
   approves the guest application.
   4.

   The application is removed from the guest store when the application is
   unpublished by hosting tenant or guest tenant.


Implementation

   1.

   Add two parameters to application resource(similar to APIM)
   1.

      <subscriptionAvailability>specific_tenants</subscriptionAvailability>
      2.

      <tenants>tenant2.wso2.com,tenant2</tenants> <!-- comma separated
      tenant list->
      2.

   Enhance APIStoreHostObject.getAllPublishedAPIs() if necessary. This will
   list all available applications(web/mobile) for the current user for the
   selected tenant. (Similar to APIM)
   1.

      Use the tenant registry, find all visible applications to the current
      user. The registry is enumerated with the “super-user space” of the the
      tenant so that all the assets held by any provider(user) within
the tenant
      can be enumerated.(similar to APIM)
      1.

         DIscussion: Enumerating the registry is slow. Should we put
         “allowed tenants” in a database per each app, for fast search?
         3.

   Change the home-page of the store as above screen fragments.
   1.

      Discussion: I think we can enable customizing the icon displayed for
      each tenant store. The icon can be put into registry. Display
default icon
      if custom icon is not available.



[1]
https://docs.google.com/a/wso2.com/document/d/1cKCct4-29RdUI2s4g1-6Zfp8YZAA8tM_L4__BydkVgc/edit?usp=sharing

-- 

*Ruwan Abeykoon*
*Architect,*
*WSO2, Inc. http://wso2.com <http://wso2.com/> *
*lean.enterprise.middleware.*

email: [email protected]
phone:(+94) 777739736
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to