Multiple calendar entries - there has to be a better way..!

We can upgrade to the latest -1 (the most recent release doesn’t support the Events plugin) - which we’re working on doing soon.

We use Pavilion Events plugin because the standard discourse calendar plugin is missing key features we need.

The aversion to custom software is cost and maintenance. If anyone knows EmberJS and want to help the Pavilion Events plugin or Discourse Calendar plugin…fork thier distros and have a go :slight_smile:

4 Likes

@Martyn_Thomas What version of discourse do we run right now? v3.1.2 or previous?

The thread where someone took a stab at updating discouse-eventslook like it stalled out, I’ll give it a try. Would be nice for us to be able to stay on the latest version of Discourse if possible so we can benefit from that.

We are on an older version - we will upgrade soon, just waiting on the @directors to work their magic on the back end.

The current plugin we use works on the latest-1 version of Discourse so we’ll be upgrading to that.

As soon as the plugin supports the latest version (or we find a suitable replacement) we’ll upgrade to the latest version, as we want to stay upto to date as much as we can

Sounds good. If there’s any way I can help with that I would gladly spend the time.

In the meantime I’ll get Pavilion Events functional on the latest discourse and send them a PR

2 Likes

At this stage - we’re pretty much ready to go…just waiting on a server move.

The thing that would be a big help is finding suitable alternatives for the booking process (ether Pavilion, or something else)

(If you want to poke with tools that might last/be officially supported - check out the calendar plug in, it’s missing a few features that would make it a suitable replacement for Pavilion - https://meta.discourse.org/t/discourse-calendar-and-event/97376/412?u=martyn_thomas )

1 Like

One of those bookings is mine. Let me explain myself: usually, I do not know when I will be in the space with much foresight, but to still help others know when I will be in and the space will be open I make bookings even last minute (perhaps what others with similar story can try to do? re: Shutter Access - use it or lose it). Usually, they do not overlap with others but are adjecent to one; also they tend to span across days as I like to use the 3D printer overnight when there is least possibility of me using it when others need/want to. The booking you mentioned was different though, it spanned over the two other bookings present at the time. At the time I saw couple of possibilities:

  1. Dice up my booking into sections that fill the gaps between the other bookings (I thought this would be even worse than this; not to mention cumbersome).
  2. Delete the other bookings in favour of mine and transfer all the tool bookings appropriatelly. I decided no to do this because it was a) quite late and I was lazy; b) I thought some might perceive it as rude.

In retrospect, I should have gone with option 2 and will do so from now on. I agree that sticking to one booking per day where applicable/within reason (I am sure there are places where this won’t make sense) is the best option.

To add my two cents to the Discourse update/replacement discussion. I was talking with @asander1 the other day that I would be keen to have a look for some alternatives that would fit our bill (preferrably free, self-hosted, open-source, easy to setup and maintain) and I must say that I failed. Discourse seems to be the best maintained and supported forum tool. In terms of space/room booking solutions there is nothing that I could find that does not endup being even more cumbersome to use (given that our use case of users being able to ‘open’/‘make available’ a room/the space which enables others to book other room/tools/spaces is rather niche). I think sticking to the latest version of Discourse and agreeing on a good workflow to space bookings is the best option.

1 Like

“Hey Google / Alexa…. book me in at the Makerspace from 11am to 4pm next Tuesday”

Imagine if it was as easy as that…. Could it be?

The member is already logged in - no need to enter the user name which currently have to do several times. We are all in the same time zone. No need to have that mess things up. We can have more that one member hosting at a time, so overlaps are easy. Working out the start and end times for bookings on a day isn’t hard either - the user shouldn’t have to set those.

As it is, it is often a frustrating experience which is really off-putting. That’s a problem because people are put off using it.

There are plenty of JavaScript widgets for setting time which could offer a nice easy to use user friendly interface. One might click one button on the Discourse calendar page to bring up that interface (no need to ‘add a topic’ and then scroll down looking for the booking topic - grrr). User sets the time span and that updates a database or backend, and that makes an update to the calendar. If it’s hard to make that work with the Discourse calendar, then let’s have a separate calendar system that link to via Discourse (with shared authentication/ credentials so only log in once).

I’m suggesting we start with an idea of the ux ui - user experience design and user interface design - and then see how we could get that working so a booking interface and calendar / schedule is easily accessible on Discourse - no need to log into a separate site. There should be some way - XACML, OAUTH or whatever.

Sadly no. Not without a LOT of work and a lot of custom code to maintain.

