WebProtégé Plugin

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

WebProtégé Plugin

Lorenz Buehmann
Hi,

is it possible to write plugins for WebProtégé similar to the desktop
Protégé version? I know I could start from the source code, but I'm
wondering if there is any plugin concept or best practice so far?

Kind regards,
Lorenz

--
Lorenz Bühmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: WebProtégé Plugin

Matthew Horridge-2
Administrator
Hi Lorenz,

It is possible to extend WebProtege in a modular way, you could for example add a new kind of Portlet.   Look at extending AbstractOWLEntityPortlet with a concrete implementation.  There are a few things to keep in mind:

(1) Your extension of AbstractOWLEntityPortlet should be very light weight.  Just a container for some other UI components.

(2) Don’t use any GWTExt widgets.  We will remove this dependency from WebProtege in the future.  Use native GWT widgets.

(3) The WebProtege code base is under heavy development.  It is likely that you will have to update your plugin for new versions of WebProtege.

(4) Don’t define GWT services.  Use the dispatch service instead.  

(5) You will need to hard code your plugin into the UIFactory (and probably dispatch service registry as well).  This will change in the future (Java annotation will be used and “plugins” will be picked up automatically) but for now you have to do it like this.


It might be worth noting that plugins in the sense of the desktop version aren’t really supported due to the way that GWT works i.e. you can’t compile a plugin and distribute that compiled version which users then drop into their installations.  This is due to the fact that all code must be available when the complete application is compiled - this includes “plugin” code.  You should therefore think of plugins as “extensions” that can be combined and then compiled along with the complete WebProtege app.

Hope this helps,

Cheers,

Matthew


> On 20 Jan 2015, at 07:22, Lorenz Bühmann <[hidden email]> wrote:
>
> Hi,
>
> is it possible to write plugins for WebProtégé similar to the desktop Protégé version? I know I could start from the source code, but I'm wondering if there is any plugin concept or best practice so far?
>
> Kind regards,
> Lorenz
>
> --
> Lorenz Bühmann
> AKSW group, University of Leipzig
> Group: http://aksw.org - semantic web research center
>
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: WebProtégé Plugin

Lorenz Buehmann
Hi Matthew,

thanks for the comprehensive answer -  I'll have a look at the source
code of WebProtege and give it a try. We'll see whether I can make it.

One additional question: How far is the reasoning support in WebProtege?
I've seen the owl-reasoning server Github project and I'm wondering if
that's the way how reasoning is or will be integrated in WebProtege?

Kind regards,
Lorenz
On 20.01.2015 21:57, Matthew Horridge wrote:

> Hi Lorenz,
>
> It is possible to extend WebProtege in a modular way, you could for example add a new kind of Portlet.   Look at extending AbstractOWLEntityPortlet with a concrete implementation.  There are a few things to keep in mind:
>
> (1) Your extension of AbstractOWLEntityPortlet should be very light weight.  Just a container for some other UI components.
>
> (2) Don’t use any GWTExt widgets.  We will remove this dependency from WebProtege in the future.  Use native GWT widgets.
>
> (3) The WebProtege code base is under heavy development.  It is likely that you will have to update your plugin for new versions of WebProtege.
>
> (4) Don’t define GWT services.  Use the dispatch service instead.
>
> (5) You will need to hard code your plugin into the UIFactory (and probably dispatch service registry as well).  This will change in the future (Java annotation will be used and “plugins” will be picked up automatically) but for now you have to do it like this.
>
>
> It might be worth noting that plugins in the sense of the desktop version aren’t really supported due to the way that GWT works i.e. you can’t compile a plugin and distribute that compiled version which users then drop into their installations.  This is due to the fact that all code must be available when the complete application is compiled - this includes “plugin” code.  You should therefore think of plugins as “extensions” that can be combined and then compiled along with the complete WebProtege app.
>
> Hope this helps,
>
> Cheers,
>
> Matthew
>
>
>> On 20 Jan 2015, at 07:22, Lorenz Bühmann <[hidden email]> wrote:
>>
>> Hi,
>>
>> is it possible to write plugins for WebProtégé similar to the desktop Protégé version? I know I could start from the source code, but I'm wondering if there is any plugin concept or best practice so far?
>>
>> Kind regards,
>> Lorenz
>>
>> --
>> Lorenz Bühmann
>> AKSW group, University of Leipzig
>> Group: http://aksw.org - semantic web research center
>>
>> _______________________________________________
>> protege-user mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/protege-user
>
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
>
>

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: WebProtégé Plugin

Matthew Horridge-2
Administrator
Hi Lorenz,

Yes, reasoning in WebProtege will be supported by the owl-reasoning server.  There’s currently a branch of WebProtege [1] that contains reasoning support.  There are a few more things to do (e.g. UI configuration for reasoning and allowing per project reasoning servers) and a lot of testing is required, but we hope to have some version available soon.

Best wishes,

Matthew

[1] https://github.com/protegeproject/webprotege/tree/reasoning


> On 26 Jan 2015, at 13:34, Lorenz Buehmann <[hidden email]> wrote:
>
> Hi Matthew,
>
> thanks for the comprehensive answer -  I'll have a look at the source code of WebProtege and give it a try. We'll see whether I can make it.
>
> One additional question: How far is the reasoning support in WebProtege? I've seen the owl-reasoning server Github project and I'm wondering if that's the way how reasoning is or will be integrated in WebProtege?
>
> Kind regards,
> Lorenz
> On 20.01.2015 21:57, Matthew Horridge wrote:
>> Hi Lorenz,
>>
>> It is possible to extend WebProtege in a modular way, you could for example add a new kind of Portlet.   Look at extending AbstractOWLEntityPortlet with a concrete implementation.  There are a few things to keep in mind:
>>
>> (1) Your extension of AbstractOWLEntityPortlet should be very light weight.  Just a container for some other UI components.
>>
>> (2) Don’t use any GWTExt widgets.  We will remove this dependency from WebProtege in the future.  Use native GWT widgets.
>>
>> (3) The WebProtege code base is under heavy development.  It is likely that you will have to update your plugin for new versions of WebProtege.
>>
>> (4) Don’t define GWT services.  Use the dispatch service instead.
>>
>> (5) You will need to hard code your plugin into the UIFactory (and probably dispatch service registry as well).  This will change in the future (Java annotation will be used and “plugins” will be picked up automatically) but for now you have to do it like this.
>>
>>
>> It might be worth noting that plugins in the sense of the desktop version aren’t really supported due to the way that GWT works i.e. you can’t compile a plugin and distribute that compiled version which users then drop into their installations.  This is due to the fact that all code must be available when the complete application is compiled - this includes “plugin” code.  You should therefore think of plugins as “extensions” that can be combined and then compiled along with the complete WebProtege app.
>>
>> Hope this helps,
>>
>> Cheers,
>>
>> Matthew
>>
>>
>>> On 20 Jan 2015, at 07:22, Lorenz Bühmann <[hidden email]> wrote:
>>>
>>> Hi,
>>>
>>> is it possible to write plugins for WebProtégé similar to the desktop Protégé version? I know I could start from the source code, but I'm wondering if there is any plugin concept or best practice so far?
>>>
>>> Kind regards,
>>> Lorenz
>>>
>>> --
>>> Lorenz Bühmann
>>> AKSW group, University of Leipzig
>>> Group: http://aksw.org - semantic web research center
>>>
>>> _______________________________________________
>>> protege-user mailing list
>>> [hidden email]
>>> https://mailman.stanford.edu/mailman/listinfo/protege-user
>>
>> _______________________________________________
>> protege-user mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/protege-user
>>
>>
>
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user