Working Openfire.xml Example (pref. WordPress)

Does anyone have a complete openfire.xml file that uses custom MySQL integration that I could see?

I’m trying to find an example to work from, as I’m finding it hard to integrate into my WordPress user database. If anyone has got it to work with WordPress then I’d love to see how you did it! (Obviously remove your passwords and other sensitive information first). Even a non-WordPress example would give me a hint. I’m using OpenFire 3.7.0 by the way. Thanks!

From project inspired-social (http://code.google.com/p/inspired-social)

Log.info(“Setting WordPress as new auth Provider”);

JiveGlobals.setProperty(“jdbcAuthProvider.passwordSQL”, “SELECT user_pass FROM wp_users WHERE user_login=?”);

JiveGlobals.setProperty(“jdbcAuthProvider.setPasswordSQL”, “”);

JiveGlobals.setProperty(“jdbcAuthProvider.allowUpdate”, “false”);

JiveGlobals.setProperty(“jdbcAuthProvider.passwordType”, “md5”);

JiveGlobals.setProperty(“jdbcAuthProvider.useConnectionProvider”, “true”);

JiveGlobals.setProperty(“provider.auth.className”, “org.jivesoftware.openfire.auth.JDBCAuthProvider”);

Log.info(“Setting WordPress as user Provider”);

JiveGlobals.setProperty(“jdbcUserProvider.loadUserSQL”, “SELECT user_nicename, user_email FROM wp_users WHERE user_login=?”);

JiveGlobals.setProperty(“jdbcUserProvider.userCountSQL”, “SELECT COUNT(*) FROM wp_users”);

JiveGlobals.setProperty(“jdbcUserProvider.allUsersSQL”, “SELECT user_login FROM wp_users”);

JiveGlobals.setProperty(“jdbcUserProvider.searchSQL”, “SELECT user_login FROM wp_users WHERE”);

JiveGlobals.setProperty(“jdbcUserProvider.user_loginField”, “user_login”);

JiveGlobals.setProperty(“jdbcUserProvider.nameField”, “user_nicename”);

JiveGlobals.setProperty(“jdbcUserProvider.emailField”, “user_email”);

JiveGlobals.setProperty(“jdbcUserProvider.useConnectionProvider”, “true”);

JiveGlobals.setProperty(“provider.user.className”, “org.jivesoftware.openfire.user.JDBCUserProvider”);

Log.info(“Setting WordPress as group Provider”);

JiveGlobals.setProperty(“jdbcGroupProvider.groupCountSQL”, “SELECT count(*) FROM wp_bp_groups”);

JiveGlobals.setProperty(“jdbcGroupProvider.allGroupsSQL”, “SELECT name FROM wp_bp_groups”);

JiveGlobals.setProperty(“jdbcGroupProvider.userGroupsSQL”, “SELECT name FROM wp_bp_groups INNER JOIN wp_bp_groups_members ON wp_bp_groups.id = wp_bp_groups_members.group_id WHERE wp_bp_groups_members.user_id IN (SELECT ID FROM wp_users WHERE user_login=?) AND is_confirmed=1”);

JiveGlobals.setProperty(“jdbcGroupProvider.descriptionSQL”, “SELECT description FROM wp_bp_groups WHERE name=?”);

JiveGlobals.setProperty(“jdbcGroupProvider.loadMembersSQL”, “SELECT user_login FROM wp_users INNER JOIN wp_bp_groups_members ON wp_users.ID = wp_bp_groups_members.user_id WHERE wp_bp_groups_members.group_id IN (SELECT id FROM wp_bp_groups WHERE name=?) AND user_login<>‘admin’ AND is_confirmed=1”);

JiveGlobals.setProperty(“jdbcGroupProvider.loadAdminsSQL”, “SELECT user_login FROM wp_users INNER JOIN wp_bp_groups_members ON wp_users.ID = wp_bp_groups_members.user_id WHERE wp_bp_groups_members.group_id IN (SELECT id FROM wp_bp_groups WHERE name=?) AND user_login=‘admin’ AND is_confirmed=1”);

JiveGlobals.setProperty(“jdbcGroupProvider.useConnectionProvider”, “true”);

JiveGlobals.setProperty(“provider.group.className”, “org.jivesoftware.openfire.group.JDBCGroupProvider”);

JiveGlobals.setProperty(“cache.groupMeta.maxLifetime”, “60000”);

JiveGlobals.setProperty(“cache.group.maxLifetime”, “60000”);

JiveGlobals.setProperty(“cache.userCache.maxLifetime”, “60000”);

i am trying to connect to wordpress to share users between wordpress and openfire

but i do not know where i shall insert your information :

i tried this but not so convinced.

no the properties are presente also in the openfire web interface but it does not seems to connect with wordpress data

<?xml version="1.0" encoding="UTF-8"?>

9090

9091

fr

org.jivesoftware.database.DefaultConnectionProvider

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306/database?rewriteBatchedStatements=true</ serverURL>

adminuser

admin passe

select 1

false

false

5

25

1.0

Log.info(“Setting WordPress as new auth Provider”);

JiveGlobals.setProperty(“jdbcAuthProvider.passwordSQL”, “SELECT user_pass FROM wp_users WHERE user_login=?”);

JiveGlobals.setProperty(“jdbcAuthProvider.setPasswordSQL”, “”);

JiveGlobals.setProperty(“jdbcAuthProvider.allowUpdate”, “false”);

JiveGlobals.setProperty(“jdbcAuthProvider.passwordType”, “md5”);

JiveGlobals.setProperty(“jdbcAuthProvider.useConnectionProvider”, “true”);

JiveGlobals.setProperty(“provider.auth.className”, “org.jivesoftware.openfire.auth.JDBCAuthProvider”);

Log.info(“Setting WordPress as user Provider”);

JiveGlobals.setProperty(“jdbcUserProvider.loadUserSQL”, “SELECT user_nicename, user_email FROM wp_users WHERE user_login=?”);

JiveGlobals.setProperty(“jdbcUserProvider.userCountSQL”, “SELECT COUNT(*) FROM wp_users”);

JiveGlobals.setProperty(“jdbcUserProvider.allUsersSQL”, “SELECT user_login FROM wp_users”);

JiveGlobals.setProperty(“jdbcUserProvider.searchSQL”, “SELECT user_login FROM wp_users WHERE”);

JiveGlobals.setProperty(“jdbcUserProvider.user_loginField”, “user_login”);

JiveGlobals.setProperty(“jdbcUserProvider.nameField”, “user_nicename”);

JiveGlobals.setProperty(“jdbcUserProvider.emailField”, “user_email”);

JiveGlobals.setProperty(“jdbcUserProvider.useConnectionProvider”, “true”);

JiveGlobals.setProperty(“provider.user.className”, “org.jivesoftware.openfire.user.JDBCUserProvider”);

Log.info(“Setting WordPress as group Provider”);

JiveGlobals.setProperty(“jdbcGroupProvider.groupCountSQL”, “SELECT count(*) FROM wp_bp_groups”);

JiveGlobals.setProperty(“jdbcGroupProvider.allGroupsSQL”, “SELECT name FROM wp_bp_groups”);

JiveGlobals.setProperty(“jdbcGroupProvider.userGroupsSQL”, “SELECT name FROM wp_bp_groups INNER JOIN wp_bp_groups_members ON wp_bp_groups.id = wp_bp_groups_members.group_id WHERE wp_bp_groups_members.user_id IN (SELECT ID FROM wp_users WHERE user_login=?) AND is_confirmed=1”);

JiveGlobals.setProperty(“jdbcGroupProvider.descriptionSQL”, “SELECT description FROM wp_bp_groups WHERE name=?”);

JiveGlobals.setProperty(“jdbcGroupProvider.loadMembersSQL”, “SELECT user_login FROM wp_users INNER JOIN wp_bp_groups_members ON wp_users.ID = wp_bp_groups_members.user_id WHERE wp_bp_groups_members.group_id IN (SELECT id FROM wp_bp_groups WHERE name=?) AND user_login<>‘admin’ AND is_confirmed=1”);

JiveGlobals.setProperty(“jdbcGroupProvider.loadAdminsSQL”, “SELECT user_login FROM wp_users INNER JOIN wp_bp_groups_members ON wp_users.ID = wp_bp_groups_members.user_id WHERE wp_bp_groups_members.group_id IN (SELECT id FROM wp_bp_groups WHERE name=?) AND user_login=‘admin’ AND is_confirmed=1”);

JiveGlobals.setProperty(“jdbcGroupProvider.useConnectionProvider”, “true”);

JiveGlobals.setProperty(“provider.group.className”, “org.jivesoftware.openfire.group.JDBCGroupProvider”);

JiveGlobals.setProperty(“cache.groupMeta.maxLifetime”, “60000”);

JiveGlobals.setProperty(“cache.group.maxLifetime”, “60000”);

JiveGlobals.setProperty(“cache.userCache.maxLifetime”, “60000”);

true

actually i am editing directly the properties in the database