You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stanbol.apache.org by Alexey Kudinov <le...@gmail.com> on 2012/12/08 07:58:51 UTC

several integration questions

Hi,

I'm new to stanbol (I do have some experience with SOLR), and a few things
are not clear from the wiki:

1.       Can I integrate Stanbol EntityHub with an external SOLR instance?

2.       My application should run in the enterprise environment, and my
managed site requires user information, mainly for security purposes. I
already have a fine-grained security module for SOLR (reflecting user
repositories). How can I pass relevant user information through Stanbol
EntityHub API? I know that I can pass-by the EntityHub and call Solr API,
but it would be the last resort.

Thanks,

Alexey


Re: several integration questions

Posted by Reto Bachmann-Gmür <re...@apache.org>.
Hi Rupert,

What permission do you think EntityHub shuould require. What are the
different actions and which permission should be implied by which?

Cheers,
Reto

On Mon, Dec 10, 2012 at 10:19 AM, Rupert Westenthaler <
rupert.westenthaler@gmail.com> wrote:

> Hi Alexey,
>
> this is not possible with the Entityhub. However Reto is currently
> working on a security layer for Apache Stanbol. I think the described
> usage scenario is a good one for the framework Reto is currently
> building. I do not yet know the details but I am sure Reto can help
> you out.
>
>
> On Sat, Dec 8, 2012 at 9:10 PM, Alexey Kudinov <le...@gmail.com>
> wrote:
> > I will try to explain the second question:
> > EntityHub exposes the lookup/find/query entity API and abstracts away
> all the referenced/managed site material as well as the real backing store.
> >
> > My requirement is to apply certain filtering (based on security context
> of a user) for the local (non referenced) repository. While I know how to
> do this for SOLR, I don't know if I can apply security filtering in
> Stanbol. Basically, I would at least like to pass through some custom
> header and be able to retrieve it in SOLR to apply the filter.
>
> Having Permissions for accessing Entityhub Sites or even Yards should
> be no problem. I am not sure about permissions on Entity and/or Field
> Level. That would need to be discussed with Reto.
>
> > What could be the shortest workaround for that?
> > Currently I see 2 solutions:
> > 1. Call SOLR API 'as is'.
> > 2. Dig into the code to fetch my header and incorporate into yard
> request.
>
> That would need a lot of changes as (1) There are no hooks to parse
> header fields of the Request and (2) there are also a lot of
> intermediate layers. The RESTful request is processed by a JAX-RS
> resource that calls the Entityhub Site. The SIte parses it over to a
> Cache and the Cache wraps. The Cache parses it over to the Yard. If
> the Yard is an instance of SolrYard than it uses the solr client libs
> to call the SolrServer.
>
> best
> Rupert
>
> >
> > Thanks,
> > Alexey
> >
> > -----Original Message-----
> > From: Rupert Westenthaler [mailto:rupert.westenthaler@gmail.com]
> > Sent: Saturday, December 08, 2012 9:11 PM
> > To: dev@stanbol.apache.org
> > Subject: Re: several integration questions
> >
> > On Sat, Dec 8, 2012 at 7:58 AM, Alexey Kudinov <le...@gmail.com>
> wrote:
> >> Hi,
> >>
> >> I'm new to stanbol (I do have some experience with SOLR), and a few
> >> things are not clear from the wiki:
> >>
> >> 1.       Can I integrate Stanbol EntityHub with an external SOLR
> instance?
> >>
> >
> > Yes this is possible. The {name}.solrindex.zip files are compressed Solr
> core directory structures. Just unpack them and install them on you Solr
> server. If you want to start from an empty Site you can use [1].
> >
> > When the Solr Core is available on your Solr server you need to
> configure the URL to the RESTful API in the "Solr Index/Core"
> > (org.apache.stanbol.entityhub.yard.solr.solrUri) field of the Solr Yard.
> >
> >
> > [1]
> https://svn.apache.org/repos/asf/stanbol/trunk/entityhub/yard/solr/src/main/resources/solr/core/default.solrindex.zip
> >
> >
> >> 2.       My application should run in the enterprise environment, and my
> >> managed site requires user information, mainly for security purposes.
> >> I already have a fine-grained security module for SOLR (reflecting
> >> user repositories). How can I pass relevant user information through
> >> Stanbol EntityHub API? I know that I can pass-by the EntityHub and
> >> call Solr API, but it would be the last resort.
> >>
> >
> > I do not fully understand this question. But maybe the "Multiple Yard
> Layout" of the SolrYard could help you.
> >
> > Basically the SolrYard supports the creation of multiple Instances that
> do access the same Solr Core. To activate this you need to enable the
> "Multiple Yard Layout"
> > (org.apache.stanbol.entityhub.yard.solr.multiYardIndexLayout). What this
> does it that the SolrYard will add an additional field '_domain'
> > and store the name of the SolrYard as value for all Entities stored by
> this SolrYard. Also all queries will use this as an additional constraint.
> >
> > This feature was introduced to allow the storage of multiple (typically
> small) vocabularies within the same Solr Core but maybe it could be also
> useful for your usecase.
> >
> > best
> > Rupert
> >
> >> Thanks,
> >>
> >> Alexey
> >>
> >
> >
> >
> > --
> > | Rupert Westenthaler             rupert.westenthaler@gmail.com
> > | Bodenlehenstraße 11                             ++43-699-11108907
> > | A-5500 Bischofshofen
> >
>
>
>
> --
> | Rupert Westenthaler             rupert.westenthaler@gmail.com
> | Bodenlehenstraße 11                             ++43-699-11108907
> | A-5500 Bischofshofen
>

Re: several integration questions

Posted by Rupert Westenthaler <ru...@gmail.com>.
Hi Alexey,

this is not possible with the Entityhub. However Reto is currently
working on a security layer for Apache Stanbol. I think the described
usage scenario is a good one for the framework Reto is currently
building. I do not yet know the details but I am sure Reto can help
you out.


On Sat, Dec 8, 2012 at 9:10 PM, Alexey Kudinov <le...@gmail.com> wrote:
> I will try to explain the second question:
> EntityHub exposes the lookup/find/query entity API and abstracts away all the referenced/managed site material as well as the real backing store.
>
> My requirement is to apply certain filtering (based on security context of a user) for the local (non referenced) repository. While I know how to do this for SOLR, I don't know if I can apply security filtering in Stanbol. Basically, I would at least like to pass through some custom header and be able to retrieve it in SOLR to apply the filter.

Having Permissions for accessing Entityhub Sites or even Yards should
be no problem. I am not sure about permissions on Entity and/or Field
Level. That would need to be discussed with Reto.

> What could be the shortest workaround for that?
> Currently I see 2 solutions:
> 1. Call SOLR API 'as is'.
> 2. Dig into the code to fetch my header and incorporate into yard request.

That would need a lot of changes as (1) There are no hooks to parse
header fields of the Request and (2) there are also a lot of
intermediate layers. The RESTful request is processed by a JAX-RS
resource that calls the Entityhub Site. The SIte parses it over to a
Cache and the Cache wraps. The Cache parses it over to the Yard. If
the Yard is an instance of SolrYard than it uses the solr client libs
to call the SolrServer.

best
Rupert

>
> Thanks,
> Alexey
>
> -----Original Message-----
> From: Rupert Westenthaler [mailto:rupert.westenthaler@gmail.com]
> Sent: Saturday, December 08, 2012 9:11 PM
> To: dev@stanbol.apache.org
> Subject: Re: several integration questions
>
> On Sat, Dec 8, 2012 at 7:58 AM, Alexey Kudinov <le...@gmail.com> wrote:
>> Hi,
>>
>> I'm new to stanbol (I do have some experience with SOLR), and a few
>> things are not clear from the wiki:
>>
>> 1.       Can I integrate Stanbol EntityHub with an external SOLR instance?
>>
>
> Yes this is possible. The {name}.solrindex.zip files are compressed Solr core directory structures. Just unpack them and install them on you Solr server. If you want to start from an empty Site you can use [1].
>
> When the Solr Core is available on your Solr server you need to configure the URL to the RESTful API in the "Solr Index/Core"
> (org.apache.stanbol.entityhub.yard.solr.solrUri) field of the Solr Yard.
>
>
> [1] https://svn.apache.org/repos/asf/stanbol/trunk/entityhub/yard/solr/src/main/resources/solr/core/default.solrindex.zip
>
>
>> 2.       My application should run in the enterprise environment, and my
>> managed site requires user information, mainly for security purposes.
>> I already have a fine-grained security module for SOLR (reflecting
>> user repositories). How can I pass relevant user information through
>> Stanbol EntityHub API? I know that I can pass-by the EntityHub and
>> call Solr API, but it would be the last resort.
>>
>
> I do not fully understand this question. But maybe the "Multiple Yard Layout" of the SolrYard could help you.
>
> Basically the SolrYard supports the creation of multiple Instances that do access the same Solr Core. To activate this you need to enable the "Multiple Yard Layout"
> (org.apache.stanbol.entityhub.yard.solr.multiYardIndexLayout). What this does it that the SolrYard will add an additional field '_domain'
> and store the name of the SolrYard as value for all Entities stored by this SolrYard. Also all queries will use this as an additional constraint.
>
> This feature was introduced to allow the storage of multiple (typically small) vocabularies within the same Solr Core but maybe it could be also useful for your usecase.
>
> best
> Rupert
>
>> Thanks,
>>
>> Alexey
>>
>
>
>
> --
> | Rupert Westenthaler             rupert.westenthaler@gmail.com
> | Bodenlehenstraße 11                             ++43-699-11108907
> | A-5500 Bischofshofen
>



--
| Rupert Westenthaler             rupert.westenthaler@gmail.com
| Bodenlehenstraße 11                             ++43-699-11108907
| A-5500 Bischofshofen

RE: several integration questions

Posted by Alexey Kudinov <le...@gmail.com>.
I will try to explain the second question:
EntityHub exposes the lookup/find/query entity API and abstracts away all the referenced/managed site material as well as the real backing store.

My requirement is to apply certain filtering (based on security context of a user) for the local (non referenced) repository. While I know how to do this for SOLR, I don't know if I can apply security filtering in Stanbol. Basically, I would at least like to pass through some custom header and be able to retrieve it in SOLR to apply the filter.
What could be the shortest workaround for that? 
Currently I see 2 solutions: 
1. Call SOLR API 'as is'. 
2. Dig into the code to fetch my header and incorporate into yard request.

Thanks,
Alexey

-----Original Message-----
From: Rupert Westenthaler [mailto:rupert.westenthaler@gmail.com] 
Sent: Saturday, December 08, 2012 9:11 PM
To: dev@stanbol.apache.org
Subject: Re: several integration questions

On Sat, Dec 8, 2012 at 7:58 AM, Alexey Kudinov <le...@gmail.com> wrote:
> Hi,
>
> I'm new to stanbol (I do have some experience with SOLR), and a few 
> things are not clear from the wiki:
>
> 1.       Can I integrate Stanbol EntityHub with an external SOLR instance?
>

Yes this is possible. The {name}.solrindex.zip files are compressed Solr core directory structures. Just unpack them and install them on you Solr server. If you want to start from an empty Site you can use [1].

When the Solr Core is available on your Solr server you need to configure the URL to the RESTful API in the "Solr Index/Core"
(org.apache.stanbol.entityhub.yard.solr.solrUri) field of the Solr Yard.


[1] https://svn.apache.org/repos/asf/stanbol/trunk/entityhub/yard/solr/src/main/resources/solr/core/default.solrindex.zip


> 2.       My application should run in the enterprise environment, and my
> managed site requires user information, mainly for security purposes. 
> I already have a fine-grained security module for SOLR (reflecting 
> user repositories). How can I pass relevant user information through 
> Stanbol EntityHub API? I know that I can pass-by the EntityHub and 
> call Solr API, but it would be the last resort.
>

I do not fully understand this question. But maybe the "Multiple Yard Layout" of the SolrYard could help you.

Basically the SolrYard supports the creation of multiple Instances that do access the same Solr Core. To activate this you need to enable the "Multiple Yard Layout"
(org.apache.stanbol.entityhub.yard.solr.multiYardIndexLayout). What this does it that the SolrYard will add an additional field '_domain'
and store the name of the SolrYard as value for all Entities stored by this SolrYard. Also all queries will use this as an additional constraint.

This feature was introduced to allow the storage of multiple (typically small) vocabularies within the same Solr Core but maybe it could be also useful for your usecase.

best
Rupert

> Thanks,
>
> Alexey
>



--
| Rupert Westenthaler             rupert.westenthaler@gmail.com
| Bodenlehenstraße 11                             ++43-699-11108907
| A-5500 Bischofshofen


Re: several integration questions

Posted by Rupert Westenthaler <ru...@gmail.com>.
On Sat, Dec 8, 2012 at 7:58 AM, Alexey Kudinov <le...@gmail.com> wrote:
> Hi,
>
> I'm new to stanbol (I do have some experience with SOLR), and a few things
> are not clear from the wiki:
>
> 1.       Can I integrate Stanbol EntityHub with an external SOLR instance?
>

Yes this is possible. The {name}.solrindex.zip files are compressed
Solr core directory structures. Just unpack them and install them on
you Solr server. If you want to start from an empty Site you can use
[1].

When the Solr Core is available on your Solr server you need to
configure the URL to the RESTful API in the "Solr Index/Core"
(org.apache.stanbol.entityhub.yard.solr.solrUri) field of the Solr
Yard.


[1] https://svn.apache.org/repos/asf/stanbol/trunk/entityhub/yard/solr/src/main/resources/solr/core/default.solrindex.zip


> 2.       My application should run in the enterprise environment, and my
> managed site requires user information, mainly for security purposes. I
> already have a fine-grained security module for SOLR (reflecting user
> repositories). How can I pass relevant user information through Stanbol
> EntityHub API? I know that I can pass-by the EntityHub and call Solr API,
> but it would be the last resort.
>

I do not fully understand this question. But maybe the "Multiple Yard
Layout" of the SolrYard could help you.

Basically the SolrYard supports the creation of multiple Instances
that do access the same Solr Core. To activate this you need to enable
the "Multiple Yard Layout"
(org.apache.stanbol.entityhub.yard.solr.multiYardIndexLayout). What
this does it that the SolrYard will add an additional field '_domain'
and store the name of the SolrYard as value for all Entities stored by
this SolrYard. Also all queries will use this as an additional
constraint.

This feature was introduced to allow the storage of multiple
(typically small) vocabularies within the same Solr Core but maybe it
could be also useful for your usecase.

best
Rupert

> Thanks,
>
> Alexey
>



--
| Rupert Westenthaler             rupert.westenthaler@gmail.com
| Bodenlehenstraße 11                             ++43-699-11108907
| A-5500 Bischofshofen