jr-k / obscreen

A fancy self-hosted digital signage tool. Free, simple and working.
https://obscreen.io
Other
49 stars 14 forks source link

Scheduling problem #100

Closed Dhy19971 closed 1 month ago

Dhy19971 commented 1 month ago

I created a playlist where there are elements that must be displayed only on certain days and in a certain time slot. I used the cron via "as nofify". All slides are displayed simultaneously, completely ignoring the hourly schedule.

PXL_20240711_074248644

Did I go wrong or is it unexpected behavior?

Obscreen version: v1.22 Installation method: Docker

jr-k commented 1 month ago

@Dhy19971 Could you try with this new release https://github.com/jr-k/obscreen/releases/tag/v2.0.0 and give me some feedbacks ? Thanks !

Dhy19971 commented 1 month ago

with docker compose I get a 404 error when I try to connect to the GUI.

I'll try the system wide version

Dhy19971 commented 1 month ago

I also get the same error with the other type of installation Screenshot 2024-07-17 090409

Dhy19971 commented 1 month ago

I solved. I was a little naive

localhost:5000/login. It should be the default redirect for those who log in as there is no longer a default slider at that address

Dhy19971 commented 1 month ago

The use of cron to schedule elements remains unclear to me.

I would like to be able to schedule an item weekly for a given time and day of the week.

It seems like you're predicting this but it doesn't seem to be working properly.

jr-k commented 1 month ago

Player

For localhost:5000/login, I disagree, this error occurs because you don't have fallback playlist. I've setup an error screen for that edge case (https://github.com/jr-k/obscreen/releases/tag/v2.0.1).

Cron slides

Dhy19971 commented 1 month ago

I understand the question of the player. So as regards the programming of the slides, it is not possible to define a periodic and recurrent time interval where the slide is displayed? For example every Thursday from 13 to 21.

jr-k commented 1 month ago

When you say "displayed" you mean always on top of the slideshow loop ? Or activated in the loop when cron is triggered ?

Dhy19971 commented 1 month ago

I mean the second. Start a slide in a loop like the others but only at certain specific times of some days of the week.

jr-k commented 1 month ago

Ok I see but obscreen does not handle that use case.

Notification slides are useful only for the first. I chose the word 'notification' because, like on a smartphone, it appears above everything else and are triggered at a specific moment in time.

Loop slide activation is only available for normal slides but only with start/end date and not with cron as the UI suggest it.

It was possible at the beginning and it was the default behavior, but it made things much more complicated with all the other possibilities that coexisted with difficulty.

jr-k commented 1 month ago

Cron for range could lead to confusion:

cron_start = "0 0 1" # = “At 00:00 am on Monday.” cron_end = "0 12 1 " # = "At 12:00 am on 1st day of month"

If we're on 2024-7-18 at 6:00 am, outcome is unsure. Cron start/end mean nothing, these 2 fields aren't linear in time.

Let's imagine that I redevelop the feature: we could activate the slide at each cron-start tick and deactivate it at each cron-end tick. The only problem with this is that if you load the page after the cron-start tick (or if you reboot the server), the slide will not be activated until the next cron-start tick.

Dhy19971 commented 1 month ago

During the insertion of the slide you could add an optional field where they are reported every day of the week and for each day the time interval in which the slide must be activated. This field should be translated into Cron atomic actions automatically which will activate or deactivate the slide in the playlist as if it were a manual intervention. I hope I managed to explain myself with my questionable English.

jr-k commented 1 month ago

I don't really understand but what I can notice is that you're saying "every day of the week". But another guy may need "every day of month" or every minute/hour/month (maybe year ?). And the complexity keeps increasing. Frequencies aren't the same for each cell of cron descriptors. Do you see the big picture in there ?

Abstraction is the key here but I think that's not an implementation issue but a logical one (until someone breaks my mind).

jr-k commented 1 month ago

I'll just add a 'moment in week' picker for now and forget about generalization based on cron patterns

jr-k commented 1 month ago

@Dhy19971 Could you test with this version (https://github.com/jr-k/obscreen/releases/tag/v2.1.1) please ? Thanks !

Dhy19971 commented 1 month ago

I tried to create a playlist with a fixed slide and a slide that was scheduled for the day of the week today from X to Y(Time). Unfortunately the planned slide He did not start participating in the loop as expected. Have I misinterpreted the functioning of this scheduling?

Dhy19971 commented 1 month ago

I have tried again by adding many more programmed slides and it seems to work properly. In the first case I had only 1 fixed slide and the others changed. I don't explain this behavior. C Is there any borderline case that could prevent proper operation?

GrLinkDn commented 1 month ago

Is it possible to choose which, for example, Monday of the month to use?

If you have weekly schedules it can be useful. You choose which day of the week to display, like now, but in addition to which week of the month.

jr-k commented 1 month ago

I tried to create a playlist with a fixed slide and a slide that was scheduled for the day of the week today from X to Y(Time). Unfortunately the planned slide He did not start participating in the loop as expected. Have I misinterpreted the functioning of this scheduling?

@Dhy19971 I can't reproduce your error. Next time do this:

Send me a backup of your data to help speed up the debugging process. Please ensure that no sensitive data is included in your slides and follow these steps:

cd obscreen
tar -vcf data.tar data/

Afterward, attach the data.tar file to your issue attachment.

jr-k commented 1 month ago

I have tried again by adding many more programmed slides and it seems to work properly. In the first case I had only 1 fixed slide and the others changed. I don't explain this behavior. C Is there any borderline case that could prevent proper operation?

If you return to 1 fixed slide, do you have the problem again ?

jr-k commented 1 month ago

Is it possible to choose which, for example, Monday of the month to use?

If you have weekly schedules it can be useful. You choose which day of the week to display, like now, but in addition to which week of the month.

Sorry but Moment in week scheduling is only related to the current week from monday to sunday.

Dhy19971 commented 1 month ago

This issue is becoming too articulated. I will try to create cases that are easily reproducible for you from under the debugging. I will do some tests and possibly open a dedicated issue. Thank you very much for your work, your project is very interesting. I would like to help you with code production and functionality but unfortunately I'm not expert enough to orient myself in yours currently work. I will try to help you as much as possible with debugging.

jr-k commented 1 month ago

Thanks, I appreciate