Перейти к содержимому


Публикации Analitic

114 публикаций создано Analitic (учитываются публикации только с 06-Июнь 23)



#20040 sql запросы

Отправлено от Analitic в 02 Август 2013 - 10:37 in Предложения по доработке

Тут все ответы по существу. Хотите устроить полемику на тему:

Просмотр сообщенияjob (02 Август 2013 - 09:24) писал:

Представьте себе девочку-менеджера, умеющую нажимать кнопку "сделать бэкап" и "восстановить бэкап". А сейчас попытайтесь представить ее лицо, когда я передам ей это.
Тогда вам в другой форум. Тут "Предложения по доработкам". Ваше предложение доработать бекап таким образом, чтобы более оптимально создавался\восстанавливался бекап с формами печати на основе файлов, МЫ УЧЛИ.



#20996 Система постоянно становится всё прожорливее

Отправлено от Analitic в 21 Октябрь 2013 - 13:00 in Прочее

При обновлении система производит обновление базы.
Cкорее всего проблема в переформировании логов. Если есть доступ к phpmyadmin выполните: TRUNCATE TABLE `cb_logs`.



#20687 Поля связи

Отправлено от Analitic в 03 Сентябрь 2013 - 11:14 in Как это сделать

Собственно не ошибка, так и должно быть. То что раньше оно выводилось было ошибкой.



#19975 Как работает Mail Delivery Subsystem?

Отправлено от Analitic в 31 Июль 2013 - 11:09 in Как это сделать

Да уведомление должно появиться сразу как только письмо попало в список. По умолчанию уведомление приходит первому администратору (id=1), но вы можете настроить список пользователей которым будет это уведомление приходить. Для этого в файле config.php необходимо объявить параметр $config["unsubscribe_tips_show_users"] со списком id пользователей кому будет приходить уведомление. Например:
$config["unsubscribe_tips_show_users"] = array(1,21,46...);



#19973 Как работает Mail Delivery Subsystem?

Отправлено от Analitic в 31 Июль 2013 - 10:37 in Как это сделать

Функция проверяет указанные ящики, на предмет стандартных писем о недоставке, и включает их адресатов в список отписавшихся. Администратору выходит уведомление что ящик отписан.



#19977 Как работает Mail Delivery Subsystem?

Отправлено от Analitic в 31 Июль 2013 - 11:24 in Как это сделать

Менять config.php возможно посредством например написания своего представления, права на изменение файла есть. Есть вариант проще, создать во 'Внешних файлах' include/functions_custom.php и уже там добавить:
$config["unsubscribe_tips_show_users"] = array(1,21,46...);



#19987 Как работает Mail Delivery Subsystem?

Отправлено от Analitic в 31 Июль 2013 - 19:31 in Как это сделать

Пункт первый. Укажите в списке пользователей "unsubscribe_tips_show_users" кому будет отправлено уведомление.
Пункт второй. Уведомление отправляется через внутреннюю систему напоминаний, не совсем понятно о чем речь. В почту лезть не нужно.
Пункт третий. Если ящик не рабочий, то какая разница какое письмо? Все новые письма блокируются на данный адрес.



#19972 Как работает Mail Delivery Subsystem?

Отправлено от Analitic в 31 Июль 2013 - 10:35 in Как это сделать

Уточняйте, что вас интересует проверка ответов средствами КБ. Запуск проверки производиться через кнопку "Пополнить в список", в edit_smtp.php?sel=unsubscribe. Для автоматической проверки необходимо добавить задание в крон с функцией check_invalid_emails(). Функция не включена в стандартные задания cron, т.к. работает не везде (зависит от настроек хостинга).



#19980 Как работает Mail Delivery Subsystem?

Отправлено от Analitic в 31 Июль 2013 - 13:53 in Как это сделать

По поводу Mail Delivery Subsystem. Его развитие тормозиться тем фактом, что он не везде работает. В планах есть функция которая позволит ему работать везде, тогда и будет развитие. Но тем не менее, если это необходимо функция рабочая. На текущий момент в основном работает схема описанная в первом моем посте.



#19979 Как работает Mail Delivery Subsystem?

Отправлено от Analitic в 31 Июль 2013 - 13:47 in Как это сделать

