<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Juhana Hirvilahti</title>
    <link>http://blogs.nemein.com/people/juhana/diary/</link>
    <description>Midgard diary by Juhana Hirvilahti</description>
          <language>en</language>
              <webMaster>juhana.hirvilahti@nemein.com</webMaster>
        <dc:title>Juhana Hirvilahti</dc:title>
    <generator>Midgard Components Framework - de.linkm.newsticker</generator>
    <item>
        <dc:subject>New component net.nemein.bookmarks</dc:subject>
        <title>New component net.nemein.bookmarks</title>
        <link>http://blogs.nemein.com/people/juhana/diary/bookmarks.html</link>
        <guid isPermaLink="true">http://blogs.nemein.com/people/juhana/diary/bookmarks.html</guid>
        <pubDate>Tue, 19 Apr 2005 17:27:56 +0300</pubDate>
                  <dc:creator>Juhana Hirvilahti</dc:creator>
                <description>
One of my goals in the Midgard Workshop last weekend was to get my first Midcom component net.nemein.bookmarks ready and in cvs by the end of the weekend. As you might guess I managed to do it and n.n.bookmarks can be found in cvs. If you want to see it in action Bergie is running net.nemein.bookmarks at hes blog site.
The component it self is a lot like http://del.icio.us which is a social bookmark manager that allows you to share your bookmarks with other people. Actually the idea was to make it exactly the same so that it would easily be possible to sync bookmarks from n.n.bookmarks with http://del.icio.us. 
Adding a new bookmark is very easy if you have dragged a bookmarklet from admin page to your browsers toolbar. Just surf around internet and when you find an interesting page just click &amp;quot;Post to net.nemein.bookmarks&amp;quot; from the browsers toolbar and you will be redirected to a page for entering some additional info like a tag(category) to the bookmark. After submiting you'll get redirected back to the page you just bookmarked.
I'm planing to make some new features to the component in the near future. One of them is an RSS feed of the latest bookmarks which shoulden't be a big deal and the secound one is to make the syncing with http://del.icio.us cron runnable so that you don't need to worry about doing it manualy. I'm also trying to find out if it's possible to sync bookmarks with Firefox.</description>
        <content:encoded><![CDATA[
<p>One of my goals in the <a href="http://www.midgard-project.org/updates/midgard-workshop-apr-2005.html" target="_blank" title="Midgard Workshop in Pickala Finland">Midgard Workshop</a> last weekend was to get my first Midcom component net.nemein.bookmarks ready and in cvs by the end of the weekend. As you might guess I managed to do it and n.n.bookmarks can be found in cvs. If you want to see it in action <a title="Bergies blog" target="_blank" href="http://bergie.iki.fi">Bergie</a> is running <a title="net.nemein.bookmarks in action" target="_blank" href="http://bergie.iki.fi/links/">net.nemein.bookmarks</a> at hes blog site.</p>
<p>The component it self is a lot like <a href="http://del.icio.us" target="_blank" title="Delicious">http://del.icio.us</a> which is a social bookmark manager that allows you to share your bookmarks with other people. Actually the idea was to make it exactly the same so that it would easily be possible to sync bookmarks from n.n.bookmarks with <a title="Delicious" target="_blank" href="http://del.icio.us">http://del.icio.us</a>. <br /></p>
<p>Adding a new bookmark is very easy if you have dragged a bookmarklet from admin page to your browsers toolbar. Just surf around internet and when you find an interesting page just click &quot;Post to net.nemein.bookmarks&quot; from the browsers toolbar and you will be redirected to a page for entering some additional info like a tag(category) to the bookmark. After submiting you'll get redirected back to the page you just bookmarked.<br /></p>
<p>I'm planing to make some new features to the component in the near future. One of them is an RSS feed of the latest bookmarks which shoulden't be a big deal and the secound one is to make the syncing with <a title="Delicious" target="_blank" href="http://del.ikio.us">http://del.icio.us</a> cron runnable so that you don't need to worry about doing it manualy. I'm also trying to find out if it's possible to sync bookmarks with <a title="The browser to use" target="_blank" href="http://www.firefox.com">Firefox</a>.<br /></p>]]></content:encoded>
        <category>CMS</category>
            </item>
    <item>
        <dc:subject>Midgard Mac OS X 10.3.7 installation</dc:subject>
        <title>Midgard Mac OS X 10.3.7 installation</title>
        <link>http://blogs.nemein.com/people/juhana/diary/midgard_mac_os_x_10_3_7_installation.html</link>
        <guid isPermaLink="true">http://blogs.nemein.com/people/juhana/diary/midgard_mac_os_x_10_3_7_installation.html</guid>
        <pubDate>Fri, 21 Jan 2005 01:49:43 +0200</pubDate>
                  <dc:creator>Juhana Hirvilahti</dc:creator>
                <description>
Preparations************Installed mysql via fink$ export PATH=$PATH:/sw/bin$ sudo /sw/bin/apt-get update$ sudo /sw/bin/apt-get install mysql$ sudo /sw/bin/apt-get install mysql12-devInstalled expat via fink$ sudo /sw/bin/apt-get install expatInstalled glib via fink$ sudo /sw/bin/apt-get install glib$ sudo /sw/bin/apt-get install glib2Installed gettext via fink$ sudo /sw/bin/apt-get install gettextInstaalled dialog via fink$ sudo /sw/bin/apt-get install dialogAfter hours an hours of trying to figure everything out I found out thatthere is a know issue with the Mac OS X packages not supporting dynamic libraries very well, so I compiled Apache2 from source and did the same thing with php.Installed Apache-2.0.52 from source$ ./configure --prefix=/usr/local/apache2 \--enable-module=so \--sysconfdir=/usr/local/apache2/conf \--libexecdir=/usr/local/apache2/libexec $ make$ sudo make installInstalled php-4.3.10 from source$ ./configure --prefix=/usr/local/php \--with-mysql=/sw \--with-apxs2=/usr/local/apache/bin/apxs \--with-iconv=/sw \--with-iconv-dir=/sw \--with-exif \--with-xml$ make$ sudo make install$ sudo cp php.ini-dist /usr/local/php/lib/php.ini$ sudo /usr/local/apache2/bin/apachectl startAdded these lines to my httpd.conf:AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps$ sudo /usr/local/apache2/bin/apachectl startPlaced a small script () to my document root to see if php is working properly.  So far so good! At this point I made sure everything was nice and cozy for Midgard.The fun part starts here...midgard-core************$ ./configure --prefix=/usr/local/midgard --with-mysql=/sw$ make$ sudo make installmidgard-apache2***************$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs \--with-midgard-config=/usr/local/midgard/bin/midgard-config$ make$ sudo make installmidgard-php4************$ sudo ./mkall --with-apxs=/usr/local/apache2/bin/apxs \--with-apr-config=/sw/bin/apr-config \--with-midgard=/usr/local/midgard/bin/midgard-config\--with-php-config=/usr/local/php/bin/php-configAdded these to my php.ini:extension=midgard.soregister_globals=onmidgartd-data*************$ sudo mkdir /usr/local/midgard/blobs$ sudo chown nobody:noboby /usr/local/midgard/blobs$ ./configure --with-apache-user=nobody \--with-apache-group=nobody \--with-blobdir=/usr/local/midgard/blobs \--with-apxs=/usr/local/apache2/bin/apxs--with-midgard-config=/usr/local/midgard/bin/midgard-config$ sudo make installDatagard needs to be ran twice. The first time for installing database and the second time for importin Aegir, Midcom, Spider-admin...and so on...$ sudo /usr/local/midgard/bin/datagard/datagardSomething that has to be done$ sudo chown nobody:nobody /usr/local/midgard/var/cache/midgard$ sudo chmod 0771 /usr/local/midgard/var/cache/midgard$ sudo /usr/local/apache2/bin/apachectl restartVoila...I have Midgard on my Mac OS XHelppoo ku heinän teko!</description>
        <content:encoded><![CDATA[
Preparations<br />************<br /><br />Installed mysql via fink<br />$ export PATH=$PATH:/sw/bin<br />$ sudo /sw/bin/apt-get update<br />$ sudo /sw/bin/apt-get install mysql<br />$ sudo /sw/bin/apt-get install mysql12-dev<br /><br />Installed expat via fink<br />$ sudo /sw/bin/apt-get install expat<br /><br /><br />Installed glib via fink<br />$ sudo /sw/bin/apt-get install glib<br />$ sudo /sw/bin/apt-get install glib2<br /><br />Installed gettext via fink<br />$ sudo /sw/bin/apt-get install gettext<br /><br />Instaalled dialog via fink<br />$ sudo /sw/bin/apt-get install dialog<br /><br />After hours an hours of trying to figure everything out I found out that<br />there is a know issue with the Mac OS X packages not supporting dynamic libraries very well, so I compiled Apache2 from source and did the same thing with php.<br /><br />Installed Apache-2.0.52 from source<br />$ ./configure --prefix=/usr/local/apache2 \<br />--enable-module=so \<br />--sysconfdir=/usr/local/apache2/conf \<br />--libexecdir=/usr/local/apache2/libexec <br />$ make<br />$ sudo make install<br /><br />Installed php-4.3.10 from source<br />$ ./configure --prefix=/usr/local/php \<br />--with-mysql=/sw \<br />--with-apxs2=/usr/local/apache/bin/apxs \<br />--with-iconv=/sw \<br />--with-iconv-dir=/sw \<br />--with-exif \<br />--with-xml<br />$ make<br />$ sudo make install<br />$ sudo cp php.ini-dist /usr/local/php/lib/php.ini<br />$ sudo /usr/local/apache2/bin/apachectl start<br /><br />Added these lines to my httpd.conf:<br />AddType application/x-httpd-php .php<br />AddType application/x-httpd-php-source .phps<br /><br />$ sudo /usr/local/apache2/bin/apachectl start<br /><br />Placed a small script () to my document root to see if php is working properly.<br />  <br /><br />So far so good! At this point I made sure everything was nice and cozy for Midgard.<br /><br />The fun part starts here...<br /><br />midgard-core<br />************<br /><br />$ ./configure --prefix=/usr/local/midgard --with-mysql=/sw<br />$ make<br />$ sudo make install<br /><br />midgard-apache2<br />***************<br />$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs \<br />--with-midgard-config=/usr/local/midgard/bin/midgard-config<br />$ make<br />$ sudo make install<br /><br />midgard-php4<br />************<br /><br />$ sudo ./mkall --with-apxs=/usr/local/apache2/bin/apxs \<br />--with-apr-config=/sw/bin/apr-config \<br />--with-midgard=/usr/local/midgard/bin/midgard-config\<br />--with-php-config=/usr/local/php/bin/php-config<br /><br />Added these to my php.ini:<br />extension=midgard.so<br />register_globals=on<br /><br />midgartd-data<br />*************<br /><br />$ sudo mkdir /usr/local/midgard/blobs<br />$ sudo chown nobody:noboby /usr/local/midgard/blobs<br />$ ./configure --with-apache-user=nobody \<br />--with-apache-group=nobody \<br />--with-blobdir=/usr/local/midgard/blobs \<br />--with-apxs=/usr/local/apache2/bin/apxs<br />--with-midgard-config=/usr/local/midgard/bin/midgard-config<br />$ sudo make install<br /><br />Datagard needs to be ran twice. The first time for installing database and the second time for importin Aegir, Midcom, Spider-admin...and so on...<br />$ sudo /usr/local/midgard/bin/datagard/datagard<br /><br />Something that has to be done<br />$ sudo chown nobody:nobody /usr/local/midgard/var/cache/midgard<br />$ sudo chmod 0771 /usr/local/midgard/var/cache/midgard<br /><br />$ sudo /usr/local/apache2/bin/apachectl restart<br /><br />Voila...I have Midgard on my Mac OS X<br /><br />Helppoo ku heinän teko!]]></content:encoded>
        <category>Business</category>
            </item>
    <item>
        <dc:subject>Santa gave me an iBook</dc:subject>
        <title>Santa gave me an iBook</title>
        <link>http://blogs.nemein.com/people/juhana/diary/santa_gave_me_an_ibook.html</link>
        <guid isPermaLink="true">http://blogs.nemein.com/people/juhana/diary/santa_gave_me_an_ibook.html</guid>
        <pubDate>Sat, 15 Jan 2005 01:03:40 +0200</pubDate>
                  <dc:creator>Juhana Hirvilahti</dc:creator>
                <description>
Yeah its true, Santa gave me a brand new iBook today...can you belive that. My old Omnibook was getting a bit too cranky with all the strange noises coming out of it and the fact that the new Ubuntu distribution Warty was running way too slow on it. I also didn't quite like the battery that lasted for like 30 sec without the power supply being attached.  Old laptops just are like that, I guess. Well anyway I'm very pleased with my new toy and installing some software on it as we speak. I think I might even install Ubuntu on it later. Just hoping it's not a big pain in the ass to install Midgard on it...Bergie told me it's easy so everything should be ok.Err...I have to learn to type with this strange Apple keyboard...=) </description>
        <content:encoded><![CDATA[
Yeah its true, <a href="http://bergie.iki.fi" title="Santa">Santa</a> gave me a brand new iBook today...can you belive that. My old Omnibook was getting a bit too cranky with all the strange noises coming out of it and the fact that the new <a href="http://www.ubuntulinux.org" title="Ubuntu">Ubuntu</a> distribution Warty was running way too slow on it. I also didn't quite like the battery that lasted for like 30 sec without the power supply being attached.  Old laptops just are like that, I guess. <br /><br />Well anyway I'm very pleased with my new toy and installing some software on it as we speak. I think I might even install <a href="http://www.ubuntulinux.org" title="Ubuntu">Ubuntu</a> on it later. Just hoping it's not a big pain in the ass to install <a href="http://www.midgard-project.org" title="Midgard">Midgard</a> on it...<a href="http://bergie.iki.fi" title="Bergie">Bergie</a> told me it's easy so everything should be ok.<br /><br />Err...I have to learn to type with this strange <a href="http://www.apple.com" title="Apple">Apple</a> keyboard...=) <br />]]></content:encoded>
        <category>Business</category>
            </item>
    <item>
        <dc:subject>Back in the office</dc:subject>
        <title>Back in the office</title>
        <link>http://blogs.nemein.com/people/juhana/diary/back_in_the_office.html</link>
        <guid isPermaLink="true">http://blogs.nemein.com/people/juhana/diary/back_in_the_office.html</guid>
        <pubDate>Fri, 10 Dec 2004 17:15:36 +0200</pubDate>
                  <dc:creator>Juhana Hirvilahti</dc:creator>
                <description>
