Help! UserImportExport has some problem!

I run wildfire3.1.1 server on Solaris 8 with JDK1.5

About 226 users are using this XMPP Server

Yesterday, I wanted to backup user info…so I did export User info to xml file.

but…the result was different with the real configuration of my server.

I created 15 Groups on the server and added JIDs to each groups

and Some Users created their own groups on their roaster.

When I backup the user info with UserImportExport plugin…

I found…there are not the Group names created by admin on the server

the groups created by user are only showned in the backup XML file.

After importing with this file… All JIDs are added into one group ‘‘contacts’’…

I tried and tried… after creating 15 Goups I imported that file again…but…the result was same…

well…my explain is enough?? understand??

the backup file doesn’'t remain the group names created by admin

How can I backup and restore the same user info and configuration???

Yep…I know… I’’ using embbedded-db…

If I want to reinstall wildfire server…I can copy the forlder conf and embedded-db for backup

but…now…I want to chagne the db from embedded-db to mysql…

So I really need to use UserimportExport plugin

Hi mincando,

The UserImportExport plugin is working properly, unfortunately it does not yet support the importing/exporting of shared groups. The shared group data is not stored as part of a user’‘s roster even though from a client perspective it appears that way. At some point I’'d like to add shared group support to the plugin, I just need to find the time to do so.

As a possible work around what you can do is recreate your shared groups through the use of sql statements. With Wildfire shutdown if you look in the /embedded-db directory you will see a file called “wildfire.script”. If you open this file with a text editor you’'ll see a long series of sql statements. Somewhere in the list you will see something like:

INSERT INTO JIVEGROUP VALUES(''test'','''')
INSERT INTO JIVEGROUPPROP VALUES(''test'',''sharedRoster.displayName'','''')
INSERT INTO JIVEGROUPPROP VALUES(''test'',''sharedRoster.groupList'','''')
INSERT INTO JIVEGROUPPROP VALUES(''test'',''sharedRoster.showInRoster'',''nobody'')
INSERT INTO JIVEGROUPUSER VALUES(''test'',''jack'',0)

Basically what these statements are saying is to create a shared group called “test” and add the user “jack” to it. Depending on what database you are moving to you might be able to just run these sql statements and all your groups will be created and populated. However, I strongly recommend you test all this first on a non-production instance of Wildfire just in case you run into any problems.

Hope that helps,

Ryan

Thanks…so much.for your replying

So…you mean I have to add that sql statments into Embbedded-db manually???

Before to export the user infos as a xml file?

but…Already all shared group infos was added in the wildfire.script…like below

INSERT INTO JIVEGROUPPROP VALUES(‘‘14. \uc804\uc0b0\uc9c1’’,‘‘sharedRoster.showInRoster’’,‘‘onlyGroup’’)

INSERT INTO JIVEGROUPPROP VALUES(‘‘15. \uc804\uc0b0\uc2e4’’,‘‘sharedRoster.displayName’’,‘‘15. \uc804\uc0b0\uc2e4’’)

INSERT INTO JIVEGROUPPROP VALUES(‘‘15. \uc804\uc0b0\uc2e4’’,‘‘sharedRoster.groupList’’,‘’‘’)

INSERT INTO JIVEGROUPPROP VALUES(‘‘15. \uc804\uc0b0\uc2e4’’,‘‘sharedRoster.showInRoster’’,‘‘onlyGroup’’)

INSERT INTO JIVEGROUPUSER VALUES(‘‘01. \uacf5\ubcf4\uac10\uc0ac\ub2f4\ub2f9\uad00\uc2e4’’,‘’\uac15\ubbf8\uc625’',0)

INSERT INTO JIVEGROUPUSER VALUES(‘‘01. \uacf5\ubcf4\uac10\uc0ac\ub2f4\ub2f9\uad00\uc2e4’’,‘’\uae40\uacbd\ud76c’',0)

INSERT INTO JIVEGROUPUSER VALUES(‘‘01. \uacf5\ubcf4\uac10\uc0ac\ub2f4\ub2f9\uad00\uc2e4’’,‘’\uae40\ub3c4\ud615’',0)

The thing I want to do…is…

  1. to export all user info and group info from embedded-db as a xml file using UserImportExport plugin…
  • all sharped groups must be added in that xml file…but…the backuped xml file doesn’'t include that groups
  1. and to restore that xml file into mysql db
  • the result shows only one group named ‘‘contatcts’’ having all JIDs which are shared in several groups in the previous server

Tell me anonther way…

Can I solve this problem???

I know my english is very short… so…you can’'t understand my englsh very well…sorry!!

^^

  1. the problem…

System A(export) -


System B(import)

Group 1 default Group

  • User1 - User1

  • User2 - User2

Group B - User3

  • User3 - User4

  • User4

  1. I want

System A -


System B

Group 1 Group A

  • User1 - User1

  • User2 - User2

Group B Group B

  • User3 - User3

  • User4 - User4

Hey mincando,

Another option would be to just backup your database instead of exporting the database content to an XML file. If you are using the embedded database then all you need to do is stop the server and make a backup of the embedded-db folder. Also remember to back up the conf and resource/security folders.

Regards,

– Gato

Thanks…

but…What I want is to migrate from embedded-db to mysql…

well…I got a good idea…

first…let all shared groupd disabled… and then…export all user info…

and…import that exported xml file into mysql db in another server

and finally add shared groups… ^^

Hi mincando,

I apologize for not making myself clear before. My idea was for you to still use the UserImportExport plugin to move all your users from your old Wildfire installation that uses the embedded database to your new Wildfire installation that uses MySQL. Once you’'ve moved your users then you can then take the group related SQL statements from the embedded database and use them to populate your MySQL database.

Hope that helps,

Ryan

Hey guys,

Here is another idea. I never tried it but it may work without having to modify any SQL statement or may be with a few touches.

Since you are using the embedded database then:

  1. stop the server (to make sure that the db is updated with latest changes)

  2. start MySQL

  3. create a new database named wildfire or whatever name you want to use

  4. execute the resources/database/wildfire_mysql.sql script to create the tables

  5. delete the content of tables: jiveID, jiveVersion, jiveUser

  6. open the embedded-db/wildfire.script file with an editor

  7. skip all the creates SQL statements and copy the INSERT INTO statements.

  8. Execute the copied INSERT statements in MySQL

  9. Restart the server and enjoy

Regards,

– Gato

Isn’‘t that what I’'ve been saying all along?

Cheers,

Ryan

Whoops!!! Sorry about that. This is the consequence of fast-reading…

Regards,

– Gato

No problem - We’'ve all done the same thing before. Your step-by-step instructions are probably the best way to present the information.