See
http://lists.horde.org/archives/ingo/Week-of-Mon-20070528/001345.html
First copy your existing Ingo directory to a directory with the new name. Change to horde base directory, then run:
cp -R ingo imgo cd imgo
Then replace all occurences of the "Ingo" string with a new name, we use "Imgo" as an example here.
If you have the replace command installed, that comes with the MySQL clients, you can simply run:
replace Ingo Imgo ingo imgo INGO IMGO -- `find . -type f`
Otherwise you can for example run:
perl -p -i -e "s/Ingo/Imgo/g" * * perl -p -i -e "s/ingo/imgo/g" * * perl -p -i -e "s/INGO/IMGO/g" * * cd lib perl -p -i -e "s/Ingo/Imgo/g" * * perl -p -i -e "s/ingo/imgo/g" * * perl -p -i -e "s/INGO/IMGO/g" * * cd Script perl -p -i -e "s/Ingo/Imgo/g" * * perl -p -i -e "s/ingo/imgo/g" * * perl -p -i -e "s/INGO/IMGO/g" * * cd .. cd Driver perl -p -i -e "s/Ingo/Imgo/g" * * perl -p -i -e "s/ingo/imgo/g" * * perl -p -i -e "s/INGO/IMGO/g" * * cd .. cd Storage perl -p -i -e "s/Ingo/Imgo/g" * * perl -p -i -e "s/ingo/imgo/g" * * perl -p -i -e "s/INGO/IMGO/g" * * cd ../../ cd templates perl -p -i -e "s/Ingo/Imgo/g" * * perl -p -i -e "s/ingo/imgo/g" * * perl -p -i -e "s/INGO/IMGO/g" * * cd rule perl -p -i -e "s/Ingo/Imgo/g" * * perl -p -i -e "s/ingo/imgo/g" * * perl -p -i -e "s/INGO/IMGO/g" * * cd ../../ cd lib/Driver perl -p -i -e "s/Ingo/Imgo/g" * * perl -p -i -e "s/ingo/imgo/g" * * perl -p -i -e "s/INGO/IMGO/g" * * cd ../../
There may be a better way of finding and replacing words in all the subfolders, please feel free to edit this page and put that method here.
Yes there is a better way. :)
# find ./ -type f -exec perl -pi -e 's/Ingo/Imgo/g' {} ; # find ./ -type f -exec perl -pi -e 's/ingo/imgo/g' {} ; # find ./ -type f -exec perl -pi -e 's/INGO/IMGO/g' {} ;
Copy Ingo's icon using the new name:
cp imgo/themes/graphics/ingo.png imgo/themes/graphics/imgo.png
Edit imgo/config/backend.php for the backend to use for the second ingo.
I have used imap in the first ingo and procmail in imgo.
Edit horde/config/registry.php and add the following below ingo:
$this->applications['imgo'] = array( 'fileroot' => dirname(__FILE__) . '/../imgo', 'webroot' => $this->applications['horde']['webroot'] . '/imgo', 'name' => _("Mail Actions"), 'status' => 'active', 'menu_parent' => 'imp' );
Now you would be able to use two filter backends. In case you want more, you can always make one more copy of ingo.
Jigish