Ive spent many evenings looking at this and tried doing a widget to help with booking, Discourse does not make it easy and the documentation is awful. After a while I gave up. @Kyle has more experience with Discourse and has an example widget for the basics but last I saw it couldn’t solve the double booking etc issues and it was waiting on the discourse software to be updated.

Ive have also tried looking for alternatives outside of discourse and came to the same conclusion as @potatoman

And if we go with something outside discourse the problem then becomes integrating with Authentication/Authorisation (I am pretty sure discourse does not provide OAUTH). The best option for that is probably using Wordpress as a single sign on system, but I believe there were issues doing that as well? Plus there just aren’t any good options, so it would have to be something custom, which again is a lot to maintain.

Its really not as easy as saying use an existing JS widget.

Thanks for that clarification @tmilner and for putting that time and effort into trying to get something better.

What about a completely separate app for making bookings at the space? Having an extra sign on is something we could live with. We can keep Discourse for everything else.

A separate app is possible, but it would need to be something custom if we want to avoid the current issues, and we would then need to sync the roles and permissions for each user between discourse, wordpress and this new app.

Its achievable, but my understanding is there is no desire to take on a large software project like that. If the maintainer leaves it would become very difficult to keep going.

1 Like

Discourse does have an authentication API:


but as you say, actually making a custom solution is the higher bar!

Hey @carb - Not sure about @Kyle - but I don’t have any time for Systems anymore, so will need to hand this off so I think we can use more help… We are probably waiting on me to do something, but I am not doing it - so maybe we can meet up this week?

Cheers,
Andy

Interesting thanks Tom, I didn’t look too closely as that as I thought an external system was off the table. It would be one less hurdle to deal with if we ever did go down the custom route.

@asander1 Im happy to help when needed with systems, although I am unsure how much time I can actually dedicate to it. If you need extra hands with the server move let me know.

Yes please - @kyle - thoughts on how to proceed?

For the sake of simple maintainability, using the discourse calendar might be the best medium-term approach? (The short term being the upgrade to latest-1 discourse). Does anyone have any experience with how open the project is to feature contributions?

Happy to be an extra pair of hands in any server work or discourse plugin work as needed. :slight_smile:

@asander1 & @kyle - I’m also able to lend a hand for systems-related things.

1 Like

No to custom software development.

Yes, syncing roles and permissions- but maybe we do that manually (e.g. when a person passes an induction). It’s a little more to do, but not that often, and maybe we have a role for an admin volunteer to support that.

I’d start by looking at existing systems e.g. deskbird. They are paid for, but they often give free accounts to educators, non-profits etc. We can reach out and ask if there is a system that might be suitable. We could be a marketing case study to show how e.g. deskbird can be used not just for hotdesks. Extending their use in that way might bring tech support and assistance from the developers.

https://www.deskbird.com/desk-booking?_gl=11p1uy0g_up*MQ…&gclid=Cj0KCQjwlZixBhCoARIsAIC745A4d0Z72L1ch_cQdwhhbffHet5KplNSB8k_RUjy8eHi6X_1X2hETcYaAqhJEALw_wcB

When I looked at these kinds of systems I felt like we would end up with something similarly hacky to the discourse calendar.

I’ve not looked specifically at DeskBird (or at least I dont remember looking at it) but I looked at several similar systems and at best they provide a way to book the space as a host, but then we still would have to fall back to doing tools as a comment or something. Doing that leaves most of the functionality of these systems unused.

None of the systems I looked at offered a way for a group of users to easily control the open times and then allow booking of resources during that time (which is effectively what we want, it could also be booking a resource that is the space which then allows other to book a sub-resource which is the tool). Sadly there is basically zero motivation for companies to add this as they wont get much money from it. I even asked a few that looked more promising and got nothing useful back.

If we do find something that works it would be great but I dont hold much hope for it.

Glad to see a lot of folks who had volunteered jumping up to help! Just tagging @vladisl0th and @Martyn_Thomas as well

The plugin I wrote is a simple interface with a datetime picker for the start, a duration, and an optional tool dropdown. It fires from the top menu so only takes a couple clicks. It does handle duplicate bookings but offers to truncate your booking past existing bookings. The logic can certainly go beyond MVP for anyone who is interested.

I think we should definitely evaluate SSO options. The challenge comes in that we would like to only have shutter holders make the space available for further booking.

Would be good to meet up an evening this week if folks available so I have included a poll

  • Tuesday, April 23rd
  • Wednesday, April 24th
  • Thursday, April 25th
  • Friday, April 26th

0 voters

1 Like