Jump to content

Better member exclusion IPS 4.0: delete all data


sobrenome

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.

Link to comment
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.

Link to comment
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.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...