# Public profiles for imported, inactive users

**URL:** https://meta.discourse.org/t/public-profiles-for-imported-inactive-users/92004
**Category:** Development
**Created:** [July 10, 2018, 5:41pm UTC](https://meta.discourse.org/t/public-profiles-for-imported-inactive-users/92004 "2018-07-10T17:41:18Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![davidmh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/davidmh/32/111386_2.png) [@davidmh](https://meta.discourse.org/u/davidmh)
#### Post date: [July 10, 2018, 5:41pm UTC](https://meta.discourse.org/t/public-profiles-for-imported-inactive-users/92004/1 "2018-07-10T17:41:18Z")

</div>

I’m migrating the content and user profiles from an old project and since the users in the project are no longer active, I decided to import them with `active = false`, which works great to avoid sending them emails that they won’t care about.

The only problem is that the profiles of inactive users are not visible by logged out visitors, which is a big part of the migration, keeping both the content and the user profiles reachable. I’m still getting traffic for the old URLs which I plan on redirecting to their Discourse equivalent.

I can think of two solutions, but none of them feels optimal:

- Keep the users inactive and write a plugin to reopen `UserController` and rewrite the `show` method to force `include_inactive: true` in `fetch_user_from_params`. Doesn’t feel great because I would be duplicating the whole method to change a single line.

- Activate the users, and disable all their email preferences. Not sure if it would be safe to rely on that to avoid all emails.

Any ideas?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [July 10, 2018, 9:45pm UTC](https://meta.discourse.org/t/public-profiles-for-imported-inactive-users/92004/2 "2018-07-10T21:45:50Z")

</div>

You could import them as active and then suspend them indefinitely.

Deactivated is slightly more correct, because it means the user needs to log in and fully validate their email to “complete their signup” before proceeding. But if you want the accounts to be fully visible, deactivating won’t work.
