[GSoC 22] Project: Improving the Calendar Application

Hi,
reminders and CalDAV would be my top priority.
There is an attempt to create a plug-in based architecture but everything is hard-coded, indeed.
Moreover, the Google Calendar code is broken.

It would make more sense to start from there, wouldn’t it?

PS: I had alreay thought about looking into the CalDAV integration and the plugin architecture, sooner or later. Probably later than sooner…

4 Likes

Hey! I Apologize for being inactive for a few days, actually my University Exams were going on (now they’re over)

The community has added much valuable insights for the proposal. The most pressing issue, which I haven’t included in my proposal) seems to be im/exporting/syncing of Events, i.e, syncing with the Google Calendar and the CalDav Protocol.

I have been researching around the CalDav Protocol for quite a time now, and now I am confident enough to say that this can be implemented.

@humdinger should I update this on my proposal as well?

As per the discussion, Reminders should be added not as a separate functionality, but as an “extension” to the Events.

And the Search and the Profile feature, I believe, needs some discussion.

4 Likes

Asking for my education: is there any specific reason why SQLite was chosen over BFS attributes? Having the events on the file system would have enabled some interesting scenarios, for example linking together:

6 Likes

No technical reason iirc, just easier for the person to implement then I think.
There is an open ticket to replace this with a BFS based storage anyhow.

3 Likes

I trust you have already seen there’s a library called libical that could help with the iCalendar integration and potentially with the overall CalDAV stack.

3 Likes

Thanks, I haven’t gone through all the tickets of all the apps on HaikuArchives as of yet but this ticket looks promising.
@humdinger and @Harshit_Sharma, I’m happy to help. Should you need anything just give me a shout.

1 Like

Be warned,*DAV protocols are a mess, and i am not aware to any maintained c/cpp library for them.
Again: it is a terrible mess.

1 Like

Welcome back! Hope you did good on your exams. :slight_smile:

If the proposals are still editable, by all means.

1 Like

Am I confused? @JadedCtrl removed SQL a year and a half ago:

I expect much of the discussions will take place at Calendar’s issue tracker and via PRs. Or, if a wider audience is needed, here on the forums.

2 Likes

The explanation is simple:

  1. This application is advertised on the Depot as being built on a SQLite backend
  2. SQL related code is on Github (SQLiteManager.cpp and SQLiteManager.h)
  3. I haven’t thoroughly analyzed the code on GitHub as of yet
    All the points above led me to a wrong assumption.
1 Like

Yes I have, thanks for sharing!

Time to edit that recipe’s description… :slight_smile:

The remnants of SQL are for importing existing “Events” created back when Calendar used SQL. Those will be phased out eventually, maybe after a few more releases down the road, to be sure the majority of users had time to migrate.

3 Likes

Thanks for clarifying!

2 Likes

@Sabon, can you quote what above has sparked your outburst ?

3 Likes

Hey! Any progress here?

3 Likes

Hey Everyone!
As suggested by @humdinger , we’re firstly aiming to tackle the Filter & Search Feature.
Currently, my aim is to capture the Keywords entered by the user and and use them to filter through the results, and I’m experimenting with that.
Any suggestions on how to accomplish this would be great.

Also, for the testing of the feature, as suggested by @nielx, I’m am also working on developing a Bash Script, which adds events to a certain day to the calendar, cutting off some of the manual work in scheduling them. It’s progress can be seen here

If you have any suggestion regarding the script, please do share!

1 Like

Hey!
So the Filter Feature is near implemented, you can see the PR here
Please give it a look!

Also, for the next steps in the project, we need to setup Reminders for the events.
To achieve this, I do believe that we have to create a daemon that runs in the background, and when the time scheduled happens, the daemon sends the reminder (as a Notification?)

But this really needs a proper plan to get started.

How do you think this can be implemented?

I tried searching for daemons on Haiku, and got something known as the Lauch Daemon, but I am skeptical that it would be useful here?

@Nexus-6 could you help with this?

6 Likes

Do some digging on the BeOS app called Personal Assistant (developed by OmicronSoft) to see how it may have handled a similar feature.

1 Like

i think you should look into the application flags, for example the background application flag could be interesting.
https://www.haiku-os.org/docs/userguide/en/filetypes.html

1 Like