User Manual

Generate project execution logic

This manual page describes how to use the 'Generate project execution logic' feature, which allows you to create, manage, and monitor the real-time execution of your projects. You can view live terminal output, dynamic screenshots, and execution logs, as well as control the execution process.

Generate project execution logic

Summary

The 'Generate project execution logic' page is a central hub for managing your project's automated tasks. It provides a real-time terminal to view ongoing processes, dynamic screenshots to visualize progress, and a detailed log of all activities. This ensures you have complete oversight of your project's setup and execution. The system also keeps you informed about your user session status, providing timely warnings before your session expires and clear notifications if it does.

Page Access

You can access this page by navigating to: /automization

Page Functionalities

The "Generate project execution logic" page offers a comprehensive set of tools to monitor and control your project's execution:

  • Application Bar:
    • Title: Displays "awaBerry Anywhere", indicating the current context.
    • Close Button (X icon): Located in the top-left, this button allows you to exit the execution page. If a project execution is active, it will prompt you to confirm if you wish to stop the process before closing.
  • Status and Control Row:
    • Show execution result button: Visible when no project update is in progress, this button takes you to the screen displaying the final results of the execution.
    • Loading Indicator and Stop Execution button: When a project is actively being set up or updated, a circular loading indicator is displayed alongside a prominent "Stop Execution" button. This button allows you to halt any ongoing process immediately.
    • Status Message: A dynamic text area that shows the current state or progress of your project (e.g., "Loading execution data...", "Setting up the project now - will take a while", "Project was (re) - created", or any encountered error messages).
  • Terminal View:
    • This large display area provides a live, real-time feed of the commands being executed and their output on the remote server. It is read-only, allowing you to observe the process without interference.
  • Screenshot Overlay:
    • "Screenshot of task execution" label: Identifies the visual feedback provided.
    • Dynamic Screenshot: Located in the top-right corner, this displays a live screenshot of the project's execution environment, offering visual confirmation of progress.
    • Hide Screenshot button (X icon): Allows you to temporarily hide the screenshot if it obscures important terminal output.
    • Show Screenshot button (Maximize icon): If the screenshot is hidden, this button reappears in its place, allowing you to bring it back into view.
    • Expand to Fullscreen button (Fullscreen icon): This button opens the current screenshot in a dedicated full-screen viewer for closer inspection.
  • Gemini Execution Log Section:
    • "Gemini Execution Log" title: Clearly marks this section.
    • Log Display: This area provides a chronological list of significant events and messages generated by the Gemini execution logic. Each entry includes a timestamp and the log message, with the newest entries appearing at the bottom. If no logs are available, it will display "No logs yet".
  • Error Handling:
    • In case of initial data loading failures, a clear error message is displayed along with a red error icon. A "Retry" button is provided to attempt the data loading process again.

Scenario Executions

Possible usage steps within this page

Test_1: Successfully Set Up and Monitor a New Project

This scenario demonstrates how to initiate a new project setup and observe its progress until completion.

  • Proposed Input Variables: projectId = "myNewProject123"
  • Steps:
    1. Navigate to the "Generate project execution logic" page.
    2. Observe the initial loading state indicated by "Loading execution data..." and a spinning progress indicator.
    3. Watch as the status message updates to "Setting up the project now - will take a while", indicating the start of the project configuration.
    4. Monitor the real-time terminal output to follow the commands and messages from the project setup.
    5. Notice the dynamic screenshots appearing and updating in the top-right corner, providing visual feedback of the project's progress.
    6. Review the "Gemini Execution Log" section for a detailed history of events.
    7. Wait for the status message to finalize with "Project was (re) - created", signaling successful completion.
    8. Click the "Show execution result" button to navigate to the results page.
  • Goal: To successfully set up a new project and verify its completion through visual and textual feedback.

Test_2: Stop a Project Execution in Progress

This scenario outlines how to interrupt an ongoing project execution.

  • Proposed Input Variables: projectId = "longRunningProjectABC"
  • Steps:
    1. Access the "Generate project execution logic" page while a project setup or update is actively running (indicated by a loading indicator and "Stop Execution" button).
    2. Click the "Stop Execution" button.
    3. Observe the status message changing to "Execution stopped by user".
    4. Confirm that the terminal output stops, and the page automatically closes, returning you to the previous screen.
  • Goal: To gracefully halt a running project execution and return to the previous screen.

Possible errors which may occur on this page

Test_3: Receive a Session Expiration Warning

This scenario describes receiving a notification when your user session is about to expire.

  • Proposed Input Variables: None (system-triggered event)
  • Steps:
    1. While on the "Generate project execution logic" page, continue working until your user session is close to expiring.
    2. Observe a floating notification (SnackBar) appearing at the bottom of the screen, warning you that your session will expire soon.
  • Goal: To be alerted about an impending session expiration to prevent unexpected interruptions.
  • Potential Failures: The warning notification does not appear, or it is not clearly visible to the user.

Test_4: React to an Expired User Session

This scenario details the behavior when your user session has completely expired.

  • Proposed Input Variables: None (system-triggered event)
  • Steps:
    1. While on the "Generate project execution logic" page, allow your user session to fully expire.
    2. Observe that the current "Generate project execution logic" view automatically closes.
    3. A floating notification (SnackBar) will appear, informing you that your session has expired, potentially prompting you to log in again or redirecting you.
  • Goal: To ensure a graceful handling of session expiration, informing the user and closing the current operational view.
  • Potential Failures: The page does not close automatically, the expiration notification does not appear, or an error occurs during the redirection/logout process.

Test_5: Recover from an Initial Data Loading Error

This scenario shows how to handle and recover from an error during the initial loading of project data.

  • Proposed Input Variables: projectId = "problematicProjectXYZ"
  • Steps:
    1. Navigate to the "Generate project execution logic" page.
    2. Encounter an error during the initial data loading phase (e.g., due to a temporary network issue or an invalid project ID).
    3. Observe a prominent error message displayed on the screen (e.g., "Failed to get main execution folder" or "Error loading data: [specific error]").
    4. Click the "Retry" button.
    5. The page should revert to the loading state with a progress indicator and "Loading execution data..." message.
    6. If the underlying issue is resolved, the project setup sequence should then proceed as normal.
  • Goal: To allow the user to re-attempt loading project data after an initial failure, facilitating recovery from transient problems.
  • Potential Failures: The "Retry" button is unresponsive, the same error reoccurs, or a new error is introduced.