I haven't been blogging for a long time and the reason is that I have been mainly studying. However I have done some development on net.nemein.discussion which unfortunately was accidently destroyed by Torben. No hard feelings man, these things happen although they shouldn't happen.The reason I'm blogging now is that I'm back in the office as we speak and ready to start working for Nemein again.  As a part of my degree I will be a full time employee for the next 9 months and looking forward to work with Midgard and the people behind it. So I guess you will be hearing from me again in the near future.The last summer was a great learning experience for me and I'm expecting the next 9 months to be  even better, I know it will be. What could go wrong? Yeah right...*&amp;lt;;-)Merry xmas to all of you!
</description>
        <content:encoded><![CDATA[
I haven't been blogging for a long time and the reason is that I have been mainly studying. However I have done some development on net.nemein.discussion which unfortunately was accidently destroyed by Torben. No hard feelings man, these things happen although they shouldn't happen.<br /><br />The reason I'm blogging now is that I'm back in the office as we speak and ready to start working for Nemein again.  As a part of my degree I will be a full time employee for the next 9 months and looking forward to work with Midgard and the people behind it. So I guess you will be hearing from me again in the near future.<br /><br />The last summer was a great learning experience for me and I'm expecting the next 9 months to be  even better, I know it will be. What could go wrong? Yeah right...*&lt;;-)<br /><br />Merry xmas to all of you!<br />
]]></content:encoded>
    </item>
    <item>
        <dc:subject>Still alive...</dc:subject>
        <title>Still alive...</title>
        <link>http://blogs.nemein.com/people/juhana/diary/2004-07-28-000.html</link>
        <guid isPermaLink="true">http://blogs.nemein.com/people/juhana/diary/2004-07-28-000.html</guid>
        <pubDate>Wed, 28 Jul 2004 18:38:49 +0300</pubDate>
                  <dc:creator>Juhana Hirvilahti</dc:creator>
                <description>

