• Различные CRM системы

 #10677   IgorA100
 18 фев 2023, 11:19
Список из 23 систем, но некоторые уже закрыты по состоянию на 2024 год
https://www.klerk.ru/buh/articles/516519/

X2CRM
Преимущества:
X2CRM имеет версию с открытым исходным кодом, который открыт на GitHub, SourceForge и Bitnami, что поощряет всех и каждого кастомизировать его для своих целей. Программное обеспечение можно установить прямо на веб-сервер, но также можно ускорить процесс, загрузив его как часть полной версии.

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

Маленькие компании могут воспользоваться бесплатными инструментами X2CRM для маркетинговых кампаний, управления конвейерами и воронками продаж. Существуют модули для работы с электронной почтой, которые включают функции отслеживания открытия писем и создания визуализаций рабочих процессов. X2CRM также имеет приложения для Android и iOS.

Недостатки:
X2CRM — это многообещающая платформа, однако пока она не очень популярна, поэтому вам может быть сложно получить необходимую поддержку через ее небольшое сообщество.

Цена:
Версия с открытым исходным кодом бесплатна.
Доступны платные решения для индивидуальной конфигурации и разработки.
Сайт: x2crm.com/open-source-crm

Инклиент
Полностью бесплатная срм система, которую можно использовать без ограничений.
https://inclient.ru/functional-crm/
 #10754   IgorA100
 27 окт 2024, 11:47
YetiForceCRM
Официальный сайт: https://yetiforce.com/en/
Онлайн демо: https://demo.yetiforce.com/index.php?mo ... view=Login
Документация: https://doc.yetiforce.com/
Новый репозиторий БЕЗ исходного кода: https://github.com/YetiForceCompany/Yet ... ussions/29
Старый репозиторий с исходным кодом до версии 6,5 (2024год) https://github.com/YetiForceCompany/YetiForceCRM
Новость про изменение политики лицензирования и собирания денег: https://github.com/YetiForceCompany/Yet ... ussions/27
Инсталятор 6.5.0 : https://sourceforge.net/projects/yetifo ... p/download

Подготовка:
https://doc.yetiforce.com/introduction/requirements/
Ставим и настраиваем LAMP https://www.kentavr.com.ru/forum/viewto ... hilit=lamp , затем доставляем:
Код: Выделить всёapt-get install php-sqlite3 php-cli php-soap php-bcmath php-apcu wget unzip
 sudo phpenmod pdo_mysql - Нужно ли ???

Создаем таблицу и пользователя в БД:
Код: Выделить всё$ sudo mysql -u root -p
CREATE DATABASE yetiforce;
CREATE USER 'yetiforceuser'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL ON yetiforce.* TO 'yetiforceuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT



Установка:
https://doc.yetiforce.com/introduction/ ... on-manual/
https://docs.vultr.com/install-yetiforc ... untu-20-04
Если при установке появляются проблемы, то нужно включить режим отладки: https://doc.yetiforce.com/developer-guides/debug/
Чтобы включить запись в файлы журнала, вам нужно установить значение LOG_TO_FILE в true в config/Debug.php, а затем установить соответствующий уровень записи изменений LOG_LEVELS.

Логи находятся по адресму: cache/logs/

Код: Выделить всёcd /home/yfprod/html/
wget -O YetiForceCRM.zip https://api.yetiforce.eu/download/crm/www/7.0.0-complete
unzip YetiForceCRM.zip

sudo chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} +
find /var/www/html -type f -exec chmod 644 {} +
или так для ПАПОК и ФАЛОВ вместе
sudo chmod -R 755 /var/www/html
sudo a2enmod rewrite


Запуск установщика:
Код: Выделить всёhttp://...../install/Install.php


Регистрация
Если в файле
Код: Выделить всё \app\YetiForce\Register.php
в функции isRegistered()
заменить:
        
Код: Выделить всёreturn (new self())->getStatus() >= 6 && self::getConfValue('appId') === self::getInstanceKey();

на
Код: Выделить всёreturn true;

то больше предупреждение не появляется и вроде функционал не ограничен. Маркетплейс не в счет...

Рекомендуется сделать, если не планируете производить регистрацию:
В файле \config\ConfigTemplates.php
заменить:
Код: Выделить всё'default' => 'https://api.yetiforce.eu',

на
Код: Выделить всё'default' => '',

в файле \config\Main.php
заменить:
Код: Выделить всё    public static $regApiBaseUrl = 'https://api.yetiforce.eu';

на:
Код: Выделить всё    public static $regApiBaseUrl = '';


ТЮНИНГ
При каждом входе Администратора появляется назойливое окно "Enter visit purpose" в котором необходимо ввести причину входа администратора. Чтобы убрать это раздражающее окно, необходимо исправить строку
Код: Выделить всё /** @var bool Ask admin about visit purpose */
 public static $askAdminAboutVisitPurpose = true;

в файле /var/www/html/config/Security.php заменив "true" на "false"
https://github.com/YetiForceCompany/Yet ... sues/13883

Изменить время жизни сессии:
В файле "/var/www/html/config/Security.php" изменить значение на нужное значение в секундах:
Код: Выделить всё   public static $maxLifetimeSession = 900;


Оптимальные настройки NGINX: https://github.com/YetiForceCompany/Yet ... nf#L84-L90
Код: Выделить всё##############################################
#  Best configuration for YetiForceCRM       #
#  Created by m.krzaczkowski@yetiforce.com   #
##############################################

##########################
##       Security       ##
##########################
server_tokens off;
etag off;

