Google Calendar Integration

English! place to talk about OTRS development, programming and coding
Post Reply
hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Google Calendar Integration

Post by hmmmm3 » 25 Mar 2012, 16:39

I had been looking into linking my google calendar into my OTRS account and wanted to get some opinions on the best way to do it. I am familair with PHP but less familiar with Perl. I have managed to get PHP to talk to my calendar through the API and now I am looking at installing a PHP:Perl Interpreter to try to tie the PHP and Perl together. Has anyone tried this? Would this be a good way to go?

I am using the Zend Framework with the PHP and I have found that I can successfully and easily integrate the PHP and the google calendar. II can save the event ids into the database and use that as the way to manage calendar entries.

Im thinking this should not be too hard...but any feedback or direction would be appreciated.

Thz.
Last edited by hmmmm3 on 29 May 2012, 14:22, edited 1 time in total.

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration- PHP:Perl Intepreter and Zen

Post by hmmmm3 » 06 Apr 2012, 01:16

So i had not gotten any replies on my previous ...but I have been charging ahead. I was not able to integrate PHP but I have been able to integrate Net-Google-Calendar-1.01 from CPAN. It took me a little while to figure out some of the code...im not a Perl programmer. But I think I got it. So far I have it working through a perl cron job. I'm now looking to tie it into tickets.pm

Has anyone else went down this path? Any input would be appreciated.

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 08 May 2012, 19:52

So I have made some progress. using tickets.pm, I have been able to add some code that will allow me add a date to my google calendar. Using the pending link, I set a state and choose a date. The code then extracts info from the ticket and creates a date in my calendar with the corresponding info. In the code I set it to have a appointment duration of 2 hours. Let me know how this works out for you or offer any feedback. My next step is to be able to modify dates between google and the otrs. My current code is below if any are interested:

you have to install the CPAN Net::Google::Calendar, DateTime, DateTime::Format::RFC3339, DateTime::Locale, DateTime::TimeZone, Date::Format, and a bumch of other dependencies for this to work. You will be prompted to install the other dependencies when you install the google calendar module.

###############this goes at the top

Code: Select all

use Net::Google::Calendar;
use DateTime;
Around line 3554 I added the following:
###################################

Code: Select all

        # return if no convert is possible
        return if !$Time;
    }

    # db update
    return if !$Self->{DBObject}->Do(
        SQL => 'UPDATE ticket SET until_time = ?, change_time = current_timestamp, change_by = ?'
            . ' WHERE id = ?',
        Bind => [ \$Time, \$Param{UserID}, \$Param{TicketID} ],
    );

        my %TicketInfo =  $Self->TicketGet(
        TicketID => $Param{TicketID},
        UserID   => $Param{UserID},
	);


     my $username='*********@gmail.com';
     my $password="**********";
     my $title= $TicketInfo{Title};
     my $description= $TicketInfo{TicketFreeText1};
     my $cal = Net::Google::Calendar->new;
     $cal->login($username, $password);


	my $start_time = DateTime->new(
         
         	year   => $Param{Year},
         	month  => $Param{Month},
         	day    => $Param{Day},
         	hour   => $Param{Hour},
         	minute => $Param{Minute},
         	second => 0,
		time_zone  => 'America/New_York'
         
                    ); 

	my $end_time = DateTime->new(
         
         	year   => $Param{Year},
         	month  => $Param{Month},
         	day    => $Param{Day},
         	hour   => $Param{Hour},
         	minute => $Param{Minute},
         	second => 0,
		time_zone  => 'America/New_York'
         
                    );

        # everything below here requires a read-write feed
	my $entry = Net::Google::Calendar::Entry->new();
       $entry->title($title);
       $entry->content($description);
       $entry->location('Your City, Your State');
       $entry->transparency('transparent');
       $entry->status('confirmed');
       $entry->when($start_time, $end_time + DateTime::Duration->new( hours => 2 ));
       $cal->add_entry($entry) || die "Couldn't add entry $@";

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Google Calendar Integration - Calendar in Dashboard

Post by hmmmm3 » 30 May 2012, 17:46

So I have made more progress with this.

