Hi Tharindu, As we discussed on hangout i doing the changes in UM_USER_ATTRIBUTE collection and also changing the hybrid role to master datasource but when i try to add user to hybrid role i facing a small issue i can't grab the datasource ,in HybridRoleManager class it need to give java.sql.DataSource but in my current user store manager class i have never used a sql datasource(since it nosql) so i think i need to grab the master datasource of IS which is h2 database datasource, is there a way to get the primary datasource?
Thanks, Asantha On Sat, Jun 4, 2016 at 1:59 PM, Tharindu Edirisinghe <[email protected]> wrote: > The call details are as following. > > 1. Demonstrated how to use WSO2 admin services. > > 2. All the user operations in *RemoteUserStoreManagerService *[1] should > be tested (using SOAP UI) for the mongodb userstore. > > 3. When the user profile is saved in a JDBC userstore, for each attribute > of the user, it will add a new entry in *UM_USER_ATTRIBUTE **(Refer [2] > for more information) *like below. > > > +-------+----------------------+-----------------+---------------+------------+--------------+ > | UM_ID | UM_ATTR_NAME | UM_ATTR_VALUE | UM_PROFILE_ID | > UM_USER_ID | UM_TENANT_ID | > > +-------+----------------------+-----------------+---------------+------------+--------------+ > | 1 | im | | default > | 1 | -1234 | > | 2 | region | Western | default > | 1 | -1234 | > | 3 | streetAddress | | default > | 1 | -1234 | > | 4 | country | | default > | 1 | -1234 | > | 5 | mobile | | default > | 1 | -1234 | > | 6 | sn | NewLastname | default > | 1 | -1234 | > | 7 | profileConfiguration | default | default > | 1 | -1234 | > | 8 | dateOfBirth | | default > | 1 | -1234 | > | 9 | mail | [email protected] | default > | 1 | -1234 | > | 10 | organizationName | WSO2 | default > | 1 | -1234 | > | 11 | givenName | NewUser | default > | 1 | -1234 | > | 12 | province | western | default > | 1 | -1234 | > > +-------+----------------------+-----------------+---------------+------------+--------------+ > > Performance wise this is not a good design. For mongodb userstore, I > suggested to add a new document in *UM_USER_ATTRIBUTE *collection for > each user. If the attribute value is empty in the profile, an empty string > can be stored. > > { > "im": "", > " region": "Western", > "street": "Address", > "country": "", > "mobile": "", > "sn": "NewLastname", > "profileConfiguration": "default", > "dateOfBirth": "", > "mail": "[email protected]", > "organizationName": "WSO2", > "givenName": "NewUser", > "province": "western" > > } > > 3. Profile saving is having some issues currently and we need to further > investigate what is going wrong. Until the issue is figured out, asked to > manually create json documents in *UM_USER_ATTRIBUTE *collection and > implement the retrieval of user attributes. > > *(can test getUserClaimValues method in the admin service using SOAP UI)* > 4. For the analytics part of the project, suggested to extend the > *AbstractUserOperationEventListener > *class [1] and override the methods for publishing events. > > 5. Developer documentation, Administration Guide and Testing Guide *(sample > SOAP requests and responses in RemoteUserStoreManagerService API) *should > be written as deliverables. For all actions related to the mongodb > userstore manager *(i.e add user, delete user, add role ...) *, Selenium > scripts should be provided *(can use firefox selenium addon and record > each operation and provide the scripts)*. > > So far the progress is satisfactory. Keep on the good work ! > > [1] https://localhost:9443/services/RemoteUserStoreManagerService?wsdl > [2] > http://tharindue.blogspot.com/2015/04/wso2-identity-server-data-dictionary.html > [3] > https://github.com/wso2/carbon-kernel/blob/v4.4.3/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/common/AbstractUserOperationEventListener.java > > Thank you, > TharinduE > > On Sat, Jun 4, 2016 at 9:48 AM, Asantha Thilina <[email protected]> > wrote: > >> Hi Tharindu, >> >> ok sure i will look forward for that >> >> Thanks, >> Asantha >> >> On Fri, Jun 3, 2016 at 2:44 PM, Tharindu Edirisinghe <[email protected]> >> wrote: >> >>> Hi Asantha, >>> >>> Shall we have a google hangout tomorrow (Saturday) at 9.00 p.m ? So we >>> can discuss about the issues you are facing and get them resolved. >>> >>> Regards, >>> TharinduE >>> >>> On Fri, Jun 3, 2016 at 11:43 PM, Asantha Thilina < >>> [email protected]> wrote: >>> >>>> Hi Tharindu, >>>> >>>> i fixed the most of the errors appeared in my user store in user >>>> management side now it's almost done in user management side now i can add >>>> new users ,roles and search roles of users and users of roles only issue i >>>> having now is i can't update a user profile of user in user store i getting >>>> a exception ,i want to get some advice from you to resolve that error and >>>> to implement a logic to commit transaction in mongodb and also another >>>> small problem is when i added a new claim where will it save in primary >>>> user store ? is there any feature to change the user store where claims >>>> going to save. like it giving an option to select userstore in a dropdown >>>> when adding newusers and roles. >>>> >>>> all the works i have done so far in my repo[1] >>>> >>>> [1] . https://github.com/asanthamax/mongodbuserstore >>>> >>>> Thanks, >>>> Asantha >>>> >>>> On Wed, Jun 1, 2016 at 3:00 AM, Asantha Thilina < >>>> [email protected]> wrote: >>>> >>>>> >>>>> ---------- Forwarded message ---------- >>>>> From: Asantha Thilina <[email protected]> >>>>> Date: Wed, Jun 1, 2016 at 2:59 AM >>>>> Subject: Fwd: GSOC 2016 - Project 21 : MongoDB Userstore Development >>>>> To: WSO2 Developers' List <[email protected]>, Tharindu Edirisinghe < >>>>> [email protected]> >>>>> >>>>> >>>>> >>>>> ---------- Forwarded message ---------- >>>>> From: Asantha Thilina <[email protected]> >>>>> Date: Wed, Jun 1, 2016 at 2:51 AM >>>>> Subject: Re: GSOC 2016 - Project 21 : MongoDB Userstore Development >>>>> To: Tharindu Edirisinghe <[email protected]> >>>>> Cc: WSO2 Developers' List <[email protected]>, Lakmal Rupasinghe < >>>>> [email protected]> >>>>> >>>>> >>>>> Hi Tharindu, >>>>> >>>>> I fixed the most of the errors i got now my user store working it is >>>>> successfully registered and can add users and roles to user store as well >>>>> still there are some issues in other functions those are query errors i >>>>> still fixing those as well ,i having some issues about database >>>>> transaction point of view and i need some advice from you, in mongodb >>>>> there >>>>> is no option to rollback transaction if error occurred how can i manage >>>>> it? >>>>> can we arrange a hangout meeting today or any comfortable day for you ? >>>>> i'm >>>>> ok with any time >>>>> all the updates up to now i pushed to my repository[1] >>>>> >>>>> [1] https://github.com/asanthamax/mongodbuserstore >>>>> >>>>> Thanks, >>>>> Asantha >>>>> >>>>> On Fri, May 27, 2016 at 1:56 AM, Asantha Thilina < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Tharindu, >>>>>> >>>>>> sure i'll be look forward for that >>>>>> >>>>>> Thanks, >>>>>> Asantha >>>>>> >>>>>> On Thu, May 26, 2016 at 9:37 PM, Tharindu Edirisinghe < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi Asantha, >>>>>>> >>>>>>> Glad to hear the progress... Sure I'll review over the weekend and >>>>>>> provide feedback. By next week we'll have a hangout to discuss on how to >>>>>>> move forward and the difficulties you have faced. Keep the momentum >>>>>>> going ! >>>>>>> >>>>>>> Regards, >>>>>>> TharinduE >>>>>>> >>>>>>> On Fri, May 27, 2016 at 12:17 AM, Asantha Thilina < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi Tharindu, >>>>>>>> >>>>>>>> i been able to fix the mongodb user store intitalizing error now it >>>>>>>> working successfully it will be registered as a secondary user store >>>>>>>> in IS >>>>>>>> and when going to add a new users and roles it will show the domain of >>>>>>>> mongodb userstore still i having small issues in my json query formats >>>>>>>> for >>>>>>>> mongodb i fixing those issues at the moment all the progress so far i >>>>>>>> made >>>>>>>> updated to my github repository[1] and i recently updated my blog[2] as >>>>>>>> well,can you review my code and give me a feedback? >>>>>>>> >>>>>>>> [1]https://github.com/asanthamax/mongodbuserstore >>>>>>>> [2]http://asanthamax.blogspot.com/ >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Asantha >>>>>>>> >>>>>>>> On Sun, May 22, 2016 at 3:38 PM, Asantha Thilina < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi Tharindu, >>>>>>>>> >>>>>>>>> I have override all the methods in AbstractUserStoreManager in my >>>>>>>>> MongoDBUserStoreManager class after that when i try to add new >>>>>>>>> secondary >>>>>>>>> user store in management console i got following error i attached the >>>>>>>>> screen shot of the error with this mail >>>>>>>>> i have pushed all the progress upto now to my github repository[1] >>>>>>>>> can you give me some tips to solve this issue? >>>>>>>>> any suggestion would be grateful >>>>>>>>> [1] https://github.com/asanthamax/mongodbuserstore >>>>>>>>> Thanks, >>>>>>>>> Asantha >>>>>>>>> >>>>>>>>> On Thu, May 19, 2016 at 11:47 PM, Asantha Thilina < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hi Tharindu, >>>>>>>>>> >>>>>>>>>> sorry for the late reply ,as you advised i remove the scr >>>>>>>>>> reference and its corresponding methods from user store now it's >>>>>>>>>> works fine >>>>>>>>>> but i having another small issue if i wanted to run my mongodb user >>>>>>>>>> store >>>>>>>>>> as as my primary user store how would i do that? >>>>>>>>>> i added my user store configurations to user-mgt.xml file and >>>>>>>>>> comented the ldap userstore properties and i added MongoDBUserStore >>>>>>>>>> to >>>>>>>>>> tenant-mgt.xml as well but then i get error as datasource cannot be >>>>>>>>>> casted >>>>>>>>>> to MongoDB db source while deploying thats mean its still referring >>>>>>>>>> to >>>>>>>>>> Default Activator inside carbon core module how would i set it to my >>>>>>>>>> activator to reffer? >>>>>>>>>> any suggestion or help would be grateful >>>>>>>>>> Thanks, >>>>>>>>>> Asantha >>>>>>>>>> >>>>>>>>>> On Wed, May 18, 2016 at 10:29 PM, Tharindu Edirisinghe < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Asantha, >>>>>>>>>>> >>>>>>>>>>> Great progress so far ! >>>>>>>>>>> >>>>>>>>>>> Since the reference is given to realm service in the bundle >>>>>>>>>>> activator, you should be facing the issue. Can you remove the >>>>>>>>>>> service >>>>>>>>>>> reference from the bundle activator class. (You can delete the >>>>>>>>>>> following >>>>>>>>>>> from the class). >>>>>>>>>>> >>>>>>>>>>> * @scr.reference name="user.realmservice.default" >>>>>>>>>>> * interface="org.wso2.carbon.user.core.service.RealmService" >>>>>>>>>>> cardinality="1..1" >>>>>>>>>>> * policy="dynamic" bind="setRealmService" >>>>>>>>>>> * unbind="unsetRealmService" >>>>>>>>>>> >>>>>>>>>>> Also delete the following methods where realm service is used. >>>>>>>>>>> >>>>>>>>>>> getRealmService() >>>>>>>>>>> setRealmService(RealmService rlmService) >>>>>>>>>>> unsetRealmService(RealmService rlmService) >>>>>>>>>>> >>>>>>>>>>> After that can you try if the userstore manager is working as >>>>>>>>>>> expected. If you face any issues, please get back. >>>>>>>>>>> >>>>>>>>>>> Thank you, >>>>>>>>>>> TharinduE >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Sun, May 15, 2016 at 7:48 PM, Asantha Thilina < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Tharindu, >>>>>>>>>>>> >>>>>>>>>>>> I found the issue after debugging into my code ,my service >>>>>>>>>>>> bundle is not get activated because i referring into >>>>>>>>>>>> mongodb-driver which >>>>>>>>>>>> is not osgi comaptible and i just found another library in here[1] >>>>>>>>>>>> and it >>>>>>>>>>>> is worked for me ,fixed project i pushed into my github repository >>>>>>>>>>>> [2]. >>>>>>>>>>>> i found out that *DefaultRealmService* which is used in Bundle >>>>>>>>>>>> Activator of JDBCUserstoreManager cannot be used for MongoDB since >>>>>>>>>>>> it used >>>>>>>>>>>> *java.sql.DataSource*. >>>>>>>>>>>> Is their having any DataSource class like that for MongoDB? or >>>>>>>>>>>> would i have to create a different logic to implement that >>>>>>>>>>>> scenario in >>>>>>>>>>>> MongoDB? >>>>>>>>>>>> waiting for your suggestion >>>>>>>>>>>> >>>>>>>>>>>> [1]. >>>>>>>>>>>> http://central.maven.org/maven2/org/mongodb/mongo-java-driver/3.2.2/ >>>>>>>>>>>> [2]. https://github.com/asanthamax/mongodbuserstore >>>>>>>>>>>> Thanks, >>>>>>>>>>>> Asantha >>>>>>>>>>>> >>>>>>>>>>>> On Sat, May 14, 2016 at 10:53 AM, Asantha Thilina < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi Tharindu, >>>>>>>>>>>>> >>>>>>>>>>>>> i faced following issue while i developing , >>>>>>>>>>>>> after adding my new json query support i didn't able to see My >>>>>>>>>>>>> MongoDBUserStore in dropdown in create user store option. >>>>>>>>>>>>> for json related activites i used an external json dependency >>>>>>>>>>>>> from here[1] and i added it jar to lib folder in IS as well,i >>>>>>>>>>>>> have enabled >>>>>>>>>>>>> remote debugging and inspect my code and there i found in my >>>>>>>>>>>>> *MongoDBUserStoreDSComponent >>>>>>>>>>>>> *class *activate *method triggered but execute 1st line of >>>>>>>>>>>>> code only. it will not registered the service but in my osgi >>>>>>>>>>>>> console window when >>>>>>>>>>>>> i run *ss mongo* command i get monodb.userstore bundle and >>>>>>>>>>>>> mongodb java driver bundle are activated successfully i attached >>>>>>>>>>>>> my console >>>>>>>>>>>>> output and identity server output for your consideration as well >>>>>>>>>>>>> any suggestion would be grateful >>>>>>>>>>>>> >>>>>>>>>>>>> [1]. http://mvnrepository.com/artifact/org.json/json/20160212 >>>>>>>>>>>>> my github repository >>>>>>>>>>>>> >>>>>>>>>>>>> https://github.com/asanthamax/mongodbuserstore/tree/master/mongodb.userstoremanager >>>>>>>>>>>>> Thanks, >>>>>>>>>>>>> Asantha >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, May 12, 2016 at 2:01 AM, Asantha Thilina < >>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Tharindu, >>>>>>>>>>>>>> >>>>>>>>>>>>>> since mongodb driver not having prepared statement support >>>>>>>>>>>>>> earlier i developed a logic to support prepared statement but i >>>>>>>>>>>>>> realized >>>>>>>>>>>>>> that it has a limitation such as parameters has to be pass as >>>>>>>>>>>>>> same order it >>>>>>>>>>>>>> exists in prepared statement then as you suggested to use key >>>>>>>>>>>>>> value >>>>>>>>>>>>>> relationship instead of order during our hangout conversation i >>>>>>>>>>>>>> created a >>>>>>>>>>>>>> new logic same to prepared statement in sql and it will work >>>>>>>>>>>>>> according to >>>>>>>>>>>>>> key value relationship and i created standard query format for >>>>>>>>>>>>>> mongodb with >>>>>>>>>>>>>> json to support prepared statements and i rewrite the >>>>>>>>>>>>>> JDBCRealmConstants >>>>>>>>>>>>>> class with those supporting json queries instead of sql queries >>>>>>>>>>>>>> >>>>>>>>>>>>>> All of my prepared statement methods contain in >>>>>>>>>>>>>> MongoDBPreparedStatement interface and its implementation in >>>>>>>>>>>>>> MongoDBPreparedStatementImpl class >>>>>>>>>>>>>> >>>>>>>>>>>>>> All the changes i have pushed to my repo in here[1] >>>>>>>>>>>>>> >>>>>>>>>>>>>> security of this prepared statements has to be improve >>>>>>>>>>>>>> >>>>>>>>>>>>>> I'll be grateful if you can provide me some suggestions to >>>>>>>>>>>>>> improve it and also another small issue i having is can i write a >>>>>>>>>>>>>> DataSource for MongoDB as in java.sql.DataSource ? >>>>>>>>>>>>>> >>>>>>>>>>>>>> [1] >>>>>>>>>>>>>> https://github.com/asanthamax/mongodbuserstore/tree/master/mongodb.userstoremanager >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>> Asantha >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> >>>>>>>>>>> Tharindu Edirisinghe >>>>>>>>>>> Software Engineer | WSO2 Inc >>>>>>>>>>> Platform Security Team >>>>>>>>>>> Blog : tharindue.blogspot.com >>>>>>>>>>> mobile : +94 775181586 >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> Tharindu Edirisinghe >>>>>>> Software Engineer | WSO2 Inc >>>>>>> Platform Security Team >>>>>>> Blog : tharindue.blogspot.com >>>>>>> mobile : +94 775181586 >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>> >>> >>> -- >>> >>> Tharindu Edirisinghe >>> Senior Software Engineer | WSO2 Inc >>> Platform Security Team >>> Blog : tharindue.blogspot.com >>> mobile : +94 775181586 >>> >> >> > > > -- > > Tharindu Edirisinghe > Senior Software Engineer | WSO2 Inc > Platform Security Team > Blog : tharindue.blogspot.com > mobile : +94 775181586 >
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
