Jump to content

Better member exclusion IPS 4.0: delete all data


sobrenome

Recommended Posts

Posted

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.

Posted

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.

Posted

You can already do that with memberSync Adriano.


OnDeleteAccount or something like that? If so, still requires manual script for my app. Still there are data on Official app. An extension would do that better.

Anyway, I may have misunderstood.

:)
Posted

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.

Archived

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

  • Recently Browsing   0 members

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