Comments (2)
This issue has been resolved by correct configuration of the plugin in the last version of this plugin.
The idea behind that is all cases the same:
Context
We have an olduserid and a newuserid. The olduserid is related to a user to be replaced by the user related to newuserid. In other words, all records related to olduserid will be presented as if they were performed by newuserid.
In some database tables, there are indexes that are compound by several fields (now on compound indexes) relating at lest a user-friendly field. Actually, we have only found compound indexes made by two fields. And in some cases, both fields are user-friendly.
How does the plugin process compound indexes?
Let us suppose the following scenario in a given database table with an identified case of compound index:
- If the table has a record where only the olduserid value appears, the plugin simply replaces the olduserid value by the newuserid without conflict, like in the rest of normal cases.
- If the table only has cases on which a record appears with only the newuserid value on, the plugin simply ignores that case. The database table already presents the value we expect.
- If the table has for a given compound index value both the olduserid and newuserid values, the plugin realizes the following:
- Deletes the records related to olduserid for conflicting cases on compound indexes if they were replaced with the newuserid value.
- We leave with no change the records related to newuserid. We assume that, given the olduserid has to disappear and that it is older than the newuserid, the related records of newuserids are equivalent to the records from olduserid. In other words, the person related to the given olduserid and newuserid has made the same "job" for both olduserid and newuserid.
Let you check how it works just now 👍
from moodle-tool_mergeusers.
Hi Jordi,
Indeed, I think your assumption (3.ii.) is correct, and that solved the problem. Brillant!
from moodle-tool_mergeusers.
Related Issues (20)
- regrading produces warnings
- ensure logstore_standard_log.realuserid is processed
- Logs: include start time and end time for every block of actions
- Start defining Inversion of Control: let parts of Moodle govern how to do merge operations HOT 1
- Error when trying the merge value from user_profile_data HOT 1
- Problems during merging on ldap users HOT 1
- Export data from tool_mergeusers to tool_mergeusers_queue
- Problem concerning the plugin update to Moodle 4.1 HOT 7
- Moodle 4.1, PHP 8.1: web interface needs improvement
- Request: Please include an ongoing changelog instead of one file for each git tag HOT 3
- Error when even trying to start it up HOT 4
- After having merge request from #218: allow to just update fields instead of proceed with a full merge HOT 2
- strpos(): Passing null to parameter #1 ($haystack) HOT 1
- Please convert Windows linefeeds in repository to Unix line feeds HOT 3
- FR: Implement Moodle type hook to let plugins extend its configuration HOT 2
- FR: Option to skip over orphan grades HOT 3
- im installed Merge user accounts 3.9 version, but when i merge two contacts it showing this bellow error message. can you guys help me to resolve this ? HOT 1
- O365 error login HOT 1
- Potential coding error - active database transaction detected during request shutdown: HOT 7
- Display debug messages
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moodle-tool_mergeusers.