Its been a while since my last blog but don't worry I'm still around. The thing is that I have just been working and completely forgotten to blog...=) Anyway I'm happy with my Midgard experience so far and the fact that at this point I'm doing mostly profitable work instead of just improving myself. It's good for the company and for me as well. I'm mostly doing things on my own now and if I get in trouble I just call Kaukola and ask him for an advise.When there's nothing else to do I have been making some changes to the MidCOM component net.nemein.simpledb. Bergie wanted to add some functionalities and apparently I'm the right man for the job.The new features:
-Show the amount of entries found
-Sort by a desired column
-Delete attachments when an entry is deleted
-Title all untitled entries as &amp;quot;Untitled&amp;quot;In order to get the sorting done I had to make some radical changes to the component and now there's a problem with showing attachments. I just hope it's something I can figure out...Today I was building a new website for Nemein with a nice XHTML/CSS layout made by a talented graphical designer Lasse Larvanko. I had absolutely no problems fiting things into the layout. Hopefully the new site will be ready to be unleashed as soon as possible.</description>
        <content:encoded><![CDATA[

Its been a while since my last blog but don't worry I'm still around. The thing is that I have just been working and completely forgotten to blog...=) Anyway I'm happy with my <a href="http://midgard-project.org/">Midgard</a> experience so far and the fact that at this point I'm doing mostly profitable work instead of just improving myself. It's good for the company and for me as well. I'm mostly doing things on my own now and if I get in trouble I just call <a href="http://www.kaukolaweb.com/">Kaukola</a> and ask him for an advise.<br /><br />When there's nothing else to do I have been making some changes to the <a href="http://www.midgard-project.org/projects/midcom/">MidCOM</a> component net.nemein.simpledb. <a href="http://bergie.iki.fi/">Bergie</a> wanted to add some functionalities and apparently I'm the right man for the job.<br /><br />The new features:<br />
-Show the amount of entries found<br />
-Sort by a desired column<br />
-Delete attachments when an entry is deleted<br />
-Title all untitled entries as &quot;Untitled&quot;<br /><br />In order to get the sorting done I had to make some radical changes to the component and now there's a problem with showing attachments. I just hope it's something I can figure out...<br /><br />Today I was building a new website for <a href="http://www.nemein.com/">Nemein</a> with a nice XHTML/CSS layout made by a talented graphical designer <a href="http://www.lasselarvanko.com/">Lasse Larvanko</a>. I had absolutely no problems fiting things into the <a href="http://www.lasselarvanko.com/nemein/">layout</a>. Hopefully the new site will be ready to be unleashed as soon as possible.<br /><br /><br />]]></content:encoded>
    </item>
    <item>
        <dc:subject>Search engine</dc:subject>
        <title>Search engine</title>
        <link>http://blogs.nemein.com/people/juhana/diary/2004-07-12-000.html</link>
        <guid isPermaLink="true">http://blogs.nemein.com/people/juhana/diary/2004-07-12-000.html</guid>
        <pubDate>Mon, 12 Jul 2004 22:03:22 +0300</pubDate>
                  <dc:creator>Juhana Hirvilahti</dc:creator>
                <description>
