I want to move all content of an exist elgg instance that has access_id ACCESS_LOGGED_IN to a specific group, since a second type of users will be entering the site.
So I need to move the content first and then change the access_id
Does anyone has an sql script available for doing this ?
info@elgg.org
Security issues should be reported to security@elgg.org!
©2014 the Elgg Foundation
Elgg is a registered trademark of Thematic Networks.
Cover image by RaĆ¼l Utrera is used under Creative Commons license.
Icons by Flaticon and FontAwesome.
Can you just move all ElggObjects into a group regardless of the access_id or do you specifically need to move only the ones that have ACCESS_LOGGED_IN?
No, I don't think that is not possible. There is also public content like blogs who need to stay there.
I doubt there exists any scripts that do this.
I quess you could use regular ElggBatch and then add a WHERE parameter in the params to be passed to elgg_get_entities:
Then iterate through the results and change the container_guid.
Thanks Juho, since it is a one time thing. A SQL statement should be faster and more flexible. Who is the SQL guru in the core team. He should be able to help me out... It would be greatly appreciated
Was my question to hard ? There must be some one who can answer it.... I can't move forward in this project without knowing how to do this.
Not too hard, but your use case propably isn't generic enough so that someone would spend their making such script.
"Moving" the content means that you change the container_guid. And then you change the access_id from ACCESS_LOGGED_IN to the ACL of the group.
If you don't know how to do this, I recommend creating more specific forum topics. E.g. "How can I find out the ACL of a specific group". It's easier to get answers if you cut your goal into multiple smaller & more generic questions.
Juho, thanks. I must be able to figure that out myself indeed. It would have been much easier if someone who did this before would share it (as I do lots of times).
For an experienced SQL guy, this is a matter of minutes and I will be spending hours and maybe days to figure this out.
As to better discussions topics, I will try that too. There is very little to none (never sure about that) to find in the community on manipulating entitities in large volumes. I have many use cases for that :-)
I'm not sure anybody has ever had to do this before, it's a pretty specific use case
We try to discourage direct SQL manipulation, and for good reason. You should probably test this out on a development version of your site or at the very least make a backup before attempting it as I can't be sure there won't be unintended consequences.
Thanks Matt, I will be trying this on my dev environment. If not, hope I can come back on it. I really understand SQL in principle, but have not much experience in manipulating it. There are really lots of cases we shoud want to do this, and if I do get a good understanding of the code I might built a plugin to do some real powerfull stuff.
Huh, well that turned out to be pretty simple.
It's however still missing at least the new access_id (group_acl). Add it like this:
- Previous
- 1
- 2
- 3
- Next
You must log in to post replies.