Решение profile invision power board. Ошибка БД на форуме IPB

Ошибка БД на форуме Invision Power Board (IPB), вследствии чего форум начал тормозить довольно прилично. Оказалась повреждена таблица ibf_profile_portal_views, и необходимо сделать проверку таблиц. На форуме это отображается следующим образом: нельзя войти в профиль пользователя:

Также на форуме не отображается статистика посещений:

Идем в Админцентр IPBoard смотрим свойства системы:

Идем в раздел: Поддержка > Диагностика > Состояние системы > Обзор системы > Проверка структуры базы данных.

Находим ошибку: ibf_profile_portal_views. Нажмите здесь для исправления таблицы или вы можете выполнить следующие запросы вручную.
- ALTER TABLE ibf_profile_portal_views ADD views_member_id int(10) NOT NULL default "0".


Внимание: Найдены ошибки. В базе данных обнаружены ошибки. И для их исправления нажимаем на ссылку: Хотите попытаться исправить все в автоматическом режиме?


И напротив таблицы ibf_profile_portal_views (профиль и количество просмотров) получаем зеленый флаг:


Но после выхода и входа в админку, ошибка появляется снова. Поэтому идем в Поддержка > Управление SQL > Инструменты > Инструменты для управления SQL.


И делаем клик на таблице ibf_profile_portal_views.

Читаем информацию. Результаты ручного запроса: Can"t find file: "ibf_profile_portal_views" (errno: 2). Далее, вбиваем в поле Выполнить:
CREATE TABLE ibf_profile_portal_views (
views_member_id int(10) NOT NULL default "0"
);
И нажимаем на кнопку: Выполнить новый запрос.


Ошибка сменилась на: Table "ibf_profile_portal_views" already exists. Т.е. не дает создать новую таблицу, так как она уже существует.


Пробуем следующий вариант: repair table ibf_profile_portal_views;

Эта же ошибка работы с базой выдается при попытке удалить пользователя, через админцентр (хотя создать пользователя это не мешает, так же как перемещать его по группам).


Функция этой таблицы следующая - там скапливаются просмотры профиля пользователя, потом, они считаются и обновляются в другой таблице, а данная таблица очищается.
Для работы с БД, также можно использовать либо Sypex Dumper, либо phpMyAdmin веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.

Версии

  • 1.x.x , последняя версия - 1.3.1 , поддержка прекращена.
  • 2.0.x , последняя версия - 2.0.4: 4 мая
  • 2.1.x , последняя версия - 2.1.7: 13 июля
  • 2.2.x , последняя версия - 2.2.2: 22 февраля
  • 2.3.x , последняя версия - 2.3.6: 2 октября
  • 3.0.x , последняя версия - 3.0.5: 8 декабря
  • 3.1.x , последняя версия - 3.1.4: 18 ноября
  • 3.2.x , последняя версия - 3.2.3: 9 сентября
  • 3.3.x , последняя версия - 3.3.4: 11 июля

История развития

Компания Invision Power Services (IPS) создана двумя программистами - Matt Mecham и Charles Warner в 2002 году, вскоре после того, как они покинули Jarvis Entertainment Group (компания, занимающаяся разработкой форумов Ikonboard). Самым первым их продуктом стал именно IPB, который привлек внимание множества пользователей Ikonboard.

Хотя разработчики Invision Power Services изначально предпочли бесплатное распространение исходного кода форума, в 2004 году IPB прекратил выпуск бесплатных версий. Trial-версию Invision Power Board 2.0.0 решено было оставить для свободного скачивания, но 27 сентября 2004 года эту возможность так же закрыли в связи с вводом бесплатной демоверсии, имеющей ограничения на 5000 сообщений, 1000 тем и 200 пользователей. Этим Invision Power Services положили конец заявлениям что IPB всегда будет бесплатным. 1-го июля 2005 года IPS ввело новое ограничение в демоверсию - не более 15 дней использования (в некоторых случаях, до 5 дней) и несколькими месяцами спустя, этот срок был ограничен сутками.

Версия IPB 2.0.4 стала первой версией, которую начали официально продавать в России, а также странах СНГ. Русскоязычное сообщество получило официальное разрешение компании IPS на осуществление продаж локализованной версии IP.Board в русскоязычном сегменте.

Версия 1.3