These past two days I have been working on a search engine for news. This energy consultancy I made the search engine for has a huge amount of news or rather reports and well you know how it goes...they want a search engine and I know how to make one. My first search engine with Midgard.As I have previously explained I added two multiselect fields to the schema for some keywords to be added to parameters. These keywords are then used in the search. There is two selections for the keywords and a normal text input field for searching a word in the content.I used these Midgard functions in the search engine:mgd_get_object_by_guid()mgd_list_topic_articles()mgd_list_topics()
I most likely forgot a function or two from that list...doesn't really matter does it? The main thing is that the search engine seems to be working as it should, I'm happy with it and I did learn things during the process. 


</description>
        <content:encoded><![CDATA[
These past two days I have been working on a search engine for news. This energy consultancy I made the search engine for has a huge amount of news or rather reports and well you know how it goes...they want a search engine and I know how to make one. My first search engine with <a href="http://www.midgard-project.org/">Midgard</a>.<br /><br />As I have previously explained I added two multiselect fields to the schema for some keywords to be added to parameters. These keywords are then used in the search. There is two selections for the keywords and a normal text input field for searching a word in the content.<br /><br />I used these <a href="http://www.midgard-project.org/">Midgard</a> functions in the search engine:<br /><p style="color: rgb(0, 0, 0);"><a href="http://www.midgard-project.org/documentation/reference/object/mgd_get_object_by_guid">mgd_get_object_by_guid()</a><br /><a href="http://www.midgard-project.org/documentation/reference/articles/functions/mgd_list_topic_articles">mgd_list_topic_articles()</a><span style="font-family: monospace;"><br /></span><a href="http://www.midgard-project.org/documentation/reference/topic/functions/mgd_list_topics">mgd_list_topics()</a><br /></p>
<p style="color: rgb(0, 0, 0);">I most likely forgot a function or two from that list...doesn't really matter does it? The main thing is that the search engine seems to be working as it should, I'm happy with it and I did learn things during the process. <br /></p>
<p style="color: rgb(0, 0, 0);"><br /></p>
<br />
]]></content:encoded>
    </item>
    <item>
        <dc:subject>Email spammer</dc:subject>
        <title>Email spammer</title>
        <link>http://blogs.nemein.com/people/juhana/diary/2004-06-29-000.html</link>
        <guid isPermaLink="true">http://blogs.nemein.com/people/juhana/diary/2004-06-29-000.html</guid>
        <pubDate>Tue, 29 Jun 2004 21:25:09 +0300</pubDate>
                  <dc:creator>Juhana Hirvilahti</dc:creator>
                <description>
