Модуль uprofile

Все вопросы, касающиеся разработки сайтов на базе Абрикос, задавайте в этом форуме.

Модераторы: Mansur, radiolok

Модуль uprofile

Сообщение Freelancer » 13 мар 2012, 10:42

Управление полями профилей - как добавлять новые поля и настраивать порядок отображения полей ?
В структуре БД в таблице upfl_field я вижу, что такая возможность предусмотрена, но в панели управления таковой функции не нашел =(
Так же по этой теме - как реализовать возможность добавления нескольких фото ? (возможно есть решения готовые?)
И как открыть страницу профиля прямой ссылкой ? (для просмотра чужих профилей например)

Заранее спасибо за ответ!

Upd:
Установленные модули
Модуль Версия
sys 0.5.5
calendar 0.1.4
filemanager 0.3.4
sitemap 0.2.4
social 0.1.1
tinymce 0.1.2
uprofile 0.1.3


И как интегрировать модуль Social ? =)

Прошу прощения, если вопросы совсем глупыми кажутся. Естественно, я могу сам "допилить" существующий код, но хочется сделать это правильно, так, как задумано разработчиком и не городить кучу ошибок.
Freelancer
 
Сообщения: 2
Зарегистрирован: 13 мар 2012, 10:37

Re: Модуль uprofile

Сообщение roosit » 13 мар 2012, 11:16

Изначально была такая функция по управлению полями в профиле пользователя, но со временем практика показала что это функция лишняя.
Сейчас управлением полей пользователя происходит из модуля, которому эти поля необходимы
Например, для модуля botask необходимы поля в профиле пользователя Фамилия и Имя, при инсталляции модуля, если таковых полей нет, то идет их создание
http://trac.abricos.org/browser/modules/botask/includes/shema.php

Код: Выделить всё
$uprofileManager = Abricos::GetModule('uprofile')->GetManager();
$uprofileManager->FieldAppend('lastname', 'Фамилия', UserFieldType::STRING, 100);
$uprofileManager->FieldAppend('firstname', 'Имя', UserFieldType::STRING, 100);
$uprofileManager->FieldCacheClear();


Такая технология позволяет более гибко управлять полями в профиле пользователя в разных модулях.
Если реализовать возможность добавление полей редактором для админа (как было раньше), то здесь может быть нарушена безопасность, так как лучше все таки делать выборку необходимых полей уже в самом модуле, запросом к БД

Порядок отображения полей настраивается в самом интерфейсе профиля.
Сейчас он сделан универсальным, что позволяет через API добавлять от каждого модуля по своему интерфейсу в просмотре профиля, пример во вложении.

Так же по этой теме - как реализовать возможность добавления нескольких фото ? (возможно есть решения готовые?)

Готовых решений нет. Лучше сделать отдельным модулем, который будет управлять этими дополнительными фотографиями.

И как открыть страницу профиля прямой ссылкой ? (для просмотра чужих профилей например)

