Office 1.1.0 - улучшения авторизации
Подготовил и выпустил новую версию Office, в которую вошло множество исправлений и улучшений.
Список заказов miniShop2 теперь выглядит так:
Это промежуточная тема оформления из MODX 2.3, которую уже заменили на более новую (и яркую). В админке её как-то не очень восприняли, а вот для Office она подошла как родная!
Также сразу встроен Font Awesome 4.1.0 для вывода иконок и элементов навигации Ext JS и плоские кнопки от Bootstrap 3. На базе Office можно рисовать вот такие приятные интерфейсы:

Предыдущие версии Office предлагали очень иннвационную систему авторизации, когда нужно было только ввести свой email и перейти по ссылке из почты. Если такого ящика на сайте не было — создавался новый юзер и отправлялось письмо. То есть, даже как таковой регистрации не было.
При разработке авторизации мы исходили из следующих предположений:

Правила теперь такие:
Кстати говоря, если вам все эти новшества не по душе — вы можете просто не обновлять чанк авторизации, и всё будет работать как и раньше.
Новая версия уже установлена на нашем хостинге — можно проверять, как работает:
Если всё будет хорошо — обновлю авторизацию в сообществе и в магазине. Кстати, еще я сильно доработал чанки писем — советую их обновить, чтобы вашим пользователям было еще понятнее, что происходит с авторизацией.
Все, кто уже купил Office могут обновляться, версия хоть и бета, но работает хорошо. Кстати говоря, она уже готова для работы с miniShop2 2.1.8, про который напишу позже.
Версия 1.1.0-pl:
Список заказов miniShop2 теперь выглядит так:
Это промежуточная тема оформления из MODX 2.3, которую уже заменили на более новую (и яркую). В админке её как-то не очень восприняли, а вот для Office она подошла как родная!
Также сразу встроен Font Awesome 4.1.0 для вывода иконок и элементов навигации Ext JS и плоские кнопки от Bootstrap 3. На базе Office можно рисовать вот такие приятные интерфейсы:

Улучшение авторизации
Предыдущие версии Office предлагали очень иннвационную систему авторизации, когда нужно было только ввести свой email и перейти по ссылке из почты. Если такого ящика на сайте не было — создавался новый юзер и отправлялось письмо. То есть, даже как таковой регистрации не было.
При разработке авторизации мы исходили из следующих предположений:
- Люди не запоминают пароли. Чуть что — они просто делают их сброс через почту.
- Люди привяжут соц.сети к своей учетке — и будут входить через них, чтобы быстрее.
- Такая система очень надежна.
- Люди не запоминают даже свою почту.
- И какие соц.сервисы они привязали — тем более.
- Система действительно надежна, но далеко не всегда удобна.
- Нельзя дать временный доступ к своему аккаунту постороннему лицу
- Можно наплодить кучу левых аккаунтов, пока пытаешься вспомнить, через что ты заходил в прошлый раз?
- Заморочки с первым входом через HybridAuth, потому что не все соц.сервисы отдают почту, а она необходима для работы Office.

