allora...
metto al corrente della soluzione trovata... così qualcuno mi dice se ho fatto un'inutile accrocchio....
Ho utilizzato questi plug-ins:
Buddypress
BuddyPress Restrict Group Creation
BP Groupblog
WP-invites
Facebook OpenGraph
La soluzione non è esattamente quella pensata inizialmente, ma per certi versi... almeno per le mie esigenze... anche meglio.
Intanto la definizione delle impostazioni di base per le registrazioni degli utenti:
ruolo predefinito: Collaboratore
consenti nuove registrazioni: Posssono venir creati nuovi account utente.
La prima impostazione mi serve perché devo lasciarmi la possibilità che gli utenti che si "iscrivono" mediante account Facebook siano automaticamente assegnati al ruolo: Sottoscrittore (più avanti spiego come).
La seconda mi permette di inabilitare la creazione di blog all'utente... tanto poi Buddypress ho visto che sovrascrive questa impostazione e lo consente (di seguito spiego come).
Iscrizione da Facebook con il plug-in "Facebook OpenGraph"
L'utente si registra normalmente con il login utilizzando l'applicazione di connessione sviluppata ad hoc... la registrazione nella tabella wp_user avviene come previsto dal plug-in... ma ho dovuto fare una modifica al core di WP (lo so che non si dovrebbe fare, ma non ho trovato altra soluzione...
) al file "/wp-includes/registration.php", per ottenere che all'utente Facebook sia assegnato il ruolo "subscriber".
codice oiginale:
if ( isset($role) ) {
$user = new WP_User($user_id);
$user->set_role($role);
} elseif ( !$update ) {
$user = new WP_User($user_id);
$user->set_role(get_option('default_role'));
}
codice corretto:
if ( isset($role) ) {
$user = new WP_User($user_id);
$user->set_role($role);
} elseif ( !$update ) {
if (substr($nickname, 0, 3)=='fb_' && substr($user_url, 0, 38)=='http://www.facebook.com/profile.php?id') {
$user = new WP_User($user_id);
$user->set_role('subscriber');
} else {
$user = new WP_User($user_id);
$user->set_role(get_option('default_role'));
}
}
Iscrizione normale
Avendo necessità di controllare minimamente l'iscrizione degli utenti ho impostato il plug-in "WP-invites" così, per la registrazione, l'utente deve anche indicare il codice di invito che gli è stato mandato da un altro utente o dall'amministratore su sua richiesta.
L'utente, a quel punto, ha "Capabilities" di "edit_post" che possono essere impostate nel plug-in "BuddyPress Restrict Group Creation" come elemento restrittivo minimo per creare gruppi in Buddypress... In questo modo l'utente Facebook, non avendo "Capabilities" di "edit_posts" non potrà creare gruppi.
Ora si può abilitare il plug-in "BP Groupblog" che consente di associare un blog al gruppo creato (per gli utenti che hanno facoltà di creare gruppi) ed il gioco è fatto...
Non si consente di creare blog direttamente all'utente, ma al gruppo da questi creato... che, concettualmente, per quanto mi riguarda ha ancora più senso... trattandosi di un social network.
...sono pronto per il plotone di esecuzione... mirate al cuore.