I had some good time trying to fix an email spammer today. It seems like it broke when we last time added some new functionalities to it about a week ago but I actually didn't find anything funny about that code and it shouldn't be a problem. Instead I found a lot to fix all around the script...=)It's an email spammer that sends a notice about updated topics to people that order them and checks also that the people ordering these notices have access to the topics. Anyway the point is that there was a lot of legacy code in there and most of the time I was just trying to understand the guy that wrote the code. The original code was written by Henri Hovi and then &amp;quot;copy, paste, rewritten&amp;quot; by Bergie and finally rewritten by Kaukola and he propably did some copying and pasting too...well it sure seemd like it. Now it's my time to try and make it better or more like making it work in the first place.I think I did manage to make it work for now...and I surely hope it will stay that way. There however is still things in the code that need fixing and I have the feeling that it will be me doing it...=)
</description>
        <content:encoded><![CDATA[
I had some good time trying to fix an email spammer today. It seems like it broke when we last time added some new functionalities to it about a week ago but I actually didn't find anything funny about that code and it shouldn't be a problem. Instead I found a lot to fix all around the script...=)<br /><br />It's an email spammer that sends a notice about updated topics to people that order them and checks also that the people ordering these notices have access to the topics. Anyway the point is that there was a lot of legacy code in there and most of the time I was just trying to understand the guy that wrote the code. <br /><br />The original code was written by Henri Hovi and then &quot;copy, paste, rewritten&quot; by <a href="http://www.bergie.iki.fi/">Bergie</a> and finally rewritten by <a href="http://www.kaukolaweb.com/">Kaukola</a> and he propably did some copying and pasting too...well it sure seemd like it. Now it's my time to try and make it better or more like making it work in the first place.<br /><br />I think I did manage to make it work for now...and I surely hope it will stay that way. There however is still things in the code that need fixing and I have the feeling that it will be me doing it...=)<br /><br /><br />
]]></content:encoded>
    </item>
    <item>
        <dc:subject>Bubbly bubble</dc:subject>
        <title>Bubbly bubble</title>
        <link>http://blogs.nemein.com/people/juhana/diary/2004-06-23-000.html</link>
        <guid isPermaLink="true">http://blogs.nemein.com/people/juhana/diary/2004-06-23-000.html</guid>
        <pubDate>Wed, 23 Jun 2004 20:11:06 +0300</pubDate>
                  <dc:creator>Juhana Hirvilahti</dc:creator>
                <description>

