Hi Peter,
Yes, the multitenancy support only works via rails at the moment.
It basically involves a few things:
1. The ability to change reference nodes for entities. If the reference node
is set to a tenant (for example, a Customer or an Organization object
instance), then two things happen:
- All traversals are scoped to happen under the tenant node. Thus
Bill.all, for example, will always return the collection of bills attached
to the current reference node.
- Lucene queries are scoped to an index that's created for a particular
tenant. For this to work, the tenant node needs to have a unique 'name'
property.
The api to make this happen is Neo4j.threadlocal_ref_node = <your tenant
node instance>. The framework automatically does traversals and lucene index
lookups based on the current ref node. In the rails world, one place to set
the threadlocal ref node would be in, say, a :before_filter in your
ApplicationController
2. The ability to have entities that are shared across all tenants. This can
be done like this:
class Currency
property :name
ref_node { Neo4j.default_ref_node }
end
This ensures that all currency instances are attached to the default
reference node. Currency.all / find etc. will always return the same results
regardless of what the current threadlocal ref node is. This allows us to
create shared reference data that is common across all tenants.
Cheers,
Vivek
On Sun, Oct 2, 2011 at 12:16 PM, Peter Neubauer <
[email protected]> wrote:
> Very cool Andres, Vivek and Deepak,
> The multi tenancy does only work from Rails?
>
> /Peter
>
> On Saturday, October 1, 2011, Andreas Ronge <[email protected]>
> wrote:
> > Hi
> >
> > I just released 1.2.3.
> > See the documentation for the new cool feature - multitenancy -
> > http://neo4j.rubyforge.org/guides/configuration.html#multitenancy
> >
> > CHANGELOG
> > * Multitenancy support by namespaced-indices & changeable reference
> > node (Vivek Prahlad, pull 41)
> > * Added a Neo4j::Rails::Model#columns which returns all defined
> > properties [#186]
> > * Fixed validation associated entities, parent model should be invalid
> > if its nested model(s) is invalid (Vivek Prahlad)
> > * Fixed property validation to read value before conversion as per
> > active model conventions (Deepak N)
> > * Fixed property_before_type_cast for loaded models (Deepak N)
> > * Better support for nested models via ActionView field_for [#185]
> > * BUG: fix for null pointer issue after delete_all on
> > Neo4j::Rails::Model#has_n relationships (Vivek Prahlad)
> > * BUG: init_on_create was not called when creating a new relationship
> > via the << operator [#183]
> >
> > Thanks again Deepak and Vivek !
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> "neo4jrb" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected].
> > For more options, visit this group at
> http://groups.google.com/group/neo4jrb?hl=en.
> >
> >
>
> --
>
> Cheers,
>
> /peter neubauer
>
> GTalk: neubauer.peter
> Skype peter.neubauer
> Phone +46 704 106975
> LinkedIn http://www.linkedin.com/in/neubauer
> Twitter http://twitter.com/peterneubauer
>
> http://www.neo4j.org - Your high performance graph database.
> http://startupbootcamp.org/ - Ă–resund - Innovation happens HERE.
> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
>
> --
> You received this message because you are subscribed to the Google Groups
> "neo4jrb" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/neo4jrb?hl=en.
>
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user