I've enabled only comments since I am publishing it to dev list:
https://docs.google.com/spreadsheets/d/1VP9-0xY2Oj1H1sv5yf5goIT6TakpwrCt5Z8QW1oFVOc/edit?usp=sharing

On Mon, Oct 6, 2014 at 7:33 AM, Nirmal Fernando <nirmal070...@gmail.com>
wrote:

> Sure, I hope, I'll be able to track who suggested what?
>
> On Mon, Oct 6, 2014 at 7:31 AM, Shiroshica Kulatilake <sh...@wso2.com>
> wrote:
>
>> Hi Nirmal,
>>
>> Can you share this in the form of a sheet ?
>> Then we can have a suggested column to have the diffs
>>
>> Thank you,
>> Shiro
>>
>> On Mon, Oct 6, 2014 at 7:23 AM, Nirmal Fernando <nirmal070...@gmail.com>
>> wrote:
>>
>>> Thanks Akila for going through and identifying collisions.
>>>
>>> On Sun, Oct 5, 2014 at 11:26 PM, Akila Ravihansa Perera <
>>> raviha...@wso2.com> wrote:
>>>
>>>> Hi Nirmal,
>>>>
>>>> Great work on re-factoring REST API!
>>>>
>>>> I think these request paths might cause collisions.
>>>>
>>>> 1. /cartridges/multiTenant, /cartridges/singleTenant,
>>>> /cartridges/{cartridgeType}
>>>>
>>>
>>> I don't think in a real world, we would have a {cartridgeType} called
>>> 'singleTenant' or 'multiTenant'. Do you think?
>>>
>>>
>>>>
>>>>
>>>> 2. /clusters/{cartridgeType}, /clusters/{subscriptionAlias},
>>>> /clusters/{clusterId}
>>>>
>>>
>>> This is true, thanks again! So, we could refactor to something like:
>>>
>>> /clusters/cartridgeType/{cartridgeType}
>>> /clusters/alias/{subscriptionAlias}
>>> /clusters/{clusterId}
>>>
>>> Any other better way?
>>>
>>>
>>>>
>>>> I might be wrong...but just wanted to clarify :)
>>>>
>>>> Thanks.
>>>>
>>>> On Sun, Oct 5, 2014 at 9:06 PM, Udara Liyanage <ud...@wso2.com> wrote:
>>>>
>>>>> +1 for refactoring, some paths does not adhere to REST best practices
>>>>>
>>>>> On Sun, Oct 5, 2014 at 8:54 PM, Nirmal Fernando <
>>>>> nirmal070...@gmail.com> wrote:
>>>>>
>>>>>> Hi Guys,
>>>>>>
>>>>>> As discussed previously, I've been going through all the API
>>>>>> operations exposed via Stratos REST API and identified following set of
>>>>>> APIs need to be refactored to have a RESTful design. While doing this, 
>>>>>> I've
>>>>>> also identified sub-APIs that we have provided (under Entity column) and 
>>>>>> I
>>>>>> suggest we could introduce sub-API classes as it makes the StratosAdmin
>>>>>> class more readable.
>>>>>>
>>>>>> There're 40+ API operations ([?]), hence there could be places that
>>>>>> I've not suggested proper refactoring. Please go through the list and
>>>>>> provide improvements/comments, we can discuss/argue, then conclude and
>>>>>> build a clean API for Stratos.
>>>>>>
>>>>>> IMO we also need to place a review process when adding a new API, it
>>>>>> could save lot of time spending on cleaning things up. I propose, API
>>>>>> introducer should initiate a discuss thread and a vote before committing
>>>>>> them to the repository.
>>>>>>
>>>>>> I'll keep this thread open for 48hrs for comments and/or improvements.
>>>>>>
>>>>>> EntityHTTP OperationAPI Operation Name -> Suggested NameRequest 
>>>>>> PathProposed
>>>>>> PathCartridgePOSTdeployCartridgeDefinition/cartridge/definition/
>>>>>> /cartridgesDELETEunDeployCartridgeDefinition
>>>>>> /cartridge/definition/{cartridgeType}/cartridges/{cartridgeType}GETgetValidDeploymentPolicies
>>>>>> -> getValidDeploymentPoliciesOfCartridge
>>>>>> {cartridgeType}/policy/deployment
>>>>>> /cartridges/{cartridgeType}/deploymentPolicyGETgetAvailableMultiTenantCartridges
>>>>>> -> getMultiTenantCartridges/cartridge/tenanted/list
>>>>>> /cartridges/multiTenantGETgetAvailableSingleTenantCartridges ->
>>>>>> getSingleTenantCartridges/cartridge/list/cartridges/singleTenantGETgetAvailableCartridges
>>>>>> -> 
>>>>>> getCartridges/cartridge/available/list/cartridgesGETgetAvailableSingleTenantCartridgeInfo
>>>>>> -> getAvailableSingleTenantCartridge
>>>>>> /cartridge/available/info/{cartridgeType}
>>>>>> /cartridges/{cartridgeType}/singleTenantGETgetAvailableLbCartridges
>>>>>> /cartridge/lb/cartridges/loadBalancerPartitionPOSTdeployPartition
>>>>>> /policy/deployment/partition/partitionsGETgetPartitions/partition
>>>>>> /partitionsGETgetPartition/partition/{partitionId}
>>>>>> /partitions/{partitionId}Autoscaling PolicyPOST
>>>>>> deployAutoscalingPolicyDefintion/policy/autoscale/autoscalePolicies
>>>>>> GETgetAutoscalePolicies -> getAutoscalingPolicies/policy/autoscale
>>>>>> /autoscalePoliciesGETgetAutoscalePolicies -> getAutoscalingPolicy
>>>>>> /policy/autoscale/{autoscalePolicyId}
>>>>>> /autoscalePolicies/{autoscalePolicyId}Deployment PolicyPOST
>>>>>> deployDeploymentPolicyDefinition/policy/deployment/deploymentPolicies
>>>>>> GETgetDeploymentPolicies/policy/deployment/deploymentPoliciesGETgetDeploymentPolicies
>>>>>> -> getDeploymentPolicy/policy/deployment/{deploymentPolicyId}
>>>>>> /deploymentPolicies/{deploymentPolicyId}Partition GroupGET
>>>>>> getPartitionGroups/partition/group/{deploymentPolicyId}
>>>>>> /deploymentPolicies/{deploymentPolicyId}/partitionGroupGETgetPartitions
>>>>>> -> getPartitionGroup
>>>>>> /partition/{deploymentPolicyId}/{partitionGroupId}
>>>>>> /deploymentPolicies/{deploymentPolicyId}/partitionGroup/{partitionGroupId}
>>>>>> GETgetPartitionsOfPolicy/partition/{deploymentPolicyId}
>>>>>> /deploymentPolicies/{deploymentPolicyId}/partitionSubscriptionsGET
>>>>>> getSubscribedCartridges/cartridge/list/subscribed
>>>>>> /subscriptions/cartridgesGETgetSubscribedCartridgesForServiceGroup
>>>>>> -> getSubscribedCartridgesOfServiceGroup
>>>>>> /cartridge/list/subscribed/group/{serviceGroup}
>>>>>> /subscriptions/cartridges/groups/{serviceGroup}GETgetCartridgeInfo
>>>>>> -> getSubscribedCartridgeInfo/cartridge/info/{subscriptionAlias}
>>>>>> /subscriptions/{subscriptionAlias}/cartridgesGETgetActiveInstances
>>>>>> -> getActiveMembersCountOfSubscription
>>>>>> /cartridge/active/{cartridgeType}/{subscriptionAlias}
>>>>>> /subscriptions/{subscriptionAlias}/cartridges/{cartridgeType}/active
>>>>>> POSTsubscribe/cartridge/subscribe/subscriptionsDELETEunsubscribe
>>>>>> /cartridge/unsubscribe/subscriptions/{subscriptionAlias}POST
>>>>>> addSubscriptionDomains
>>>>>> /cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domains
>>>>>> /subscriptions/{subscriptionAlias}/domainsGETgetSubscriptionDomains
>>>>>> /cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domains
>>>>>> /subscriptions/{subscriptionAlias}/domainsGETgetSubscriptionDomain
>>>>>> /cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domains/{domainName}
>>>>>> /subscriptions/{subscriptionAlias}/domains/{domainName}DELETE
>>>>>> removeSubscriptionDomain
>>>>>> /cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domains/{domainName}
>>>>>> /subscriptions/{subscriptionAlias}/domains/{domainName}ClustersGETgetClustersForTenant
>>>>>> -> getClustersOfTenant/cluster//clustersGETgetClusters ->
>>>>>> getClustersOfCartridge/cluster/{cartridgeType}/
>>>>>> /clusters/{cartridgeType}GETgetServiceClusters (This seems to do the
>>>>>> same job as getClusters - I suggest we deprecate this.)GETgetCluster
>>>>>> -> getClusterOfSubscription
>>>>>> /cluster/{cartridgeType}/{subscriptionAlias}
>>>>>> /clusters/{subscriptionAlias}GETgetCluster
>>>>>> /cluster/clusterId/{clusterId}/clusters/{clusterId}GET
>>>>>> getLoadBalancerCluster
>>>>>> /cartridge/{cartridgeType}/subscription/{subscriptionAlias}/load-balancer-cluster
>>>>>> /clusters/{subscriptionAlias}/loadBalancerTenantsGETretrieveTenants
>>>>>> /tenant/list/tenants/list(All paths will be refactored to start from
>>>>>> /tenants )Services POSTdeployService/service/definition/services
>>>>>> DELETEunDeployService/service/definition/{serviceType}
>>>>>> /services/{serviceType}(All paths will be refactored to start from
>>>>>> /services )GIT RepositoriesPOSTgetRepoNotification ->
>>>>>> notifyRepository/reponotification/repo/notifyPOSTsynchronizeRepository
>>>>>> -> synchronizeRepositoryOfSubscription/cartridge/sync
>>>>>> /repo/synchronize/{subscriptionAlias}UsersGETretrieveUsers/user/list
>>>>>> /usersKubernetes HostsPOSTdeployKubernetesGroup ->
>>>>>> deployKubernetesHostCluster/kubernetes/deploy/group/kubernetesCluster
>>>>>> PUTdeployKubernetesHost/kubernetes/deploy/host/{kubernetesGroupId}
>>>>>> /kubernetesCluster/{kubernetesClusterId}/minionPUT
>>>>>> updateKubernetesMaster/kubernetes/update/master
>>>>>> /kubernetesCluster/{kubernetesClusterId}/masterPATCH
>>>>>> updateKubernetesHost/kubernetes/update/host
>>>>>> /kubernetesCluster/{kubernetesClusterId}/minion/{minionId}GETgetKubernetesGroups
>>>>>> -> 
>>>>>> getKubernetesHostClusters/kubernetes/group/kubernetesClusterGETgetKubernetesGroup
>>>>>> -> getKubernetesHostCluster/kubernetes/group/{kubernetesGroupId}
>>>>>> /kubernetesCluster/{kubernetesClusterId}GETgetKubernetesHosts ->
>>>>>> getKubernetesHostsOfKubernetesCluster
>>>>>> /kubernetes/hosts/{kubernetesGroupId}
>>>>>> /kubernetesCluster/{kubernetesClusterId}/hostsGETgetKubernetesMaster
>>>>>> -> getKubernetesMasterOfKubernetesCluster
>>>>>> /kubernetes/master/{kubernetesGroupId}
>>>>>> /kubernetesCluster/{kubernetesClusterId}/masterDELETEunDeployKubernetesGroup
>>>>>> -> unDeployKubernetesHostCluster/kubernetes/group/{kubernetesGroupId}
>>>>>> /kubernetesCluster/{kubernetesClusterId}DELETEunDeployKubernetesHost
>>>>>> -> unDeployKubernetesHostOfKubernetesCluster
>>>>>> /kubernetes/host/{kubernetesHostId}
>>>>>> /kubernetesCluster/{kubernetesClusterId}/hosts/{hostId}
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Best Regards,
>>>>>> Nirmal
>>>>>>
>>>>>> Nirmal Fernando.
>>>>>> PPMC Member & Committer of Apache Stratos,
>>>>>> Senior Software Engineer, WSO2 Inc.
>>>>>>
>>>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Udara Liyanage
>>>>> Software Engineer
>>>>> WSO2, Inc.: http://wso2.com
>>>>> lean. enterprise. middleware
>>>>>
>>>>> web: http://udaraliyanage.wordpress.com
>>>>> phone: +94 71 443 6897
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Akila Ravihansa Perera
>>>> Software Engineer, WSO2
>>>>
>>>> Blog: http://ravihansa3000.blogspot.com
>>>>
>>>
>>>
>>>
>>> --
>>> Best Regards,
>>> Nirmal
>>>
>>> Nirmal Fernando.
>>> PPMC Member & Committer of Apache Stratos,
>>> Senior Software Engineer, WSO2 Inc.
>>>
>>> Blog: http://nirmalfdo.blogspot.com/
>>>
>>
>>
>>
>> --
>> Shiroshica Kulatilake
>>
>> Architect,
>> WSO2, Inc. http://wso2.com/
>> Phone: +94 776523867
>>
>
>
>
> --
> Best Regards,
> Nirmal
>
> Nirmal Fernando.
> PPMC Member & Committer of Apache Stratos,
> Senior Software Engineer, WSO2 Inc.
>
> Blog: http://nirmalfdo.blogspot.com/
>



-- 
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/

Reply via email to