-
Notifications
You must be signed in to change notification settings - Fork 10
feat(scheduler): add init scheduler documentation #998
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Changes from all commits
c12da57
5b94edf
a82d1cf
d2a4bec
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
# Scheduler :material-calendar-month: | ||
|
||
_________________________________________________________________________________________________________ | ||
|
||
## What is the Scheduler? | ||
|
||
The Scheduler section of the User Office Application allows instrument scientists to plan and manage time slots for the use of equipment and instruments. This feature is accessible via the calendar interface, where users can view, organize, and modify beam time slots. The module also allows filtering of time slots based on various criteria for efficient scheduling. | ||
|
||
_________________________________________________________________________________________________________ | ||
|
||
## Accessing the Scheduler Interface | ||
|
||
The scheduling module is not accessible by default within the core part of the User Office Application. Instead, scheduling is managed through a separate interface. Since it is a dedicated Application, the User Office Scheduler comes with its own URL, which is usually different from that of User Office Core. However, It depends on how the Infrastructure is built. | ||
|
||
_________________________________________________________________________________________________________ | ||
|
||
## Prerequisites | ||
|
||
### System Requirements | ||
- A supported web browser (Chrome, Firefox, Safari, etc.). | ||
|
||
### Essential Configuration | ||
- The scheduling module must be deployed and activated to allow access. | ||
- Users must have appropriate permissions as Instrument Scientists or administrators (User Officer) to access and modify scheduling data. | ||
|
||
### Linking Proposals | ||
- This part should be done by the User Officer in the User Office Core application. | ||
- Scheduling is tied to Calls for each Proposal which must be correctly associated with planned time slots. | ||
- Proposals in **SCHEDULING** status will appear in the calendar, and administrators can assign time slots accordingly. Note there are 2 ways to set a proposal to **SCHEDULING** status: | ||
1. **Through Workflow**: Configure the workflow to automatically transition proposals to **SCHEDULING** status based on predefined criteria. For more details on configuring the **SCHEDULING** status, refer to the [Creating Workflow guide](../user-guide/user-officer/creating_workflow.md). | ||
2. **Manual Status Change**: The User Officer can manually change the status of a proposal to **SCHEDULING** within the User Office Core application. | ||
- Proposals need to be **Accepted** by the User Officer in order to be scheduled. | ||
- It is necessary to check the **RabbitMQ** box in the **SCHEDULING** status of the Call Workflow to allow the proposal to be processed in the scheduler. To enable this: | ||
1. Click on the **SCHEDULING** status in your workflow tree. | ||
|
||
 | ||
|
||
2. Click on **Status Actions**. | ||
|
||
 | ||
|
||
3. Check the **RabbitMQ** box. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it is a good idea to mention that RabbitMQ should be running and both User Office application and Scheduler application should be able to seamlessly communicate with it. I know that this falls on the Technical guide, but would still be a good idea to have it on User side as this operation includes some tech understanding. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Given that the checkbox is visible within the application and is required to enable communication between the Scheduler and the core application, I thought it would be valuable to inform users about this aspect when creating their workflows. |
||
|
||
 | ||
|
||
You can now put your proposal in **SCHEDULING** status and allocate time slots, so it will appear in the scheduler. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It is also important to mention that the Proposal should be accepted as well as the status should be SCHEDULING. Since the User office is based on configurations, if workflows are not configured properly, it is possible for a Proposal to be Accepted but the status does not go to SCHEDULING and hence does n't show up in the Scheduler app. |
||
|
||
 | ||
|
||
 | ||
|
||
|
||
|
||
_________________________________________________________________________________________________________ | ||
|
||
## Interface | ||
|
||
### Left Panel | ||
The left panel displays the different menus available in the User Office Application. The default page is **Calendar**, where all planned time slots are visualized. Additional menus, such as **Equipment List** and **Equipment Request**, will be added to manage equipment and related requests. | ||
|
||
 | ||
|
||
### Calendar Page | ||
The calendar interface is dedicated to **Instrument Scientists** and allows them to view planned time slots on a calendar. | ||
**NOTE:** Instrument Scientist will be able to do the Scheduling operation only for the Instruments they are assigned to. | ||
|
||
 | ||
|
||
#### Calendar Features: | ||
- **Default Display**: The calendar is displayed by default in **Calendar mode**, providing a classic view of the schedule over a given period. | ||
|
||
#### Available Filters: | ||
- **By instrument**: Filters time slots by specific instruments, such as beamlines like **ROCK**. | ||
- **By equipment**: Filters by the equipment being used (details available in the Equipment List menu). | ||
- **By local contact**: Displays time slots by associated Instrument Scientists. | ||
|
||
 | ||
|
||
#### Display Types: | ||
The right panel allows changing the calendar display type with three options: | ||
1. **Calendar**: Classic view (default). | ||
|
||
 | ||
|
||
2. **Table**: Structured tabular view of time slots. | ||
|
||
 | ||
|
||
3. **Timeline**: Chronological view similar to Outlook, providing a linear and intuitive representation of time slots. | ||
|
||
 | ||
|
||
_________________________________________________________________________________________________________ | ||
|
||
## Event Management | ||
|
||
A **NEW EVENT** button is available to create new events, such as: | ||
- **Maintenance**: Scheduling a time period for instrument or equipment maintenance. | ||
- **Shutdown**: Scheduling machine downtime. | ||
|
||
 | ||
|
||
 | ||
|
||
### Time Slots to Plan | ||
Time slots are associated with proposals. For example, a proposal in **SCHEDULING** status may appear in the calendar, as shown with proposal **2025000**. This proposal is currently being scheduled for a duration of **2 days and 17 hours**. This process is essential for managing periods of instrument and equipment usage. | ||
|
||
 | ||
|
||
 | ||
|
||
 | ||
|
||
_________________________________________________________________________________________________________ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we mention explicitly that this should be done in the User Office Core application by the Admin(User Officer).