Archive for the 'Technology' Category
Kinamu Sugar plugin for Outlook – Search not working – solution

We loaded the new version of the Kinamu plugin and upgraded our Sugar recently. Everything worked fine except that the Generic Search in Kinamu dialog inside of Outlook was not working at all. I found the solution, and thought I would share with the world. This was posted in the Sugar discussions by Christian Knoll. Thanks man, it works:

This ultimately is an issue in Sugar I think. Lots of changes made to the Sugar search…badly needed changes I might add. Perhaps among these changes, this was missed.

Edit  modules/Contacts/Contacts.php
find the function build_generic_where_clause
Comment Out the array_push for accounts.name and ea.email_address

Edit  modules/Leads/Lead.php
find the function build_generic_where_clause
Comment Out the array_push for ea.email_address

Edit  modules/Opportunities/Opportunity.php
find the function build_generic_where_clause
Comment Out the array_push for accounts.name

These changes should take care of the issue

KINAMU Outlook – SugarCRM connector conflicts with other SOAP plugins

UPDATE Jan 5th – ATTN: New Version Users. (Kinamu 1.5.2)
Kinamu can be updated to run properly with both plugins integrated into the same installation. (You can now delete kinamu.php and kinamu/ if you had previously done an install like below)

Make a backup of your current SugarSoapUsers.php in the soap directory, install the new KINAMU plugin in your sugar module panel, then restore the SugarSoapUsers.php file that you backed up and add two requires at the end for KINAMUSoapTypes.php and KINAMUSoapSugarUsers.php:

require_once(‘soap/KINAMUSoapTypes.php’);
require_once(‘soap/KINAMUSoapSugarUsers.php’);

Then install the outlook plugin, change your path from [url]/kinamu.php to [url]/soap.php and you are back up and running without the custom mods, with Joomla Portal authentication and Kinamu.

BTW, to those at KINAMU, great work, and very nice new features. For me, the ability to create a Case from an email was a HUGE deal. Thanks!

____________________________________________________

OK, another one for my geek friends. I have SugarCRM running at work. A while back i installed the Joomla Sugar Cases plugin and it works beautifully. Customers get added to Sugar and get a portal active login assigned to them in Sugar, then they can log in my joomla website (without me adding them to Joomla) and see their cases – history, leave notes for a case, and even initiate a case, all from Joomla.

Recently I found the KINAMU outlook connector for SugarCRM on Sugarforge. Anxious to see how this would improve productivity I loaded the plugin, only to discover that it modifies the core SoapSugarUsers file, causing my other plugin to fail.

Soooo, being a clever man of hacking ability, I decided to make a seperate instance of the SOAP namespace that would authenticate and manage the kinamu plugin as a stand alone. This resolved my problem and allowed both plugins to continue to run. Here is how I did it:

  1. copy soap.php and the soap directory from your root Sugar Installation
  2. rename soap.php to kinamu.php and the soap folder to kinamu
  3. change requires in soap.php to reference the kinamu folder instead of the soap folder.
  4. change all the requires from the files inside kinamu in the same way, referencing the kinamu folder instead of the soap folder.
  5. Take your sugar plugin (in my case i have the community version so it was SugarSOAPCEv1.3.5) and open the manifest file
  6. change the folder references for where the file will go “to” as kinamu instead of soap. Do not change the folder “from” as it refers to the temp location of the loaded installer. re-package the plugin with the new manifest file
  7. Go to the Sugar Admin panel and install the module

There was only one file change I had to make. The new namespace cannot reference a valid ip check, so I commented out that portion of the SoapSugarUsers on line 172

Then install the plugin into Outlook and the connection should work fine. To get outlook properly connected go to tools>Options>KINAMU Connects and the Destination should be : http://[your base url for sugar]/kinamu.php

Hope this helps someone. Let me know.

PHP Date 30 days ahead, from SQL value

This is one of those things that seems like it should be simple, but very few examples are given that are straight forward and easy to follow. There are lots of examples of 30 days ahead of the current date/time, but here is a simple example of getting that data from a database and then calculating the date ahead.

$date = The value of the database from your query
$daysahead = The number of days ahead you want to calulate
$final_date = date(“m/d/Y”, strtotime($date) + (86400 * $daysahead));

echo $final_date;

Explanation:
The date object gets your desired format passed as the first variable, then we invoke strtotime with the database value for the date we are starting with, then add the number of seconds in a  day times the number of days ahead you are looking for. This would also work of course for previous days by changing the “+” to a “-”

Hope this helps someone.

Time…

OK, so I am working on a concept of time that I think makes a lot of sense. In some ways it is very much like an existentialist position but I think as you hear me out it will be more obvious where I am coming from.