Минусы? Минус, в невозможности по ftp менять файл config.php?
Минус спорный, если необходимо изменение возможно, плюс есть более простой способ внесения настроек, который будет сохраняться в бекапе.



#19968 Как работает Mail Delivery Subsystem?

Отправлено от Analitic в 31 Июль 2013 - 09:50 in Как это сделать

КБ отправляет почту от лица менеджера, соответственно отчет о недоставке приходит МЕНЕДЖЕРУ. Например у вас в настройках отправки стоит адрес info@mycompany.com - отчет о недоставке придет на именно этот адрес. Соответственно уже Менеджер при получении почты должен проверить адрес клиента в КБ.



#19183 Нагрузка базы

Отправлено от Analitic в 21 Июнь 2013 - 15:10 in Прочее

При некоторой оптимизации максимальное количество записей в таблице может быть очень большим (тысячи миллионов) . Архитектура К.б. позволяет выделить под отдельную таблицу отдельный сервер.



#19356 Нагрузка базы

Отправлено от Analitic в 01 Июль 2013 - 17:08 in Прочее

Нужен опытный системный администратор, который корректно настроит сервер. Можете заказать установку у нас.



#19182 Нагрузка базы

Отправлено от Analitic в 21 Июнь 2013 - 15:05 in Прочее

Тестирование проводилось, официальные результаты возможно выложим на сайте позже. Предварительно: 4 ядерный CPU 4GB Memory при работе в таблице с 23 миллионами записей, 10 пользователей (20 запросов на вывод fields.php в минуту), скорость вывода страницы на 100 записей порядка 2.5 секунд.



#19510 Было бы хорошо...

Отправлено от Analitic в 10 Июль 2013 - 14:29 in Предложения по доработке

Спасибо, за предложения!

Просмотр сообщенияwondertalik (10 Июль 2013 - 12:22) писал:

Было бы хорошо, если бы в одно поле можно было добавлять несколько типов и опционально размещать их по горизонтали. Что-бы выглядело как-то так http://awesomescreen....com/0181hnhd44
Пока в процессе обсуждения

Просмотр сообщенияwondertalik (10 Июль 2013 - 12:22) писал:

А еще datepicker поменять на что-то вроде этого http://trentrichards...les/timepicker/
Реализуем в ближайшем времени.



#19896 Безопасные функции работы с SQL. Оформление исходного кода.

Отправлено от Analitic в 29 Июль 2013 - 10:53 in Прочее

Судя по коду, это все таки имя. Если для вас это не очевидно, проверьте на практике.



#19893 Безопасные функции работы с SQL. Оформление исходного кода.

Отправлено от Analitic в 29 Июль 2013 - 08:48 in Прочее

Пример?



#18845 Переход SAAS на Postgresql.

Отправлено от Analitic в 29 Май 2013 - 11:52 in Разработчикам

Просмотр сообщенияwondertalik (29 Май 2013 - 11:18) писал:

1. Будут ли оставаться сервера c mysql?
2. Второе возможно ли будет остаться на mysql, до момента готовности перейти на postgresql?
Да, старые клиенты, при необходимости будут располагаться на серверах с Mysql. Новые будут создаваться на PostgreSql.

Просмотр сообщенияwondertalik (29 Май 2013 - 11:18) писал:

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

Просмотр сообщенияwondertalik (29 Май 2013 - 11:18) писал:

4. Вы предлагаете разбивать многотабличные запросы на несколько простых, с точки зрения масштабируемости это конечно да. Но опять же с точки зрения балансировки нагрузки между тем же вычислением на php и бд это не всегда верное решение и приведет к увеличению требования к выделенным возможностям саас аккаунтов, переходам на более высокие тарифные планы.
Балансировать нагрузку от PHP вообще не проблема. Просто добавляем еще один сервер, направляем часть нагрузки на него используя балансировщик. При добавлении сервера, производительность возрастает вдвое. Это касается любого более менее крупного проекта. С базой все гораздо хуже. Отсюда и появляются решения типа nosql.

Просмотр сообщенияwondertalik (29 Май 2013 - 11:18) писал:

Я конечно понимаю причины перехода на объектно-реаляционную бд, но простите, оставьте выбор вашим клиентам. Я правильно понимаю, что db_engine будет содержать значения по типу "MySql" or "PostgreSql"?
Объектов тут нет, чисто процедурный стиль. Выбор оставляем: если вы уже пользуетесь MySql, и переход на PostgreSql для вас не возможен смотри пункт1.

