Анонс новостей (обновлений, исправлений) Easyhotspot

Анонсы всего, что происходит в плане дальнейшей модернизации программы, а также, исправления обнаруженных ошибок.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений) Easyhotspot

Сообщение Dmitry »

Улучшения в программе:
  • В меню ваучеров добавлена индикация выбранного режима отображения списка — «только активированные», «только не использовавшиеся», «все ваучеры» (пример такой индикации выбранного режима с помощью красного подчеркивания соответствующей иконки можно увидеть на скриншоте в этом сообщении).
  • Выбранный режим отображения списка ваучеров («только активированные» / «только не использовавшиеся» / «все ваучеры») теперь учитывается и при выполнении экспорта их в xls-файл (т.е., теперь в отчет попадают ваучеры только в соответствии с выбранным режимом).
Исправления:
  • Изменена функция генерации гостевых ваучеров так, чтобы потом гостевые ваучеры не попадали в распечатку только что сгенерированных вручную «обычных» ваучеров.
  • Убран лишний код «перевода страницы» при генерации страниц с ваучерами (дававший «лишнюю» пустую страницу в конце PDF-файла с ваучерами)
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений) Easyhotspot

Сообщение Dmitry »

Были переписаны некоторые sql-запросы так, чтобы не использовать встроенную функцию where_in т.н. билдера-sql-запросов фреймворка Codeigniter. Связано это с тем, что при передаче в данную функцию «слишком уж больших» объемов (массивов) данных Codeigniter начинает писать в свой лог ошибки (точнее, не именно «Error-ы» (процедуры вроде как продолжают работать), а предупреждения — «Warning-и») такого вида:

Код: Выделить всё

ERROR - 2020-03-27 18:09:37 --> Severity: Warning --> preg_match(): Compilation failed: regular expression is too large at offset 525077 /var/www/easyhotspot/system/database/DB_query_builder.php 2418
С целью устранения этих ошибок, пришлось отказаться от использования DB_query_builder и запросы прописать «вручную».
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений) Easyhotspot

Сообщение Dmitry »

Добавлена процедура полной очистки базы данных. Полностью «сбрасываются» (sql-командой truncate) все таблицы базы данных за исключением учетных записей о персонале. Т.е., аккаунты всех Администраторов, Суперадминистраторов и Кассиров остаются в неприкосновенности. Все остальное — «вычищается» полностью!
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений) Easyhotspot

Сообщение Dmitry »

Добавлено выделение в списке ваучеров, «перебравших» отведенное им время или трафик (строка слегка подсвечивается красным, как показано на скриншоте ниже):

Изображение

ps. Также, на скриншоте можно увидеть и то, как выглядит индикация выбранного режима отображения списка ваучеров (только активированные/только не использовавшиеся/все), о которой сообщалось ранее (в правом верхнем углу скриншота видно «красное подчеркивание» под выбранным режимом отображения списка).
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений) Easyhotspot

Сообщение Dmitry »

Улучшения биллинга:
  • «Борьба с толстой базой продолжалась...» Была «сымитирована» ситуация «очень большого» количества юзеров, подключенных «онлайн» одновременно. В результате код процедуры вывода меню «Подключены к интернету» тоже пришлось переписывать (оптимизировать), чтобы снизить время подготовки отчетов. То же самое — и по поводу меню «Роутеры, к которым подключены клиенты», отображающего работающие роутеры и число подключенных к ним в данный момент пользователей (задержку формирования отчета создавал как раз подсчет «онлайн-юзеров», изменение процедуры снизило ее на порядок).
  • Изменен код, управляющий порядком (сортировкой) списков в следующих меню — «Ваучеров» / «Постоянных клиентов» / «Гостевой статистики» / «Подключенных к хотспотам пользователей». Визуальных изменений — никаких, правка затронула лишь «вопросы внутренней логики» процедуры.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений) Easyhotspot

Сообщение Dmitry »

Новое улучшение программы — изменена работа с «зависшими» сеансами. Раньше эту процедуру выполнял отдельный скрипт, написанный на perl, и единственной «разумной» причиной такого метода была необходимость выполнения им еще и функции принудительного отключения ваучеров, номинал которых установлен в Байтах, и «перебравших» данный лимит (такое могло происходить на старых chillispot-ах, не знавших radius-атрибутов из ряда ChilliSpot-Max-.....-Gigawords). Недостаток этого решения заключался в том, что данный скрипт мог «подраться за ресурсы» со «Скриптом регулярных заданий» самого биллинга (запускающемуся cron-ом одновременно с ним). И в таком случае они на пару «разгоняли» загрузку всего сервера «до недостижимых высот»! Теперь же функция закрытия «зависших» сеансов возложена непосредственно на сам биллинг (включена в число задач, выполняемых «Скриптом регулярных заданий»), а старому perl-скрипту была оставлена всего лишь одна задача — то самое принудительное отключение «перебравших трафик» юзеров.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений) Easyhotspot

Сообщение Dmitry »

Еще одно обновление «черной админки» Easyhotspot

«Не прошло и три года!», как описанная в этом сообщении библиотека Google Charts (полагаю) тоже «устарела». По крайней мере, сервер Google стал как-то «вяло» отдавать картинки с построенными им диаграммами. Попытка разобраться с «самой свежей» реализацией от Google, называющейся все также «Charts», и реализованной теперь на JavaScript, не привела к положительному результату (в режиме «победить за пять минут»). Поэтому был проведен поиск какого-нибудь иного решения, которое можно было бы «вклеить» прямо в биллинг, чтобы Easyhotspot сам рисовал эту диаграмму (боже, а её вообще хоть кто-нибудь смотрит на самом-то деле?! :) )...

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

Изображение

