mercredi 13 janvier 2010

Happy New Year 2010 and the new repository for phpgroupware

Happy new year 2010 !

Yeah, one year without posting ... not good, but still there. I'm busy, as all of you, and my professional life is a little bit like a "Dallas Story". Anyway, the subject of this post is to help new (and old ;) phpGW developers to configure their svn:externals references.

So please, use this to edit your externals :
svn edit svn:externals [path/to/the directory which will contains the directories]
then for example :

admin svn+ssh://svn.savannah.gnu.org/phpgroupware/people/sigurdne/modules/admin/trunk
calendar svn+ssh://svn.savannah.gnu.org/phpgroupware/people/sigurdne/modules/calendar/trunk
hrm svn+ssh://svn.savannah.gnu.org/phpgroupware/people/sigurdne/modules/hrm/trunk
manual svn+ssh://svn.savannah.gnu.org/phpgroupware/people/sigurdne/modules/manual/trunk

another solution, if you want a particuliar revision (very usefull for tags for example) :

calendar -r12500 svn+ssh://svn.savannah.gnu.org/phpgroupware/people/sigurdne/modules/calendar/trunk

That's for the theory. But there's some pitfalls. One of them is that anonymous people extracting these externals using svn+http:// protocol will not be able to extract them correctly (and I still have no clue on how making this working). Another one is (like me) if your username is not the same as in your environnement. Then ssh comes to the rescue :
  • edit the ~/.ssh/config
  • add these lines :
    Host *.savannah.gnu.org
    User Caeies
  • save and quit.
Note that you can add your private key path here when you try to connect to savannah.gnu.org. I let you doing this after a man ssh_config.

Regards,

Caeies.

mercredi 21 mai 2008

phpGW third item from todo list: Or how to try to debug two apps each others ...

Hi all

I'm working on Sync since 3 days. First I had to compile the opensync / libsyncml stuff. I found some interesting help on compilation Opensync (here) and use. You should know that at time of writing, you should stick to the svn version 3307 (found why here) to be able to play a little bit with it.
To use it with phpGW I was obliged to made some patches that I still need to send back to the opensync project. Here's are some of them :
  • in libsyncmlclient :

    Index: src/syncml_http_client.c
    ===================================================================
    --- src/syncml_http_client.c (révision 3307)
    +++ src/syncml_http_client.c (copie de travail)
    @@ -558,6 +558,8 @@
    * automatically detect the datastores.
    */
    SmlDevInf *devinf = smlDevInfAgentGetDevInf(env->agent);
    + if(devinf != NULL)
    + {
    unsigned int stores = smlDevInfNumDataStores(devinf);
    unsigned int i;
    for (i=0; i < ctx =" osync_context_new(error);">
    @@ -570,6 +572,11 @@
    smlDevInfDataStoreGetSourceRef(datastore),
    contentType, version);
    }
    + }
    + else
    + {
    + osync_trace(TRACE_ERROR, "NULL devinf returned !");
    + }

    /* disconnect from the syncml server */
    OSyncContext *ctx = osync_context_new(error);

    this patch avoid a segfault when trying to discover the supported materials by phpGW SyncML Server.


Following the tutorial at blog.dukanovic.com in the latest part could help you with how to made it working for phpGW. If you have question don't hesitate to post them here, I will try to help you.

If you are interested by helping us to made sync working for phpGW, you can read this post for infos ...

Second part : Drums .... YEAH !!! It kinda works :).
So here's the step to reproduce my success (at least I Hope).
  1. msynctool --addgroup phpgw2file
  2. msynctool --addmember phpgw2file syncml-http-client
  3. msynctool --addmember phpgw2file file-sync
  4. msynctool --configure phpgw2file 1 : Replace the given file with this content between the <config> tags (on only this, adapted to you needs)

    <auth>BASIC</auth>
    <username>phpgroupware</username>
    <password>********</password>
    <url>http://localhost:80/~phpgroupware/syncml/syncml.php</url>
    <recvlimit>40000</recvlimit>
    <maxobjsize>4000000</maxobjsize>
    <syncml_version>1.1</syncml_version>
    <database>
    <name>my-notes-collection</name>
    <objtype>data</objtype>
    <objformat>plain</objformat>
    </database>

  5. msynctool --configure phpgw2file 2 : replace the content between <config> tags with

    <directory>
    <path>/tmp/tests/notes</path>
    <objtype>data</objtype>
    </directory>
    (note : the '/tmp/tests/notes' directory should exists)

  6. msynctool --discover phpgw2file 1

  7. msynctool --discover phpgw2file 2

  8. msynctool --sync phpgw2file


And YEAH ! it works ... Well ... mostly. Now you have to fix bugs in the ipc layer to let notes getting all be backs. But you can try to add a new notes, it could work ...

