Project

General

Profile

Actions

Feature proposal #5306

open

Add user sync/creation to CB system plugin

Added by nant almost 9 years ago. Updated almost 7 years ago.

Status:
Assigned
Priority:
Normal
Assignee:
Target version:
Start date:
01 June 2015
Due date:
% Done:

50%

Estimated time:

Description

During JAB15 we discussed the possibility to add new feature to existing Joomla system CB plugin to listen to joomla user creation event and if this event is triggered by a non CB process then add CB user also.

This way user sync issue will no longer be needed.

I did something similar in my Civicerm plugin.

Actions #1

Updated by beat almost 9 years ago

  • Target version changed from CB 2.0.10 to CB 2.0.11
Actions #2

Updated by beat over 8 years ago

  • Target version changed from CB 2.0.11 to CB 2.0.12
Actions #3

Updated by beat over 8 years ago

  • Target version changed from CB 2.0.12 to CB 2.0.13
Actions #4

Updated by beat about 8 years ago

  • Target version changed from CB 2.0.13 to CB 2.0.14
Actions #5

Updated by beat about 8 years ago

  • Target version changed from CB 2.0.14 to CB 2.0.15
Actions #6

Updated by beat over 7 years ago

  • Target version changed from CB 2.0.15 to CB 2.1
Actions #7

Updated by krileon over 7 years ago

  • Assignee changed from nant to krileon

May not be doable. The trigger onUserAfterSave, which is what we need to act on, uses ->getProperties when sending the $user object stored. This strips out private variables and we need to send one to tell the bot to ignore the user save otherwise we'll end up with an infinite loop.

Actions #8

Updated by krileon over 7 years ago

Setting a parameter could work when constructing with _getCmsUserObject instead of a private variable.

Actions #9

Updated by krileon over 7 years ago

This will be disabled by default as the typical install should never need it so don't bother with the overhead of parsing for it.

Actions #10

Updated by krileon over 7 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 0 to 100

Implemented in MR !1113

Actions #11

Updated by krileon over 7 years ago

This is partially implemented. We need a cleaner way to do an API store that does field processing. Ideally we need an API store variant of saveSafely so a data array can be provided and field validation/parsing is still done, but it doesn't fail the store due to failed validation. The API variant should only fail at ->bind and ->store which would mean a failed query.

Actions #12

Updated by krileon over 7 years ago

  • Status changed from Resolved to Assigned
  • % Done changed from 100 to 50
Actions #13

Updated by krileon over 7 years ago

Looks like this is already somewhat supported using $ui of 0. This just needs to go a little further in that $ui 0 won't fail on validation errors, etc.. from plugin behavior.

Actions #14

Updated by krileon over 7 years ago

There's no way to do this cleanly with current APIs without a rewrite to UserTable saveSafely behavior and all field storage behavior as their validation needs to handle API saves.

Proposing this be rejected and instead a new plugin be developed to handle the synchronization.

Actions #15

Updated by krileon over 7 years ago

  • Status changed from Assigned to Feedback
  • % Done changed from 50 to 0
Actions #16

Updated by krileon over 7 years ago

  • Status changed from Feedback to Assigned
  • % Done changed from 0 to 50

Implemented in MR !1113 as WIP

The user storage code needs significant improvement to avoid large amounts of duplicate code.

Actions #17

Updated by krileon over 7 years ago

  • Target version changed from CB 2.1 to CB 3.0
  • % Done changed from 50 to 0
Actions #18

Updated by beat almost 7 years ago

  • % Done changed from 0 to 50

As MR !1113 has a WIP implementation (moving to 50% done) so we don't miss it.

Actions

Also available in: Atom PDF