Все зависит от того, где именно необходимо открыть профиль пользователя.
Если в BosUI, то необходимо к Dom элементу добавить класс идентификатор кнопки профиля пользователя и его идентификатор, например код шаблона:
Код: Выделить всё
<a href="#" class="show-user-profile user-{v#uid}">{v#unm}</a>

где, {v#uid} - идентификатор пользователя, {v#unm} - имя пользователя
И при сборке виджета вызвать
Код: Выделить всё
Component.requires = {
   mod:[
        {name: 'uprofile', files: ['users.js']}
   ]      
};


Если необходимо открыть профиль пользователя, по прямой ссылке, например, имядомена/uprofile/id, то здесь решение готовиться к выходу, а именно будет открыт виджет профиля пользователя в сокращенной версии BosUI, но уже на статичных страницах сайта


Прошу прощения, если вопросы совсем глупыми кажутся. Естественно, я могу сам "допилить" существующий код, но хочется сделать это правильно, так, как задумано разработчиком и не городить кучу ошибок.

Все правильно делаете, лучше спросить, чем потом переделывать.

Если этот модуль планируется быть публичным, кидайте ТЗ, что и как нужно, что за модуль должен появиться, какие задачи он будет решать.
Я накидаю этот модуль, заложу архитектуру функционала, так сказать задам вектор, а дальше уже либо вы сами, либо вместе его разработаем.

Опять таки все зависит от задач.
Вложения
uprofile002.png
uprofile002.png (73.44 КБ) Просмотров: 15139
uprofile001.png
uprofile001.png (118.33 КБ) Просмотров: 15139
Планета задач - управляйте задачами и проектами легко.
Govorim.org - развиваем СПО в России, присоединяйтесь.
Twitter - мой твиттер. Все из жизни платформы и не только.
Аватара пользователя
roosit
Администратор
 
Сообщения: 144
Зарегистрирован: 02 авг 2011, 16:21
Откуда: Казань

Re: Модуль uprofile

Сообщение Freelancer » 13 мар 2012, 11:48

Готовых решений нет. Лучше сделать отдельным модулем, который будет управлять этими дополнительными фотографиями.

Я так понимаю, что это и получится искомый мною модуль - фотоальбомы пользователей.

Попробую написать собственный, - набить руку на разработке для платформы.
Если Вы не против - пришлю результат для экспертной оценки в этой теме.

Кстати сразу еще один вопрос - как лучше интегрировать файлменеджер с новым модулем для реализации этой задачи ?
В частности как использовать локальные (прописанные в новом модуле) ограничения на загрузку файлов (и разрешенные файлы) ?
Freelancer
 
Сообщения: 2
Зарегистрирован: 13 мар 2012, 10:37

Re: Модуль uprofile

Сообщение roosit » 13 мар 2012, 12:08

О, фотоальбомы пользователей - это очень востребованный модуль!
Я в свое время сделал его набросок, но так и не дошли руки его продолжить, хотя в планах дописать его, есть строчка.
Исходник модуля MyMedia - http://trac.abricos.org/svn/modules/mymedia/
Реализация в модуле уже морально устарела, но выдернуть из него некоторые идеи все-таки стоит

По сути, должен получиться модуль, по типу Менеджера задач (проектов), только вместо задач будет галерея фотографий с разграничением прав доступа.

Поэтому можно смело брать модуль MyMedia, выдернуть из него пакетный метод загрузки фотографий с виджетом отображения галереи и реализовать это все по принципу Менеджера задач.
Так же рекомендую посмотреть модуль Финансы, там упрощенная схема управления социальными объектами. Даже лучше эту модель взять из модуля Финансы.

Если Вы не против - пришлю результат для экспертной оценки в этой теме.

Конечно не против, я этим занимаюсь всегда, направляю, консультирую разработчиков. Такова моя роль, как ведущего разработчика в сообществе открытого ПО.

Кстати сразу еще один вопрос - как лучше интегрировать файлменеджер с новым модулем для реализации этой задачи ?

Посмотрите идеи реализации в MyMedia: http://trac.abricos.org/svn/modules/mymedia/includes/upload.php
Правда там используется старый метод загрузки изображений, пример нового метода возьмите из загрузки изображения в профиль пользователя.

В частности как использовать локальные (прописанные в новом модуле) ограничения на загрузку файлов (и разрешенные файлы) ?

Есть глобальный список ограничений и есть опция, которая может отключать эту проверку. Поэтому, при необходимости, можно сделать свою проверку на лимиты изображений.
Планета задач - управляйте задачами и проектами легко.
Govorim.org - развиваем СПО в России, присоединяйтесь.
Twitter - мой твиттер. Все из жизни платформы и не только.
Аватара пользователя
roosit
Администратор
 
Сообщения: 144
Зарегистрирован: 02 авг 2011, 16:21
Откуда: Казань


Вернуться в Разработка сайтов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron