Hello,

I will try to be more explicit in my request and avoid giving the impression 
that I'm avoiding the discussion of technical issues. As you mentioned, my 
previous response seemed to resemble the replies of corporate support teams, 
but I don't really fall into the category of "those who are afraid to disclose 
some knowledge they might have heard." I have shared all the information I 
possess as a system engineer regarding the solution we use, and I have even 
gone beyond my responsibilities (scope) by addressing the aspect of the 
workflow that falls under the domain of our application developers working on 
the functional side.

However, I align more with the first category of individuals "who do not know 
the technical details" because I struggle to explore beyond the features 
offered by the proprietary emulator and other similar solutions that the 
project team has asked me to evaluate.

The problem likely lies, as Abraham Maslow said, in the fact that "If your only 
tool is a hammer then every problem looks like a nail." I have been constrained 
in my thinking by wanting to replicate the same implementation as the one I am 
familiar with in proprietary offerings and I find it challenging to understand 
how another solution could provide the same outcome while being implemented 
differently.

Do you expect something like that for Technical specifications for the required 
solution:

Connection Security:

  Utilization of the SSH protocol to ensure a secure connection to the Linux 
server, replacing Telnet.

Non-Printing Terminal in passthrough Mode:

  A terminal emulator is used to access a semi-graphical application with a 
text-based user interface. It should be capable of displaying multi-level grids 
and application selection menus seamlessly.

Intermediate Filter:

  A filter in between that in response to escape-code-1 starts sending data to 
the serial port instead of the terminal application and switches back to the 
terminal application on receiving of escape-code-2.
  Development of a transparent and responsive intermediate filter to ensure a 
smooth user experience. This filter must handle incoming and outgoing commands 
without disruption.

    Detection of Escape Codes: The filter continuously monitors incoming data 
from the terminal emulator to detect the presence of specific escape codes, 
such as "escape-code-1" and "escape-code-2."
    
    Switching to the Serial Port: When the filter detects "escape-code-1" in 
the incoming data, it switches to a data redirection mode towards the output 
device, such as the serial port. From that point on, all incoming data is 
directed to the output device instead of being displayed in the terminal 
application, while it continues to monitor communication with the printer.
    
    Waiting for Returns: The filter remains attentive to returns of information 
coming from the serial printer. These returns may include information about the 
printing status, errors, or other relevant data.
    
    Handling Returns: When the filter receives returns from the serial printer, 
it directly transmits them to the terminal application without any modification 
or addition. Thus, information from the serial printer is relayed as is to the 
terminal application without altering the pass-through mode.
    
    Reception of "Escape-code-2": When the filter detects "escape-code-2" in 
the incoming data (usually sent from the terminal application), it ceases 
redirecting data to the output device. At this stage, it returns to the normal 
behavior of the terminal emulator, displaying data in the terminal application.
    
    Transparent Processing: Throughout this process, the filter ensures that 
the transition between data redirection to the output device and display in the 
terminal application occurs seamlessly, so the user doesn't notice any 
interruptions or disruptions in data display or printing.
    
    Synchronization with the Terminal Application: The intermediate filter must 
stay synchronized with the terminal application to correctly detect 
"escape-code-1" and "escape-code-2." It must react promptly when it detects 
these codes to switch between redirection and pass-through modes. Poor 
synchronization could lead to interruptions or unwanted disruptions for the 
user.
    
    Synchronization with the Serial Printer: The filter must also maintain 
synchronization with the serial printer to handle returns of information 
appropriately and transmit them to the terminal application at the right 
moment. Desynchronization with the serial printer could result in the loss of 
crucial information regarding the printing status or errors.
    
    Latency Minimization: To ensure precise synchronization, the filter must 
minimize latency in data and signal processing. Excessive latency could lead to 
synchronization issues and unwanted delays.
    
    Exception Handling: Synchronization must also be considered when handling 
exceptions, such as the reception of multiple consecutive escape codes 
("escape-code-1" or "escape-code-2"). The filter must be capable of responding 
adequately to avoid malfunctions and ensure the continuity of operations, 
necessitating precise synchronization.


Constraints:

  Reliability:
    The solution must be highly reliable, as any loss of sales or issues 
related to the generation of legal documents, such as invoices and receipts 
(whether printed or digital), is unacceptable. Business continuity is paramount.

  Compliance with French Standards and Certifications:
    The Point of Sale (POS) system must comply with French standards, including 
the NF525 standard, as well as French tax requirements. The solution should be 
capable of meeting current government regulations without requiring 
re-certification to maintain existing compliance.

  User-Friendliness and Reliability for Non-Technical Users:
    The solution must be simple and reliable since the management of the 
workstation aspect is handled by a different team than the system team. This 
team does not need to understand the terminal component, as is currently the 
case. Non-technical users, such as cashiers, will be using these workstations. 
Therefore, the solution should be user-friendly and not subject to 
modifications by these users.

  Independence from Terminal Emulator Updates:
    Since the terminal emulator must undergo regular updates for security 
reasons, especially regarding SSH, it must not be tightly coupled with the 
intermediate filter and should not disrupt the filter during terminal updates. 
Updates to the terminal emulator must be seamlessly managed to ensure system 
continuity.

Note:

  The PuTTY application has been evaluated to meet consultation needs but does 
not fulfill the requirements related to sales, especially concerning access to 
the serial printer.
  Terminals details include the use:
  Coonection by key type: ed25519 with passphrase
  The backspace key:  Control-? (127)
  The function keys and keypad: Xterm 216+
  Remote caracter set: ISO-8859-15:1999 (Latin-9, euro)
  Enable VT100 line drawing even in UTF-8 mode

Regards,
Thierry

Reply via email to