Skip to content

v1 legacy code

Christian Prior-Mamulyan edited this page Nov 26, 2024 · 3 revisions

Purposeful Promethium legacy version v1

This UiPath project demonstrates reading structured data from an email inbox, parsing the content, and automating data entry on rpachallenge.com. Designed as a tutorial basis.

Automated Systems

It is automating

  • shared mailbox (accessed via IMAP)
  • FTP
  • web application

Accounts

In this process two user accounts are used

  • mailbox
  • FTP

In its version v1 the project is legacy code as written 2016-2018, it was also wrapped by a REFramework version from that time.

Screenrecording

IMAGE ALT TEXT HERE

Process Diagram

Here is an architectural diagram illustrating the legacy setup:

Legacy Diagram

Problems in legacy code

Verbatim click path implementation

  • [functional correctness] no transactional integrity
  • error prone when mail subject is used as filename
  • does not check for existing files

Maintainability

  • [Modifiability] No config file
  • [Modifiability] no central selector storage in Object Repository
  • [testability] no test cases
  • [Analysability]
    • inconsistent argument naming
    • data flow mostly "in", at best error "out"
    • flowcharts that "start weak, strongly go downhill from there on"
    • no modular GUI interactions which makes test cases hard to write
    • arguments as workflow-scoped variables

Error handling

  • [Reliability/Faultlessness] Inconsistent error handling
  • [Reliability/Faultlessness] Keine Business rule exception
  • bad input data -> instable handover2human implementation