##  nginx module: header_filter_by_lua_block
header_filter_by_lua_block {
   ngx.header['X-Frame-Options'] = "SAMEORIGIN"
   ngx.header['X-XSS-Protection'] = "1; mode=block"
   ngx.header['X-Content-Type-Options'] = "nosniff"
   ngx.header['Referrer-Policy'] = "no-referrer"
   ngx.header['Strict-Transport-Security'] = "max-age=31536000; includeSubDomains; preload"
   ngx.header['X-Robots-Tag'] = "none"
   ngx.header['X-Permitted-Cross-Domain-Policies'] = "none"
   ngx.header['Expect-CT'] = "enforce; max-age=3600"
   ngx.header["Cache-Control"] = ngx.header["Cache-Control"];
}

##  nginx module: headers-more-nginx-module
# https://github.com/openresty/headers-more-nginx-module#installation
# https://www.nginx.com/blog/compiling-dynamic-modules-nginx-plus/
more_clear_headers 'Server';
more_clear_headers 'X-Frame-Options';
more_clear_headers 'X-XSS-Protection';
more_clear_headers 'X-Content-Type-Options';
more_clear_headers 'Referrer-Policy';
more_clear_headers 'Strict-Transport-Security';
more_clear_headers 'X-Robots-Tag';
more_clear_headers 'X-Permitted-Cross-Domain-Policies';
more_clear_headers 'Expect-CT';

more_set_headers 'Server: ';
more_set_headers 'X-Frame-Options: SAMEORIGIN';
more_set_headers 'X-XSS-Protection: 1; mode=block';
more_set_headers 'X-Content-Type-Options: nosniff';
more_set_headers 'Referrer-Policy: no-referrer';
more_set_headers 'Strict-Transport-Security: max-age=31536000; includeSubDomains; preload';
more_set_headers 'X-Robots-Tag: none';
more_set_headers 'X-Permitted-Cross-Domain-Policies: none';
more_set_headers 'Expect-CT: enforce; max-age=3600';

##########################
##       Stability      ##
##########################
charset utf-8;
client_max_body_size 100M;
client_body_buffer_size 100M;
client_body_timeout 600;
send_timeout 600;
fastcgi_buffers 256 256k;
fastcgi_buffer_size 256k;
##########################
##      Performance     ##
##########################
access_log off;
gzip on;
gzip_types
text/css text/javascript text/xml text/plain text/x-component
application/javascript application/x-javascript   application/json application/xml application/rss+xml application/atom+xml application/vnd.ms-fontobject
font/truetype font/opentype
image/jpeg image/bmp image/svg+xml image/x-icon;
gzip_vary on;
gzip_comp_level 6;
gzip_min_length 500;
gzip_disable "msie6";

#add_header Cache-Control "private, no-cache, no-store, must-revalidate, post-check=0, pre-check=0" always;
more_clear_headers 'Cache-Control';
more_set_headers 'Cache-Control: private, no-cache, no-store, must-revalidate, post-check=0, pre-check=0';
location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv|ttf|ttc|otf|eot|woff2?)$ {
   access_log off;
   expires 1d;
   #add_header Cache-Control public always;
   more_clear_headers 'Cache-Control';
   more_set_headers 'Cache-Control: public';
   etag on;
}
##########################
##     YetiForce API    ##
##########################
rewrite ^/webservice/(.*)/(.*)/(.*)/(.*)/(.*)$ /webservice.php?_container=$1&module=$2&action=$3&record=$4&param=$5 break;
rewrite ^/webservice/(.*)/(.*)/(.*)/(.*)$ /webservice.php?_container=$1&module=$2&action=$3&record=$4 break;
rewrite ^/webservice/(.*)/(.*)/(.*)$ /webservice.php?_container=$1&module=$2&action=$3 break;
rewrite ^/webservice/(.*)/(.*)$ /webservice.php?_container=$1&action=$2 break;
 #10760   IgorA100
 19 ноя 2024, 16:21
Обновление
За обновление отвечает файл "\modules\Settings\Updates\views\Index.php" из которого вызывается методы из "\app\YetiForce\Updater.php" например
Код: Выделить всё\App\YetiForce\Updater::download($package);


При обновлении страницы обновления (Логи->Обновление) функция "public static function get(): array" получает массив доступных обновлений и сохраняет в файл '/app_data/SystemUpdater.json' с интервалом не менее 5 минут.
Если запрос обновления происходит в течении 5 минут после записи файла SystemUpdater.json, то просто возвращается значения из файла.
 #10761   IgorA100
 19 ноя 2024, 20:32
Интересные файлы:
\app\YetiForce\Updater.php
\modules\Settings\Updates\views\Index.php
\modules\Settings\Companies\models\Record.php
\config\Main.php
\config\ConfigTemplates.php
\app\YetiForce\ApiClient.php
\app\YetiForce\Register.php

Подтверждение E-Mail при регистрации (сразу после установки новой системы)
\modules\Settings\Companies\actions\VerifyEmail.php
\layouts\basic\modules\Settings\Companies\EmailVerificationModal.tpl
\app\YetiForce\EmailVerification.php
 #10762   IgorA100
 19 ноя 2024, 23:17
После отправки подтверждения E-Mail открывается окно с запросом на ввод код подтверждения
Email with a verification code has been sent. Type the code below in order to proceed.

Код подтверждения приходит с адреса
Код: Выделить всёregistration@yetiforce.com

Текст письма:
Welcome to YetiForce!
Use the verification code below for your YetiForce instance.

Verification code: d93cf7bd500c40de40dce82fbe2e1e238e0ea2c6


Thank you for choosing YetiForce!


Затем появляется окно с вводом данных для регистрации YetiForce
Заголовок окна: YetiForce - Company registration