mikeberger / borg_calendar

BORG Calendar - A Desktop Calendar and Task Tracking System. Language: Java Swing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Extend borg to-do/appointment with external app.

RESDXChgfore9hing opened this issue · comments

Reason,imagine we have a custom foss iot device that has good privacy and we bring it around to shop for food or meet friends.(not now but maybe in future)
The iot device can collect information about what is done and then sync it up later to borg when we reach home through wifi or usb.

There are 3 way I can think of,
1 is to directly extend borg.
2 is to just connect query& modify borg db.(slightly more questionable)
3 is to send signal* to borg and let borg modify.(maybe through ical or caldav??or directly call java api?)

I suspect this file is for the to-do?
https://github.com/mikeberger/borg_calendar/blob/master/BORGCalendar/model/src/main/java/net/sf/borg/model/db/TaskDB.java
or maybe this
https://github.com/mikeberger/borg_calendar/blob/master/BORGCalendar/model/src/main/java/net/sf/borg/model/db/jdbc/ApptJdbcDB.java
an actual instantiatable appointment db object?

But I dont need to instantiate it right?If my target is using method 3.
Ideally I just need a static method to (getlist,add,remove) (task/appointment),letting the borg internal api do the actual add to the db.

or maybe.
if there is a way to create a ical that can delete an existing ical.Then it would be much easier,we just need to import then ical from the iot and thats it.
I will ask someone with more experience i

seems like ical cancel event is possible,https://stackoverflow.com/questions/10551764/how-to-cancel-an-calendar-event-using-ics-files

not sure if its possible to make todos,done(no delete)

Syncing is a complex topic. The discussion is different if you want to just sync to google or caldav vs syncing with a custom device.

I sync with my google calendar and tasks. I get reminders on my phone for todos and can make calendar/task changes on my phone in google and sync them with Borg when I get home. Borg also can sync with a caldav server. There are caveats with both the google and caldav syncs: #155, #153

The advantage to these syncs is that you can sync with existing full-blown calendar/todo software already on android or iphone.

If you wanted to create a custom way to sync with Borg from some custom device, I'd be glad to discuss the options.

advantages of a full blown calendar/todo software is ok.You can also install brog in a rasp pi and that's it.

But,I wonder does gclandar uses a custom caldav library then?
That seems unlikely,g seems to generally open source some of their libraries.

Maybe you can look around the help or about of gcalendar and see if they have any mention about what lib they used.

Borg uses the google calendar and task APIs: https://developers.google.com/calendar/api, https://developers.google.com/tasks

It is their own custom API. Borg converts its own appointments to/from the google format and calls their API to sync.

I think Google still supports a Caldav API. Borg uses the ical4j libraries to interface with Caldav, but each Caldav server is different and has its own unique problems. Also, ical4j is not complete. So, for google, it was easier to build new code to call their custom apis than to try to get the existing ical4j code to work with google's caldav api.

I should point out that for most users, the best calendar/task solution is to use something like google calendar/tasks or yahoo or outlook and use all the phone, web, and desktop apps that go along with these.

I still use Borg because I have over 30 years of records in my database and I don't think online calendars do well with so much data, and also because I wrote it.

If you don't trust the online providers like google, then setting up your own caldav server and using off the shelf caldav clients is an option. I've run nextcloud on a pi. I've also run baikal as the server and some other web client (caldavzap?)

hmmm i see. it seems like caldav spec is a bit bad.or maybe each implementation is kinda inconsistent.but for me,i dont i need caldav maybe since its not a must for me to sync through wifi.

if ical file sync is possible then its enough.

I guess I will look around and close this issue 1st.If anything interesting happen will share and discuss in discussion.