Regards.

Caeies

vendredi 29 février 2008

phpGW first item from todo list bis


Hi all,



As said in my previous post on my first item, I was waiting for a little bit more stability in the head version for building a phpGW Demo image with head ... That's partially done.



Before starting downloading the file, I warn here users :


  • The code included is still in developments phase, so don't expect it to work out of the box ...

  • use the update-phpgroupware.sh script un ~phpgw/ for update before first use !

  • Notices are displayed for developements purposes (btw I forgot to add the excellent ffx plugin firebug) and breaks a lot's of thing. So if you are not a devs, or not curious, don't use this image.




For downloading the file image, it's here. The md5sum of the file is : 129117c678344d045938576b1276cc4a. The file size is around 310 Mo (that's better than the previous one, I don't forgot to do an apt-get clean this time :).



Concerning the login / password, they are the same as the previous post, so please read it :). I wan't able to configure phpgw as far as the stable release. But you should be able (when notices are not displayed for example) to configure it better.
Dave, I know you're reading my posts, so perhaps trying the image and looking at bugs in it could be interesting :). You will probably think that I miss some important part of the configuration, but I hope not so.



Happy hacking !

Btw, if you found bugs (and yes there's still a lot's of them) take a look at the bug tracker there :
phpGW' Savannah Bug Tracker

Caeies

mercredi 13 février 2008

phpGW first item from todo list


Hi all,



That's it !



You will find here md5sum is 6361f49b0b007975e5f02f72e43b355f a qcow image for running phpgroupware in a kvm/qemu environnement. This will help you to demonstrate phpgroupware evrywhere. Here are some infos :


  • The image is around 456Mo (Ouch)

  • root password is phpgroupware-head

  • the user : phpgw the password phpgroupware

  • Once logged in xdm, with the user, an iceweasel is launch pointing to the login page

  • user there is still phpgw and the password is either fghjkl or phpgroupware (don't remember which)

  • I configured as much as possible the phpgroupware to let you see the base applications (email/addressbook/notes/infolog/headlines(pointing on planet phpGroupWare)/etc ...)

  • To enable other applications, login as admin password : phpgroupware, then go in the admin section, then in the user group section, then default and add acl there.




This is a start base for work. There's a lot's more to do, but it's pretty runnable with the following command :
qemu -m 512 phpgw-16.qcow



If you need more infos, just leave a comment here, I will answer ASAP. Feel free to modify the image to feet your needs, and let us know where to get it !



Regards
Caeies


PS: For French Users (most of the intended audience ?) the keyboard is qwerty, I let you google on how modify this at boot time :)

phpGW Todo List


Hi all,



It's the second day I take for working with the phpGroupWare project ... Cool, thanks to my company for letting me work for it !



The first day was taken for Solution Linux 2008 where I was representing the phpgroupware-france association with maat (Pascal Vilarem) and jak (Alain Khoury). We meet a lot's of interesting people there, asking mostly what's the difference between you and eGW, or "what ? you are still alive ?" Yes we are, and working hard on the next release (the famous 0.9.18, with sync in it !)



Anyway, at the conference, I promise some little thing, that I'm sure people are still waiting, so here's the todo :



  1. Building a virtual image with phpgroupware running in it

  2. Working on ldap integration, (one of my objective is to help integrating a "simple" ldap with full interaction btw ldap and phpgw)

  3. working on sync to help johang



Trust me, that's a lot's of work :). So better than write here, I'll go to work !



Caeies

mercredi 18 juillet 2007

Chose promise, chose due ... un article en français sur phpGroupWare

Bonjour à tous,

J'avais promis de publier l'article qui est paru dans le magazine phpsolutions. En effet, en accord avec la rédaction, celui-ci est sous licence GFDL, sans section invariante. Merci à la relectrice pour l'élimination des fautes les plus visibles. Il est enfin en ligne ici. Si vous souhaitez une version pdf, n'hésitez pas à la demander !

For English readers, a French article is available on phpgroupware under GFDL here. Feel free to translate it :).

Caeies.

[Update 12/09/2007 : Une nouvelle "version", un peu plus lisible est en cours de préparation]

mercredi 23 mai 2007

SOAP Again ... name space problem [Fixed]

Hi all,

I just commited a fix for the namespace claches ... Yes php 5.x use native soap classes and a soapclient classes was already in use by phpgroupware ...

So I move the file class.soapclient.inc.php to class.phpgw_soapclient.inc.php, change some CreateObject calls, and it should work now !

Symptoms of the problem : when instanciating the classes, the script was diying silently, without any warning ... too bad :(.

Now the release for the .16-012 is close to be done (I hope so :).

Regards,

Caeies