I was able to link my calendar with my tickets as well as embed the calendar into my dashboard. Take a look at the snap shot of my preferences.

When I set the pending date, the time is added into my google calendar and appears in my dashboard. I am now working on syncing the google calendar with the dates set in OTRS.

Any input, comments, or fellow collaboration would be appreciated.
You do not have the required permissions to view the files attached to this post.

vulk
OTRS newbie
Posts: 17
Joined: 13 Jun 2012, 23:24
OTRS Version?: 3.1.5
Real Name: Andres
Company: Tronex

Re: Google Calendar Integration

Post by vulk » 15 Jun 2012, 21:44

Your work is great, but I'm newbie in perl.... did you insert the code in the end of tickets.pm, How did you do in order to include the google params in your dashboard??

I think that a good idea is to include the appoinment duration in a dynamic field.

Is there something that could I made to help in your work??? I think that is a great idea to integrate otrs with google calendar. :D

--
Andres

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 15 Jun 2012, 22:53

Andres,

Thanks for the reply. I was thinking nobody read this! As a point of reference, I am using version 3.0, so dynamic fields don't exist. But that would be a good place for the duration. As entering the parameters, I created XML files I the config directory. I'm away from my computer, but when I get a chance, I can post the directory and the code.

Currently, I have implemented it in such a way that when you create a new appt, the event I'd is saved in a database table. As a result, you can modify the date of the ticket, and it modifies the google calendar event.

Anyway, have you loaded the cpan modules?

vulk
OTRS newbie
Posts: 17
Joined: 13 Jun 2012, 23:24
OTRS Version?: 3.1.5
Real Name: Andres
Company: Tronex

Re: Google Calendar Integration

Post by vulk » 22 Jun 2012, 17:56

I'm here again :-P

Those is the steps that I was followed (I have OTRS 3.1.5 in Ubuntu Server 11.10)

1. Install CPAN
2. Install all modules (Net::Google::Calendar and the others and their prerrequisites)
3. vi /opt/otrs/Kernel/System/ticket.pm
4. Add the lines of code in the right places
5. Comment the lines containing ticketfreetext (because my version of otrs)
6. Put my gmail login and password
7. Create new ticket
8. View my google calendar
9. Nothing happens :'(

How can I trace the code in order to find the issue???

Thanks

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 23 Jun 2012, 02:04

So the way this code works is that when you set a pending date, this section of code is called.


I'm not sure how to do trace backs because I'm not a perl programmer. I did all of my debugging using perl cron jobs. You know you have done something wrong if you get white empty screens.

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 01 Jul 2012, 16:49

sCREEN SHOT OF THE CALENDAR USING IFRAME
You do not have the required permissions to view the files attached to this post.

vulk
OTRS newbie
Posts: 17
Joined: 13 Jun 2012, 23:24
OTRS Version?: 3.1.5
Real Name: Andres
Company: Tronex

Re: Google Calendar Integration

Post by vulk » 18 Jul 2012, 17:47

There is something I can't understand yet.... Where is the trigger that see the pending date and execute the code?

I'm installing an otrs turnkey image in amazon EC2, maybe we can do some test there and finish the code, what do you think?

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 19 Jul 2012, 00:35

kool. i'm okay with the finishing the code.

The trigger occurs in Tickets.pm. Whenever a date is chosen in the calendar, it triggers that section of code.

diahbn
OTRS newbie
Posts: 14
Joined: 11 Jul 2012, 19:55
OTRS Version?: OTRS 3.1
Real Name: Diah Budinastiti
Company: abc

Re: Google Calendar Integration

Post by diahbn » 20 Jul 2012, 07:58

Hi, is this integration works well? I'm a newbie in pearl, but most of people recommend me to develop perl code to integrate otrs with other third party. Do you think I can do that use the same way as yours in this case? Thanks :)

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 28 Jul 2012, 16:53

It works well, but it has limitations. It depends on how you want the calender integrated. I will try to put together all mu steps and post them.

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 29 Jul 2012, 10:05

