Skip to content

kariiimadelll/Calculate-Client-Security-Hash

Repository files navigation

๐Ÿ” Calculate Client Security Hash – UiPath RPA Project (Work Item 5)

ACME System 1 – Work Item 5: Retrieves client data (ID, Name, Country), computes a SHA1 security hash, and updates each work item via the site's UI.

Documentation is included in the Documentation/ folder.


๐Ÿ—‚ Project Overview

This automation is built with UiPath REFramework and processes ACME System 1 work items of type WI5. At a high level, it:

  1. Logs into the web application.
  2. Filters and selects Open WI5 tasks.
  3. Extracts client data from the details page.
  4. Computes a SHA1 hash of ClientID-ClientName-ClientCountry.
  5. Updates the work item with the hash and status "Completed".
  6. Repeats until all WI5 items are processed.

All steps are defined in the official Process Design Document: Calculate Client Security Hash.

This process design document describes the sequence of steps performed… serves as a base documentation for developers…” :contentReference[oaicite:1]{index=1}


๐Ÿค– REFramework Template

This project is based on the Robotic Enterprise Framework (REFramework) template:

  • A state machine layout covering Init → Transaction → Close states
  • Supports high-level logging, structured exception handling, and retry logic
  • Centralized Config.xlsx for settings and uses Orchestrator asset credentials
  • Manages transaction status (Success, Business Rule Exception, System Exception)
  • Automatically takes screenshots on unhandled exceptions :contentReference[oaicite:2]{index=2}

โš™๏ธ How It Works

State Description
Initialize InitAllSettings loads Config.xlsx & Orchestrator assets
GetAppCredential retrieves credentials
InitAllApplications opens & signs into ACME
GetTransactionData Retrieves WI5 items from Orchestrator queue (configurable via Config("OrchestratorQueueName"))
Process Executes the main hash computation workflow
Updates transaction status using SetTransactionStatus
End Process CloseAllApplications logs out and closes applications gracefully

๐Ÿ—‚ Project Structure

๐Ÿ“‚ ACME_System/
├── ACMESystem1_CloseWindow.xaml
├── ACMESystem1_EmailInvalidCreds.xaml
├── ACMESystem1_Launch.xaml
├── ACMESystem1_Login.xaml
├── ACMESystem1_Logout.xaml
├── ACMESystem1_NavigateToWorkItems.xaml
├── ACMESystem1_NavigateToWl.xaml
├── ACMESystem1_ReadWlClientInfo.xaml
├── ACMESystem1_ReadWiTable.xaml
├── ACMESystem1_NavigateToUpdateWorkItem.xaml
├── ACMESystem1-WriteUpdateWorkItemDetails.xaml
├── ACMESystem1-UpdateWorkItem.xaml
└── ACMESystem1-CloseUpdateWorkItemWindow.xaml

๐Ÿ“‚ SHA1/
├── SHA1-launch.xaml
├── SHA1-CloseWindow.xaml
└── SHA1-PerformHashing.xaml

๐Ÿ“‚ Data/
├── Input/
├── Output/
└── Config.xlsx

๐Ÿ“‚ Framework/
├── InitAllSettings.xaml
├── InitAllApplications.xaml
├── CloseAllApplications.xaml
├── GetTransactionData.xaml
├── Process.xaml
├── RetryCurrentTransaction.xaml
├── SetTransactionStatus.xaml
└── TakeScreenshot.xaml

๐Ÿ“‚ Exceptions_Screenshots/
๐Ÿ“‚ Documentation/
๐Ÿ“‚ Tests/
Main.xaml

๐Ÿ“ฆ Dependencies

Install the following packages via Manage Packages → Official UiPath feed:

  • UiPath.System.Activities
  • UiPath.UIAutomation.Activities
  • UiPath.Excel.Activities
  • REFramework core (workflows included in Framework folder)

๐Ÿš€ How to Run

  1. Update Orchestrator with:
    • System1_URL,SHA1_URL, CredentialName, Email Credentials,ACMEReport_EmailReceiver
  2. Store your login credentials in UiPath Orchestrator as a Credential Asset
  3. Run Dispatcher: Enqueues WI5 transactions based on filtered data
  4. Run Performer: Processes each transaction, computes SHA1 hash, and updates status
  5. Verify the ACME System UI:
    • Each work item should show status Completed
    • SHA1 hash appears in the comments section

๐Ÿงผ For New Developer Setup

  1. Review and update Config.xlsx fields: URLs, credentials, queue name, etc.
  2. Ensure InitAllApplications.xaml and CloseAllApplications.xaml match the login/logout process of ACME System
  3. Modify GetTransactionData.xaml and SetTransactionStatus.xaml if you're not using Orchestrator queues
  4. Implement or adjust the logic inside Process.xaml to:
    • Navigate to the WI5 page
    • Extract client data
    • Calculate SHA1 hash (ClientID-ClientName-ClientCountry)
    • Post result back into each work item
  5. Use RetryCurrentTransaction.xaml and TakeScreenshot.xaml for error handling and recovery

๐Ÿ’ก Tip: Use UiPath Assistant or publish to Orchestrator for production-like deployment


๐Ÿ”’ Author & Credits

  • Developed for the UiPath RPA Developer Advanced Certification
  • Based on the official REFramework template provided by UiPath
  • Challenge sourced from ACME System 1
    ๐Ÿ“Ž Download Official PDD

๐Ÿง‘‍๐Ÿ’ป Author

Created by Karim Adel A solution for the Calculate Client Security Hash – WI5 challenge using UiPath REFramework.

๐Ÿท๏ธ GitHub Topics

UiPath • RPA • ACME System 1 • SHA1 • WI5 • REFramework • WorkItem5

About

UiPath automation for the WI5 challenge – Calculate Client Security Hash. Reads WI5 items from ACME System 1, extracts client data, generates a SHA1 hash, and updates each work item. Built using REFramework with full exception handling and modular workflows.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors