Hi > http://mail.gnome.org/archives/dashboard-hackers/2006-April/msg00046.html > > 3) You could implement the Beagle XML messaging protocol in PHP. > This is what the libbeagle C bindings do. It's a fair amount of > work, and the API isn't completely stable, but if you were just > interested in a subset of Beagle's API then this might be the > quickest way to go. > > I like the idea of an alternative network based search client for beagle > (beside the included "web service") maybe even providing an XML RPC > interface or other advanced options. I searched the beagle-project.org > website for more details about the mentioned XML messaging protocol. > Unfortunately I had no luck and can't find anything about it. > > Where is a documentation (with/out examples) for this protocol? Which > port must be contacted for communication? Please give me some hints if > you have a spare minute.
Actually the webservice is deprecated and currently orphan (looking for a maintainer). I disabled in the build by default and I doubt if it even works. The xml-based messaging is the way beagle API internally works. Its undocumented as of now. Its not that difficult to understand though. Enable "--enable-xml-dump" during a beagle build, run beagled with once to let it finish all the indexing, then run it again with "--disable-scheduler" to stop it from scanning files again and issue beagle-query. Both beagle-query and beagled will spit out the XML messages they receive and send. (Oh, beagle uses a unix domain socket ~/.beage/socket to communicate => some of use believe that changing the unix socket code to tcp socket code will allow for querying over the network but nobody has tried it out). Looking at the libbeagle source code might give additional idea about what these XML messages are made of. The messages are highly internal to beagle which is the reason they arent documented. They sometimes undergo changes (the indexable-service part of the code will get changed in a day or too) but the querying part of the code isnt that large and is probably the only thing you care about. Since its a bit of work, and since beagle already has C/Python API (the python API is mostly a wrapper around the C API), isnt there a way to use them in a nice way from PHP (nice way meaning not calling the command-line tools and parsing their output). Someone mentioned about a magic called SWIG ... such things might be helpful. Having many different bindings are helpful but it does make maintaining the APIs difficult. Hope this mail gave some idea where to start, - dBera -- ----------------------------------------------------- Debajyoti Bera @ http://dbera.blogspot.com beagle / KDE fan Mandriva / Inspiron-1100 user _______________________________________________ Dashboard-hackers mailing list Dashboard-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/dashboard-hackers