Правила теперь такие:
- Авторизация и регистрация разделены на две формы. Вы можете попытаться подобрать свой email не создавая новых учеток.
- При авторизации и регистрации можно использовать свой пароль.
- Помнить пароль не нужно, как и раньше. Если вы входите без пароля — он будет сброшен и вы получите письмо с новым паролем и его активацией. Если вы регистрируетесь без пароля — вы получите автоматически сгенерированный и ссылку для активации аккаунта.
- Создание новых учетных записей через HybridAuth отключено! Вы должны нормально зарегистрироваться, а потом привязать соц.сервисы к своей учетке — тогда можно входить через них. Если запись ни к чему не привязана — вы получите понятную ошибку.
Кстати говоря, если вам все эти новшества не по душе — вы можете просто не обновлять чанк авторизации, и всё будет работать как и раньше.
Новая версия уже установлена на нашем хостинге — можно проверять, как работает:
Если всё будет хорошо — обновлю авторизацию в сообществе и в магазине. Кстати, еще я сильно доработал чанки писем — советую их обновить, чтобы вашим пользователям было еще понятнее, что происходит с авторизацией.
Все, кто уже купил Office могут обновляться, версия хоть и бета, но работает хорошо. Кстати говоря, она уже готова для работы с miniShop2 2.1.8, про который напишу позже.
Обновлено 06.07.2014
Версия 1.1.0-pl:
- [miniShop2] Исправлено отображение имён продуктов в версиях MS2 ниже 2.1.8
- [Auth] В форму регистрации добавлены поля «username» и «fullname», по умолчанию. Для заполнения не обязательны.
- [Auth] Возможность использовать для входа логин вместо email.
- [Auth] При попытке входа в неактивированный аккаунт юзер получит новое письмо со ссылкой, вместо ошибки.
- [#3] [Auth] Если юзер зайдёт на форму авторизации через ссылку с параметром ?hauth_return=/url_на_сайте, то после авторизации он будет отправлен на указанный адрес.
- [#2] [Profile] Исправлено удаление свежезагруженного фото в Firefox.
- [#1] [Profile] Улучшено регулярное выражение для очистки полей профиля. Теперь поддерживаются все символы юникод, включая умляуты.
Комментарии: 110
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.




Если ты покупал дополнение в магазине — создай там вопрос в поддержке, разберемся.
Я задал вопрос в поддержке.
Ни ответа, ни привета.
Расскажи нам тут всем, про office обновления и все такое?
Как обновляться? Как использовать штуки за $50.
Как дела вообще.
Если это был ты — то круто спросил, прям всю информацию выдал, чтобы я мог помочь.
Ну и я там тебе ответил, что ты купил дополнение для одного ключа, а используешь совершенно другой. Естественно, что магазин не отдаст обновление для сайта, который не покупал дополнение в магазине.
P.S. Ты сам спросил об этом публично, вот я тебе так же и отвечаю.
Для получение обновления должен быть использован ключ, для которого оно было куплено. Если не выходит его использовать — ну не судьба.
Будешь дальше продолжать поясничать — отключу от коллектива. Поддержка в магазине, а здесь — приличное сообщество.
А вообще — закусывать надо в праздники.
Я те написал 40 минут назад, в свой выходной — а ты молчишь!
Нормально дела вообще.
Поправил, спасибо! Сейчас ты можешь просто обновить HA на 0.8.7.
Все следущие сообщения пиши в поддержку.
Добавляю в tpl.Office.auth.login —
и ничего не происходит
Василий несколько вопросов по компоненту:
Можно ли сделать чтобы через соц сети могли входить только уже зарегистрированные через них, а для остальных эта возможность была недоступна?
Можно ли при регистрации делать аккаунт неактивным?
Есть ли возможность отправки одного письма при создании аккаунта и другого при его активации (насколько это сложно?)
Авторизация в несколько контекстов имеется?
Добавление в несколько групп при создании аккаунта?
Данке
Если я не отвечаю в комментариях не нужно мне писать на почту, мол эй давай ответь быстро. Бесит.
Например я здесь загрузил новую аватару — появилась и пропала надпись, что аватара загружена, но на экране осталась старая. После обновления страницы появилась новая аватара. Пользователю это будет непонятно и он будет загружать аватары до посинения.
Затем нажал удалить изображение — появилась и пропала надпись, что изображение удалено. Висит старое изображение даже если обновляться. Наверное не стоит вызывать некешированным photo.
По моему, нет проблем. Может у тебя там есть в консоли ошибки javascript? Ты посмотри, пожалуйста.
А при загрузке меняется после нажатия кнопки сохранить. Ошибок не выдаёт.
Это в Хроме.
А в firefox картинка удаляется только чисткой кэша каждый раз.
А в хроме очистка нормально работает. Наверное, немного юзеров будут загружать и сразу удалять картинку, но на будущее себе задачу повесил.
А выбор картинки — это не загрузка, а выбор картинки.
Сейчас так
Менял на выводит 100 на 100
Photo грузится размером 100х100, по умолчанию — никакой дополнительной обработки у тебя нет.
Запускать сниппет обрезки на каждый комментарий (а их может быть очень много) просто расточительно.
Как-то не хочется светить почты пользователей, а много где username стоит как alt=«username», а может и ещё где теперь уж не вспомнить.
Может оставлять в этом поле то, что до знака @, а остальное вырезать? И имя понятное будет и почта нигде не светится.
Но когда он регистрируется, username нет, поэтому туда подставляется email. Кстати говоря, можно в форме регистрации добавить поле username, тогда оно должно добавляться сразу.
Плагином на сохранение юзера можно делать что угодно, в том числе и менять имя.
Подумаю, возможно стоит сделать так по умолчанию.
Это браузер рисует, в зависимости от языка твоей операционной системы.
Есть отдельный вид геморроя верстальщиков — сделать так, чтобы все эти элементы везде выглядели одинаково, невзирая на браузер.
Описание на этой же странице, в конце заметки. Для работы username и fullname нужно обновить чанк формы авторизации.
Заполняю всё, кроме пароля — пишет пользователь не найден. Пользователь создаётся, письмо не приходит. Или я опять чёго-то не допонял?
ps редирект сам будет работать или к ссылке надо дописывать hauth_return=..id…? (просто вчера сделал редирект, убирать или как?)
ps вывел чанк tpl.Office.auth.login обновленный. Заполнил все поля регистрации, тоже Пользователь не найден.
Со старым чанком тоже не работат.
Редирект работает просто — нужно зайти на страницу с формой авторизации по ссылке с указанным возвратом, например:
Чтобы возвращать на текущую страницу, делаем так:
Я хз, как прописать ссылку, поэтому использую id :)
Завтра обновлюсь, спасибо.
Если указать id, то он вернётся на modx.pro/users/, а не на /users/630/comments/.
Иначе своим сниппетом выводить $_REQUEST['q'].
Если пользователь уже существует выдается ошибка office_auth_err_user_exists (вместо текста)
Если при авторизации использовать Логин вместо e-mail всплывает ошибка введите e-mail.
Если не вводить логин при регистрации в username опять попадает весь e-mail.
В текущей версии нет такой фразы вообще нигде. А вот office_auth_err_username_exists — есть. Это или кэш, или у тебя старый контроллер.
Естественно, email обязателен, там в форме и звездочка рядом с ним. Куда иначе отправлять ссылку на активацию и сброс пароля — на логин?
Естественно, а что туда может попадать? Если я обрежу всё до знака @, а потом окажется, что такой username уже есть в БД — мне нужно выдать ошибку, что такой логин существует. А юзер спросит, что за фигня, я вообще не указывал никакой логин, как он может существовать?
Именно поэтому, в форме регистрации написано
Не указываете — дело ваше.
Не могу только понять почему в комментах аватары всегда берутся с gravatar при стандартном вызове комментариев.
В чанке
Если выводить комменты так
то аватара грузится из профиля если есть, если нет — с gravatar.
Вот коммит.
Снимаю галку в ru контексте с подписаться на тикеты в разделе сообщение: tickets_section_unsubscribed
Ставлю галку: You will no longer receive notifications about new tickets in this section.
При этом всё работает — отписывает, подписывает. Забыл сразу отписать тк не пользовался а тут понадобилось.
Не работает ручная смена пароля в профиле. Вводишь пароль — Сохранить — пишет сохранено все ок. При попытке войти выдаёт
Если меняю пароль пользователю через админку, всё ок.
Создай тикет в поддержке, укажи там сайт и доступ к админке — посмотрю, в чем дело.
«Если вы не помните свой пароль — просто оставьте это поле пустым и вы получите новый, вместе со ссылкой на активацию.» Нет запятой перед «и вы получите».
«Вы можете указать свой пароль, или оставить это поле пустым и тогда он будет сгенерирован автоматически.» Нет запятой перед «и тогда он».
Будет лучше без ошибок :)
Если сделать этот тикет некэшируемым, все работает, как и положено.
Почему так может быть?
Можно ли отправлять письмо о регистрации, если включить создание нового пользователя при авторизации через соц сеть?
Только придётся самостоятельно написать плагин для этого на событие создания пользователя =)
на что нужно заменить admin_email чтобы туда вставлялся email человека, который регнулся?
Заранее благодарю!
Есть ли возможность добавить кучу своих полей (не по умолчанию) в личный кабинет? Или нужно писать свое дополнение с отдельной таблицей пользователей? Речь идет о юридических лицах, у которых будет много данных (ИНН, КПП, адрес и т.д. + возможность загружать документы).
Если не нужна будет фильтрация потом по этим параметрам, то всё делается из коробки.
Загружать документы — это в любом случае что-то придумывать, но с Office мне это не кажется сложным.
Для загрузки и привязки файлов к юзеру придётся что-то программировать. Я таких готовых дополнений не знаю.
По идее, это решается несложным плагином на сохранение профиля.
Я когда писал, что
— не шутил. Действительно, ничего такого не знаю.
На других синхронизируются при логине.
В случае смены модели авторизации ничего не сломается и никто не потеряется.
и когда авторизуешься, при нажатии на «Настройки» профиля перекидывает на id.modx.pro
Но это не отменяет того факта, что юзер создаётся на каждом сайте и тот логинит его уже сам.
Центр авторизации только подтверждает правильность логина и пароля, и выдаёт информацию из профиля.
id.modx.pro не может авторизовать тебя на bezumkin.ru, понимаешь? Это может сделать только сам bezumkin.ru, а для этого у него должен быть такой юзер.
Но как сделать, чтоб тут же регистрировался пользователь, email которого не найден?
Теперь я хочу вызвать окно, для подтверждения регистрации нового пользователя. Как я понял нужно пилить js и там менять auth/formLogin на auth/formRegister если пользователь не найден. Как лучше поймать этот момент?
Можно лучше?