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

Reply via email to