Description ----------- This program implements a HTTP proxy meant to be used with Communigate Pro's WebCal server and Mozilla Sunbird/Calendar setup to post a shared calendar. Normally calendar entries deleted in Mozilla do not get deleted from Communigate. This is due to Communigate assuming a HTTP PUT means to append calendar entries, while Mozilla assumes it to replace the whole calendar. What needs to be done is a HTTP DELETE before the HTTP PUT. This proxy implements such a method. Mozilla should be pointed to post calendars to this proxy instead of Communigate. Supposedly this will not be needed when Communigate supports WebDav. Caveats ------- Mozilla's shared calendaring is not scalable. It's a hack, and so is this script. See this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=217550 For each change on a 'remote' calendar, Mozilla will retrieve the whole calendar from the server, make its change, then post the whole calendar back to the server. Think about if you have a large calendar. It will get very slow. Mozilla's shared calendaring needs to be totally revamped. Requirements ------------ I have only tested this with Python 2.3.4 on Linux. Your mileage may vary. Setup ----- - Edit delete_put_httpd.py and change the variables at top of script. You will need to set the Communigate server address/port as well as the listen address/port. - Start the filter as a normal user: ./delete_put_httpd.py & The script should not be run as root. Logs are sent to standard output. You can redirect this to a file if you wish. - Configure Mozilla to point to the server and port this script is running on when publishing or retrieving Communigate calendars. Bugs and Suggestions -------------------- If you find any problems or have suggestions, please let me know at valankar@gmail.com.