The above represents a shift roster for a single worker for an entire month.
The colour coding represents different types of shifts (D = Day Shift, N = Night Shift, etc)
I need to do this for about 300 workers, so I’m probably going to present all workers as a searchable/filterable inline list, and then use a View Details action to present the roster for each worker
My data is currently structured like so:
There is one sheet for each month (Jan, Feb, Mar, etc)
Each sheet has a single row for each worker
There are 2 or 3 columns of identifying information, followed by one column for each day of the month
Each of the day of the month columns contains a “Shift Code” identifying that workers shift for that day
I do have control over the data, so restructuring it to make it easier to work with is an option
My initial thought was that I could do it as an HTML table, creating a separate template for each month of the year, and then use CSS classes to generate the colour coded circles based on the shift codes. And I’ve actually already started down this path. Observe, an HTML table calendar with a wonky blue circle
However, I can see that this is going to get really messy very quickly. And so before I head too far down the rabbit hole, I thought it might be wise to ask:
Has anyone tackled anything like this before, and have any advice to give?
Does anyone have any bright ideas for a good (better) way to approach this challenge?
Would Cloudinary be able to help with the colour-coordination / conditional visibility of dates/times?
*I’m no Cloudinary wizard in the slightest, but I assume from seeing some of @Robert_Petitto’s vids that it’s as easy as defining which params(?) where and when and then just formatting and calling the link to display the data in-app…
Thanks.
Yeah, I do have Cloudinary in the back of my mind, although I’m not sure it would be any less complex than my HTML/CSS option. Thinking if I took the Cloudinary route, I’d probably need a template image for each month, and then find some way to calculate where to put the image overlays for each day of the month… could be quite a challenge…
This is indeed quite a challenge. You would need at most 31 overlays of the circles, and that’s not taking into account you have to get the Calendar weekdays right for each month as well.
I know the alignment is a bit off, but I’m impressed with the HTML calendar table.
This is one of those situations where we’re trying to fit a square calendar peg into a round Glideapp hole. It may be easier to sync your sheet with a third party calendaring service that offers this type of layout and then display it in webview.
Unfortunately, yes
I’ll probably write some code to auto-generate the HTML, but I’ll still need to manually map all the replacements for each month.
Unless… @Jeff_Hager is pretty handy with dates, maybe he’ll have a better idea
What I like is that it doesn’t use tables, so it seems like it might be a little cleaner. There’s still the question of how to dynamically build it for each month, so I still need to figure that out. Right now I’m playing with the CSS. Changed a couple of things and had to fix some CSS that wasn’t rendering with glide.
I’ve actually been toying with the idea of restructuring my data, and set it up so that there is one row per worker per day (instead of per month). I’m thinking that could make it a bit easier to work with, but what’s giving me pause is that it’ll be very costly in terms of row count - will increase that by a factor of ~30 to about 10,000 rows per month. Any thoughts on that?
Awesome but don’t you think HTML is risky business.
I was going to share my latest sheet with you but not finished yet.
Company X sources business for the self-employed B in return for a %. X requires B to sign up and add a whole months availability and then every other month. Getting all the Bs to add their availability was easy enough. Getting X to assign jobs by available date also easy enough.
Next I wanted B to be able to see all allocated jobs and available dates for that month exactly how you
Have been going about it.
When type say 3 in the month cell column C generates March, when 9, September and in that order.
Then I created several relations. The outcome ?
When all the Bs sign into their account, the first thing they see is a tiles layout of 31 (if feb 28) days.
They can for the month in Q see all their available dates and allocated jobs in different colours. To see the next month all I get them to do is increment until it reaches 12, when it reverts back to 1.
I am nearly done Im struggling a little with one aspect of it but I can see myself on the other side of the bridge.
I’d love to share a copy with you but still in staging lol. But let me know.
Check out what I have so far. All of it is in the ‘Month Layout’ glide table and tab. The other tab and sheets are from another thing I was working on awhile back.
The entire month layout sheet builds the calendar. It only uses 37 rows and allows paging through all months, so it adapts dynamically. It’s a little quirky at the moment until you click a button first to initially set the increment value. Then it works fine after that. I have it set to highlight the current day and there is CSS for day and night colors that I’m not using, but it could be expanded to have options for all of your shift colors. I’m thinking with the right relations/lookups added, you could probably lookup an employee/date in another sheet to see what the shift is and set the current color for each day.