Просмотр сообщенияwondertalik (29 Май 2013 - 11:18) писал:

Что скажите по поводу такого синтаксиса? То есть использования функций вида mysql_*?

Желательно переписать на
$result = sql_query($sqlQuery);
$select = sql_fetch_assoc($result);

mysqli?

/* Select запросы возвращают результирующий набор */
if ($result = sq_query("SELECT Name FROM City LIMIT 10")) {
	printf("Select вернул %d строк.\n", sql_num_rows($result));
}

// $result->close(); - очистка не используется, если необходимо можем добавить поддержку.



#18843 Переход SAAS на Postgresql.

Отправлено от Analitic в 29 Май 2013 - 10:45 in Разработчикам

Вниманию разработчиков! На Saas в конце июня планируется переход на Postgresql. В связи с чем, рекомендуем использовать только функции из набора sql_select, sql_query, sql_fetch_assoc, sql_insert_id и т.п. описанные в файлах mysql_connect.php и sql_functions.php. При переходе в файле config.php будет изменен параметр db_engine. Стандартные функции сохранят свою работоспособность.

Также напоминаем, что К.б. будет постепенно подключать и остальные sql базы, вплоть до подключения движка nosql. Учитывая что базы имеют различный синтаксис, рекомендованный стиль обращения к базе:
1. использовать только стандартные функции Кб.
2. если возможно использовать sql_select, вместо sql_query, то использовать именно sql_select
3. использовать простые запросы, без использования конструкций типа join, union и т.п.

Пример выборки из двух таблиц:
не рекомендуемый стиль:
$result=sql_query("SELECT a.id, b.f441 as fio FROM f_data46 a LEFT JOIN f_data48 b ON b.id=a.f776 WHERE `status`=0");
$line = sql_fetch_assoc($result);

рекомендуемый стиль:
$result=data_select_field(46, '`id` , `f776`', '`status`=0');
$line = sql_fetch_assoc($result);
$result = data_select_field(48, '`f441`', '`id`=',$line['f776']);
$row = sql_fetch_assoc($result);
$line['fio'] = $row['f441'];

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

Ваши вопросы?



#18846 Переход SAAS на Postgresql.

Отправлено от Analitic в 29 Май 2013 - 12:00 in Разработчикам

Просмотр сообщенияwondertalik (29 Май 2013 - 11:18) писал:

Я правильно понимаю, что db_engine будет содержать значения по типу "MySql" or "PostgreSql"?
Параметр db_engine уже сейчас может содержать 'innodb' либо 'myisam', новое значение параметра скорее всего будет 'postgre'.



#18848 Переход SAAS на Postgresql.

Отправлено от Analitic в 29 Май 2013 - 13:13 in Разработчикам

Просмотр сообщенияwondertalik (29 Май 2013 - 12:28) писал:

Было бы очень хорошо.

В следующей ревизии появиться функция sql_free_result.



#17571 Стилизация внешней формы

Отправлено от Analitic в 05 Март 2013 - 14:56 in Как это сделать

Переопределяете стили выпадающего списка во вкладке - редактор стиля: k_input_link_field, k_drop_down_icon и т.д.



#18119 Железячный вопрос

Отправлено от Analitic в 02 Апрель 2013 - 07:41 in Как это сделать

Просмотр сообщенияarsenal (02 Апрель 2013 - 04:25) писал:

Можете привести пример кода? Где и как прописываются индексы?

Для установки индексов можете использовать edit_sql.php
Но индексы нужно проставлять, понимая что делаешь. Неправильные индексы вредны и наоборот замедляют работу.



#22282 значение полей `u` и `r`

Отправлено от Analitic в 27 Февраль 2014 - 15:52 in Разработчикам

Просмотр сообщенияandibrag (27 Февраль 2014 - 14:46) писал:

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



#22278 значение полей `u` и `r`

Отправлено от Analitic в 27 Февраль 2014 - 14:11 in Разработчикам

В r помещается timestamp когда была изменена (добавлена) запись. Значения итерпретируются как 0 - старая запись, не ноль - новая запись. u - это сохранение строки. r - новая запись. Доп действие не вызывает изменение u.