We assume that time is a linear reality and that there is both a future and a past. In this reality if we assume that Einstein is correct in his theory of relativity time is movable, changeable and specific to the context of the entity experiencing it. However, while Energy, Mass and the Speed of Light have a specific relationship to each other, we have not conclusively determined that this is the definition of time. In a relativistic world, we must assume that at least theoretically, there are aspects of time that suggest you “could” go back in time, or in some sense go forward into the future. (I will leave out the difficulty for now that the energy exerted on an entity would be nearly infinitely large prior to reaching the speed of light necessary to experience this variance in time.) Thus, if God does exist, He would exist “outside” of time…having created all physicality that can experience time, He would necessarily have to be outside of that realm of creation. Many have argued that this means God would be able at any moment to experience any given second of time. Thus, being outside of time, He could freely move through it. If this is the case, time in the universal sense would be relative to the context in which it is experienced. That is assuming of course that we believe that Einstein is correct in his assessment of the definition of time.

I propose that there is perhaps another way of looking at time; and just being an artist I will have to defer to my friends and others who are more well versed in the theory of relativity and physics of time to prove that I am an idiot, but I think there may be something to this position I have been considering.

What if time is ONLY the present. It is indeed moving along, perhaps even in a linear manner, but that there is no way whatsoever that the past can be reached again. The only moment that exists is present. For those of you reading this that are Christians, yes…I mean for God as well. (Hear screams of blasphemy in the background) In this sense, God IS present in the same way we are present. He does not simultaneously experience time in the future and the past, because it no longer IS in those realms. The only way in which the past exists is in the “residue” of its former present. We know through texts, art, architecture, music and even our own memories and inherited pasts from friends and family that there was a past present, but in no way can it be re-visited in any way.

