Comments (11)
I use third party software for all caldav communications: https://github.com/ical4j/ical4j-connector
Unfortunately, the software is very out of date and I have been waiting for a new release for a while: ical4j/ical4j-connector#56
I am not sure that Radicale has been supported for the past 5 years: ical4j/ical4j-connector#35
I see that the developer is still making commits towards a new release, but I have no timeframe and low expectations. At some point, without a new release of ical4j, all caldav code will just stop working as the caldav servers put out new releases.
As for Baikal, it still works for me. I have Baikal 0.9.4 working with php8.1. Do you have the php xml extension installed?
from borg_calendar.
I think we could work it around.
Borg is attaching the username in a automatic way like this (what is wrong):
https://dav.example.org/user%40example.org/12345678-1234-1234-1234-123456789012/[email protected]
^^^^^^^^^^^^^^^^
the URL should be only :
https://dav.example.org/user%40example.org/12345678-1234-1234-1234-123456789012/
here is how I fill the mask:
it is just the url-string that is different, this is why borg can not find the principal
As you can see in the error message
Syncing....Please wait
SYNC: connect to https://dav.zp1.net/c%40zp1.net
net.fortuna.ical4j.connector.ObjectStoreException: net.fortuna.ical4j.connector.FailedOperationException: Principals not found at [/user%40example.org/12345678-1234-1234-1234-123456789012/[email protected]]
Fertig
Lets try to fix it.
from borg_calendar.
Unfortunately, Borg does NOT create the URL. BORG passes the paths in the options screen to the ical4j software and ical4j builds that path. ical4j does not build it correctly. The bug is not in my code.
To make things worse, ical4j even has a bug in the error that it prints. ical4j is not attaching the user to the principal path. ical4j is incorrectly printing the user path in the error instead of the path it actually builds. ical4j does not print the principal path for you to see.
throw new FailedOperationException(String.format("Principals not found at [%s]", userPath));
<-- userPath is the wrong variable printed in this error message
Finally, ical4j has separate URLs for principal path and user path. I don't know if caldav servers still use 2 paths. Most use 1 now.
You can change the value in "Principal Path" from "default" to other things. This will be added to the path that ical4j builds. You will not be able to see the actual path that ical4j builds because it prints the WRONG one. You may be able to get it to work by trial and error, but maybe not. I have been frustrated by this for years and no longer use caldav because of this.
from borg_calendar.
I tried to compile it with my gitlab
I used this pipeline with a maven image
image: maven:3.8.1-openjdk-17
stages:
- build
build_job:
stage: build
script:
- cd BORGCalendar
- mvn clean install
artifacts:
paths:
- BORGCalendar/install/target/*.jar
And it compiles without errors, BUT the install-1.10.jar seems to not be functional
here is the log of the last pipeline
you can download the artifact here :
I moved the artifact to install\target
C:\Users\Christian\workspace\borg_calendar\BORGCalendar\install\target>java -jar install-1.10.jar
kein Hauptmanifestattribut, in install-1.10.jar
so I took a look into it and there is a manifest
C:\Users\Christian\workspace\borg_calendar\BORGCalendar>jar tf install-1.10.jar
META-INF/
META-INF/MANIFEST.MF
licenses/
licenses/asf 2.0 - license-2.0.txt
licenses/the bsd license - bsd-license.html
licenses/mit license - mit-license.php.html
licenses/ical4j - license - license.txt
licenses/mpl 2.0 or epl 1.0 - license.html
licenses/cddl_gplv2+ce - license.txt.html
licenses/epl (eclipse public license), v1.0 or later - legal.html
licenses/gnu lgpl (gnu lesser general public license), v2.1 or later - lgpl.html
licenses/LICENSE.ical4j
licenses/eclipse public license 1.0 - epl-v10.html
licenses/cddl 1.1 - cddl+gpl-1.1.txt
licenses/apache license - license-2.0.txt.html
licenses/the apache software license, version 2.0 - license-2.0.txt
licenses/bsd 3-clause - license.txt
licenses/hsqldb license - hsqllicense.html
licenses/gnu lesser general public license - lgpl.txt
licenses/bsd - license.html
licenses/cddl+gpl license - cddl+gpl_1_1.html
licenses/cddl - cddl.txt.html
licenses/BORGCalendar-THIRD-PARTY.txt
licenses/gplv2+ce - cddl+gpl_1_1.html
licenses/common development and distribution license (cddl) v1.0 - cddlv1.0.html
licenses/cddl_gplv2+ce - cddl+gpl_1_1.html
licenses/apache license, v2.0 or later - licenses.html
licenses/bsd license - bsd-license.php.html
licenses/the mit license - license.txt
licenses/gnu general public license - version 2 - gpl-2.0.html
licenses/gpl2 w_ cpe - cddl+gpl-1.1.txt
licenses/LICENSE.jnlf
licenses/apache license, version 2.0 - license-2.0.txt
licenses/gnu lgp (gnu general public license), v2 or later - lgpl.html
run_borg.sh
META-INF/maven/
META-INF/maven/BORGCalendar/
META-INF/maven/BORGCalendar/install/
META-INF/maven/BORGCalendar/install/pom.xml
META-INF/maven/BORGCalendar/install/pom.properties
is this what it should be ?
from borg_calendar.
install-1.10.jar is not used and serves no purpose. It is just an artifact created by maven, which insists on building a JAR file.
There are build instructions in the readme on the project page - but perhaps they are too vague.
After running maven, the contents of BORGCalendar\install\target\installer is the program.
To get a linux .deb package to install, you would build on linux and then manually run BORGCalendar\install\linpackage.sh
To get a windows executable, you must build on a windows machine and then manually run BORGCalendar\install\winpackage.bat. On windows, you also need a third party tool called WiX Toolset to actually build a .exe
The installers just copy the contents of BORGCalendar\install\target\installer somewhere standard and also include a JRE, an executable to start the program, and menu and desktop entries. the user does not have to install Java - the installer will include it.
I assume that someone editing the code and doing their own builds would do this on their own machine. If gitlab builds on some other machine, then I guess you can download the contents of BORGCalendar\install\target\installer and run BORG from the command line using java -jar borg.jar. I don't know anything about gitlab.
from borg_calendar.
Did you start this Program in 2000.07.17 ????? omg :))
I want to try to build this in a docker runner on my gitlab.
In winpackage.bat you request a file called borg.jar in :
jpackage -t msi \
--app-version 1.10.04 \
-n BorgCalendar \
--vendor MBCSoft \
-i target\installer \
--main-class net.sf.borg.control.Borg \
--main-jar borg.jar \
--win-dir-chooser \
--win-menu \
--win-menu-group Borg \
--win-shortcut \
--icon borg.ico
in your source code borg.jar it is not present and accordingly jpackage is failing
if borg.jar is created by running maven then this my be the key.
from borg_calendar.
Maven builds the contents of the installer folder which contains the program, including borg.jar:
If you are changing the code, you would normally build and run Borg from inside an IDE, like eclipse or intelliJ.
I wrote a C++ version of Borg in 1992. It was pretty ugly. It used native X-windows graphics and ran on a PC running linux 0.96c, which was an adventure.
I wrote the Java version starting around 2000. It was pretty ugly back then as well. I wrote it to learn Java.
from borg_calendar.
After running maven, the contents of BORGCalendar\install\target\installer is the program.
So the pipeline must be
image: maven:3.8.1-openjdk-17
stages:
- build
build_job:
stage: build
script:
- cd BORGCalendar
- mvn clean package
- mvn clean install
artifacts:
paths:
- BORGCalendar/install/target/installer/*
Artifact is indeed 35 MB:job/6269
In the next step I must bring the "installer" folder from the docker container back to the repository and then start to build a windows container in witch I copy the part starting from "install/.." and run jpackage over the install folder.
from borg_calendar.
jpackage will not be able to build the msi installer without WiX - https://wixtoolset.org/
I do not know how you will get WiX on your windows container.
Also, you do not need the mvn clean package line. mvn clean install does the entire build. Your script is building twice.
from borg_calendar.
I Think I could use the image dactiv/wix
docker pull dactiv/wix
docker run -v BORGCalendar\install:/project dactiv/wix jpackage -t msi \
--app-version 1.10.04 -n BorgCalendar \
--vendor MBCSoft -i /project/target/installer \
--main-class net.sf.borg.control.Borg \
--main-jar borg.jar \
--win-dir-chooser \
--win-menu \
--win-menu-group Borg \
--win-shortcut \
--icon /project/borg.ico
something like this ... I am not sure yet ..
from borg_calendar.
another issue was logged against the ical4j library not too long ago:
If there ever is a fix, I'll incorporate it.
from borg_calendar.
Related Issues (20)
- The popup reminder pop up timing is is not accurate HOT 1
- Possiblity of implementing auto build utilizing github actions. HOT 8
- Question about guide to implement idea. HOT 7
- Installation problem in archlinux HOT 2
- Problem with installation in arch Linux HOT 7
- Problem with displaying date of month in the system tray HOT 4
- how to detach ToDo panel in 1.10.03 HOT 1
- Shutdown Issue (was Backup issue)
- Import only part of calendar to ICAL? HOT 6
- Appointment Editor "recurrence"
- Themes not working - (Windows 11) HOT 2
- Secure the Caldav and Email passwords via the keystore
- Google Sync error when changing appointment to todo
- Some UI suggestions
- System tray menu not appearing
- CANNOT INSTALL BORGCALENDAR IN KUMANDER OS HOT 7
- create sqlite dir if it was deleted
- timed appointments duration is wrong after google sync
- Google sync Overwrite option doesn't work when deleting/replacing a google calendar
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from borg_calendar.