These were my steps to integrate the calendar. My implementation may not work for everyone. I don't care to take advantage of all the different states, so I may trigger pending states differently. My code in the ticket.pm creates an id in a new database table named google_cal. It stores the event ID so you can modify it when you update the pending date. What it is missing is the code needed to delete entries, etc ...

As a starting place for the module, I used the Google Customer Map plugin that was created by Martin Edenhofer. If you don't have it, I would download it and modify his code as a starting place. Also, in the OTRS documentation, it talks about how to create a module. I followed that in order to add the params in the preferences window. I am not a perl programmer, s any and all suggestions or additions, would be greatly appreciated.

My steps:

1.)opts/otrs/Kernel/System/Ticket.pm - added google code. See below
2.) opts/otrs/Kernel/Config/Files/ Added config files for google calendar - GCalendar.xml
3.) opts/otrs/Kernel/Config/Files/ added newfile GCalendarEmail.xml
4.) opt/otrs/Kernel/Modules Added new file AgentGCalendar.pm
5.) Added opt/otrs/Kernel/Output/HTML added new file DashboardGCalendar.pm
6.) opt/otrs/Kernel/Output/HMTL/Standard Added new file AgentDashboardGCalendar.dtl
7.) /usr/lib/perl5/site_perl/5.8.8/Net/Google edited calendar.pm - changed logic for entryID to accommodate the correct path. See code below:
8.) added google_cal table. Added fields id, googleID and ticketID


All this is for version 3.0 and I am not sure if this will still work in version 3.1

This is code I put into the ticket.pm. See my earlier post to determine the appropriate location:

Code: Select all

     my $username=$UserPref{GCalUsername}; 
     my $password=$UserPref{GCalPassword}; 
     
     my $title= $TicketInfo{Title};
     my $description= $TicketInfo{TicketFreeText1};
     my $cal = Net::Google::Calendar->new;
     $cal->login($username, $password);

        # customer info
        my %CustomerData;
        if ( $TicketInfo{CustomerUserID} ) {
            %CustomerData = $Self->{CustomerUserObject}->CustomerUserDataGet(
                User => $TicketInfo{CustomerUserID},);
	}
       my $cust_address= $CustomerData{UserStreet}. ','. $CustomerData{UserCity}. ','.$CustomerData{UserZip};

    my $c;
    for ($cal->get_calendars) {
        $c = $_ if ($_->title eq '#######');  #Add your calendar name
    }
    $cal->set_calendar($c);

	my $start_time = DateTime->new(
         
         	year   => $Param{Year},
         	month  => $Param{Month},
         	day    => $Param{Day},
         	hour   => $Param{Hour},
         	minute => $Param{Minute},
         	second => 0,
		time_zone  => 'America/New_York'
         
                    ); 

	my $end_time = DateTime->new(
         
         	year   => $Param{Year},
         	month  => $Param{Month},
         	day    => $Param{Day},
         	hour   => $Param{Hour},
         	minute => $Param{Minute},
         	second => 0,
		time_zone  => 'America/New_York'
         
                    );

       #check to see if event for this ticket already exists in DB             
               
    return if !$Self->{DBObject}->Prepare(
        SQL => 'SELECT googleID from google_cal WHERE ticketID =?', 
        Bind => [ \$Param{TicketID}],
    );          
	my $EventID;
	while (my @Row = $Self->{DBObject}->FetchrowArray() ) {
		   $EventID = $Row[0];
	   }
	
	   #Do the following if it does not exist
	   if (!$EventID){                    
                    
		        # everything below here requires a read-write feed
			my $entry = Net::Google::Calendar::Entry->new();
		       $entry->title($title);
		       $entry->content($description);
		       $entry->location($cust_address);
		       $entry->transparency('transparent');
		       $entry->status('confirmed');
		       $entry->when($start_time, $end_time + DateTime::Duration->new( hours => 2 ));
		       my $tmp = $cal->add_entry($entry) || die "Couldn't add entry $@";
		       
		       #store id in database
		       my $event_id =$tmp->id;
		       
		       # db update
		    return if !$Self->{DBObject}->Do(
		        SQL => 'INSERT INTO google_cal (googleID,ticketID) values (?,?)', 
		
		                Bind => [ \$event_id, \$Param{TicketID}],
		    );
                     
    	}else {
	    		my @cal_events  = $cal->get_events(
			  entryID => $EventID,
			);
			
			if (@cal_events){
			
 				for (@cal_events){
					my $tmpcal=$_;
      					$tmpcal->title($title);
		    		         $tmpcal->content($description);
		    			$tmpcal->location($cust_address);
		       			#$tmpcal->transparency('transparent');
		       			#$tmpcal->status('confirmed');
		       			$tmpcal->when($start_time, $end_time + DateTime::Duration->new( hours => 2 ));
		       
      					$cal->update_entry($tmpcal);
   				}
			


      			}else{
			 #die "Couldn't modify entry $@";
			}
	
    	}#end else

