Jump to content

Community

sobrenome

Better member exclusion IPS 4.0: delete all data

Recommended Posts

In the current ips software we have the option to exclude a member and delete all its posts.

But we still have members' comments, articles, databases records, events, blogs entries, galleries, etc.

The new system should give the admin the power to delete all this data when a member is about to be excluded from the community.

Share this post


Link to post
Share on other sites

In the current ips software we have the option to exclude a member and delete all its posts.

But we still have members' comments, articles, databases records, events, blogs entries, galleries, etc.

The new system should give the admin the power to delete all this data when a member is about to be excluded from the community.

Actually, it doesn't delete posts; it changes the ownership of topics, posts, attachments, polls, etc,. to member_id = 0. When you prune a member (IPSMember::remove()), you'll delete data from following tables:

  • core_share_links_log
  • mobile_device_map
  • core_like
  • core_like_cache
  • profile_ratings
  • profile_portal
  • profile_portal_views
  • profile_friends
  • profile_friends_flood
  • dnames_change
  • mobile_notifications
  • pfields_content
  • members_partial
  • moderators
  • sessions
  • search_sessions
  • upgrade_sessions
  • members_warn_logs
  • members_warn_logs
  • member_status_actions
  • member_status_replies
  • member_status_updates
  • admin_permission_rows
  • core_sys_cp_sessions
  • core_sys_login
  • message_topic_user_map
  • ignored_users
  • inline_notifications
  • core_item_markers
  • core_item_markers_storage
  • rc_modpref
  • rc_reports_index
  • reputation_cache
  • reputation_index
  • validating
  • members

But I agree that this should be more efficient and delete (or at least change ownership of) data from 3rd party Apps or even IPS Apps.

That could be done via extension, like we use for IP Address Lookups on Apps: http://www.invisionpower.com/support/guides/_/advanced-and-developers/application/supporting-ip-address-lookups-r191

Something like:

<?php

class myapplication_memberData
{
    /**
     * Return member data tables
     *
     * @access    public
     * @return    array     Table 
     */
    public function getTables()
    {
        return array(
            'mytable1'  => 'mid',
            'mytable2'  => 'member_id',
            );
    }
}

That way we would inform which tables has data to delete to the framework when prunning members.

Share this post


Link to post
Share on other sites

The memberSync extensions already do all of this stuff. Every IPS app has one with the exception of Chat, which has no use for it. When you delete a member's account, the onDelete function in every application's memberSync file will execute and either delete the associated content or mark it unapproved, or something similar.

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...