-
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?
Conversation
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.
Great job and a much needed one. It has come up really well.
There are few things, that i felt could be improved. Kindly revert if you have any counter arguments.
|
||
### Linking Proposals | ||
- 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. |
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.
Would it be a good idea to attach a link that tells a bit about, how a Proposal could get into the SCHEDULING status.
There are two ways in theory - One through workflow and one through manual status change by the User Officer.
This link tells on settings up a workflow - user-guide/user-officer/creating_workflow/
 | ||
|
||
### Calendar Page | ||
The calendar interface is dedicated to **Instrument Scientists** and allows them to view planned time slots on a calendar. Scheduling is done with a minimum granularity of **1 hour**, unlike shifts (**8-hour time slots**) used for other types of scheduling. |
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.
Although obvious, will it be good to emphasize the fact that Instrument Scientist will be able to do the Scheduling operation only for the Instruments, that they are assigned to.
|
||
 | ||
|
||
3. Check the **RabbitMQ** box. |
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.
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 comment
The 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.
This would ensures that the necessary configurations are set up for seamless communication between the two systems.
|
||
 | ||
|
||
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 comment
The 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.
 | ||
|
||
### Calendar Page | ||
The calendar interface is dedicated to **Instrument Scientists** and allows them to view planned time slots on a calendar. Scheduling is done with a minimum granularity of **1 hour**, unlike shifts (**8-hour time slots**) used for other types of scheduling. |
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.
I dont completely understand the fact about the minimum granularity of 1 hour
Could you clarify this?
Based on my understanding, the system does not have any limitation on times. ex., the following are possible
10:32 - 11:47
14:32-14:50
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.
Based on my observations, while the system allows you to plan time with precision down to the minute, the allocation of time slots cannot be shorter than 1 hour. This is because the User Office Application provides a selection between Hour, Day, and Week options in the definition of a call, and when you choose the Hour option, time slots are allocated in 1-hour intervals.
So, you can plan time with minute-level precision, but the actual allocation of time slots will always be in 1-hour increments.
Just to clarify, for users accustomed to using Shifts, at the Synchrotron SOLEI, we currently allocate and plan time in blocs of 8-hour shifts so this is just to provide context.
I hope this clears up the misunderstanding!
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.
I'll delete this part wich could lead to misunderstanding
|
||
## Accessing the Scheduler Interface | ||
|
||
The scheduling module is not accessible by default within the core part of the DUO ESS application. Instead, scheduling is managed through a separate interface. Users must navigate to the dedicated scheduling URL: |
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.
The scheduling module is not accessible by default within the core part of the DUO ESS application. Instead, scheduling is managed through a separate interface. Users must navigate to the dedicated scheduling URL: | |
The scheduling module is not accessible by default within the User Office Core application. Instead, scheduling is managed through a separate interface. Users must navigate to the dedicated scheduling URL: |
|
||
The scheduling module is not accessible by default within the core part of the DUO ESS application. Instead, scheduling is managed through a separate interface. Users must navigate to the dedicated scheduling URL: | ||
[test-sun-scheduler.example.com](test-sun-scheduler.example.com) (example link) | ||
The core application remains accessible at `test-sun-duo.example.com`, and scheduling must be accessed separately. |
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.
The example URLs are a bit confusing. Would it be sufficient to mention something like this?
Since it is 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.
|
||
### Essential Configuration | ||
- The scheduling module must be deployed and activated to allow access. | ||
- Users must have appropriate permissions as Instrument Scientists or administrators (useroffice) to access and modify scheduling data. |
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.
- Users must have appropriate permissions as Instrument Scientists or administrators (useroffice) to access and modify scheduling data. | |
- Users must have appropriate permissions as Instrument Scientists or administrators (User Officer) to access and modify scheduling data. |
- Users must have appropriate permissions as Instrument Scientists or administrators (useroffice) to access and modify scheduling data. | ||
|
||
### Linking Proposals | ||
- Scheduling is tied to Calls for each proposal which must be correctly associated with planned time slots. |
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.
- Scheduling is tied to Calls for each proposal which must be correctly associated with planned time slots. | |
- Scheduling is tied to Calls for each Proposal which must be correctly associated with planned time slots. |
- The scheduling module must be deployed and activated to allow access. | ||
- Users must have appropriate permissions as Instrument Scientists or administrators (useroffice) to access and modify scheduling data. | ||
|
||
### Linking Proposals |
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).
@alexyvanot By the way, are you also planning to include the technical documentation(Developer Guide) as well? As you might be aware of, the User Office Scheduler needs a bit of configuration setup to get it up and seamlessly interact with User Office Core. |
…t/user-office-core into documentation-scheduler
No, it's not currently planned to include the technical documentation at this time. However, this may change depending on further directives. I will check on this and get back to you with an update. |
Hi @alexyvanot, I removed myself from the PR as I see @yoganandaness had some very good points which overlapped with my observations, no additional comments from my side |
Description
This PR introduces the first version of the documentation for the scheduler.
It includes a set of images and a detailed guide explaining the functionality of the scheduler.
The scheduler section is added to the
mkdocs.yml
to integrate it into the documentation menu.Motivation and Context
This change is required to provide clear and comprehensive documentation for the scheduler feature, which is essential for users and developers working with the User Office Project. This is part of a collaboration between ESS (European Spallation Source) and Synchrotron SOLEIL, where I am currently completing an internship in computer engineering. The scheduler is an important tool for managing user experiments, and this documentation will help improve accessibility and understanding of the tool for everyone involved in the project.
How Has This Been Tested
I tested the changes by running
mkdocs serve
locally to preview the updated documentation and deployed it into the Synchrotron SOLEIL test environnement using docker. I checked the layout of the images and confirmed that the scheduler section appears correctly in the documentation menu.Fixes
This PR addresses the lack of scheduler documentation and provides necessary visual aids.
It does not fix a specific issue but enhances the project's documentation overall.
Changes
documentation/docs/assets/images/
folder.scheduler.md
file underdocumentation/docs/user-guide/
.documentation/mkdocs.yml
to include the scheduler section in the documentation menu.Depends on
This PR does not depend on any other open PRs.
Tests included/Docs Updated?