Re: [Evolution-hackers] Terrible hack to allow read-only access to secure Google Calendars
Hi xkahn, Thanks for your patch. But we have a summer of code student, Ebby Wiselyn working on a Google calendar backend for Evolution/EDS. He had great successes recently (http://mail.gnome.org/archives/gnome-soc-list/2007-August/msg00035.html) Some screen shots at http://edsgcal.wordpress.com/screenshots-2/ It would be a clean approach and would provide a read-write access to Google calendars and will have a better sync mechanisms. I was hoping to add this to 2.12, but we realized that it is not feasible and is now targeted for 2.14. So I really don't want to take your patch. -Srini. On Sat, 2007-08-18 at 11:09 -0400, Benjamin Kahn wrote: So I've created a horrible, ugly patch which makes Evolution able to display the Google Calendars. The problem is that you may want to view your calendar without using the private URL. (For example, the hosted version of the Google Calendar will only deliver the ics file if you have authenticated.) But Evolution doesn't know how to authenticate to Google. The attached patch adds the ability to store an authentication token in GConf which seem not to expire. In other words, you apply this patch to evolution-data-server, run the commands that follow, and you'll have READ ONLY access to your Google Calendar that only updates every 30 minutes or so. Yes, it's just as fun and easy to use as it sounds. First, run: curl -D - https://www.google.com/accounts/ClientLogin -d accountType=HOSTED_OR_GOOGLE -d Email='||username||%40||domain||' -d Passwd='||password||' -d service=cl -d source=evolution-testing-0.0.0 You'll need to replace ||username||, ||domain||, and ||password|| to match your email username (domain will likely be google.com) and google password. This command will return three lines. The third line will start with auth=. Then call: gconftool-2 --type string -s /apps/evolution/calendar/gauth ||authstring|| You'll need to replace ||authstring|| with the 180+ character string returned by the previous command. You should only have to do the above once. Or whenever the auth string expires which seems to be very rare, if at all. Then quit Evolution and kill the data server with this command: evolution --force-shutdown Start evolution after applying the attached patch. Go to the calendar component and add: webcal://www.google.com/calendar/ical/||username||@||domain||/private/full.ics as a web calendar. You'll need to replace ||username|| with your email username and ||domain|| with your email domain, usually gmail.com. You'll need to check Use Secure Connection and I recommend that you cache the calendar locally. Anyway, there are some problems: * Seriously, it's an ugly patch * You have to recompile evolution-data-server * Adding an auth token to GConf?! What are you, nuts? * Evolution may not be able to understand the appointments set by Google's calendar * The calendar only updates every once in a while * You can't edit the calendar in Evolution Probably other problems. :) I don't recommend this be applied to Evolution, but I do think it might be an interesting jumping off point for someone else. For the moment, it solves my problem. I'm not subscribed to e-h, so please include me in any replies. ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Terrible hack to allow read-only access to secure Google Calendars
On Mon, 2007-08-20 at 00:20 +0530, Srinivasa Ragavan wrote: Thanks for your patch. But we have a summer of code student, Ebby Wiselyn working on a Google calendar backend for Evolution/EDS. He had great successes recently (http://mail.gnome.org/archives/gnome-soc-list/2007-August/msg00035.html) Some screen shots at http://edsgcal.wordpress.com/screenshots-2/ It would be a clean approach and would provide a read-write access to Google calendars and will have a better sync mechanisms. I was hoping to add this to 2.12, but we realized that it is not feasible and is now targeted for 2.14. So I really don't want to take your patch. Yup. I don't recommend that my patch be applied: Probably other problems. :) I don't recommend this be applied to Evolution, but I do think it might be an interesting jumping off point for someone else. For the moment, it solves my problem. And I know about the other project. And it'll be great -- next year when I can use it. For now, this gets me close to what I need, so I thought others might be interested as well. ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
[Evolution-hackers] Terrible hack to allow read-only access to secure Google Calendars
So I've created a horrible, ugly patch which makes Evolution able to display the Google Calendars. The problem is that you may want to view your calendar without using the private URL. (For example, the hosted version of the Google Calendar will only deliver the ics file if you have authenticated.) But Evolution doesn't know how to authenticate to Google. The attached patch adds the ability to store an authentication token in GConf which seem not to expire. In other words, you apply this patch to evolution-data-server, run the commands that follow, and you'll have READ ONLY access to your Google Calendar that only updates every 30 minutes or so. Yes, it's just as fun and easy to use as it sounds. First, run: curl -D - https://www.google.com/accounts/ClientLogin -d accountType=HOSTED -d Email='||username||%40||domain||' -d Passwd='||password||' -d service=cl -d source=evolution-testing-0.0.0 You'll need to replace ||username||, ||domain||, and ||password|| to match your email username (domain will likely be google.com) and google password. This command will return three lines. The third line will start with auth=. Then call: gconftool-2 --type string -s /apps/evolution/calendar/gauth ||authstring|| You'll need to replace ||authstring|| with the 180+ character string returned by the previous command. You should only have to do the above once. Or whenever the auth string expires which seems to be very rare, if at all. Then quit Evolution and kill the data server with this command: evolution --force-shutdown Start evolution after applying the attached patch. Go to the calendar component and add: webcal://www.google.com/calendar/ical/||username||@||domain||/private/full.ics as a web calendar. You'll need to replace ||username|| with your email username and ||domain|| with your email domain, usually gmail.com. You'll need to check Use Secure Connection and I recommend that you cache the calendar locally. Anyway, there are some problems: * Seriously, it's an ugly patch * You have to recompile evolution-data-server * Adding an auth token to GConf?! What are you, nuts? * Evolution may not be able to understand the appointments set by Google's calendar * The calendar only updates every once in a while * You can't edit the calendar in Evolution Probably other problems. :) I don't recommend this be applied to Evolution, but I do think it might be an interesting jumping off point for someone else. For the moment, it solves my problem. I'm not subscribed to e-h, so please include me in any replies. --- evolution-data-server-1.10.2/calendar/backends/http/e-cal-backend-http.c 2007-04-09 08:43:00.0 -0400 +++ evolution-data-server-1.10.2-gmail/calendar/backends/http/e-cal-backend-http.c 2007-08-17 16:31:26.0 -0400 @@ -381,6 +381,7 @@ { ECalBackendHttpPrivate *priv; SoupMessage *soup_message; + GConfClient *conf_client; priv = cbhttp-priv; @@ -396,14 +397,14 @@ priv-is_loading = TRUE; + conf_client = gconf_client_get_default (); + /* create the Soup session if not already created */ if (!priv-soup_session) { - GConfClient *conf_client; priv-soup_session = soup_session_async_new (); /* set the HTTP proxy, if configuration is set to do so */ - conf_client = gconf_client_get_default (); if (gconf_client_get_bool (conf_client, /system/http_proxy/use_http_proxy, NULL)) { char *server, *proxy_uri; int port; @@ -454,6 +455,24 @@ soup_message = soup_message_new (SOUP_METHOD_GET, priv-uri); soup_message_add_header (soup_message-request_headers, User-Agent, Evolution/ VERSION); + + if (strstr (priv-uri, google.com/calendar)) { + char *auth; + + auth = gconf_client_get_string (conf_client, + /apps/evolution/calendar/gauth, NULL); + if (auth) { + char *auth_header = g_strdup_printf (GoogleLogin auth=%s, auth); + + soup_message_add_header (soup_message-request_headers, + Authorization, + auth_header); + + g_free (auth_header); + g_free (auth); + } + } + soup_message_set_flags (soup_message, SOUP_MESSAGE_NO_REDIRECT); soup_session_queue_message (priv-soup_session, soup_message, ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] can't configure evolution as of rev 34033 due to ?
Thanks to Gilles Dartiguelongue for the patch. Committed to trunk rev 34040. - Johnny On Sun, 2007-08-19 at 01:52 +0200, Tobias Mueller wrote: Hi folks, I desperately try to build evolution but even the configure fails. Please see the following transcript: *** Checking out evolution *** [1/1] svn update . Uhelp/es/es.po Updated to revision 34033. *** Configuring evolution *** [1/1] ./autogen.sh --prefix /opt/gnome2 --libdir '${exec_prefix}/lib64' --disable-static --disable-scrollkeeper --disable-gtk-doc --with-openldap=yes --enable-nntp=yes --enable-ipv6=yes --enable-test-component=yes --enable-nss=yes --enable-smime=yes --enable-plugins=all /opt/gnome2/bin/gnome-autogen.sh checking for autoconf = 2.53... testing autoconf2.50... not found. testing autoconf... found 2.60 checking for automake = 1.6... testing automake-1.10... found 1.10 checking for libtool = 1.4.3... testing libtoolize... found 1.5.22 checking for glib-gettext = 2.2.0... testing glib-gettextize... /opt/gnome2/bin/glib-gettextize: line 74: echo: write error: Broken pipe /opt/gnome2/bin/glib-gettextize: line 75: echo: write error: Broken pipe found 2.14.1 checking for intltool = 0.25... testing intltoolize... found 0.36.1 checking for pkg-config = 0.14.0... testing pkg-config... found 0.21 checking for gnome-doc-utils = 0.4.2... testing gnome-doc-prepare... found 0.11.1 Checking for required M4 macros... Checking for forbidden M4 macros... Processing ./configure.in Running libtoolize... Running glib-gettextize... Ignore non-fatal messages. Copying file mkinstalldirs Copying file po/Makefile.in.in Please add the files codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4 progtest.m4 from the /aclocal directory to your autoconf macro directory or directly to your aclocal.m4 file. You will also need config.guess and config.sub, which you can get from ftp://ftp.gnu.org/pub/gnu/config/. Running intltoolize... Running gnome-doc-prepare... You should update your 'aclocal.m4' by running aclocal. Running aclocal-1.10... /opt/gnome2/share/aclocal/audiofile.m4:12: warning: underquoted definition of AM_PATH_AUDIOFILE /opt/gnome2/share/aclocal/audiofile.m4:12: run info '(automake)Extending aclocal' /opt/gnome2/share/aclocal/audiofile.m4:12: or see http://sources.redhat.com/automake/automake.html#Extending-aclocal configure.in:102: warning: AC_ARG_PROGRAM invoked multiple times Running autoconf... configure.in:102: warning: AC_ARG_PROGRAM invoked multiple times Running autoheader... configure.in:102: warning: AC_ARG_PROGRAM invoked multiple times Running automake-1.10... configure.in:102: warning: AC_ARG_PROGRAM invoked multiple times data/Makefile.am:4: `%'-style pattern rules are a GNU make extension data/Makefile.am:12: `%'-style pattern rules are a GNU make extension gnome-doc-utils.make:63: HAVE_GNOME_DOC_UTILS does not appear in AM_CONDITIONAL help/Makefile.am:3: `gnome-doc-utils.make' included from here gnome-doc-utils.make:133: ENABLE_SK does not appear in AM_CONDITIONAL help/Makefile.am:3: `gnome-doc-utils.make' included from here gnome-doc-utils.make:182: ENABLE_SK does not appear in AM_CONDITIONAL help/Makefile.am:3: `gnome-doc-utils.make' included from here gnome-doc-utils.make:74: if $(DOC_H_FILE: non-POSIX variable name gnome-doc-utils.make:74: (probably a GNU make extension) help/Makefile.am:3: `gnome-doc-utils.make' included from here gnome-doc-utils.make:77: if $(DOC_H_FILE: non-POSIX variable name gnome-doc-utils.make:77: (probably a GNU make extension) help/Makefile.am:3: `gnome-doc-utils.make' included from here gnome-doc-utils.make:110: if $(DOC_USER_FORMATS: non-POSIX variable name gnome-doc-utils.make:110: (probably a GNU make extension) help/Makefile.am:3: `gnome-doc-utils.make' included from here gnome-doc-utils.make:115: if $(filter environment,$(origin LINGUAS: non-POSIX variable name gnome-doc-utils.make:115: (probably a GNU make extension) help/Makefile.am:3: `gnome-doc-utils.make' included from here gnome-doc-utils.make:115: filter $(LINGUAS: non-POSIX variable name gnome-doc-utils.make:115: (probably a GNU make extension) help/Makefile.am:3: `gnome-doc-utils.make' included from here gnome-doc-utils.make:144: shell xmllint --format $(2: non-POSIX variable name gnome-doc-utils.make:144: (probably a GNU make extension) help/Makefile.am:3: `gnome-doc-utils.make' included from here gnome-doc-utils.make:144: notdir $(patsubst %/$(notdir $(2: non-POSIX variable name gnome-doc-utils.make:144: (probably a GNU make extension) help/Makefile.am:3: `gnome-doc-utils.make' included from here gnome-doc-utils.make:144: if $(_ENABLE_SK: non-POSIX variable name gnome-doc-utils.make:144: (probably a GNU make extension) help/Makefile.am:3:
Re: [Evolution-hackers] Evolution plugin with Mono
On Sun, 2007-08-19 at 20:10 +0200, Manuel de la Pena wrote: Hi guys, I'm currently developing and application that I want to interact with evolution, specially with the contacts storage. I'm using Mono to develop the application and I was wondering there has been some work done regarding a mono and evolution integration in some way or I should use c as explained in http://www.gnome.org/projects/evolution/ developer-doc/eplugin/ At the moment, the mono-plugin-loader is untested and is experimental. It is planned to improve it for 2.14 So, at the moment, using C is the only option. What will your app. do ? You may need to use EDS APIs than write a plugin for Evo. if your app. wants to search/fetch the contacts. Thanks in advance :) ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers -- Sankar P Novell, Inc. Software for the Open Enterpriseā¢ http://www.novell.com ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers