Ah Yes, sorry I was referring to before 3.0 tag vise mode we had support
for it. It required adding the thumbnail.png to the registry per each group
content location [1].

https://docs.wso2.com/display/AM260/Customizing+the+API+Store .>
"Customizing the API group"

Thanks!

On Wed, Nov 13, 2019 at 3:30 PM Chanaka Jayasena <[email protected]> wrote:

> 3.0 tag wise mode we can only provide one common thumb for every category.
> Not possible to give per group thumbs.
>
> thanks,
> Chanaka
>
> On Wed, Nov 13, 2019 at 12:34 PM Malintha Amarasinghe <[email protected]>
> wrote:
>
>> 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 <[email protected]>
>> 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 <[email protected]>
>>> 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 <[email protected]>
>>>> wrote:
>>>>
>>>>> @Harsha Kumara <[email protected]>  will switch to tenant id.
>>>>>
>>>>> @Nuwan Dias <[email protected]>  +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 <[email protected]> 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 <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> +1
>>>>>>>
>>>>>>> On Wed, Nov 13, 2019 at 11:13 AM Bhathiya Jayasekara <
>>>>>>> [email protected]> 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 <
>>>>>>>> [email protected]> 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 : [email protected]
>>>>>>>>> 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 : [email protected]
>>>>>>> Mobile : +94714765495
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Nuwan Dias* | Director | WSO2 Inc.
>>>>>> (m) +94 777 775 729 | (e) [email protected]
>>>>>> [image: Signature.jpg]
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> *Sachini De Silva*
>>>>> Senior Software Engineer - WSO2
>>>>>
>>>>> Email : [email protected]
>>>>> Mobile : +94714765495
>>>>>
>>>>>
>>>>
>>>> --
>>>> *Sanjeewa Malalgoda*
>>>> Software Architect | Associate Director, Engineering - WSO2 Inc.
>>>> (m) +94 712933253 | (e) [email protected] | (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
>>
>
>
> --
> *Chanaka Jayasena* | Technical Lead | WSO2 Inc.
> (m) +94 77 44 64 00 6 | (w) 0112 145 345 | (e) [email protected]
> GET INTEGRATION AGILE
> Integration Agility for Digitally Driven Business
>


-- 
Malintha Amarasinghe
*WSO2, Inc. - lean | enterprise | middleware*
http://wso2.com/

Mobile : +94 712383306
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to