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:
- Navigate to the "Generate project execution logic" page.
- Observe the initial loading state indicated by "Loading execution data..." and a spinning progress indicator.
- Watch as the status message updates to "Setting up the project now - will take a while", indicating the start of the project configuration.
- Monitor the real-time terminal output to follow the commands and messages from the project setup.
- Notice the dynamic screenshots appearing and updating in the top-right corner, providing visual feedback of the project's progress.
- Review the "Gemini Execution Log" section for a detailed history of events.
- Wait for the status message to finalize with "Project was (re) - created", signaling successful completion.
- 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:
- 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).
- Click the "Stop Execution" button.
- Observe the status message changing to "Execution stopped by user".
- 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:
- While on the "Generate project execution logic" page, continue working until your user session is close to expiring.
- 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:
- While on the "Generate project execution logic" page, allow your user session to fully expire.
- Observe that the current "Generate project execution logic" view automatically closes.
- 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:
- Navigate to the "Generate project execution logic" page.
- Encounter an error during the initial data loading phase (e.g., due to a temporary network issue or an invalid project ID).
- Observe a prominent error message displayed on the screen (e.g., "Failed to get main execution folder" or "Error loading data: [specific error]").
- Click the "Retry" button.
- The page should revert to the loading state with a progress indicator and "Loading execution data..." message.
- 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.