###################################
Code in calendar.pm This code replaces the code around line 497:

Code: Select all

    if (exists $opts{entryID}) {
        
        if (scalar(keys %opts)>1) {
            #print "You can't specify entryID and anything else";
            $@ = "You can't specify entryID and anything else";
            return undef;    
        }
        my $path = $url->path;
        #print "\nPath \n".$path;

        #$url1->path("$path/".$opts{entryID});
        $url->path($opts{entryID});
        #print "\nURL\n".$url;
	
	#print "\nID\n".$opts{entryID};
         #print "\n";
        return $self->_get_entry("$opts{entryID}", "Net::Google::Calendar::Entry");
    }
Last edited by hmmmm3 on 09 Aug 2012, 15:18, edited 1 time in total.

vulk
OTRS newbie
Posts: 17
Joined: 13 Jun 2012, 23:24
OTRS Version?: 3.1.5
Real Name: Andres
Company: Tronex

Re: Google Calendar Integration

Post by vulk » 01 Aug 2012, 19:16

I'm ready to test it in 3.1.7 but could you post all your code?? GCalendar.xml, GCalendarEmail.xml, etc...

Thnx

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 04 Aug 2012, 13:30

The only reason I didn't post the other code is that if you want to help, you should understand something about the OTRS modules. The other code is pretty straightforward and almost a copy from the sources that I mentioned - CustomerMap and the module doc. The difficult code is what I posted. The rest is easy and should be useful to help you understand how OTRS works. Give that code a try and we can help each other. I like collaboration!!

redleylamar
OTRS newbie
Posts: 7
Joined: 13 Aug 2012, 23:33
OTRS Version?: 3.1345
Real Name: redley
Company: cafe cartel

Re: Google Calendar Integration

Post by redleylamar » 14 Aug 2012, 19:31

Okay Ill coloborate!

I am wanting to use your code but I am having difficulty. I agree with last post. You may not be a programmer but you look like you have been working on this for awhile, you said some of this is pretty straight forward but I need some help.

My questions are related to a previous post:

2.) opts/otrs/Kernel/Config/Files/ Added config files for google calendar - GCalendar.xml
3.) opts/otrs/Kernel/Config/Files/ added newfile GCalendarEmail.xml
4.) opt/otrs/Kernel/Modules Added new file AgentGCalendar.pm
5.) Added opt/otrs/Kernel/Output/HTML added new file DashboardGCalendar.pm
6.) opt/otrs/Kernel/Output/HMTL/Standard Added new file AgentDashboardGCalendar.dtl

Where do you get these files or how do you make them? Soory im Noob.

crythias
Moderator
Posts: 10096
Joined: 04 May 2010, 18:38
OTRS Version?: 5.0.x
Location: SouthWest Florida, USA
Contact:

Re: Google Calendar Integration

Post by crythias » 14 Aug 2012, 19:37

@redleylamar:
I believe hmmmm3 is talking about renaming and modifying the otrs Google Customer Map plugin files. You could use a popular search engine for that..
https://github.com/znuny/Znuny4OTRS-CustomerMap
OTRS 5.0.x (private/testing/public) on Linux with MySQL database. Also on github.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask

redleylamar
OTRS newbie
Posts: 7
Joined: 13 Aug 2012, 23:33
OTRS Version?: 3.1345
Real Name: redley
Company: cafe cartel

Re: Google Calendar Integration