Версия форумов IPB 1.3 является самой последней бесплатно распространяемой версией движка и до сих пор разрешена IPS для использования, хотя уже не поддерживается разработчиками и доступ к скачиванию на официальном ресурсе уже прекращён. Не обращая внимание на устарелость данной версии форума и наличия в ней известных дыр в безопасности, многие люди до сих пор пользуются ей и не выражают никакого желания обновляться. IPS продолжала выпускать обновления безопасности до объявления выхода в разработку версии 2.1 в 2005 году, после чего поддержку данной версии форума прекратила. Некоторыми сайтами продолжают выпускаться обновления безопасности и обновления для работы данной версии форума на PHP5 , но эти обновления не поддерживаются IPS. Использование этих версий является незаконным в том случае, если вы скачали ее не с официального сайта .

Версия 2.0

Форумы версии IPB 2.0 очень похожи на 2.1. Данная версия является последней версией, которую можно бесплатно скачать с официального сайта IPS. Так же, как и с версией 1.3, многие пользователи до сих пор продолжают ей пользоваться, используя неограниченные trial-версии 2.0 PDR (Версия, находящаяся на этапе разработки), PF (англ. Pre-Final ; версия, находящаяся на этапе тестирования и доработки, выпускается перед финальным релизом) и Final, которые так же имеют свои дыры в безопасности и больше не поддерживаются разработчиками. Final-версию 2.0 бесплатно можно было скачать в первые часы после официального выхода в свет с официального сайта разработчика.

Версия 2.1

IPB 2.1 имеет значительные преимущества над своими предшественниками, такие как: последние обновления безопасности, Rich Text Editor в качестве редактора сообщений пользователя и множество инструментов для модерирования, в том числе с применением технологии AJAX . Административная часть в IPB 2.1 была полностью переработана. Все версии IPB 2.1 являются коммерческим ПО, возможности скачать на официальном сайте демоверсию нет.

Версия 2.2.7

Invision Power Board 2.2 тестировалась на безопасность сторонней компанией, что позволило найти в скрипте форума опасные уязвимости ещё до выпуска финальной версии. Сразу после релиза 2.2 версии была выпущена версия 2.2.1, которая закрыла множество ошибок.

Версия 2.3

Эта версия включает в себя множественные изменения в коде, которые позволили повысить быстродействие системы на больших форумах. С версии 2.3 форум предоставляется в комплекте с двумя стилями (классический синий и Pro стиль). Последний позиционируется разработчиком как облегчённый и может быть легко использован как основа для разработки своих стилей, или, к примеру, как стиль для форумов с высоким трафиком. В этой версии IPS расширила возможности администраторской панели форума, добавив интеллектуальную систему помощи и предоставив панель управления (dashboard) в качестве главной страницы админцентра. Из новых возможностей форума стоит отметить появление переназначения стилей (URL Mapping). Благодаря этой настройке стало возможным назначать собственные стили на определенные URL-адреса: например, сделать стиль, отличный от стиля форумов, для страницы просмотра профиля.

Версия 3.0

В этой версии произошли обширные изменения, включая появление нового движка шаблонов, новый дизайн, повышенное удобство при редактировании шаблонов, улучшения BB-кодов, собственную систему репутации и многое другое… Также для 3-ей версии необходим PHP5 . Базы данных Oracle больше не поддерживаются. Основным же новшеством стало появление хуков, с помощью которых можно изменять и/или добавлять новый функционал без изменения исходного кода форума. Для установки хуков администратору достаточно загрузить xml файл хука админ-центре. К сожалению, создание любых хуков возможно только в режиме разработки и требует огромного количества ручной работы (большая часть этой работы может быть автоматизирована с помощью IPB3 Toolkit ).

Все хуки разделяются на следующие типы (названия хуков взяты из русской версии от IBR, в скобках указано оригинальное название):

  • Перезагрузчик действия (Action overloader) - позволяют расширить указанный класс контроллера собственным классом;
  • Перезагрузчик стиля (Skin overloader) - позволяют расширить указанный класс шаблона собственным классом (применяется для всех скинов);
  • Модификация шаблона (Template hook) - позволяют добавить произвольный код (в основном это HTML) в нужное место шаблона.

Версия 3.1

Система хуков так же получила дальнейшее развитие - были добавлены новые типы хуков:

  • Хук для шаблона (ранее - Модификация шаблона, Template hook) - расширен, можно выполнять замену блоков и получать значения переданных в шаблон переменных;
  • Хук для данных (Data hook) - позволяет обрабатывать данные перед их вставкой (получение) в (из) базы данных;
  • Хук для библиотеки (Library hook) - позволяет переопределять многие системные классы.