So my skeptics are now saying, well that does not jive with Einstein in any way. That is correct it does not. However, imagine for just a second that Einstein has not described time by definition but the effects of time on individual bodies of mass in relationship to their place in the universe. In other words, “time” in its truest sense does still progress evenly, however the impact of its passing may differ based on the energy exerted upon a body and its own mass. (and even the impact of gravity on that entity.

In this, we DO see that the way in which we observe reality is “distorting” our concept of the truth in that reality. After all, we can never truly REACH the speed of light, if Einstein is correct. That seems a problem to me in the moveability of time. It expresses the truth of the observation, but ultimately, does not define our understanding of time.

Thoughts? Tell me I’m a fool, I can take it. Thats what the web is for isn’t it?

I will refine and expand as I work out this idea, and get correction. And I will expand it into the impact on theology in a follow up post.

Joomla – JWTS Tabs and Slides : image tabs CSS

For my friends who are not technology folks the title looks like something crazy, for those friends who are geeks, and even more so for those who use Joomla, the title makes perfect sense. So you are in or you are out, either way, it took me quite some time to resolve using images with Joomlaworks’ Tabs and Slides plugin, particularly with regards to IE7 problems. Asa  result, I share my solution with the world. Here is teh entire CSS for the plugin (Joomla 1.5) Just upload images for your tabs. Each onehas a right side which is long to cover any potential width of the tab, and the left is just a small floater to make the shape of the left side.

###############################################################

/*

// JoomlaWorks “Tabs & Slides” Plugin for Joomla! 1.5.x – Version 2.4

// License: http://www.gnu.org/copyleft/gpl.html

// Copyright (c) 2006 – 2008 JoomlaWorks, a Komrade LLC company.

// More info at http://www.joomlaworks.gr

// Developers: Fotis Evangelou

// ***Last update: May 20th, 2008***

*/
/* — Generic — */

a:active,a:focus {outline:0;}

.jwts_clr {clear:both;height:0;line-height:0;}

/*###################START TABS################################*/
.jwts_tabberlive {
margin:1px 0px;
/*padding:0px;*/
}

.jwts_tabberlive .jwts_tabbertab {
margin:0px;
padding:6px;
border:1px solid #bbb;
border-top:0px;
width:600px;
}

.jwts_tabberlive .jwts_tabbertab h2,

.jwts_tabberlive .jwts_tabbertab h3,

.jwts_tabberlive .jwts_tabbertabhide {display:none;}

ul.jwts_tabbernav {
margin:0px;
padding:3px 4px;
list-style:none;
list-style-image:none;
background:none;
border-bottom:1px solid #bbb;
}

ul.jwts_tabbernav li {
padding:3px 0px;
list-style:none;
list-style-image: none;
background: url(tab_right_off.jpg) right top no-repeat;
vertical-align:top;
display:inline;
}

ul.jwts_tabbernav li a,

/*TAB NOT ACTIVE*/

ul.jwts_tabbernav li a:link {
font-size:12px;
font-weight:bold;
padding:3px 4px;
color:#333;
border-bottom:none;
vertical-align:top;
background: url(tab_left_off.jpg) left top no-repeat;
}

ul.jwts_tabbernav li a:visited {color:#333;}

/*TAB HOVER*/
ul.jwts_tabbernav li a:hover {
color:#c64934;
text-decoration:none;
}

ul.jwts_tabbernav li a:active,ul.jwts_tabbernav li a:focus {
outline:0;
}

/*TAB ACTIVE*/
ul.jwts_tabbernav li.jwts_tabberactive a {
background: url(tab_left_on.jpg) left top no-repeat;
border-bottom:1px solid #fff;
padding:3px 4px;
}

ul.jwts_tabbernav li.jwts_tabberactive a:hover {
background: url(tab_left_on.jpg) left top no-repeat;
border-bottom:1px solid #fff;
padding:3px 4px;
text-decoration:none;
}

ul.jwts_tabbernav li.jwts_tabberactive,

ul.jwts_tabbernav li.jwts_tabberinactive {
background: url(tab_right_on.jpg) right top no-repeat;
}

.jwts_tabberlive .jwts_tabbertab,ul.jwts_tabbernav {text-align:left;} /* force content orientation */

/* Additional IE specific bug fixes… */
* html ul.jwts_tabbernav li { /* auto clear, @ IE 6 & IE 7 */
padding:0px 0px;
list-style:none;
list-style-image: none;
background: url(tab_right_off.jpg) right top no-repeat;
vertical-align:top;
display:inline;
}

/*###########END TABS##########################################*/

/* — Slides — */

.jwts_slider {margin:4px 0px;padding:0px;}

.jwts_slidewrapper {border:none;width:100%;visibility:hidden;height:0px;overflow:hidden;position:relative;margin:0;padding:0;}

/* DEFAULT STYLING */

.jwts_title {margin:0 0 1px 0;padding:0px;overflow:hidden;background:url(slide_bg_r.png) no-repeat right;cursor:pointer;}

.jwts_title_left {background:url(slide_bg_l.png) no-repeat left;margin:0 10px 0 0;}

a.jwts_title_text,

a.jwts_title_text:link {display:block;background:url(star.png) no-repeat;background-position:0px 2px;padding:0 2px 0 20px;margin:0 0 0 8px;line-height:22px;font-size:12px;font-weight:bold;text-decoration:none;color:#444;}

a.jwts_title_text:visited {color:#444;}

a.jwts_title_text:hover {display:block;background:transparent url(star.png) no-repeat;background-position:0px 2px;padding:0 2px 0 20px;margin:0 0 0 8px;line-height:22px;font-size:12px;font-weight:bold;text-decoration:none;color:#c64934;}

.jwts_slidecontent {padding:4px 12px 8px 12px;margin:0px;position:relative;background:none;border:none;}

.jwts_title_left,.jwts_slidecontent {text-align:left;} /* force content orientation */

###############################################################

Interconnectivity – Exanded thought on Alex’s blog


RELEVANT MAG ARTICLE

Here is my deal with this….If we leave it at the Church following and understanding culture instead of the church CREATING culture we will always be behind the curve. Post freakin Modernism is more than 20 years old now. There is a new age of interconnectivity which reaches beyond the paradigm of reactionary relativism. There is a new understanding of the subjective that is in relationship to the mass of other subjectives around you. Notice this is NOT the objective…NONE of these are necessarily true or objective, but rather a collection of the subjective.

Many folks will mistake this for “collective” truth, or the objective, but it is not. It is more like the Borg.

Hope this rant made a little sense.

Joomla 1.5 Hide “Written By”

OK, being a long time Joomla/mambo enthusiast it took me a while to get this one down and understand how Joomla 1.5 handles the parameters for Written By, Date Written, etc.

Joomla 1.5 thinks about these parameters a couple fo different ways:

1. Go to Article Manager and then go to Parameters on the toolbar (top right) Set these paramters to what you prefer. (This is the equivalent to the Global settings in previous versions)

2. J1.5 also builds links in the menu manager with defaults for certain types of links. For example, if you build a menu item that is a blog type, it will auto build the menu itemto show written by, etc. Therefore, select the item, then set the parameters on that item as well. This is also true of teh default Front Page link. therefore, go into the menu manager and edit the paramters for the Home Page menu item and you can then hide the Written By on the Front Page as well.

The Front page was teh one that originally really stumped me, so home this helps others.

Joomla 1.5 Upload Errors – Plesk

Just recently ran into an issue with extension uploads on Joomla 1.5.x on a Windows Plesk server. The host was Lunarpages.

While there are lots of posts on this issue trying to implicate the php version etc. The issue really came down to permissions plus the tmp and logs dir path. Most host providers will tell you that the tmp dir should be the relative root for the site, however on plesk there must be a complete server dir path for these two settings in the Global Configurations section of the administrator settings:

Log in to the Administrator section of the site.

Click on Global Configuration

Click on the server tab.

Under Path to TMP folder put: “D:\Inetpub\vhosts\mywebsite.com\subdomains\mysubdomain\httpdocs\tmp”

Click on the system tab

Under Path to Log Folder put:”D:\Inetpub\vhosts\mywebsite.com\subdomains\mysubdomain\httpdocs\logs”

Hope this helps others. leave a comment if it does!