Disclaimer

This document is only collection of author’s notes, experiences and point of views. It is not, in any meaning, either complete description of the topic nor official RTB documentation. It may be inaccurate, incomplete, obsolete, misleading or completely wrong. It may even cause loss of data or damage system integrity. It may not comply with company codex, values, presentation style or economic interests or may reveal company secrets.

As such, it is absolutely prohibited to distribute this document outside of RTB & Co. GmbH. Such an action may result into legal acts against both the sender and the company. It is only intended, after review of technical and presentational correctness and accuracy, to be used as an information source for official documentation.

Always contact documentation department for information about current presentation style and allowed formats before creating customer’s documentation.

21.0

Environment

Component Version

Java

11 / 15 (latest)

PostgreSQL

13 (latest)

Tomcat

9 (latest)

There are some compatibly breaks. See individual sections.

New

  • User management changed.

    • There are no projects anymore. In most cases users has created one Project for one Area. Now are Areas directly assignable to Users.

    • In order to provide services to users who are not desired to view data from PDM.control (e.g. Enforcement, Server monitoring …​) the user roles management has been changed. Currently, there are few groups of roles for each domain. If there is a checkbox in the domain name, it allows read only access to it. To allow user to make changes, select desired sub-roles.

  • New page for areas + links from other pagers.

  • Menu item PDM log moved to Logbooks

  • Menu item User administration moved to Manage.

  • New UI for firmware upload.

  • New UI for update planning.

  • Overview of user within an Area. See Area  Team.

  • Improved compatibility for mobile devices.

  • Hardware overview

  • Run time analysis

  • Team overview

Improvements

API

Status

There is new API for exporting status messages. It is located in path /api/export/status/byOrder. See Status messages API doc.

Payments

There is new API for exporting payment messages. It is located in path /api/export/status/byOrder See embedded documentation at Payment messages API doc.