Post by redleylamar » 14 Aug 2012, 21:40

1) I have the Google Customer mapping .opm file and I cant tell what to edit. Here it is: (edited out all the base 64 stuff so it would fit in this post)

<?xml version="1.0" encoding="utf-8" ?>
<otrs_package version="1.1">
<Name>Znuny4OTRS-CustomerMap</Name>
<Version>1.1.1</Version>
<Vendor>Znuny GmbH</Vendor>
<URL>http://znuny.com/en/</URL>
<License>GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007</License>
<Description Lang="en">A Google Maps integraton. A visualiation of your customers in a dashboard plugin.</Description>
<Description Lang="de">Ein Google Maps Integration. Eine neuartige Darstellung der Kunden in einem Dashboard-Plugin.</Description>
<Framework>3.0.x</Framework>
<Framework>3.1.x</Framework>
<BuildDate>2012-07-04 18:44:15</BuildDate>
<BuildHost>build.znuny.com</BuildHost>
<Filelist>
<File Location="bin/otrs.GMapsCustomerBuild.pl" Permission="755" Encode="Base64">IyEvdXNyeGl0IDA7Cg==</File>
<File Location="Kernel/System/GMaps.pm" Permission="644" Encode="Base64">IyAtLQojIEtlcm5lbC9TeXN0DQgJAoKPWN1dAo=</File>
<File Location="Kernel/System/GMapsCustomer.pm" Permission="644" Encode="Base64">IyAtLQojIEtlcm5lbC9TeoKPWN1dAo=</File>
<File Location="Kernel/Config/Files/CustomerMap.xml" Permission="644" Encode="Base64">PD94bWwgdmVyc2lvbj0iMS4wIiaWc+Cg==</File>
<File Location="Kernel/Modules/AgentCustomerMap.pm" Permission="644" Encode="Base64">IyAtLQojIEtlcm5lbC9Nb2R1bGVzL0FnDsKfQoKMTsK</File>
<File Location="Kernel/Output/HTML/DashboardCustomerMap.pm" Permission="644" Encode="Base64">IyAtLQojIEtlcm5lbC9PdXRwdXQvSFRNT0Owp9CgoxOwo=</File>
<File Location="Kernel/Output/HTML/Standard/AgentCustomerMap.dtl" Permission="644" Encode="Base64">IyAtLQojIEFnZW50Q3VzdG9tZXJNYXAuZXY+CjwvZGl2Pgo=</File>
<File Location="Kernel/Output/HTML/Standard/AgentDashboardCustomerMap.dtl" Permission="644" Encode="Base64">IyAtLQojIEFnZW50RGFzaGJvYXJkQ3VzdGlnIC0tPgoK</File>
<File Location="var/cron/customermap" Permission="644" Encode="Base64">IyAtLQojIHZhci9jcm9uL2N1cdi9udWxsCgo=</File>
</Filelist>
</otrs_package>

Hmmmmm3 said to *ADD* these files and I cannot find them: AgentGCalendar.pm, DashboardGCalendar.pm, GCalendar.xml, GCalendarEmail.xml, AgentDashboardGCalendar.dtl. In fact the only google hits I get are right back to this forum topic. I also have botht the OTRS 3.0 (my version) developers guide and admin guide and don't see any topic for creating modules.

Whats with all the cpan dependencies? sheesh! (humor not a real question)

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 15 Aug 2012, 02:26

You should install the google customer map opm. That will create he files for you to edit/copy.

redleylamar
OTRS newbie
Posts: 7
Joined: 13 Aug 2012, 23:33
OTRS Version?: 3.1345
Real Name: redley
Company: cafe cartel

Re: Google Calendar Integration

Post by redleylamar » 15 Aug 2012, 20:43

Nope Not there. I have the google customer map opm installed in OTRS and there are no files in /opt/otrs/Kernel/Config/Files or any of the other . I even tried re-installing the opm file again still no files. There were some references to renaming some of the files. Rename what files? from what to what? You said that otrs has documentation on creating modules but the dev guide and admin guide don't cover that. They only show the structure of the existing modules, nothing about creating new ones. Do you have a url for that information?

Still looking for AgentGCalendar.pm, DashboardGCalendar.pm, GCalendar.xml, GCalendarEmail.xml, AgentDashboardGCalendar.dtl. files


[root@xx-xx-xx-xx Files]# cd /opt/otrs/Kernel/Config/Files
[root@xx-xx-xx-xx Files]# ls -la
total 936
drwxrwxr-x 2 otrs apache 4096 Aug 14 10:59 .
drwxrwxr-x 3 otrs apache 4096 Mar 6 18:19 ..
-rw-r--r-- 1 apache apache 2326 Aug 14 10:59 CustomerMap.xml
-rw-rw-r-- 1 otrs apache 279472 Feb 25 2011 Framework.xml
-rw-r--r-- 1 apache apache 705 Apr 23 14:45 JoomlaGateway.xml
-rw-r--r-- 1 apache apache 8816 Mar 6 19:01 Support.xml
-rw-rw-r-- 1 otrs apache 496837 Feb 25 2011 Ticket.xml
-rw-rw-r-- 1 apache apache 139426 Aug 14 12:23 ZZZAAuto.pm
-rw-rw-r-- 1 apache apache 1253 Aug 13 13:47 ZZZAuto.pm
[root@69-64-70-31 Files]#

I do see a AgentCustomerMap.pm in /opt/otrs/Kernel/Module do I rename that to AgentGCalendar.pm?

Anyway thanks for the help so far, we ARE going to use this and I am looking forward to testing it out for you.

Thank you.

Capt Redley Lamar

crythias
Moderator
Posts: 10096
Joined: 04 May 2010, 18:38
OTRS Version?: 5.0.x
Location: SouthWest Florida, USA
Contact:

Re: Google Calendar Integration

Post by crythias » 15 Aug 2012, 21:09

<File Location="Kernel/Config/Files/CustomerMap.xml"
Probably GCalendar.xml

<File Location="Kernel/Modules/AgentCustomerMap.pm"
Probably AgentGCalendar.pm

<File Location="Kernel/Output/HTML/DashboardCustomerMap.pm"
Probably DashboardGCalendar.pm

<File Location="Kernel/Output/HTML/Standard/AgentDashboardCustomerMap.dtl"
Probably AgentDashboardGCalendar.dtl

(Renamed and edited).

The only one that's not here is GCalendarEmail.xml, and for that, I'm guessing it's a copy of GCalendar.xml with modifications to enable the email module (?).

There are enough gaps that need filling, but this is based upon cursory inspection.
OTRS 5.0.x (private/testing/public) on Linux with MySQL database. Also on github.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 18 Aug 2012, 15:30

I went back through my files and uploaded them. This should help you out. I also noticed I missed a file. Im not sure if how I set this up will work for everyone, but I am interested in helping you get it working on your system.

All the *.pm files go into the Kernel/Output/HTML directory. except AgentGCalendar.pm
the *.xml files go into the Kernel/Config/Files directory
the *.dtl files go to the Kernel/Output/HTML/Standard/

This should help you out a lot.
In DashboardGCalendar.pm and AgentDashboardGCalendar.dtl you will need to add your gmail username because I hardcoded it. I need to go back through and have it to grab the value from the preferences.

Give this a try and let me know how it works. I don't think I missed any files.

See my comments:

<File Location="Kernel/Config/Files/CustomerMap.xml"
Probably GCalendar.xml
--Yes

<File Location="Kernel/Modules/AgentCustomerMap.pm"
Probably AgentGCalendar.pm
-yes

<File Location="Kernel/Output/HTML/DashboardCustomerMap.pm"
Probably DashboardGCalendar.pm
-yes

<File Location="Kernel/Output/HTML/Standard/AgentDashboardCustomerMap.dtl"
Probably AgentDashboardGCalendar.dtl
-yes
(Renamed and edited).

The only one that's not here is GCalendarEmail.xml, and for that, I'm guessing it's a copy of GCalendar.xml with modifications to enable the email module (?).
-Yes. This if for having the profile setting to appear in the preferences.

If you install the customermap module it will contain most of the original files that will need to be updated/edited.

There are enough gaps that need filling, but this is based upon cursory inspection.
You do not have the required permissions to view the files attached to this post.

redleylamar
OTRS newbie
Posts: 7
Joined: 13 Aug 2012, 23:33
OTRS Version?: 3.1345
Real Name: redley
Company: cafe cartel

Re: Google Calendar Integration

Post by redleylamar » 20 Aug 2012, 17:11

Sweet Ill try to get it working today.

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 20 Aug 2012, 18:24

Keep in mind,
I am using version 3.0 and this zip file does not contain the ticket.pm file and and the other files I posted earlier, just the missing files that were in question. I hope this helps out someone.

Keep me posted.

otterhubboy
OTRS newbie
Posts: 1
Joined: 21 Aug 2012, 09:34
OTRS Version?: Version 3.1

Re: Google Calendar Integration

Post by otterhubboy » 21 Aug 2012, 09:47

I have tried to intergrate the google calendar to my version 3.1,but it turned out to be too many limitations that sucks!to be honest,the user experience is too bad :?

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 21 Aug 2012, 12:33

Otterhubboy,

Please explain. What limitations? What user experience?

jeleyinte
OTRS newbie
Posts: 1
Joined: 26 Aug 2012, 07:37
OTRS Version?: OTRS 3.1
Real Name: Joseph Eleyinte
Location: Nigeria
Contact:

Re: Google Calendar Integration

Post by jeleyinte » 29 Aug 2012, 02:41

The Google Calendar works just fine with my own OTRS version 3.0...

Alexander Halle
OTRS superhero
Posts: 296
Joined: 04 Jul 2010, 17:49
OTRS Version?: 3.1.x
Real Name: Alexander Halle
Company: radprax MVZ GmbH
Location: Wuppertal
Contact:

Re: Google Calendar Integration

Post by Alexander Halle » 29 Aug 2012, 09:39

(I moved this very interesting thread to the developers forum, so others can find it and to increase feedback hopefully.)
Alexander Halle System: OTRS 3.1.x, Ubuntu 10.04.x LTS, MySQL 5.1.x, Apache 2.2.x
OTRS Community Links: User Meetings, Projects

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 29 Aug 2012, 15:34

Thx.

peter2cfu
OTRS newbie
Posts: 4
Joined: 27 Sep 2012, 16:53
OTRS Version?: 3.1.6
Real Name: Peter Atkin
Company: CFTS.CO
Location: Uganda
Contact:

Re: Google Calendar Integration

Post by peter2cfu » 05 Oct 2012, 01:28

It seems a rather major element has been excluded from the recent version of OTRS, the calendar module, I’ve seen though the forums this mentioned several times, but seems there is active resistance from OTRS to acknowledge its inherent usefulness, so seeing your project give me hope.

May I ask how fare you have gone with this....
OTRS with ITSM 3.1.6 on Linux with MySQL database.

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 05 Oct 2012, 02:03

It's been working well. I use it to schedule upcoming appt and it also modifies the calendar. I've been using it for a few months. I use version 3.0

peter2cfu
OTRS newbie
Posts: 4
Joined: 27 Sep 2012, 16:53
OTRS Version?: 3.1.6
Real Name: Peter Atkin
Company: CFTS.CO
Location: Uganda
Contact:

Re: Google Calendar Integration

Post by peter2cfu » 05 Oct 2012, 14:23

Good to know, I been looking throught the topic seems a not so clear (too me) as to what is needed and where to get it, I assume alot of tinkering under the bonnet is needed looking at the posts.

Would you be so good as to point me in the right direction? I have downloaded you zip that was in an above post is it current?
OTRS with ITSM 3.1.6 on Linux with MySQL database.

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 03 Nov 2012, 13:07

Let me know what I can help you with.

hmmmm3
OTRS expert
Posts: 57
Joined: 17 Feb 2012, 07:48
OTRS Version?: 3

Re: Google Calendar Integration

Post by hmmmm3 » 29 Sep 2013, 05:18

I did get this to work in version 3.2.5.

I noticed the new beta has a calendar widget. Does that work with google calendar?

Post Reply