Версия 3.2

Примечания

См. также

  • Ikonboard - Скрипт форума, изначально разрабатываемый Matt Mecham.

Ссылки

Официальные

  • Документация по Invision Power Board - официальная англоязычная документация по Invision Power Board


act . Так вот act action ", что означает "действие". (далее в тексте вместо act будет говориться action ) action act=Online или act=UserCP

act=idx
Сначала найдите такой код:
if (! isset($choice[ $ibforums->input["act"] ])) { $ibforums-> idx idx на portal ИЛИ на home


$choice = array("idx" => "Boards", "SC" => "Boards", "SF" => "Forums", "SR" => "Forums", "ST" => "Topics", "Login" => "Login", "Post" => "Post", "Poll" => "lib/add_poll", "Reg" => "Register", "Online" => "Online", "Members" => "Memberlist", "Help" => "Help", "Search" => "Search", "Mod" => "Moderate", "Print" => "misc/print_page", "Forward" => "misc/forward_page", "Mail" => "misc/contact_member", "Invite" => "misc/contact_member", "ICQ" => "misc/contact_member", "AOL" => "misc/contact_member", "YAHOO" => "misc/contact_member", "MSN" => "misc/contact_member", "report" => "misc/contact_member", "chat" => "misc/contact_member", "integ" => "misc/contact_member", "Msg" => "Messenger", "UserCP" => "Usercp", "Profile" => "Profile", "Track" => "misc/tracker", "Stats" => "misc/stats", "Attach" => "misc/attach", "ib3" => "misc/ib3", "legends" => "misc/legends", "modcp" => "mod_cp", "calendar" => "calendar", "buddy" => "browsebuddy", "boardrules" => "misc/contact_member", "mmod" => "misc/multi_moderate", "warn" => "misc/warn", "home" => "dynamiclite/csite", "module" => action "warn" => "misc/warn", , то это значит для act=warn
sources sources

lang и skin . Находим соответственно:
$ibforums->lang = $std->load_words($ibforums->lang, "lang_post" , $ibforums->lang_id); $ibforums->lang = $std->load_words($ibforums->lang, "lang_ucp" , $ibforums->lang_id); и
$this->html = $std-> lang_post.php и lang_ucp.php skin_ucp.php

А вот что с чем связано:

"idx" =>
"SC" =>
"SF" =>
"SR" =>
"ST" =>
"Login" =>
"Post" =>
"Poll" =>
"Reg" =>
"Online" =>
"Members" =>
"Help" =>
"Search" =>
"Mod" =>
"Print" =>
"Forward" =>
"Mail" =>
"Invite" =>
"ICQ" => Отсылка сообщения на ICQ
"AOL" => Отсылка сообщения на AOL
"YAHOO" => Отсылка сообщения на YAHOO
"MSN" => Отсылка сообщения на MSN
"report" =>
"chat" =>
"integ" =>
"Msg" =>
"UserCP" =>
"Profile" =>
"Track" => Подписка на тему/форум
"Stats" =>
"Attach" =>
"ib3" =>
"legends" => Смайлики, помощь по bbcode
"modcp" =>
"calendar" =>
"buddy" =>
"boardrules" =>
"mmod" =>
"warn" =>
"home" =>
"module" =>


act

У вас могут возникнуть вопрос, а что же такое: "idx" => "Boards", "SC" => "Boards", "SF" => "Forums", "SR" => "Forums", "ST" => "Topics",








if ($ibforums->input["showforum"] != "") { $ibforums->input["act"] = "SF"; $ibforums->input["f"] = intval($ibforums->input["showforum"]); } else if ($ibforums->input["showtopic"] != "") { $ibforums->input["act"] = "ST"; $ibforums->input["t"] = intval($ibforums->input["showtopic"]); // Grab and cache the topic now as we need the "f" attr for // the skins... $DB->query("SELECT t.*, f.topic_mm_id, f.name as forum_name, f.quick_reply, f.id as forum_id, f.read_perms, f.reply_perms, f.parent_id, f.use_html, f.start_perms, f.allow_poll, f.password, f.posts as forum_posts, f.topics as forum_topics, f.upload_perms, f.show_rules, f.rules_text, f.rules_title, c.name as cat_name, c.id as cat_id FROM ibf_topics t, ibf_forums f , ibf_categories c WHERE t.tid=".$ibforums->input["t"]." and f.id = t.forum_id and f.category=c.id"); $ibforums->topic_cache = $DB->fetch_row(); $ibforums->input["f"] = $ibforums->topic_cache["forum_id"]; } else if ($ibforums->input["showuser"] != "") { $ibforums->input["act"] = "Profile"; $ibforums->input["MID"] = intval($ibforums->input["showuser"]); }

Структура и пути в IPB

Форумы IBResource


В этой теме нет ответов

IBResource

  • Город: 99|rus

У многих наверняка возникал вопрос:
"Почему в IPB столько файлов? Ведь пути всегда идут к одному файлу index.php, а меняются лишь параметры."

Так вот эта краткая статья по файлам в IPB должна помочь вам лучше разбираться в IPB . Что где искать. Где что изменять.

Почти все страницы в IPB имеют в адресе параметр act . Так вот act - это сокращение от английского слова "action ", что означает "действие". (далее в тексте вместо act будет говориться action ) Так вот эта основная состовляющая деления по файлам. Почти каждому значению action соответствует свой файл с функциями + свой файл с шаблонами + свой языковой файл. Почему почти? Потому что бывают мелкие действия, естесственно на разных значениях action , но они объединяются все в один файл с функциями + также объединенный языковой файл + также объединенный файл с шаблонами. Например есть крупные act=Online или act=UserCP . У них у каждого свои служебные файлы с функциями и т.д.
Итак как понять какой action относиться к каким файлам?

Для этого заходим в index.php. Там все расписано. Сразу сообщю, что index.php?act=idx является адресом главной странице форума где представлены все категории и форумы.
Сначала найдите такой код:
if (! isset($choice[ $ibforums->input["act"] ])) { $ibforums->input["act"] = "idx"; } Это запись означает, что если параметр action не указан, то он по умолчанию равен idx . Так вот почему при запуске форума просто по адресу открывается главная страница форума со списком форумов . Изменив здесь значение idx на portal (для форума где стоит IBF Portal 3.2 или 4.0) ИЛИ на home (если у вас 1.2 и стоит портал IPDynamic Lite), то вы получите, что у вас по умолчанию будет загружаться не форум а портал.

А теперь поднимитесь чуть выше и найдите примерно такой код:
$choice = array("idx" => "Boards", "SC" => "Boards", "SF" => "Forums", "SR" => "Forums", "ST" => "Topics", "Login" => "Login", "Post" => "Post", "Poll" => "lib/add_poll", "Reg" => "Register", "Online" => "Online", "Members" => "Memberlist", "Help" => "Help", "Search" => "Search", "Mod" => "Moderate", "Print" => "misc/print_page", "Forward" => "misc/forward_page", "Mail" => "misc/contact_member", "Invite" => "misc/contact_member", "ICQ" => "misc/contact_member", "AOL" => "misc/contact_member", "YAHOO" => "misc/contact_member", "MSN" => "misc/contact_member", "report" => "misc/contact_member", "chat" => "misc/contact_member", "integ" => "misc/contact_member", "Msg" => "Messenger", "UserCP" => "Usercp", "Profile" => "Profile", "Track" => "misc/tracker", "Stats" => "misc/stats", "Attach" => "misc/attach", "ib3" => "misc/ib3", "legends" => "misc/legends", "modcp" => "mod_cp", "calendar" => "calendar", "buddy" => "browsebuddy", "boardrules" => "misc/contact_member", "mmod" => "misc/multi_moderate", "warn" => "misc/warn", "home" => "dynamiclite/csite", "module" => "modules",); А вот и список всех значений action (слева) и список имен файлов (без расширения php) к чему они относятся (справа). Если строка такая - "warn" => "misc/warn", , то это значит для act=warn служебный файл расположен по адресу
Почему в строке не указана директория sources , а я ее указал? Потому что все служебные файлы (почти ) находятся в папке sources (в переводе с английского - исходники).
Как узнать, где находятся языковые файлы и шаблоны данного файла?
Просто. Заходим в файл, например выбрали UserCP.php. Там ищем слова lang и skin . Находим соответственно:
$ibforums->lang = $std->load_words($ibforums->lang, "lang_post" , $ibforums->lang_id); $ibforums->lang = $std->load_words($ibforums->lang, "lang_ucp" , $ibforums->lang_id); и
$this->html = $std->load_template("skin_ucp"); Из чего не сложно понять, что языковые файлы используются 2 штуки lang_post.php и lang_ucp.php . А файл с шаблонами используется только один skin_ucp.php

А вот что с чем связано:

"idx" => index - Главная страница форума
"SC" => Show Category - Отображает список форумов выбранной категории
"SF" => Show Forum - Показывает список тем выбранного форума!
"SR" => Show Rules - Показывает правила выбранного форума (их можно создавать для каждого форума свои)
"ST" => Show Topic - Показывает выбранную тему (список всех сообщений выбранной темы)
"Login" => Обслуживает авторизацию (вход в форум под своей учетной записью)
"Post" => Обслуживает публикацию сообщений, создание тем, опросов
"Poll" => Обслуживает добавление голосов к опросу
"Reg" => Регистрация, восстановление пароля...
"Online" => Список активных пользователей (тех кто в онлайне)
"Members" => Список всех пользователей, различная сортировка...
"Help" => Обслуживание файлов помощи (FAQ, просмотр, сортировка)
"Search" => Поиск по форуму. Расширенный поиск. Просмотр новых сообщений со времени последнего визита, активные темы.
"Mod" => Модерирование. Действия модератора. Перенос тем. Разделение и т.д.
"Print" => Вид темы для печати, сохранение темы в HTML, Ms Word...
"Forward" => Отсылка ссылки на тему другу на e-mail.
"Mail" => Написание и отправка письма пользователю на e-mail.
"Invite" => Пока функции такой нет. Но разработчики заранее уже заготовки делают себе
"ICQ" => Отсылка сообщения на ICQ
"AOL" => Отсылка сообщения на AOL
"YAHOO" => Отсылка сообщения на YAHOO
"MSN" => Отсылка сообщения на MSN
"report" => Сообщить модератору (обслуживание ссылки на доклад модератору на e-mail о сообщении)
"chat" => Модуль чата. Invision Power Chat платный чат. Поэтому его нету в наборе
"integ" => Отсылка сообщения на Integrity Messenger
"Msg" => Обслуживание Личного Ящика. Прием отсылка и другие действия с PM"ками (сообщениями в Приват)
"UserCP" => Большой скрипт работы с "Профилем". Это и управление подпиской и настройки форума и т.д...
"Profile" => Просмотр профиля пользователя...
"Track" => Подписка на тему/форум
"Stats" => 10 лучших авторов, 10 лучших авторов сегодня и ссылка на состав Администрации
"Attach" => Скачивание присоединенного файла к сообщению (аттача)
"ib3" => Модуль входа в форум для Ikonboard 3. Связано с конвертированием из IkonBoard3
"legends" => Смайлики, помощь по bbcode
"modcp" => Панель управления модератора. И все что с ней связано
"calendar" => Календарь. публикация, изменение событий календаря...
"buddy" => Контакт-лист пользователя. Добавление пользователя в контакты и т.д.
"boardrules" => Общие правила всего форума. Из просмотр.
"mmod" => Мультимодерация. Создание общих правил для модерирования форумов
"warn" => Система рэйтингов/предупреждений
"home" => Просмотр портала IPDynamic Lite. Вот по этой ссылке ясно почему act=home это портал
"module" => Дополнительные модули синхронизации. Появились только в 1.2


Так что если вы что-то хотите изменить загляните в адресную строку браузера, посмотрите, чему равен параметр act , и вы сразу будете знать где искать. А место, что вы ищете можете найти по какому-нибудь тексту, который не динамический (не изменяется). А раз текст статичный, значит он в языковых файлах наверняка есть. Значит найдя его через поиск в языковых файлах вы сможете увидеть какая переменная соответствует данной записи и уже искать нужное место по имени переменной, что как правило приведет вас в шаблоны с уже знакомым HTML языком Там-то имея базовые навыки английского (как правило переменные называются простыми понятными словами на английском языке) вы сможете там найти нужное и понять уже без языковых переводов что есть что.

У вас могут возникнуть вопрос, а что же такое: "idx" => "Boards", "SC" => "Boards", "SF" => "Forums", "SR" => "Forums", "ST" => "Topics",
idx - index - главная страница форума
SC - Show Category - просмотр выбранной категории (список форумов выбранной категории)
SF - Show Forum - Просмотр форума (список тем выбранного форума)
SR - Show Rules - Просмотр правил форума (их можно добавлять к каждому форуму свои через AdminCP)
ST - Show Topic - Просмотр темы (список сообщений выбранной темы)

Также в последней версии 1.2 ввели несколько более сокращенных видов ссылок, которые имитирует эти обычные. Это
index.php?showforum=3 - эта запись идентична index.php?act=SF&f=3
index.php?showtopic=33234 - эта запись идентична index.php?act=ST&f=номер_форума&t=33234
index.php?showuser=343 - эта запись идентична index.php?act=Profile&CODE=03&MID=343

Эти три сокращения реализуются кодом, который записан в index.php:
if ($ibforums->input["showforum"] != "") { $ibforums->input["act"] = "SF"; $ibforums->input["f"] = intval($ibforums->input["showforum"]); } else if ($ibforums->input["showtopic"] != "") { $ibforums->input["act"] = "ST"; $ibforums->input["t"] = intval($ibforums->input["showtopic"]); // Grab and cache the topic now as we need the "f" attr for // the skins... $DB->query("SELECT t.*, f.topic_mm_id, f.name as forum_name, f.quick_reply, f.id as forum_id, f.read_perms, f.reply_perms, f.parent_id, f.use_html, f.start_perms, f.allow_poll, f.password, f.posts as forum_posts, f.topics as forum_topics, f.upload_perms, f.show_rules, f.rules_text, f.rules_title, c.name as cat_name, c.id as cat_id FROM ibf_topics t, ibf_forums f , ibf_categories c WHERE t.tid=".$ibforums->input["t"]." and f.id = t.forum_id and f.category=c.id"); $ibforums->topic_cache = $DB->fetch_row(); $ibforums->input["f"] = $ibforums->topic_cache["forum_id"]; } else if ($ibforums->input["showuser"] != "") { $ibforums->input["act"] = "Profile"; $ibforums->input["MID"] = intval($ibforums->input["showuser"]); }

А вообще все, что вы хотите изменить, можно найти поиском в файлах форума. Поэтому всегда держите копию всех файлов форума у себя на жестком диске. Ведь поиск в файлах на сервере через ftp попросту невозможен. Но это уже тема для другой статьи. Так что The End. Удачи

Все комментарии и вопросы по статье пожалуйста в ! Если будут изменения или какие-либо важные вопросы и ответы, я их добавлю тут в тему!

In my opinion, as a site admin, that"s not personal information. Plus that information lives in many places besides your profile. It shows in forum topics, in your user popup, it defines what permissions you have, etc. So hiding it on your profile is a false sense of privacy.

To me it just does not make sense to introduce a false sense of security by "hiding things in my profile" when everything you put in your profile on a community forum is by its nature public to all those in said community.

Put another way: on Facebook your profile is all about you. On a community your profile is about what you have done in that community. It"s the opposite viewpoint.

I think your opinion of forum profiles is dated. It might apply to quite a few forums, but you claim to be an enterprise solution, so that is what I am addressing this as. My site might be small potatoes, but it is becoming one of the most popular in its niche.

Profiles on my site have a lot of potential. But because my members are a mixture of professionals within my industry niche and consumers/DIYers who aren"t, the power of my member profiles as a whole can be seriously diluted with miscellaneous information that has nothing at all to do with my industry. Take, for instance, the 2 members whose profile pages I use to illustrate my point.

This user, MarmoMan, is a pro in his field. The information he provides is relevant to the industry and can be used as a kind of business listing. Anyone who visits the site can view his profile and see his industry status, work history and accomplishments and contact him in various manners that can be very beneficial to him. This kind of profile is an asset to my site.

This user, arrowpawn, is a consumer who came to us about flooring issues he/she was having, got answers and hasn"t returned since. But the member made sure to leave a lasting impression I only discovered tonight. In addition to all the non-industry related information on the About Me tab, there is contact information, including a link to a website, on the Contact Info tab. This is not good for my site and is considered spam - even though they are a legitimate company. They have taken advantage of the inability I have to make certain profile information and certain user groups hidden from search spiders and non-members.

IPS4.x has great potential to turn profile pages into an asset for many forums. It could have the ability to add fields relevant to the site"s focus, turn privacy on and off for certain of those fields, make some/all fields admin controllable and add SEO to the profile, among other options. The user popup in other areas of the site should include only information the admin deems important on a user category basis and also allow some user configuration.

The point I want to make to you is that everything put in a profile does NOT have to be public, especially if you want to have more control over the relevant content of your website. And I am not one that will compare this feature to facebook. My hope is that it will be incomparable to any other forum product available. You have the resources, the skill and the potential to develop IPS profiles into more than just a miscellaneous forum feature.