Earlier we supported a thumbnail per group. Do we plan to support that too?
Thanks! On Wed, Nov 13, 2019 at 12:32 PM Bhathiya Jayasekara <bhath...@wso2.com> wrote: > We can replace tag-groups with categories, and keep tags as it is which is > helpful in searches. > > Thanks, > Bhathiya > > On Wed, Nov 13, 2019 at 12:30 PM Sanjeewa Malalgoda <sanje...@wso2.com> > wrote: > >> If we have API categories then tag wise store view will not need anymore. >> As i remember tagwise store view working till last release. >> Only difference between categories and tags is categories created by >> admin while tags created by API creator. Do we have any other differences >> or specific use cases address by this? >> >> Thanks, >> sanjeewa. >> >> On Wed, Nov 13, 2019 at 12:22 PM Sachini De Silva <sachi...@wso2.com> >> wrote: >> >>> @Harsha Kumara <hars...@wso2.com> will switch to tenant id. >>> >>> @Nuwan Dias <nuw...@wso2.com> +1 will add a single scope >>> ‘apim:api_category’ to do all api categories related operations. >>> >>> In publisher, categories/ GET resource can be associated with >>> apim:api_view scope. In store we can avoid attaching a scope to categories/ >>> GET resource and allow to access the resource without a token. >>> >>> >>> >>> On Wed, Nov 13, 2019 at 11:50 AM Nuwan Dias <nuw...@wso2.com> wrote: >>> >>>> For the admin API, I don't think we need separate scopes for the read >>>> and write of categories, isn't it? >>>> >>>> The publisher and store APIs would also need an API each to fetch the >>>> categories. These can be bound to already available scopes I assume. >>>> >>>> On Wed, Nov 13, 2019 at 11:26 AM Sachini De Silva <sachi...@wso2.com> >>>> wrote: >>>> >>>>> +1 >>>>> >>>>> On Wed, Nov 13, 2019 at 11:13 AM Bhathiya Jayasekara < >>>>> bhath...@wso2.com> wrote: >>>>> >>>>>> Shall we use "API Categories" everywhere instead of just >>>>>> "Categories"? Because in the future there can be other category types >>>>>> too. >>>>>> >>>>>> Thanks, >>>>>> Bhathiya >>>>>> >>>>>> On Wed, Nov 13, 2019 at 10:59 AM Sachini De Silva <sachi...@wso2.com> >>>>>> wrote: >>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> I am working on a new feature ‘API Categories’. It is very similar >>>>>>> to tag wise grouping in store from a store UI POV but has the following >>>>>>> differences w.r.t tags. >>>>>>> 1. Categories define a broader collection of APIs. Tags can be used >>>>>>> by the publisher to emphasize specific details of an API. >>>>>>> 2. Categories have to be pre-defined by an Admin before they can be >>>>>>> associated with any APIs. >>>>>>> 3. Categories can have any valid string as their category name. >>>>>>> Whereas tag wise groups must have the suffix -group to be identified as >>>>>>> a >>>>>>> tag group. >>>>>>> >>>>>>> In order to support this in APIM, I thought of using the following >>>>>>> approach. >>>>>>> 1. Define a REST API to do operations on category resources. Sample >>>>>>> GET and POST resources would be as below. >>>>>>> >>>>>>> *"/categories"*: { *"get"*: { *"x-scope"*: *"apim:category_read"*, >>>>>>> *"x-wso2-request"*: *"GET >>>>>>> https://localhost:9443/api/am/admin/v0.15/categories >>>>>>> <https://localhost:9443/api/am/admin/v0.15/categories>**\n**Authorization: >>>>>>> Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8**\n**"*, >>>>>>> *"x-wso2-curl"*: *"curl -k -H **\"**Authorization: Bearer >>>>>>> ae4eae22-3f65-387b-a171-d37eaa366fa8**\" >>>>>>> \"**https://localhost:9443/api/am/admin/v0.15/categories >>>>>>> <https://localhost:9443/api/am/admin/v0.15/categories>**\"**"*, >>>>>>> *"x-wso2-response"*: *"HTTP/1.1 200 OK**\r\n**Content-Type: >>>>>>> application/json**\r\n\r\n**{**\r\n \"**count**\"**:1,**\r\n >>>>>>> \"**list**\"**:[**\r\n* *{**\r\n >>>>>>> \"**id**\"**:**\"**463e2c9f-5e99-43c3-a66e-de7e0f367373**\"**,**\r\n >>>>>>> \"**name**\"**:**\"**Finance**\"**,**\r\n >>>>>>> \"**description**\"**:**\"**Finance related APIS**\"\r\n* >>>>>>> *}**\r\n* *]**\r\n**}"*, *"summary"*: *"Get all API categories"*, >>>>>>> *"description"*: *"Get all API categories**\n**"*, *"tags"*: [ >>>>>>> *"Category Collection"* ], *"responses"*: { *"200"*: { >>>>>>> *"description"*: *"OK.**\n**Categories returned**\n**"*, >>>>>>> *"schema"*: { *"$ref"*: *"#/definitions/**Category**List"* >>>>>>> } } } }, *"post"*: { *"x-scope"*: >>>>>>> *"apim:category_manage"*, *"x-wso2-curl"*: *"curl -k -X POST -H >>>>>>> **\"**Authorization: Bearer 0d63e133-7ad6-3aeb-9ca9-9299e0708122**\"* >>>>>>> *-H **\"**Content-Type: application/json**\"* >>>>>>> *https://apis.wso2.com/api/am/admin/v0.15/ >>>>>>> <https://apis.wso2.com/api/am/admin/v0.15/>**categorie**s -d >>>>>>> @data.json"*, *"x-wso2-request"*: *"POST >>>>>>> https://localhost:9443/api/am/admin/v0.15/categories >>>>>>> <https://localhost:9443/api/am/admin/v0.15/categories>**\r\n**Authorization: >>>>>>> Bearer 0d63e133-7ad6-3aeb-9ca9-9299e0708122**\r\n**Content-Type: >>>>>>> application/json**\r\n\r\n* *-d {**\r\n >>>>>>> \"**name**\"**:**\"**Finance**\"**,**\r\n >>>>>>> \"**description**\"**:**\"**Finance related APIS**\"\r\n* *}"*, >>>>>>> *"x-wso2-response"*: *"HTTP/1.1 201 Created**\r\n**Content-Type: >>>>>>> application/json**\r\n\r\n**{**\r\n \"**count**\"**:1,**\r\n >>>>>>> \"**list**\"**:[**\r\n* *{**\r\n >>>>>>> \"**id**\"**:**\"**463e2c9f-5e99-43c3-a66e-de7e0f367373**\"**,**\r\n >>>>>>> \"**name**\"**:**\"**Finance**\"**,**\r\n >>>>>>> \"**description**\"**:**\"**Finance related APIS**\"\r\n* >>>>>>> *}**\r\n* *]**\r\n**}"*, *"summary"*: *"Add a Category"*, >>>>>>> *"description"*: *"Add a new API Category**\n**"*, *"parameters"*: [ >>>>>>> { *"in"*: *"body"*, *"name"*: *"body"*, >>>>>>> *"description"*: *"Category object that should to be added**\n**"*, >>>>>>> *"required"*: *true*, *"schema"*: { *"$ref"*: >>>>>>> *"#/definitions/Category"* } } ], *"tags"*: [ >>>>>>> *"Category"* ], *"responses"*: { *"201"*: { >>>>>>> *"description"*: *"Created.**\n**Successful response with the newly >>>>>>> created object as entity in the body.**\n**"*, *"schema"*: { >>>>>>> *"$ref"*: *"#/definitions/Category"* } }, >>>>>>> *"400"*: { *"description"*: *"Bad Request.**\n**Invalid request >>>>>>> or validation error**\n**"*, *"schema"*: { *"$ref"*: >>>>>>> *"#/definitions/Error"* } } } }} >>>>>>> >>>>>>> And category and categoryList would be defined as below. >>>>>>> >>>>>>> *"Category"*: { *"title"*: *"Category"*, *"required"*: [ >>>>>>> *"name"* ], *"properties"*: { *"id"*: { *"type"*: >>>>>>> *"string"*, *"example"*: >>>>>>> *"01234567-0123-0123-0123-012345678901"* }, *"name"*: { >>>>>>> *"type"*: *"string"*, *"example"*: *"Finance"* }, >>>>>>> *"description"*: { *"type"*: *"string"*, *"example"*: >>>>>>> *"Finance related APIs"* } } }, *"CategoryList"*: { >>>>>>> *"title"*: *"Category List"*, *"properties"*: { *"count"*: { >>>>>>> *"type"*: *"integer"*, *"description"*: *"Number of >>>>>>> categories returned.**\n**"*, *"example"*: 1 }, >>>>>>> *"list"*: { *"type"*: *"array"*, *"items"*: { >>>>>>> *"$ref"*: *"#/definitions/Category"* } } } }} >>>>>>> >>>>>>> 2. Define a new AM_CATEGORIES table to hold category related details. >>>>>>> >>>>>>> *CREATE TABLE *IF *NOT EXISTS *AM_CATEGORIES ( CATEGORY_ID >>>>>>> *VARCHAR*(50), NAME *VARCHAR*(255), DESCRIPTION *VARCHAR*(1024), >>>>>>> TENANT_DOMAIN *VARCHAR*(255), *UNIQUE *(NAME,TENANT_DOMAIN), *PRIMARY >>>>>>> KEY *(CATEGORY_ID)); >>>>>>> >>>>>>> 3. Publisher UI overview tab(or a suitable place as it fits) will >>>>>>> have a new UI element to select categories for the API. And selecting >>>>>>> categories for an API would be optional. >>>>>>> >>>>>>> 4. API to category mapping will be stored in registry API artifact >>>>>>> and for that following table field would have to be added to api.rxt. (I >>>>>>> assume we are going to support associating a single API with multiple >>>>>>> categories) >>>>>>> <table name="Categories" columns="1" maxoccurs="unbounded"> >>>>>>> <subheading> >>>>>>> <heading>Category Name</heading> >>>>>>> </subheading> >>>>>>> <field type="text"> >>>>>>> <name label="Category Name">categoryName</name> >>>>>>> </field> >>>>>>> </table> >>>>>>> >>>>>>> 5. And from store viewing POV, I assume API categories are a >>>>>>> substitution for existing tag-wise grouping feature and that both >>>>>>> tag-wise >>>>>>> groups and categories won’t co-exist in the store. Please do correct if >>>>>>> my >>>>>>> understanding is wrong. >>>>>>> Once a developer visits the store, he will be presented with the >>>>>>> list of API categories and upon selecting a category out of those, >>>>>>> associated APIs will be listed. >>>>>>> APIs that are not associated with any category will be listed under >>>>>>> other APIs or a similar heading. >>>>>>> >>>>>>> Please feel free to add your suggestions. >>>>>>> >>>>>>> Thanks, >>>>>>> Sachini >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> *Sachini De Silva* >>>>>>> Senior Software Engineer - WSO2 >>>>>>> >>>>>>> Email : sachi...@wso2.com >>>>>>> Mobile : +94714765495 >>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>>> *Bhathiya Jayasekara* | Technical Lead | WSO2 Inc. >>>>>> (m) +94 71 547 8185 | (e) bhathiya-@t-wso2-d0t-com >>>>>> >>>>>> >>>>>> >>>>> >>>>> -- >>>>> >>>>> *Sachini De Silva* >>>>> Senior Software Engineer - WSO2 >>>>> >>>>> Email : sachi...@wso2.com >>>>> Mobile : +94714765495 >>>>> >>>>> >>>> >>>> -- >>>> *Nuwan Dias* | Director | WSO2 Inc. >>>> (m) +94 777 775 729 | (e) nuw...@wso2.com >>>> [image: Signature.jpg] >>>> >>> >>> >>> -- >>> >>> *Sachini De Silva* >>> Senior Software Engineer - WSO2 >>> >>> Email : sachi...@wso2.com >>> Mobile : +94714765495 >>> >>> >> >> -- >> *Sanjeewa Malalgoda* >> Software Architect | Associate Director, Engineering - WSO2 Inc. >> (m) +94 712933253 | (e) sanje...@wso2.com | (b) Blogger >> <http://sanjeewamalalgoda.blogspot.com>, Medium >> <https://medium.com/@sanjeewa190> >> >> GET INTEGRATION AGILE <https://wso2.com/signature> >> Integration Agility for Digitally Driven Business >> > > > -- > *Bhathiya Jayasekara* | Technical Lead | WSO2 Inc. > (m) +94 71 547 8185 | (e) bhathiya-@t-wso2-d0t-com > > > -- Malintha Amarasinghe *WSO2, Inc. - lean | enterprise | middleware* http://wso2.com/ Mobile : +94 712383306
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev