The Trouble In Calendars

It’s not an unknown person, and it was not feasible for me at the time since it did not have support for Caldav. Since I use nextcloud, it wasn’t viable.

You are missing the point of the software. It’s use to book meeting time slots. Instead of me asking you when you are available for a zoom call meeting, you tell me a date, I check my calendar and realise there is a clash, send you another date and a string of back and forth emails to schedule a meeting. I would just send a link, which will show you available ti. E slots on my calendar, as I had defined.

The software will check all my combined calendar, and once you select a time slot, it will be added to my calendar system, so that it’s blocked.

It utilises a principal called time blocking. Alot of sales exec use appointment booking system.

Outlook has this kind of functionality built in since 20+ years!
Same goes for Mac Calendar, Thunderbird…

It’s called busy/free…

I really don’t need 20 things doing the same thing!

Besides, the point of my post was: If you’re interested in using that software, at least try to install it yourself (maybe NOT on NethServer for a first try and see how far you get… And document it!
That’s also good for troubleshooting! And if you DO run into issues, I’m quite sure someone will help.

If you, the one interested, can’t be bothered, why should anyone else?

That’s the point of my Post!

My 2 cents
Andy

1 Like

What Outlook doesn’t have is the ability for some random person (e.g., an actual or prospective customer or client), who doesn’t have an account on your Exchange server, to book an appointment with you. This isn’t something I need, but understanding that as the purpose of this software, I can see value in it. We’ve used something similar to schedule Ambassador meetings, as I recall.

Now, how hard it would be to install on Neth, etc., I have no idea. And this seems to be straying a bit from the original topic, though I guess it’s Martin’s topic and it can shift as he likes. I might take a look at it, or I might not. But it sounds like it could be interesting.

@oneitonitram

Their company is paying them to waste other people’s time… (eg yours or mine!).

@Andy_Wismer I guess you’ve never really been in sales, it can be so daunting, with hundreds of appointments to schedule etc. Atleast for internal teams, a tool like nextcloud has shared calendars so it’s easy, but for potential customers, or partners. It’s not as easy. Setting up time for zoom meetings and product demo. You’ll otherwise have back and forth email, especially if it’s not on a direct phone call.

@danb35

I am aware of that fact that Outlook (Nor most other free/busy systems) allow a “random user” (eg anyone on the Internet including any script kiddie) to check / verify free/busy. Not that it’s not possible per se - but then, Exchange Server has enough security issues as is, and most admins won’t open it up for free/busy…

So third party tools are used…

It may have use for eg sales reps, but I try not to waste my time with meetings, and if possible, I’ll evade Zoom.
I prefer audio only meetings, maybe with a a sending of documents, but I don’t need to see other people’s faces.

True, I’m not in sales, I’m more in technical stuff. Meetings can’t be completly eliminated, but Audio is usually more than sufficient.

However, both of you don’t quite get the point!

If anyone’s interested, start with installing it, eg on a seperate VM!

That’s my whole point here!

:slight_smile:

1 Like

The challenge we were tackling or trying to see if it’s solvable it’s the fact that it’s next to impossible, but not doable, with some hacks to use multiple systems calendars, without having segragated calendars. A tool like calendso, and others of similar nature like harmonizely etc, put all your calendars on a single dashboard to enable appointments booking, meaning they try to extend to somewhat solve our problem

So, basically, you’ll never really know, unless you try!
An old saying, but still valid!

Even if you plan on building a Rolls Royce, you still at some point need 4 wheels and other basic stuff!

So start with a basic install.
You can then see if it can connect to your Nextcloud (or some other CalDAV server).
Then polish up the whole thing!

:slight_smile:

Doesn’t solve the problem; if it’s going to be a meeting of any significant length, and it needs to be with you, it needs to be scheduled. Doesn’t matter if it’s in person, by Zoom/Jitsi/MS Teams/other video chat, or by phone, the scheduling needs to be done. I have these all the time (it’s literally what I do, all day, every day), but I have a paralegal to schedule them. But I see value in online scheduling, even though it isn’t something I’d use myself.

Like I said, maybe I’ll play with it, maybe I won’t. From their GitHub, it’s alpha code, which raises the question of how useful it would be. Looks like it requires:

  • Node.js (which version, or does it matter? Edit: Needs Node.js >= 10)
  • PostgreSQL (>= 9.4)
  • Yarn (recommended, whatever it is)
  • Google API credentials (why?)

It also calls for manually tweaking the database (and manually encrypting the password) to add a user–yeah, that sounds very Alpha. My gut says it sounds very far from production-ready, and while it might be interesting to run it on Neth, it’s going to be quite a while before it’s actually useful.

I don’t really have problems with this - but I seldom need meetings. So the 3-4 / Month isn’t a hassle…

As to Alpha software… My nethServers all work very well, and that’s the way I like them!
But your other points are all valid regarding requirements / alpha…

From my first look at the software it seemed not only Alpha in functionality, but I’d bet a buck that app’s security isn’t worth a cent - coming back to my script kiddie statement somewhere eariler…

Every Tom, Dick & Harry from the third world (or the east bloc) spamming your calendar!

Had been using harmonizely
Then they raised prices. Works great, but I guess these are the features calendso is aiming for. There has never been a self hosted alternative to these tools untill now, so yap they have alot of work to catchup but they have done quite alot in a very short while. Even the mainstream versions took quite long to get to the keveky they are in.

Cute, makes work easier for you alot.
Wait are you a lawyer?! Or work in a law firm

@oneitonitram

Actually, DanB IS a laywer, and on top of it, one of the most knowledgeable when it comes to IT stuff I’ve ever met!

:slight_smile:

That’s the paralegal’s job, to make the attorney’s job easier.

For over 20 years, now.

So looking a little more closely, it looks like they want Google API credentials to be able to put stuff on your Google calendar, same with Zoom to schedule your meetings. There’s something about Microsoft Graph credentials, don’t know what that’s about. The README doesn’t address credentials for other services, but I’d expect it would be the same sort of thing. It’s going to need a reverse proxy setup to access it (and handle https).

What’s kind of odd to me is that they’re selling this service, so they must think it’s usable enough to be worth that–but despite it being open-source under the MIT license, they’re calling the self-hosted code “alpha”, and from what I’m seeing at their GitHub, I wonder about even that.

1 Like

Very much work in progress–I’m getting auth failure trying to log in. Edit: This is probably because of a copy/paste error on the Bcrypt password. I think Docker is likely to be the better way to go than a direct installation, though:

Install Calendso

Dependencies

yum install http://mirror.de-labrusse.fr/NethServer/7/x86_64/nethserver-stephdl-1.1.7-1.ns7.sdl.noarch.rpm
curl -sL https://rpm.nodesource.com/setup_14.x | bash
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo > /etc/yum.repos.d/yarn.repo
rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg
yum remove nodejs npm
yum install nodejs nethserver-postgresql10 git nano yarn --enablerepo=stephdl,nodesource

Create database and user

su - postgres -c "scl enable rh-postgresql10 -- psql --port=55433"
create database calendso;
create user calendso_user with encrypted password 'StrongPassword';
grant all privileges on database calendso to calendso_user;
Ctrl-D

Install

cd /opt
git clone https://github.com/calendso/calendso.git
cd calendso
yarn install
cp .env.example .env

Configure

nano .env
On first line:
DATABASE_URL='postgresql://calendso_user:StrongPassword@localhost:55433/calendso'
Set BASE_URL to http://neth_ip:3000

npx prisma db push

Run

yarn dev
In another SSH session, run
shorewall clear
npx prisma studio
Then browse to http://neth_ip:5555
Click on User, then Add Record. Fill out the fields. For password, use Bcrypt (https://bcrypt-generator.com/) to encrypt the password. Be careful to only copy the Bcrypt hash, not any spaces before or after. Then click Save 1 change.

Then browse to http://neth_ip:3000. Log in with the email address and password of the user you entered above.

1 Like

And just as an FYI, I’m seeing another suggested alternative to Calendly/Calendso:
https://apps.nextcloud.com/apps/appointments

2 Likes

Install Calendso, take 2 - Docker Edition

The standard install of Calendso requires a different version of Node.js than ships with Nethserver, which results in netdata being removed, so a Docker-based installation seemed to make more sense. Note that the install described here will use port 5432, the default PostgreSQL port. If you’re already running PostgreSQL, you may need to make corresponding changes to the docker-compose.yml file.

Dependencies

In software center, install Web hosting and Docker
yum install git nano
curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Install

cd /opt
git clone https://github.com/calendso/docker.git --recursive
mv docker calendso
cd calendso

Configure

Generate a random string by running openssl rand -hex 16
nano .env
Set BASE_URL and NEXTAUTH_URL to http://cal.yourdomain
Comment out the NEXT_PUBLIC_TELEMETRY_KEY
Set CALENDSO_ENCRYPTION_KEY to the random string generated above

In the Nethserver manager, set up a reverse proxy for cal.yourdomain pointing to http://localhost:3000

First Run

docker-compose up --build This will take a long time–nearly an hour on my test system.
Once it’s finally up, In another SSH session, run
docker network connect aqua calendso_calendso_1
cd /opt/calendso
docker-compose exec calendso npx prisma studio
Then browse to http://neth_ip:5555
Click on User, then Add Record. Fill out the fields, including an email address. For password, use Bcrypt (https://bcrypt-generator.com/) to encrypt the password. Be careful, when copying/pasting the Bcrypt hash from this site, to not copy a space at the beginning or end. Then click Save 1 change. Then, in the second SSH session, use Ctrl-C to exit Prisma Studio

Then browse to http://cal.yourdomain. Log in with the email address and password of the user you entered above.

And this is where I’m stuck for now–I enter email/password, and it redirects me to the same page. No error, no nothing.

1 Like

there is a slight error here, which caused issues with yarn installing.

the > should be represented with | sudo

as in

curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg

No, it should not be, as we’re already running as root.