Добрый день.

Портал самообслуживания. Есть справочник "Шаблоны Email сообщений". В нём есть запись "Шаблон регистрации пользователя портала". Там указан такой вот текстовый шаблон: 

 

Здравствуйте, [#Адресат.ФИО#]!

 

Для того, чтобы подтвердить регистрацию и активировать Вашу учетную запись на портале самообслуживания, пожалуйста, перейдите по следующей ссылке:

 

#RegistrationUrl#

 

С уважением,

Служба поддержки



Когда пользователь, например, с ФИО Иванов Иван Иванович регистрируется на портале самообслуживания, то ему приходит на его почту в точь-точь такое текстовое письмо выше.

 

Как сделать так, чтобы в письме было не так — Здравствуйте, [#Адресат.ФИО#]!, а именно вот так — Здравствуйте, Иванов Иван Иванович! (ну или другое ФИО, которое должно автоматически проставляться, когда новый пользователь заполнил специальную форму для регистрации)?

Нравится

1 комментарий

Добрый день, Кирилл!

 

Решением проблемы в данном случае будет изменение макроса с [#Адресат.ФИО#] на [#Recipient.Name#].

В процессе разработки мы ушли от поля Адресат и пришли к Recipient (судя по всему из-за мультиязычности).

Показать все комментарии

Добрый день.

Есть Портал самообслуживания, доступный по адресу http://[server]/SSPLogin.aspx. В нем есть ссылка "Зарегистрироваться" для регистрации нового пользователя, с адресом http://[server]//0/Nui/UserManagement.aspx?action=register. По идее, на этой странице я должен увидеть кучу разных полей, необходимых для регистрации нового пользователя. Вместо этого - получаю пустую страницу. При просмотре "исходника" в браузере:




<br /> <br />

   







       

   

   
   

   


Что и где нужно настроить, чтобы таки отобразились необходимые поля? Или что я делаю не так?

Нравится

27 комментариев

Добрый день, Евгений!
Да, данный функционал присутствует и он неоднократно был протестирован.
Для корректной настройки его, необходимо выполнить все шаги в прикрепленной инструкции(во вложении).
Настроить страницу - недостаточно, необходимо еще редактировать config.

Сделал вот такие шаги:

1. В <configuration><appSettings> проверить наличие или добавить, если отсутствует:

<!-- LicPackageName = Ваша лицензия и в зависимости от продукта она разная  -->
<add key="SspUserRegistrationLicPackage" value ="{LicPackageName}" />
<!-- User1 и Password1 = имя и пароль пользователя, от чьего имени будет выполняться переход на страницу регистрации на портале. Этот пользователь должен быть максимально ограничен в правах и ему будет автоматически закрыт доступ на другие страницы системы.  -->
<add key="UserManagementSauName" value ="{User1}" />
<add key="UserManagementSauPassword" value ="{Password1}" />

2. В <configuration> в разделе пакета/приложения найти <auth> и в параметр "providerNames" добавить значение (Если уже что-то есть, то через запятую) "SSPUserPassword". Получиться, например:

<auth providerNames="InternalUserPassword,SSPUserPassword" autoLoginProviderNames="" defLanguage="ru-RU"defWorkspaceName="Default" useIPRestriction="false" loginTimeout="30000">

3. В <configuration><location><authentication mode="Forms"> заменить <forms loginUrl="~/NuiLogin.aspx" ... /> на:

<forms loginUrl="~/SSPLogin.aspx" protection="All" timeout="60" name=".ASPXAUTH" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="ViewPage.aspx?Id=4e342d5e-bd89-4b79-98e2-22e433122403" cookieless="UseDeviceProfile" enableCrossAppRedirects="true" />

4. В <configuration><system.webServer><defaultDocument><files> заменить <add value="NuiLogin.aspx" /> на <add value="SSPLogin.aspx" />

Все заработало. А теперь задачка усложняется:
1. может быть несколько вариантов регистрации, скажем так даже различные группы Пользователей. Можно ли такое сделать?
2. в карточке регистрации мне нужно изменить набор полей. Например, убрать Имя/Фамилия и добавить номер телефона. Это в конфигураторе можно сделать?

Евгений,
1. Нет. Страница предназначена для регистрации пользователей портала, а пользователю портала недоступны группы.
2.Если под конфигуратором имеет ввиду мастер разделов, то нет, нельзя, это aspx страница.

Александр,
немного поковыряв конфигуратор, нашел пакет SSP 7.7.0. В нем есть нечто похожее на работу страницы регистрации. И регистрация, там сделана как ВэбСервис C# UserManagementService, а JavaScript UserManagementModule и Registration выступают, как коннекторы.

Я могу попробовать реализовать альтернативный сервис, который заместит текущий?

Евгений, не уверен насчет заместить, но вызвать свой вы точно сможете в Registration вызов происходит в:
сallServiceMethod('Register', registerCallback, userManagementToken, this);
при этом сallServiceMethod определен здесь же как:
var callServiceMethod = function(name, callback, data, scope) {
Terrasoft.AjaxProvider.request({
url: Terrasoft.workspaceBaseUrl + '/rest/UserManagementService/' + name,
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
method: 'POST',
jsonData: data,
callback: function(request, success, response) {
var responseObject = {};
if (success) {
responseObject = Terrasoft.decode(response.responseText);
}
callback.call(this, success, responseObject);
},
scope: scope
});
};
то есть вы можете вместо текущего сервиса, вызвать свой при желании

Александр, спасибо.
Буду копать.

Еще один вопрос, а если строку

url: Terrasoft.workspaceBaseUrl + '/rest/UserManagementService/' + name

я подменю на

url: Terrasoft.workspaceBaseUrl + '/rest/MyManagementService/' + name

и соответственно напишу свой сервис, то так тоже по идее должно сработать?

Да,
MyManagementService - сервис
name - метод сервиса

Александр, что-то не получается.
Я сделал замещающую схему Registration (SSP 7.7.0), в ней описал нужную логику, а вместо нее упорно подтягивается старая. Что я делаю не так?

То же самое и для UserManagementModule (SSP 7.7.0).

Евгений, я изначально сомневаюсь в реализуемости задуманного, но тем менее обратите внимание что Registration это модуль, а не схема страницы, замежать нужно как модуль, вызов модуля происходит здесь в UserManagementModule:
switch (Terrasoft.action) {
case 'register':
sandbox.loadModule('Registration', {
renderTo: renderTo,
id: sandbox.id + '-Registration',
keepAlive: true
});
break;
}
Попробуйте перезапустить пулл, почистить все кешивозможно, что-то где-то кешируется, возможно где-то в вебконфиге указывается напрямую айди схемы

Александр, да были проблемы с кэшем. Это все устранилось.
Сделал переопределение модуля UserManagementModule. Он сработал.
Но, при попытке загрузить созданный (не переопределенный!) модуль RegistrationV2 оно выдает такое:

core.js:674 WebSocket connection to 'ws://136.243.12.186:2011/0/Nui/UserManagement.aspx?action=register' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT

Замещенный модуль UserManagementModule:

define('UserManagementModule', ['ext-base', 'terrasoft', 'sandbox', 'UserManagementModuleResources'],
    function(Ext, Terrasoft, sandbox, resources) {  
 
  var render = function(renderTo) {
    switch (Terrasoft.action) {
      case 'register':
        sandbox.loadModule('RegistrationV2', {
          renderTo: renderTo,
          id: sandbox.id + '-Registration',
          keepAlive: true
        });
      break;
    }
  };
 
  return {
    render: render,
    renderTo: Ext.getBody()
  };
});

Новый модуль RegistrationV2:

define('RegistrationV2', ['ext-base', 'terrasoft', 'sandbox', 'RegistrationResources'],
  function(Ext, Terrasoft, sandbox, resources) {
 // пока тут лежит код идентичный  Registration
});

Если вернуть обратно Registration - все работает.

Мне просто нужно сделать два варианта регистрации (отличаются полями), потому возникла эта идея с различными модулями.

Судя по всему виснет здесь:
sandbox.loadModule('RegistrationV2', {
renderTo: renderTo,
id: sandbox.id + '-Registration',
keepAlive: true
});
Думаю, что проблема я этой строке:
id: sandbox.id + '-Registration'

Возможно в этом тоже причина.
+ в переопределенном модуле UserManagementModule надо было подтянуть мой новый модуль RegistrationV2, в зависимостях.

Выдало такую ошибку (консоль браузера):

core.js:566 user: Portal/f5ecf16c-3768-461f-81c6-1023251e2b3b
 file: undefined
 line: undefined
 column: undefined
 message: Cannot read property 'localizableStrings' of undefined 
 date: Thu Mar 24 2016 11:47:46 GMT+0200 (Финляндия (зима))
 moduleId: UserManagementModule-RegistrationV2
 moduleName: RegistrationV2

Но localizableStrings есть в этом модуле.

UPD:
В модуле RegistrationV2 объект resourse является null. В нем судя заключается проблема

Все, подтянулось.
Заголовок модуля в RegistrationV2 должен выглядеть так:

define('RegistrationV2', ['ext-base', 'terrasoft', 'sandbox', 'RegistrationV2Resources'],
  function(Ext, Terrasoft, sandbox, resources) {
 // пока тут лежит код идентичный  Registration
});

то есть resources должен принимать значение не RegistrationResources, как вначале, а RegistrationV2Resources

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

Александр, спасибо. Учту на будущее.
Просто у меня этот модуль, он не замещенный, а новый.
У него нет родительского объекта.)

Добрый день!

Правлю конфиги в соответсвии с приложеным файлом.
Я правильно понию, что Loader это Web.config в корне сайта, а конфиг приложения это Terrasoft.WebApp\Web.config?
В итоге при запуске IIS получаю страницу авторизации, ввожу логин/пароль (и супервизор, и портальный пользователь) и получаю ошибку:
Ошибка HTTP 500.19 - Internal Server Error
Запрашиваемая страница не доступна из-за неверной конфигурации данных для этой страницы.

Добрый день, Ольга!
Проверил Ваши файлы, исправьте, пожалуйста:

В файле Web_1.config:

В строке SspUserRegistrationLicPackage уберите скобки в имени лицензии, строка должна иметь вид:

Файл Web_2.config такой же, как и Web_1.config, оба файла - это web.config Loader-а.
Файл приложения находится в папке Terrasoft.WebApp и он имеет совсем другое наполнение!
В нем необходимо прописать только:

"Михайленко Михаил" написал:

Добрый день, Ольга!

Проверил Ваши файлы, исправьте, пожалуйста:

В файле Web_1.config:

В строке SspUserRegistrationLicPackage уберите скобки в имени лицензии, строка должна иметь вид:

Файл Web_2.config такой же, как и Web_1.config, оба файла - это web.config Loader-а.

Файл приложения находится в папке Terrasoft.WebApp и он имеет совсем другое наполнение!

В нем необходимо прописать только:

К сожалению, некорректно отображается пример "В нем необходимо прописать только:"
На счет SspUserRegistrationLicPackage поняла.

Ольга, прошу прощение, не все отобразилось.
Я имел ввиду, что в файле Web.config приложения, которое находится в папке Terrasoft.WebApp необходимо прописать только:

""UserManagementSauName" value ="Логин" />
""UserManagementSauPassword" value ="Пароль" />

После внесенных изменний сайт запускается, открывается страница SSPLogin.aspx, при нажатии Зарегистрироваться открывается страница регистрации. Вроде все ок. Но, есть пользователь, ему назначена лицензия портала, при логине ввожу логин/пароль, но меня не пускает на портал, а перебрасывает на страницу NuiLogin.aspx, ошибок никаких не пишет.

Ольга, я исследовал Ваши файлы, сейчас не вижу причин указанного Вами поведения.
Я вижу из конфигов, что пользователь UserOOVR - это пользователь, который должен раздавать лицензию для новых зарегистрированных.
Проверьте, он является портальным пользователем и выдана ли ему лицензия портала.

Самое интересное, создаю нового пользователя, даю ему портальную лицензию, все хорошо работает, логин происходит на портал. а именно UserOOVR не пускает..

И при регистрации пользователя на портале выходит ошибка: "На указанный электронный адрес не удалось отправить письмо для продолжения регистрации. Проверьте корректность введенного email...." Хотя из веб-интерфейса я отправляю письма без проблем. Куда копать?

Ольга, проверьте корректность параметров, которые должны быть указаны в системных настройках.

В предоставленной мной ранее инструкции есть пункт:

"В разделе "Системные настройки" указать корректные значения для всех настроек группы "Отправка e-mail сообщений"
В качестве имени пользователя должен быть указан адрес электронной почты, с которого будет производится рассылка писем для подтверждения регистрации и восстановления пароля"

Необходимо настроить согласно параметров подключения SMTP Вашего сервера.

Все отлично, получилось! Спасибо огромное. Если будут вопросы относительно портала еще напишу в эту ветку.

"Михайленко Михаил" написал:

Ольга, проверьте корректность параметров, которые должны быть указаны в системных настройках.

В предоставленной мной ранее инструкции есть пункт:

"В разделе "Системные настройки" указать корректные значения для всех настроек группы "Отправка e-mail сообщений"

В качестве имени пользователя должен быть указан адрес электронной почты, с которого будет производится рассылка писем для подтверждения регистрации и восстановления пароля"

Необходимо настроить согласно параметров подключения SMTP Вашего сервера.

Добрый день! У нас аналогичная проблема, при регистрации пользователя на портале выходит ошибка: "На указанный электронный адрес не удалось отправить письмо для продолжения регистрации. Проверьте корректность введенного email". Настроили всё по вашей инструкции. В качестве Имени пользователя SMTP-сервера указали адрес электронной почты, с которого будет производится рассылка писем. Через интерфейс письма отправляются нормально. Можете по конкретнее написать какие настройки можно проверить?

Ольга, всегда пожалуйста!

Антон, добрый день!
Вам необходимо проверить корректность всех системных настроек, которые входят в группу "Отправка email сообщений", а именно:

"E-mail службы поддержки" - указать email с которого будет производится отправка.

"Имя или IP-адрес SMTP-сервера" - указать значение SmtpHost, например, smtp.gmail.com - это для почтового сервера gmail. Данные для Вашего почтового сервера Вы можете узнать в интернете или, в случае использования Exchange - Вам необходимо их запросить в администратора почтового сервера.

"Имя пользователя SMTP-сервера" - здесь указывается ящик, от имени которого будет производится автоматическое подключение к почтовому серверу.

"Пароль пользователя SMTP-сервера" - пароль от ящика, который Вы указали в системной настройке "Имя пользователя SMTP-сервера".

"Порт SMTP-сервера" - собственно порт SMTP сервера, необходимо указать порт, который будет корректно работать с протоколом SSL.

Данные системные настройки необходимы для того, чтоб система могла автоматически использовать Ваш почтовый сервер для отправки автоматических уведомлений. Ситуация, когда Вы можете отправить сообщение вручную, свидетельствует о том, что в целом интеграция с почтой у Вас настроена корректно, но для автоматических сообщений этого еще недостаточно.
Хорошего Вам дня!

Показать все комментарии

Добрый день!

Посоветуйте, как в bpm'online service реализовать следующую функциональность:

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

Нравится

1 комментарий

Владимир, пользователи портала, существенно ограничены в правах, для них нельзя добавлять группы пользователь. Лично я вижу два выхода
1. Создать бизнес-процесс, которые будет добавлять права кроме создателя еще и его супервизору, но если супервизор измениться, то придется менять процесс, либо как-то организовываться в плане справочника.
2. Либо раздавать права скриптом, создать триггер, чтоб он проверял новосозданные обращения, и добавлял права супервизору, тогда при изменениях придется модифицировать триггер.

Показать все комментарии

Как перейти на портал самообслуживания где пользователи смогут выполнить регистрацию ****.ru/********?
Имеется ввиду портал самообслуживание на нашем сервере в bpmonline itil on-site на вебинаре был продемонстрирован портал с возможностью регистрации и размещения обращений доступ был с помощью адресной строки { пример: ***.bpmonline.com/****(portal) } что точно было в конце дописано в адресной строке я не помню.

Нравится

5 комментариев

Добрый день!
Вы об этом:
http://support.terrasoft.ru/ ?

Он улетел и не знаю, обещал ли вернуться...

В работе приложения BPMonline возникла ошибка. Приносим извинения за неудобства.

Пожалуйста, сообщите в службу поддержки BPMonline об этой ошибке.

Мы гарантируем полную конфиденциальность и анонимность.

Показать детальную информацию об ошибке

Date: 31.03.2015 10:38:24
Date (UTC): 31.03.2015 7:38:24

Exception Message: The network path was not found
Exception Type: System.ComponentModel.Win32Exception
Exception Source:

Exception Stack Trace:

SessionID: dxyttfkog2sniujcwacddwc3
Request URL: /
Request Path: /Login.aspx
Request Type: GET
User Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36
User Host Address: 193.30.253.1
User: KLevashov@bankvostok.com.ua
Is Authenticated: True
Authentication Type: Forms
Is Secure Connection: False

Application Version: 5.4.0.2445
Application Path: C:\inetpub\BPMonline\support\
Application Virtual Path: /
Application Trust Level: Full
Machine Name: TSCSPORTAL
Is Local: False

Process ID: 4472
Process Name: w3wp.exe
Process Account Name: IIS APPPOOL\support-new
Thread Account Name: IIS APPPOOL\support-new
OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1
Net Framework Version: 4.0.30319.18063
DBExecutor Type: MSSqlExecutor

Нет имеется ввиду портал самообслуживание на нашем сервере в bpmonline itil on-site на вебинаре был продемонстрирован портал с возможностью регистрации и размещения обращений доступ был с помощью адресной строки { пример: ***.bpmonline.com/****(portal) } что точно было в конце дописано в адресной строке я не помню.

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

Показать все комментарии