Что можно сказать по поводу?
  • Во первых, картинка немножко «топорнее», чем та, которую выдавал Google Charts (надеюсь, это совсем не важно :) ).
  • Во вторых — картинка «честнее», чем та, которую выдавал Google Charts. О чем это я? Ниже для сравнения приведена картинка со старой диаграммой, сформированной с помощью Google Charts. На ней мы видим четыре сектора практически равных по величине! И это при том, что цифры, которым соответствуют эти сектора — отличаются на пару порядков (слева видно «разбивку» числа ваучеров по тарифам: 33592, 541, 425 и 40706)! С другой стороны, показанная выше диаграмма, которую построил сам Easyhotspot, содержит 5 секторов, размер которых действительно можно считать более-менее пропорциональным тем данным, которые отображает диаграмма (11187, 415, 12837, 114 и 14875).
  • Ну и последний (главный) плюс используемого теперь решения (ради чего, собственно, все и затевалось) — это скорость: диаграмма теперь появляется на странице практически сразу, одновременно с появлением самой страницы «Статистики».
Изображение
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений) Easyhotspot

Сообщение Dmitry »

Сегодня вышел новый релиз Ubuntu 20.04 LTS
Ниже скриншот сведений о системе, на котором видно — какие версии ПО использует дистрибутив Ubuntu 20.04 LTS

Изображение

И кстати, это в первый раз такое — когда Easyhotspot готов к установке на новую версию Ubuntu прямо сразу же в день её выхода!
Это стало возможным благодаря тому, что попытки начались еще за несколько месяцев до этого.
Возиться со скриптом-инсталятором, чтобы установка биллинга происходила без проблем, пришлось по таким позициям:
  • MySQL — в его 8-й версии слегка изменен алгоритм создания пользователя и наделения его необходимыми привилегиями, раньше это можно было выполнить одной командой, теперь — только двумя отдельными;
  • FreeRADIUS — разработчики решили, что без ssl-шифрования при обмене с MySQL — теперь «ну никак нельзя», и включили его по умолчанию. НО! «Самогенерированные» ключи это шифрование использовать отказывалось «в упор»! Пришлось отключить это шифрование к такой-то бабушке. А с другой стороны — если и FreeRADIUS и MySQL размещаются НА ОДНОМ КОМПЕ, и общаются между собой через localhost — то на кой оно надо вообще, это шифрование?!;
  • Coova-Chilli — теперь компилируется версия 1.5, которая правда почему-то (видать по недосмотру разработчиков) подписывается «по старому» как 1.4. Была какая-то мелкая проблема самого процесса компиляции, решена добавлением «волшебного» ключа в настройки самого компилятора;
  • Webmin — тут как говорится, «нашла коса на камень». С одной стороны, Webmin использует python версии 2.х, а с другой — разработчики Ubuntu решили, что в новой версии 20.04 LTS старый python версии 2.х не нужен абсолютно и просто выкинули его из дистрибутива совсем, оставив лишь версию 3.х. Пришлось ставить пакет-заглушку, которая подменяет линки, и всем, кто просит python версии 2.х «подсовывает» его 3-ю версию;
Остальное прошло как-то незаметно (либо проблем не было совсем, либо они были столь незначительны, что в памяти не отложились).
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений) Easyhotspot

Сообщение Dmitry »

Исправлены ошибки (внесенные ранее во время модернизации некоторых процедур):
  • Экспорт в экселевский файл результатов работы модуля «коротких номеров» /«смс-авторизации» (было указано неверное имя таблицы, из которой нужно было считывать данные);
  • Создание тарифного пакета с «учетом по мегабайтам» — тариф создавался, но в базу не прописывались соответствующие атрибуты RADIUS-а. Ошибка была именно в процедуре создания, если же тариф редактировался, все происходило как положено. Причем, если впоследствии такой «дефектный» тариф (который был создан с этой ошибкой — отсутствующими атрибутами RADIUS-а), открыть для редактирования и сохранить (даже не внося никаких изменений), то информация в базе о нем тоже «исправлялась» — все необходимые атрибуты успешно добавлялись в базу;
Обе указанные ошибки исправлены.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений) Easyhotspot

Сообщение Dmitry »

Обновлена версия библиотеки dompdf, используемой для генерации pdf-файлов (ваучеры/счета/акты и т.п.). Использована самая «свежая» на данный момент ее версия — 0.8.5. Также, был заменен и шрифт, используемый в документах. Результаты (что поменялось):
  • Данная версия библиотеки dompdf требует, чтобы установленная и используемая в системе версия PHP была не ниже 7.1. С учетом этого обстоятельства меняется список приемлемых версий ОС. Без «дополнительных телодвижений» теперь подходят лишь такие ОС: Ubuntu версий 18.04 LTS и 20.04 LTS либо Debian 10.x. Также, в случае использования пакетов PHP с ppa:ondrej для Ubuntu или с сайта packages.sury.org для Debian, в число приемлемых «подтягиваются» еще и Ubuntu 16.04 LTS и Debian 9.x. А вот версии ОС Ubuntu 14.04 LTS и Debian 8.x (и более старые, естественно, тоже) теперь становятся неприемлемыми — обновленный Easyhotspot работать на них уже не сможет!
  • Похоже, новая версия dompdf менее «прожорлива» в плане ресурсов с одной стороны, а с другой — и сами PDF-файлы создаются меньшего размера. Полагаю, именно благодаря этим обстоятельствам выросло число ваучеров, которые можно «сгенерить за раз» и при этом получить не поврежденный PDF-файл (не пустой, все ваучеры видны без искажений, нет наложений друг на друга и т.д., и т.п.). На слабеньком тестовом VPS, имеющем одно-ядерный процессор с частотой 2ГГц и всего 1 Гб ОЗУ я без проблем получил PDF на 500 ваучеров!
Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей