Finally I resolved all the issues as follows 1. create database named 'db001' -> create db : db001_wso2_com, dbuser : db001_xxxxx, template : appkey_admin@development 2. drop database -> remove the database only 3. create the database again naming 'db001' -> create the db: db001_wso2_com, dbuser : db00155_xxxxx, template : appkey_admin@development
Here, new user will be created with the name db001NN_xxxxx (NN will be a random number in between 0-100) now a new template will not be created for each database creation. first time when we create the template system will create the admin template as 'appkey_admin@development', and then for the second database same 'appkey_admin@development' template will be attached. Now database and dbuser name allows to enter only 5 characters On Thu, Oct 2, 2014 at 10:47 AM, Amalka Subasinghe <ama...@wso2.com> wrote: > Red error message comes when we try to create the database. since it's > already deleted we can use the same name, but the problem here is we can't > create the dbuser with the same name. in that case, giving message name has > already taken will not be matching > > On Thu, Oct 2, 2014 at 10:39 AM, Dmitry Sotnikov <dmi...@wso2.com> wrote: > >> Dimuthu, thanks! >> >> Amalka, can we instead of the scary red error message, just instruct user >> to pick another name because this one has already been taken? >> >> Dmitry >> >> On Wed, Oct 1, 2014 at 8:46 PM, Dimuthu Leelarathne <dimut...@wso2.com> >> wrote: >> >>> Hi Dmitry, >>> >>> Please see my comments inline. >>> >>> On Wed, Oct 1, 2014 at 9:49 PM, Dmitry Sotnikov <dmi...@wso2.com> wrote: >>> >>>> Amalka, >>>> >>>> Thanks! For your #1, what will happen when you get to the limit? Will >>>> database creation fail? Or is there code to handle it gracefully? How? >>>> >>>> For #2, default@Development sounds pretty meaningless. Is that >>>> all-powerful all-permission templates? Why not call it admin@Development? >>>> Other than that, if this prevents all these multiple identical permission >>>> templates from being created with each database - this would be a good >>>> thing! >>>> >>>> Ideally, in the future we also delete the temporary user accounts when >>>> databases are deleted or find another way to prevent the current >>>> proliferation of the temp accounts... >>>> >>> >>> Proliferation of user accounts - This is not possible due to a >>> limitation in SS API. There is no way to identify whether a user is >>> attached to more than one database, hence we cannot delete them upon >>> database deletion. I have already created a JIRA for SS guys. >>> >>> thanks, >>> dimuthu >>> >>> >>> >>>> Dmitry >>>> >>>> On Wed, Oct 1, 2014 at 7:09 AM, Amalka Subasinghe <ama...@wso2.com> >>>> wrote: >>>> >>>>> Hi All, >>>>> >>>>> *I fixed the add new database function as follows: (Issue 1)* >>>>> >>>>> 1. add new database first time 'db001' >>>>> System will create database: 'db001_wso2_com', dbuser: 'db001_xxxxx'. >>>>> >>>>> 2. drop the database 'db001' >>>>> System will drop only the database; dbuser will be remain in the system >>>>> >>>>> 3. add new database with the same name 'db001' >>>>> System will get the number of users who has the name starting with >>>>> 'db001'; this time ..it's 1. So system will create the new user as >>>>> 'db0011_xxxxx'. (appending 1 at the end of the database name) >>>>> >>>>> like wise every time when we create the new database with the same >>>>> name (after dropping) it will append the number of users (name staring >>>>> with >>>>> 'db001') exist in the system, for the dbuser name. >>>>> Please note, storage server allows only 7 characters for database and >>>>> dbuser names. So I had to limit the character length of database and >>>>> dbuser >>>>> to 5. Remaining 2 characters are for appending the number. >>>>> >>>>> >>>>> *Planning to fix the Issue 2 as follows* >>>>> >>>>> When we create new database each time it creates a new template. My >>>>> idea is to keep one default template 'default@Development' with all >>>>> the permission and attach that to the each database. >>>>> >>>>> - When user creates a new database, if the 'default@Development' >>>>> template exist; it will assign to the database, else system creates >>>>> default >>>>> template 'default@Development' and assign. >>>>> - If user want to give a different permission list, he/she has to >>>>> create a custom template and assign to the database >>>>> >>>>> Please share your thoughts on this >>>>> >>>>> Thanks >>>>> Amalka >>>>> >>>>> On Tue, Sep 30, 2014 at 11:54 PM, Dmitry Sotnikov <dmi...@wso2.com> >>>>> wrote: >>>>> >>>>>> Thanks Amalka! >>>>>> >>>>>> You have reproduced the issue correctly. >>>>>> >>>>>> Here's what I think would work: >>>>>> >>>>>> * This default mode that automatically associates a user account >>>>>> should always do so. Product behavior needs to be consistent. >>>>>> >>>>>> As far as I understand, the current behavior happens because of the >>>>>> account name clash and we have some sort of code that tries to generate >>>>>> the >>>>>> account, gets the clash and then neither generates the account nor >>>>>> associates the existing one (what does it do with the password? just >>>>>> ignores the new password?) >>>>>> >>>>>> Quick and easy fix, if you do not have time for more changes: >>>>>> 1. Fix this particular handling code, and in the event of name clash, >>>>>> add a number to the name to make it unique - so behavior is consistent. >>>>>> >>>>>> Suggested other/better/longer-term possible changes to make the >>>>>> behavior more intuitive (comments from everyone are welcome): >>>>>> 2. If I am deleting a database and it is the only one using a user >>>>>> account and permission template, delete the account and template as well >>>>>> (probably have the corresponding checkboxes on the confirmation window). >>>>>> >>>>>> Are you sure you want to permanently delete database TestDB65765 in >>>>>> Development? >>>>>> [X] Also, delete user account TestDB65765 associated with this >>>>>> database and its permission template >>>>>> >>>>>> [Cancel] [Delete] >>>>>> >>>>>> 3. Create a set of DB permission templates (e.g. Admin, View-Only) >>>>>> and have them available for user accounts: >>>>>> 3.a. By default assign Admin, >>>>>> 3.b. Give in the corresponding advanced screens ability to create >>>>>> custom permission templates - this needs to be explicit choice though, >>>>>> 3.c. Admin and View-Only templates cannot be edited. When user tries >>>>>> to edit it, he/she is asked to provide a new custom name. >>>>>> >>>>>> What do you all think? >>>>>> >>>>>> Dmitry >>>>>> >>>>>> On Tue, Sep 30, 2014 at 9:38 AM, Amalka Subasinghe <ama...@wso2.com> >>>>>> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> Currently I'm working on the Jira [1]. Here we have two issues: >>>>>>> >>>>>>> *Issue 1:* >>>>>>> 1. create a database name "db001" -> this will create database, >>>>>>> dbuser and template >>>>>>> 2. click on the database and see database configuration -> under the >>>>>>> 'attached user' section shows dbuser >>>>>>> 3. delete the database >>>>>>> 4. again create the database with the same name "db001" >>>>>>> 5. click on the database and see database configuration >>>>>>> >>>>>>> Actual result : >>>>>>> a. No database user under 'attached user' section, >>>>>>> b. 'Attach new user' -> 'User name' drop down shows the user which >>>>>>> created previously. >>>>>>> c. 'Attach new user' -> 'Permission template drop down' section >>>>>>> shows the 2 templates with the same name 'db001@Development' >>>>>>> >>>>>>> What should be the expected result here? >>>>>>> 1. Are we allowing user to create the database with the same name >>>>>>> again? if so shall we attached the already exist dbuser and the >>>>>>> template to >>>>>>> the database? >>>>>>> 2. I think we need to stop creating second template with the same >>>>>>> name 'db001@Development'. right? >>>>>>> >>>>>>> >>>>>>> *Issue 2:* >>>>>>> In the Jira, it has asked to change the template names as "Admin" or >>>>>>> "Read-only" instead of 'db001@Development'. >>>>>>> Here, my concern is, when we create the database, template will be >>>>>>> automatically created with all the permission (So we can call it as >>>>>>> 'Admin' >>>>>>> template), but if the user change the permissions later, then calling >>>>>>> the >>>>>>> template as 'Admin' will not be matching. So, current template name is >>>>>>> fine >>>>>>> for me. WDYT? >>>>>>> >>>>>>> >>>>>>> [1] https://wso2.org/jira/browse/APPFAC-2521 >>>>>>> >>>>>>> Thanks >>>>>>> Amalka >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Dmitry Sotnikov >>>>>> VP of Cloud; WSO2, Inc.; http://wso2.com/ >>>>>> email: dmi...@wso2.com; cell: +1.949.303.9653; Skype: DSotnikov >>>>>> Lean . Enterprise . Middleware >>>>>> >>>>>> <http://wso2.com/events/> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> Amalka Subasinghe >>>>> >>>>> WSO2 Inc. >>>>> Mobile: +94 77 9401267 >>>>> >>>> >>>> >>>> >>>> -- >>>> Dmitry Sotnikov >>>> VP of Cloud; WSO2, Inc.; http://wso2.com/ >>>> email: dmi...@wso2.com; cell: +1.949.303.9653; Skype: DSotnikov >>>> Lean . Enterprise . Middleware >>>> >>>> <http://wso2.com/events/> >>>> >>> >>> >>> >>> -- >>> Dimuthu Leelarathne >>> Architect & Product Lead of App Factory >>> >>> WSO2, Inc. (http://wso2.com) >>> email: dimut...@wso2.com >>> Mobile : 0773661935 >>> >>> Lean . Enterprise . Middleware >>> >> >> >> >> -- >> Dmitry Sotnikov >> VP of Cloud; WSO2, Inc.; http://wso2.com/ >> email: dmi...@wso2.com; cell: +1.949.303.9653; Skype: DSotnikov >> Lean . Enterprise . Middleware >> >> <http://wso2.com/events/> >> > > > > -- > > Amalka Subasinghe > > WSO2 Inc. > Mobile: +94 77 9401267 > -- Amalka Subasinghe WSO2 Inc. Mobile: +94 77 9401267
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev