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