Корисні посилання та документація - LamronNu/i GitHub Wiki
JAVA
- Java Code Examples for org.apache.commons.mail.EmailException: http://www.programcreek.com/java-api-examples/index.php?api=org.apache.commons.mail.EmailException
- http://commons.apache.org/proper/commons-email/
Activiti
Доступні стандартні сервіси описані в документації: http://www.activiti.org/userguide/#_rest_api
Приклади:
- виклик custom-сервісу, запуск бізнес-процесу за ключем: /service/startProcessByKey/citizensRequest
- виклик стандартного API, отримання список активних процесів: /service/runtime/process-instances
- отримання списку останніх процесів: /service/repository/process-definitions /service/repository/process-definitions?latest=true (http://activiti.org/userguide/index.html#_process_definitions)
Контролер, в якому можна реалізувати потрібні нам запити, яких немає у стандартному activiti-rest org.activiti.rest.controller.ActivitiRestApiController
REST для activiti https://github.com/Activiti/Activiti/tree/master/modules/activiti-webapp-rest2
Manual tests для REST: Використовуйте SoapUI http://sourceforge.net/projects/soapui/?source=typ_redirect
Официальная Документация BankID
Описание работы Сервиса BankID для аутентификации клиента и получение информации о нем:
v.2.01 (22.05.2015)
v.2.02 (04.06.2015)
v.3.00 (07.07.2015)
v.3.01 (17.07.2015)
Сервера BankID
- полигон: bankid.privatbank.ua
- продакшен: bankid.org.ua
Алгоритм работы BankID
1. Перейти по ссылке
Тестовая авторизация в приват 24:
- логин: +380102030405
- пароль: value
- SMS: 123456
Получить код, сходить с ним за токеном и вызвать метод, где
- client_id - id приложения, предварительно зарегенного.
- redirect_uri - это урл, на который редиректим клиента после аунтетификации.
Через него же мы и передадим код авторизации.
https://vash/url/dlia/redirecta?code=9ma7kO
2. Получить запрос
GET запрос на получение аксеесс токена.
В запросе передаете
- код авторизации
- свой id
- свой secret(пароль, предварительно полученный в п.1)
- и опять таки тот-же свой урл для редиректа
В ответ получете аксесс и рефреш токен в таком формате
{"access_token":"caef896e-3d84-4c16-8a2b-f4f2264db6b1","token_type":"bearer","refresh_token":"5fd85cd8-2e71-4921-b102-eecfb0024e1a","expires_in":179,"scope":"read trust write"}
После чего можно выполнять запрос непосредственно на получение данных https://bankid.privatbank.ua/DataAccessService/checked/fio?access_token=caef896e-3d84-4c16-8a2b-f4f2264db6b1
- client_id=dniprorada
- секрет NzVmYTI5NGJjMDg3OThlYjljNDY5YjYxYjJiMjJhNA==
Сейчас
- аксесс токен - 3мин
- рефреш - по которому можно получить свежий аксесс - 5 мин
Spring Profiles (профилированные сборки)
В Spring есть собственный механизм профайлов. Выбор активного пофайла влияет на DI-контейнер во время выполнения. Активными могут быть несколько профайлов одновременно. Для задания текущего активного пофайла необходимо установить в системном файле -Dspring.profiles.active= "test" (имя пофайла ) Этот пофайл будет инициализироваться при старте , если указать в переменной его имя.
Для Tomcat Это файл setenv.bat свойство устанавливаем в CATALINA_OPTS =-Dspring.profiles.active= "test"
В нашем проекте файл ../resources: activiti-custom-context.xml ( и )
имя пофайла Для боевого запуска и для его инициализации необходима установить в setenv.bat set "CATALINA_OPTS=-Dspring.profiles.active="prod"" подтягивает боевые настройки, указанные в файлах .properties, которые подкладываем в папку conf на сервере tomcat
имя пофайла Для тестового запуска и для его инициализации необходима установить в setenv.bat set "CATALINA_OPTS=-Dspring.profiles.active="test""
подтягивает тестовые настройки, указанные в файлах .properties, которые находятся в classpath
# Дополнительные возможности по NodeJS и проектам на нем (если необходимо):- устанавливаем bower proxy (ссылка для подробного описания http://bower.io/docs/config/#proxy):
- находим файл. bowerrc и добавляем две строки:
- "proxy": "http://user_name:[email protected]:8080",
- "https-proxy": "http://user_name:[email protected]:8080"
-
устанавливаем сам сервер NodeJS: инструкция
-
в корне проекта выполняем:
grunt build
(создается папка dist) -
копируем папку dist на сервер и запускаем приложение с помощью pm2 (команды под линукс).
Пример:
sProject='dashboard-js' sHost=[username]@[host-address] sDate=date +%m.%d.%Y.%H-%M
sPathDist='~/web/'$sProject'-'$sDate rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress dist/ $sHost:$sPathDist sCommandSSH='pm2 stop '$sProject'; pm2 delete '$sProject'; cd '$sPathDist'; npm install; pm2 start process.json; pm2 info '$sProject ssh $sHost $sCommandSSH
(также останавливать и запускать сервер можно скриптами в проекте:/_/_server_stop.sh
и/_/_server_start.sh
) -
команды PM2: Evironment-on-an-ubuntu-vps
Гайд по встановленню повноцінного локального веб-сервера для розробки на PHP на Ubuntu (Debian-like) системах
Встановлюємо веб сервер та Php
У мене локально встановлені nginx + php-fpm різниця apache + php для локальної машини хіба що в налаштуванні віртуального хосту. Встановити
"Витягуємо" код з репозиторію
mkdir -p ~/project/e-government-ua
cd project/e-government-ua
git clone https://github.com/e-government-ua/i.git .
git checkout test
встановлюємо composer та встановлюємо залежності
cd portal-php/application/
composer.phar update
якщо обірветься з помилкою Package yiisoft/jquery is abandoned. запустіть composer.phar global require "fxp/composer-asset-plugin"
і повторіть composer.phar update
Налаштовуємо віртуальних хост веб сервера
cd /etc/nginx/sites-available/
sudo nano e-gov-php.local
server {
listen 80;
root /home/USER_NAME/project/e-government-ua/portal-php/public_html;
server_name e-gov-php.local;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_pass 127.0.0.1:9000; залежить від налаштувань php-fpm
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
cd /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/e-gov-php.local
sudo nano /etc/hosts
Додаємо в кінець файла
127.0.1.1 e-gov-php.local
sudo service nginx restart
Відкриваємо e-gov-php.local
Доповнюйте ...
Гайд по налаштуванню робочого оточення з використанням вбудованого веб-сервера PHP на Ubuntu (Debian-like) системах
Перевага цього методу у мінімальному налаштуванні всього потрібного для швидкого старту розробки php-порталу. Спочатку встановлюємо консольну версію інтерпретатора PHP
sudo apt-get install php5-cli
Встановлюємо Git та Composer
sudo apt-get install git
sudo apt-get install curl
curl -sS https://getcomposer.org/installer | php
Раджу перенести composer в глобальний каталог для зручності
sudo mv composer.phar /usr/local/bin/composer.phar
Клонуємо репозіторій, встановлюємо потрібні залежності для Yii та встановлюємо безпосередньо сам Yii за допомогою composer
git clone https://github.com/e-government-ua/i.git
cd i
git checkout test
cd portal-php/application
composer.phar global require "fxp/composer-asset-plugin:1.0.0"
composer.phar update
Запускаємо вбудований в PHP веб-сервер
cd ../public_html
php -S 127.0.0.1:8080
Заходимо в браузері на 127.0.0.1:8080, все повинно працювати.