How to correctly write plugin

Hi, I have been trying to write a DA plugin, but somehow DA does not load it (it’s not on the list of plugins), although I put it in Library/Application Support/Devonagent/Plugins.

Here’s the code (it’s simply adapted from the “World News” example. Anyone any idea what’s going wrong? Thanks! Ben

<?xml version="1.0" encoding="UTF-8"?> Name Technorati Info Technorati Plugin Description Queries Technorati search results. Version 1.5 Identifier com.devon-technologies.technorati.plugin EngineUrl http://www.technorati.com/cosmos/search.html?rank=&url=consumer_agentQuery_ EncodingUrl ISO-8859-1

OK, so I replaced with the following code. I think I had had the wrong url. So the plugin is now loaded by DA, but I cannot search still… I always get “O” results — it doesn’t even start to look. I am missing something.
Ben

<?xml version="1.0" encoding="UTF-8"?> Name Technorati Info Technorati Plugin Description Queries Technorati. Version 1.5 Identifier com.devon-technologies.bentechnorati.plugin EngineUrl http%3A%2F%2Fwww.technorati.com%2Fcosmos%2Fsearch.html%3Frank%3D%26url%3D_agentQuery_ EncodingUrl ISO-8859-1 Start 0 OffsetPerPage 100 ResultsPerPage 100 Operators 32779 Keyword bentechnorati

The more I look into this problem the more I think I am utterly confused here.

Just exactly when do I need to write a plugin and cannot just use Devonagent?
I thought the “diminishing line” was: you need to write a plugin if you want to access a site’s search function.
However, some posts in this forum suggest this is not true. There, people talk about “crawler queries” – referring, however, to an outdated version of DA.

Can anyone just tell me: What would I need to find out about a site’s search function to be able to write a plugin for this site? And in what instances can I use DA’s “internal” interface to set up my search?

Thanks in advance for any clarification…

:slight_smile:

Ben

well… actually, I managed to solve ite :slight_smile:
all problems where due to my complete ignorance of basic html and xml :wink:
it took me a while to realize that it is vital to “mask” the & sign correctly as &
then it was just a question of figuring out how exactly to “process” the site using LinksStart etc.
I am still not entirely sure how one needs do this generally.

Is it true that there will be a cocoa interface for plugin definition in DA in the near future? I think I read something like this in this forum…

I understand that the xml documentation that comes with DA is for developers. But for me, the main strength of DA is the possibility of accessing the search engines of your choice acoording to your criteria with it… and I am not a developer. So a cocoa interface or documentation “for dummies” would be quite helpful for me!

best,
ben

Ben:

Me too. :slight_smile:

I’ve been thinking about setting up a plugin, but haven’t had the courage to take it on.

Congratualtions.

Yes, there is one. Quite a few of DA’s plug-ins are already written with it. But it won’t be a “user interface” like a dialog window, but a Cocoa API (application programmer’s interface) that you can use from within a development environment.

We’ll work on this later this year.

Best,

Eric.

Hi Eric, hi Bill,

thanks for your answers.

Eric, you write you will be working on this later this year. Does this refer to improved documentation or also to a more “dummy-proof” interface? I think only the former - is this correct?

The reason I am asking is this: Right now I am testing DA for personal purposes. But it might be that the company I am working for would be looking for a software like DA. But I cannot really picture some of my colleagues writing plugins in XML…

At our company, we have highly specific search concerns, so what we (ideally) need is a software to which each user can add new specific search functionality more or less on the fly. Just to get an impression: Do you think something like this will be possible with DA – ever?

Thanks for further clarification,

best,
ben

Right, the documentation.

To be honest: I don’t think so. Creating methods to access search engines which are all different and require fine-tuned parameters, is something one should only do with some background – or it wouldn’t work, with or without easy interface.

If you don’t need to query a special search engine, but only “scan” a web page, you can use the “Sites” part of search sets to do this. This can be done by everyone without learning XML or figgling around with search engine parameters.

Best,

Eric.

ok, I understand that and can also relate to it from my personal experience :slight_smile:

So from my company’s point of view we would need to have an “expert” for this purpose. What do you think is the background such an expert should have?

Consider me, for example. I know some Java and some prolog and have a certain grasp of programming and computer science concepts in general. I also know a tiny little bit about html. I managed to write a plugin using the documentation and the examples provided. But it was a tedious process…

Do you have any suggestions how I could go about becoming a “DevonAgent expert”, someone who is able to write plugins and who understands what searching is about from a technical point of view?

I am aware of the scanning part, and I think that is quite useful and my colleagues would be able to do that…

But any tips and hints on the above question would be most welcome…

Best,
Ben

I think it doesn’t need to be an expert, but someone who knows how HTML and how dynamic web pages are being created (such as those delivered by Google & Co.), so that he can derive the necessary information from it. Some programming experiences are also useful to write correct XML.

From my perspective (I am not an expert here either), learning by doing is the way to go. Analyse the search engine pages and how they relate to the options provided by our XML plug-in interface. It’s the same with everything else: you only learn it when you do it.

Best,

Eric.

Hello Leif_Ben,

I think we met in another forum? Apfeltalk.de?

Ok, here is my code for a search inside the German Wikipedia. It’s not perfect, but does the job.

What I’ve seen in your code, is the URL that is wrong. IMHO

Greets


<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/ 
PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
<key>German</key> 
<string>Durchsucht die Wikipedia</string>
<key>Name</key> 
<string>Wikipedia Archiv</string> 
<key>Info</key> 
<string>Wikipedia Archiv 1.0 ©2003-2005 DEVONtechnologies</string>  
<key>Version</key> 
<string>1.0</string> 
<key>Identifier</key> 
<string>com.devon-technologies.german_wikipedia.plugin</string> 
<key>EngineUrl</key> 
<string>http://de.wikipedia.org/wiki/Spezial:Search?search=_agentQuery_&amp;start=_agentOffset</string> 
<key>EncodingUrl</key> 
<string>ISO-8859-1</string> 
<key>Start</key> 
<integer>1</integer> 
<key>OffsetPerPage</key> 
<integer>1</integer> 
<key>ResultsPerPage</key> 
<integer>10</integer> 
<key>Operators</key> 
<integer>1</integer> 
<key>Keyword</key> 
<string>wiki</string> 
</dict> 
</plist>

A tutorial has been prepared based on an earlier article I wrote in the forum about writing a plugin. This will be part of the DEVONagent documentation to be shipped with the next release. For now you can read this article to improve your plugin: Can Da be “neat” without XML?.