Previous API located in path /api/data/payments/** has been removed. See Migration for more information.

Compatibility breaking changes

Bonus bee

Removing project has affected Bonus-Bee integration. It is believed that nobody uses it now.

If you use it please DO NOT INSTALL this version. Call our help desk. Integration with Bonus-Bee will be re-created.

Export API

Data export API has been redesigned in order to fulfill modern requirements. There has been made some incompatible changes. If you use this API it is necessary to adapt software which connects it.

/api/data/payments/byOrder.xml

has been moved to /api/export/payments/byOrder.

  • It has the same nesting structure and provides the same information. But names of wrapping elements (XML) are changed.

  • Parameter format has been removed. It is expected that server’s response compression will be handled at web server layout.

/api/data/payments/byDate.xml

has been removed. It seems that this method is not used. It you need it, contact us.

/api/data/projects.xml

has been moved to /api/export/payments/project. Its content has been slightly changed because of project removal.

URL on new UI has been changed

  • URL on new UI has been changed. If you see "Whitelabel Error Page" remove everything from after base URL. E.g. https://e1.rtb-parking.com/ng/monitor → https://e1.rtb-parking.com/. You will be redirected to the correct page based on your language, or English, if your language is not supported.

21.1

Standard password combo for default user (id = 1, login = admin) has been changed to admin, to stay compatible with the rest of the world.

  • If default user still uses its name admin and password aaa then the password will be updated to admin.

  • If the properties of default user has been already changed then nothing will be updated.

New

  • Custom payment field. PDM can transmit arbitrary data to payment log.

  • Additional remote actions:

    • 37 - FW update without restriction

    • 82 - Disable SD card

    • 83 - Enable SD card

    • 84 - BNA Test

    • 85 - Disable backup

    • 86 - Enable backup

Improvements

  • Remote actions UI improved.

  • Consistent username in various places [PCON-2217]

  • Updated main navigation menu to better support both mobile and desktop devices.

Following reports has been converted to new UI

  • Revenue

    • Cash box level

    • By period

  • Payments

    • Parking amount

    • Parking duration

    • Tourists

  • Technical

    • Voltage

  • Bonus

    • History 60 days

Fixes

  • All cards in a row of update plan have same height [PCON-2246].

21.1.1

Fixed wrong clearing number in export.

21.2.2

Fixed crash (not enough memory) by exporting logbooks, if large amount of data is selected.

21.2

New

  • Message forwarding converted to new UI.

  • Optimizations of message forwarding engine to generate less SQL.

Changes

  • Area 'services' was renamed to 'partners' to distinguish services provided by RTB from services provided by our partners. Also, design has been a bit changed to be similar to message forwarding.

Message forwarding

Message forwarding database model was simplified and made more efficient. However, during migration of database of RTB cloud it was discovered that there are some forwarding rules which do not define any start or end time. Those values were replaced by 00:00 for start and 23:59 for end. A NOT NULL constraint is used to prevent it in the future.

How is time evaluated?

Start an end of time interval are evaluated with minute precision. Interval is valid as long a minute within an hour is equal. E.g. interval from 6:00 to 17:59 actual forwards from 6:00:00.000000001 to 17:59:59.999999999.

Day rule / night rules

There are two kinds of rules

  • Day: start time < end time. It is evaluated within one day

  • Night start time > end time. It starts one day at specified time and next day.

Night rule at the end of day list

If you define forwarding like this:

Monday, Tuesday, 22:00 - 5:59

It will work correctly for events night from Monday to Tuesday between 22:00 (Monday) and 5:59 (Tuesday). However, at night from Tuesday to Wednesday it will stop at 23:59 (Tuesday) because Wednesday is not in allowed days.

It is necessary to discuss with RTB management if it would make sense to extend evaluation also on Wednesday, although it is not in allowed days.

Day of week filter

In order to be consistent with the other filters, day of week filter change its behavior as well. If no days are selected then the filter is effectively disabled and behaves as if all days would be selected.

21.3

Due to some issues in Docker deployment, a default logging configuration has been changed. All logs are now written only to standard output. If you want to keep old behavior with files set following property in configuration file:

logging.config = classpath:logback-files-prod.xml

API deprecation

Aims

API /api/enforcement/aims/ is deprecated. Please migrate to /api/enforcement/aims2/. New API has the same interface expect parameter password. It was used for verification of API key from Area. New implementation uses Basic Authentication. Please add an appropriate header to each request. Additionally, you have to have role ROLE_ENFORCEMENT_VIEW to be able to view enforcement data.

API /api/enforcement/aims/ and area API key is scheduled for removal in version 21.4.

Genetec

There is no sign that Genetec API is used. It is also scheduled for removal in version 21.4. If you need it, please let us know.

New

  • Migration of UI has been finished. All pages are now available in Angular single page application.

  • Management of Areas is improved.

    • It is possible to create an Area in advance before PDMs start to send messages. Area number is validated asynchronously, and the user is notified if the selected number already exists.

    • It is possible to delete area with all its PDMs.

  • New bonuses

    • Multi tariff 2

    • Counting 1

Improvements

  • Page Map migrated to new UI.

  • Page Open messages migrated to new UI.

  • Improved performance of cash box level dashboard widget. Cash box levels are calculated incrementally and then cached. Fist cash box level calculation with empty caches takes longer time. Next one should be much faster. Please note that cash box level is shown after first clearing (due to technical limitations). Before first clearing, the cash box will appear empty no matter what is put inside.

  • Button to refresh firmware update progress.

  • If it is not possible to delete PDM a list of concrete blocking issues is shown.

  • It is not necessary to restart UI (F5) when area assignment is changed.

  • Area partners configuration behaves like modal dialog (OK, Cancel)

  • Enforcement API /api/enforcement/v1/zones/{id}/permits/{permit} can provide more details by setting parameter detailLevel = 1.

21.3.1

Fixed cash box level report (back-ported from 21.4)

21.3.2

Fixed link from map (back-ported from 21.4)

21.4

Due to database migration issue it is not possible to install PDM.control from scratch any more. Unfortunately this problem was discovered long time after release and could not been fixed in any version 21.x. Therefore it affects all version >= 21.4. It was fixed in version 22.0.

If you need to install clean PDM.control of affected version (above) please install first a version from range 21.0. - 21.3. Start it an let it to create the database. Then perform an upgrade to desired version.

Upgrade instructions

Please read carefully upgrade instructions if you use ANSI operating system.

When it applies

It is necessary to follow these instructions in case that you run PDM.control on ANSI platform (like some Windows installations). If you run it on platform which is uses UTF-8 encoding as default (e.g., most of Linux distributions) there is nothing to do, and the rest of chapter can be skipped.

Symptoms

If you run PDM.control on platform which supports only ANSI encoding (Windows) you will see following error in log file:

 WARN [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.ValidationFailedException: Validation Failed:
     12 change sets check sum
          db/017/0065 permit extension part 2.sql::0065::ales.holec was: 8:fdaeb95fb2bef80616f6eb8d42d7decd but is now: 8:93616816014dc32206575dde888e3a28
          ...
          db/021/210615 cash box level.sql::210616T1044::ales.holec was: 8:0b7a2cf47349b153e8f04bf16c267194 but is now: 8:80e79c401a523c8af694a480ca0a6920

Reason

Database migration library Liquibase) was updated to new major version. It seems that it does not read changelog as UTF-8 file any more. Instead, it uses default platform file encoding. Because changelog files use also non ASCII characters platform encoding represents them incorrectly.

Fix

To fix it, set default file encoding for Java process to UTF-8 be changing environment variable file.encoding by adding

-Dfile.encoding=UTF-8 ...

To Java command line arguments or in Tomcat control panel if you use external Tomcat with WAR file.

Logging level changed

From this version on was logging system reconfigured to display only level INFO and higher to prevent the high number of log messages landing in log files on production systems. Also, logging level of PDM messages was increased from DEBUG to INFO.

If you want to keep old behavior set property

logging:
  level:
    '[de.rtb]':TRACE

However, it is not recommended allowing TRACE level everywhere. There is a lot of debug information which are almost useless unless a problem occurs.

New

  • ID card bonus supports multiple lists.

Improvements

Automatic configuration of task executors

After start of PDM.control it is detected how many CPU cores are available on host. Base on this all thread pools, queues and load balancers are automatically configured. It is not necessary any more to inspect configuration file after changing computer configuration. Be aware that there still may be necessary to adjust memory manually if you set -xmx java parameter.

Web API call limitation

There was a problem that if 3rd party WEB API call is blocked all thread could end up in this blocked call which could make PDM.control nonresponsive (PDM.communication). After this fix only particular number of threads may be blocked by non-responsive API call. New requests to blocking API calls will be rejected (some real time function may not work) but rest of PDM.control will respond normally. Exact number of threads which can be used for this purpose is listed in log file after PDM.control start.

Removal

  • Genetec API removed.

  • AIMS enforcement V1 removed.

Fixes

  • Fixed Italian social insurance card bonus.

21.4.1

Option to hide LPN and Authorization code from UI (GDPR related).

Currently this function only removed GDPR related stuff from UI. License plate numbers and other GDPR related stuff is still (intentionally) accessible via API calls and stored in the database.

So far is GDPR protection tuned off by default. It can be enabled by following property.

pcon.gdpr.protect=true

21.5

Fully customizable notification system (e-mail, SMS). Refer to documentation for more information.

21.6

  • Bootstrap 5

  • Global software. Software can be uploaded globally to all areas. It is intended for global softwares like PDM firmware, modem …​

  • Fixed behavior of main menu.

  • English translation corrected by language company.

  • Remote actions with parameters.

  • List of remote action numbers (as help).

Removals

As it was announced in 21.3 old enforcement API and the 'area API key' was removed.

21.6.1

Quick fix for unavailable map. Different map provider is set as default one. Hill shading is not available any more. It is expected that the problem will be properly resolved later.

21.7

Features

GDPR

GDPR relevant data are automatically deleted every day. Interval how are the data kept, can be set in application properties. Following options and default values are available.

gdpr.eviction.lpn = 28d

Changes

Cash box level

Calculation of cash box level was changed. Now it is faster and more accurate.

PDM runtime

Processing of runtime information like last message (status, payment, clearing, …​) was changed to achieve faster response. This may cause that information written on PDM page in section connection may not be available until an appropriate message is received (even if it previously was displayed), there will be written just N/A.

Monitoring of mobile network signal

Signal strength is also processed from PDM5 machines. Newly is shown also time when PDM made modem login for the last time. This is also time point from which signal strength measurement originates.

Generally there are some internal changes of mobile signal processing. Therefore PDM7 may report no signal until next login to mobile phone network. If you need the information about signal strength urgently restart PDM.

Small improvements and bug fixes

  • Fixed layout of status message selector for message forwarding

  • Removed support for sms-expert gateway.

  • Removed moment.js because it is not tree-shakable. Time range selector uses Litepicker instead. Therefore the look and feel is a bit changed but behavior stays almost the same.

  • Chart.js library updated to version 3.

  • PDM alive monitoring refactored. Data are kept in database instead of memory. Now it uses less memory.

  • Important cards on Analyses page uses fixed order. Rest is sorted alphabetically.

  • Fixed issue when PDM5 request non-existent update which causes infinite request loop (FW bug). PDM.control terminates such a loop by sending empty file.

  • Payment reason filter has default selection Purchase only instead on All. Find more info in PCON-2307.

  • Added refresh button on FW update page.

21.7.1

  • Fixed reception of clearing from PDM5 [PCON-2526].

  • Fixed icon on button for clearing details [PCON-2525].

  • Fixed export of cash box levels [PCON-2527].

21.7.2

  • Fixed cash box level for PDM5.

21.8

Important

Database update may take about 15 minutes. Please be patient after start and do not abort it.

Power monitoring

Improved speed of evaluating of battery voltage. Because a different technique is now used, some PDMs may temporarily show unknown battery voltage. Issue will be automatically resolved when PDM sends new battery power report again (usually in one hour). Also the limitation that PDM show only battery voltage from last 30 days has been overcame.

Energy report

There is new report evaluating energy produced and consumed by PDM. It presents measurement from MCS and Sven’s board. Please be aware that there will be shown only limited amount (currently 12) of charts in results. If you need other PDMs select only those PDMs which you are interested about.

New report

Existing report Tourists was renamed to Ticket sale. There is also new report Ticket sale by PDM.