By now you all propably know that Nemein's website is being redesigned with a talented graphical gesigner Lasse Larvanko. And well it naturally conserns me too so today I did my part for the new site...though I'v got a feeling that there will be more, which is nice. I hope it will be something with Midgard because really I need the practice.We were discussing the new layout yeterday and there are these round images here and there that we call &amp;quot;bubbles&amp;quot;. We like dynamic things so there is no chance we are going to make the &amp;quot;bubbles&amp;quot; one by one with Gimp, especially if they are changing every month or something. I had made some image manipulation with PHP previously so Bergie gave me the job to write a script that makes the so called &amp;quot;bubbles&amp;quot;. The first version is ready now and I think it does the things we wanted it to go except for a little matter with resampling an image that has transparent areas. I don't know if this is a bug in PHP or am I doing something wrong but doing &amp;quot;imagecopyresampled()&amp;quot; and &amp;quot;imagecolortransparent()&amp;quot; on the same image doesn't work the way it should...//This creates the bubblefunction bubble ($path,$widht,$height) {	$img = $this-&amp;gt;loadpng($path);	//$img = $this-&amp;gt;resample($img,$widht,$height);	$diameter = $this-&amp;gt;diameter($img);	$border = imagecolorallocate($img,100,100,100);	$frame = imagecolorallocate($img,200,50,60);	$cx = $this-&amp;gt;sweetspot($img, &amp;quot;x&amp;quot;);	$cy = $this-&amp;gt;sweetspot($img, &amp;quot;y&amp;quot;);		imageellipse($img,$cx,$cy,$diameter,$diameter,$border);	imagefilltoborder($img,0,0,$border,$frame);	imagecolortransparent($img, $frame);	return $img;}I'll continue figuring it out...</description>
        <content:encoded><![CDATA[

By now you all propably know that <a href="http://www.nemein.com/">Nemein's</a> website is being <a href="http://www.bergie.iki.fi/blog/2004/2004-06-23-000.html">redesigned</a> with a talented graphical gesigner <a href="http://www.lasselarvanko.com/">Lasse Larvanko</a>. And well it naturally conserns me too so today I did my part for the new site...though I'v got a feeling that there will be more, which is nice. I hope it will be something with <a href="http://www.midgard-project.org/">Midgard</a> because really I need the practice.<br /><br />We were discussing the new layout yeterday and there are these round images here and there that we call &quot;bubbles&quot;. We like dynamic things so there is no chance we are going to make the &quot;bubbles&quot; one by one with <a href="http://www.gimp.org/">Gimp</a>, especially if they are changing every month or something. I had made some image manipulation with <a href="http://www.php.net/">PHP</a> previously so <a href="http://www.bergie.iki.fi/">Bergie</a> gave me the job to write a script that makes the so called &quot;bubbles&quot;. <br /><br />The first version is ready now and I think it does the things we wanted it to go except for a little matter with resampling an image that has transparent areas. I don't know if this is a bug in <a href="http://www.php.net/">PHP</a> or am I doing something wrong but doing &quot;<a href="http://www.php.net/manual/en/function.imagecopyresampled.php">imagecopyresampled()</a>&quot; and &quot;<a href="http://www.php.net/manual/en/function.imagecolortransparent.php">imagecolortransparent()</a>&quot; on the same image doesn't work the way it should...<br /><pre>//This creates the bubble<br />function bubble ($path,$widht,$height) {<br />	$img = $this-&gt;loadpng($path);<br />	//$img = $this-&gt;resample($img,$widht,$height);<br />	$diameter = $this-&gt;diameter($img);<br />	$border = imagecolorallocate($img,100,100,100);<br />	$frame = imagecolorallocate($img,200,50,60);<br />	$cx = $this-&gt;sweetspot($img, &quot;x&quot;);<br />	$cy = $this-&gt;sweetspot($img, &quot;y&quot;);	<br />	imageellipse($img,$cx,$cy,$diameter,$diameter,$border);<br />	imagefilltoborder($img,0,0,$border,$frame);<br />	imagecolortransparent($img, $frame);<br />	return $img;<br />}</pre>I'll continue figuring it out...<br />]]></content:encoded>
    </item>
    <item>
        <dc:subject>OpenPSA Tech Support initialization</dc:subject>
        <title>OpenPSA Tech Support initialization</title>
        <link>http://blogs.nemein.com/people/juhana/diary/2004-06-22-000.html</link>
        <guid isPermaLink="true">http://blogs.nemein.com/people/juhana/diary/2004-06-22-000.html</guid>
        <pubDate>Tue, 22 Jun 2004 09:44:57 +0300</pubDate>
                  <dc:creator>Juhana Hirvilahti</dc:creator>
                <description>

Today I was initializing the OpenPSA Support-module. I had some really good time doing it...=) So here is what I did and it even works..which is nice.Created these topics and articles:Topic: __TechSupport (owner=Nemein.Net User)Topic: __TechSupport_Config (owner=Nemein Oy administrators group) Article: ConfigurationIn the &amp;quot;Configuration&amp;quot; I wrote this: $techsupport[lock_timeout]=300; //5 minutes $techsupport[TT][timeformat]=&amp;quot;d M Y G:i&amp;quot;; $techsupport[TN][timeformat]=&amp;quot;d M y G:i&amp;quot;; $techsupport[confirmCustomerEmailSend]=1; $techsupport[autoQuoteTicket]=1; $techsupport[hidefields][crmcompany]=1; //Field not implemented in editor yet $techsupport[hidefields][idstring]=1; //Save some space in the list
And in the __TechSupport_Config I created these topics:Type, Target, Priority, Severity, Publicity and just added the targets we needed.It's very important to set the TechSupportACL parameters to the Nemein.Net Users group, otherwise there wont be a toolbar at all.I set these parameters to the __Nemein.Net Users:TechSupportACL, create, 1TechSupportACL, modify_all, 2TechSupportACL, modify_own, 2TechSupportACL, view_details_all, 2TechSupportACL, view_details_own, 2TechSupportACL, view_list_all, 1TechSupportACL, view_list_own,1</description>
        <content:encoded><![CDATA[

<p>Today I was initializing the OpenPSA Support-module. I had some really good time doing it...=) So here is what I did and it even works..which is nice.<br /><br />Created these topics and articles:</p>Topic: __TechSupport (owner=Nemein.Net User)<br />Topic: __TechSupport_Config (owner=Nemein Oy administrators group)<br /> Article: Configuration<br /><br />In the &quot;Configuration&quot; I wrote this:<br /><pre> $techsupport[lock_timeout]=300; //5 minutes<br /> $techsupport[TT][timeformat]=&quot;d M Y G:i&quot;;<br /> $techsupport[TN][timeformat]=&quot;d M y G:i&quot;;<br /><br /> $techsupport[confirmCustomerEmailSend]=1;<br /> $techsupport[autoQuoteTicket]=1;<br /><br /> $techsupport[hidefields][crmcompany]=1; //Field not implemented in editor yet<br /> $techsupport[hidefields][idstring]=1; //Save some space in the list</pre>
<br />And in the __TechSupport_Config I created these topics:<br /><br />Type, Target, Priority, Severity, Publicity and just added the targets we needed.<br /><br />It's very important to set the TechSupportACL parameters to the Nemein.Net Users group, otherwise there wont be a toolbar at all.<br /><br />I set these parameters to the __Nemein.Net Users:<br /><br />TechSupportACL, create, 1<br />TechSupportACL, modify_all, 2<br />TechSupportACL, modify_own, 2<br />TechSupportACL, view_details_all, 2<br />TechSupportACL, view_details_own, 2<br />TechSupportACL, view_list_all, 1<br />TechSupportACL, view_list_own,1<br /><br /><br /><br />]]></content:encoded>
    </item>
    <item>
        <dc:subject>Schemadb</dc:subject>
        <title>Schemadb</title>
        <link>http://blogs.nemein.com/people/juhana/diary/2004-06-21-000.html</link>
        <guid isPermaLink="true">http://blogs.nemein.com/people/juhana/diary/2004-06-21-000.html</guid>
        <pubDate>Mon, 21 Jun 2004 18:37:49 +0300</pubDate>
                  <dc:creator>Juhana Hirvilahti</dc:creator>
                <description>
Today was a bit frustrating but at the same time very interesting. Frustrating because the server that runs the website I was working on is damn slow! Roughly half of the time is just waiting for the damn site to load. The interestin part was the metadata input script I was working on.I got familiar with schemas and specially the multiselect datatype. There is like no documantation about it what so ever and even Kaukola coulden't  remember  how to create the selection list but luckily he was able to find an example from some previous project.I did something like this:        &amp;quot;clientareas&amp;quot; =&amp;gt; array (            &amp;quot;description&amp;quot; =&amp;gt; &amp;quot;Asiakasalueet&amp;quot;,            &amp;quot;datatype&amp;quot;    =&amp;gt; &amp;quot;multiselect&amp;quot;,            &amp;quot;widget&amp;quot;      =&amp;gt; &amp;quot;multiselect&amp;quot;,            &amp;quot;multiselect_selection_list&amp;quot; =&amp;gt; array (                &amp;quot;example1&amp;quot; =&amp;gt; &amp;quot;Example1&amp;quot;,                &amp;quot;example2&amp;quot; =&amp;gt; &amp;quot;Example2&amp;quot;,                ),            &amp;quot;location&amp;quot;    =&amp;gt; &amp;quot;parameter&amp;quot;The Plan is to input some metadata that can be used for searching a certain announcement with a search engine I'm still working on...well haven't really started writing it yet but it's the next step.
</description>
        <content:encoded><![CDATA[
Today was a bit frustrating but at the same time very interesting. Frustrating because the server that runs the website I was working on is damn slow! Roughly half of the time is just waiting for the damn site to load. The interestin part was the metadata input script I was working on.<br /><br />I got familiar with schemas and specially the multiselect datatype. There is like no documantation about it what so ever and even Kaukola coulden't  remember  how to create the selection list but luckily he was able to find an example from some previous project.<br /><br />I did something like this:<br /><pre>        &quot;clientareas&quot; =&gt; array (<br />            &quot;description&quot; =&gt; &quot;Asiakasalueet&quot;,<br />            &quot;datatype&quot;    =&gt; &quot;multiselect&quot;,<br />            &quot;widget&quot;      =&gt; &quot;multiselect&quot;,<br />            &quot;multiselect_selection_list&quot; =&gt; array (<br />                &quot;example1&quot; =&gt; &quot;Example1&quot;,<br />                &quot;example2&quot; =&gt; &quot;Example2&quot;,<br />                ),<br />            &quot;location&quot;    =&gt; &quot;parameter&quot;<br /></pre>The Plan is to input some metadata that can be used for searching a certain announcement with a search engine I'm still working on...well haven't really started writing it yet but it's the next step.<br />
]]></content:encoded>
    </item>
  </channel>
</rss>
