Bounty for AT and Storm Integration

8 Messages Forum Options Options
Permalink
sathya-2
Bounty for AT and Storm Integration
Reply Threaded More
Print post
Permalink
greetings,

Would anyone be interested to create Storm support for AT . We would like to create AT content types and hook them up to an existing DB schema in postgres. I am not sure what the effort is like but would be interested to hear opinions and offer a bounty for this work.

Alternatively any one with experience interested in consulting on this project is welcome to contact me as well.

Regards
Sathya "sam" Rangaswamy

--
===========================================
CEO
ZeOmega
Open Minds' Open Solutions
#2591 Dallas Parkway
Suite 408
Frisco TX, 75034
214-618-9880- Ext 8002 (O)
214-975-1258 (F)
214-733-3467 (M)
http://www.zeomega.com
============================================
"Who killed the electric car ?"
============================================

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Plone-Users mailing list
Plone-Users@...
https://lists.sourceforge.net/lists/listinfo/plone-users
Martin Aspeli-2
Re: Bounty for AT and Storm Integration
Reply Threaded More
Print post
Permalink

sathya-2 wrote:
greetings,

Would anyone be interested to create Storm support for AT . We would like to create AT content types and hook them up to an existing DB schema in postgres. I am not sure what the effort is like but would be interested to hear opinions and offer a bounty for this work.

Alternatively any one with experience interested in consulting on this project is welcome to contact me as well.

Regards
Sathya "sam" Rangaswamy
Why Storm?

There seems to be a lot more movement around sqlalchemy, e.g. collective.tin or collective.rope, and I believe, a storage for AT using SQLAlchemy.

Martin
sathya-2
Re: Bounty for AT and Storm Integration
Reply Threaded More
Print post
Permalink
thanks martin. We have an existing database schema with 600 tables and would like the ability to configure  the mapping to multiple RDBMS tables. I understand Storm is more flexible in this situation.

I think you are referring to Alchemist which provides the SQLAlchemy integration for AT ?  but it does not seem to be an  active project

regards
sathya
----- Original Message -----
From: "Martin Aspeli" <optilude@...>
To: plone-users@...
Sent: Tuesday, July 1, 2008 11:48:44 AM (GMT-0600) America/Chicago
Subject: Re: [Plone-Users] Bounty for AT and Storm Integration




sathya-2 wrote:

>
> greetings,
>
> Would anyone be interested to create Storm support for AT . We would like
> to create AT content types and hook them up to an existing DB schema in
> postgres. I am not sure what the effort is like but would be interested to
> hear opinions and offer a bounty for this work.
>
> Alternatively any one with experience interested in consulting on this
> project is welcome to contact me as well.
>
> Regards
> Sathya "sam" Rangaswamy
>

Why Storm?

There seems to be a lot more movement around sqlalchemy, e.g. collective.tin
or collective.rope, and I believe, a storage for AT using SQLAlchemy.

Martin

--
View this message in context: http://www.nabble.com/Bounty-for-AT-and-Storm-Integration-tp18215444s6742p18220497.html
Sent from the General Questions mailing list archive at Nabble.com.


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Plone-Users mailing list
Plone-Users@...
https://lists.sourceforge.net/lists/listinfo/plone-users


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Plone-Users mailing list
Plone-Users@...
https://lists.sourceforge.net/lists/listinfo/plone-users
Martin Aspeli-2
Re: Bounty for AT and Storm Integration
Reply Threaded More
Print post
Permalink
sathya wrote:
> thanks martin. We have an existing database schema with 600 tables
> and would like the ability to configure  the mapping to multiple
> RDBMS tables. I understand Storm is more flexible in this situation.

SQLAlchemy can do this also, though it may be that Storm is better, I
don't know.

> I think you are referring to Alchemist which provides the SQLAlchemy
> integration for AT ?  but it does not seem to be an  active project

Alchemst is not about AT integration, as far as I know. I think you want
SQLAlchemyStorage or some such, but I may be wrong about the name.

Martin

--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Plone-Users mailing list
Plone-Users@...
https://lists.sourceforge.net/lists/listinfo/plone-users
Michael Bayer
Re: Bounty for AT and Storm Integration
Reply Threaded More
Print post
Permalink
sathya-2 wrote:
thanks martin. We have an existing database schema with 600 tables and would like the ability to configure  the mapping to multiple RDBMS tables. I understand Storm is more flexible in this situation.
Forgive me, but where might you have gotten this understanding from ?   SQLA is philosophically oriented towards flexibility, which is one of its original core values.  We most certainly map a single class to multiple tables, map individual sessions to multiple databases vertically or horizontally, you name it.  I'm not aware how Storm could achieve a class map to multiple tables since each class has a single "__storm_table__" attribute, and their approach towards multiple databases is simply to use a separate Store per engine.  Which of course SQLA allows as well, but it also has options for vertical and/or horizontal partitioning within a single session.


sathya-2
Re: Bounty for AT and Storm Integration
Reply Threaded More
Print post
Permalink
hello michael,
AFAIK with STORM you can create a composite class using References and have class attributes point to different tables. So mapping to multiple tables is not a problem.
Here is my current state of understanding wrt SQLAlchemy and pre-existing DB schema's
SQLAlchemy wants to generate schema for python classes and impose a certain table structure.  
>From what I have been told by my colleagues, this is not the case with STORM . Since we have an existing DB schema which we do not want to modify STORM seems to work better in this case.

But certainly there seems to be more activity on SQLAlchemy than STORM since it has been around longer and we would prefer to use it for that reason . But for my understanding as stated above we would prefer to use SQLAlchemy with ATypes as the integration exists and is ready to go.

Please correct my understanding.

TIA !
sathya
----- Original Message -----
From: "Michael Bayer" <mike_mp@...>
To: plone-users@...
Sent: Wednesday, July 2, 2008 2:15:45 PM (GMT-0600) America/Chicago
Subject: Re: [Plone-Users] Bounty for AT and Storm Integration



sathya-2 wrote:
>
> thanks martin. We have an existing database schema with 600 tables and
> would like the ability to configure  the mapping to multiple RDBMS tables.
> I understand Storm is more flexible in this situation.
>
>

Forgive me, but where might you have gotten this understanding from ?   SQLA
is philosophically oriented towards flexibility, which is one of its
original core values.  We most certainly map a single class to multiple
tables, map individual sessions to multiple databases vertically or
horizontally, you name it.  I'm not aware how Storm could achieve a class
map to multiple tables since each class has a single "__storm_table__"
attribute, and their approach towards multiple databases is simply to use a
separate Store per engine.  Which of course SQLA allows as well, but it also
has options for vertical and/or horizontal partitioning within a single
session.



--
View this message in context: http://www.nabble.com/Bounty-for-AT-and-Storm-Integration-tp18215444s6742p18244631.html
Sent from the General Questions mailing list archive at Nabble.com.


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Plone-Users mailing list
Plone-Users@...
https://lists.sourceforge.net/lists/listinfo/plone-users


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Plone-Users mailing list
Plone-Users@...
https://lists.sourceforge.net/lists/listinfo/plone-users
Martin Aspeli-2
Re: Bounty for AT and Storm Integration
Reply Threaded More
Print post
Permalink
sathya wrote:
> hello michael, AFAIK with STORM you can create a composite class
> using References and have class attributes point to different tables.
> So mapping to multiple tables is not a problem. Here is my current
> state of understanding wrt SQLAlchemy and pre-existing DB schema's
> SQLAlchemy wants to generate schema for python classes and impose a
> certain table structure.

Wrong. :)

It *can* do that (and as far as I'm told, Storm can't), but it certainly
doesn't have to. I've never used SQLAlchemy in this way.

>> From what I have been told by my colleagues, this is not the case
>> with STORM . Since we have an existing DB schema which we do not
>> want to modify STORM seems to work better in this case.
>
> But certainly there seems to be more activity on SQLAlchemy than
> STORM since it has been around longer and we would prefer to use it
> for that reason . But for my understanding as stated above we would
> prefer to use SQLAlchemy with ATypes as the integration exists and is
> ready to go.

Not quite sure what you're saying here.

> Please correct my understanding.

I have no wish to put down Storm, which I admit to knowing little about.
However, SQLAlchemy does seem to be "all the rage" these days and people
are using for very serious projects.

If you have my book, chapter 12 covers SQLAlchemy integration to an
existing database with collective.lead as the integration layer and
custom, but generated, forms.

The SQLAlchemy documentation is excellent, and I'd recommend you at
least skim it before making a decision.

Martin


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Plone-Users mailing list
Plone-Users@...
https://lists.sourceforge.net/lists/listinfo/plone-users
Michael Bayer
Re: Bounty for AT and Storm Integration
Reply Threaded More
Print post
Permalink

On Jul 4, 2008, at 2:42 AM, sathya wrote:

> hello michael,
> AFAIK with STORM you can create a composite class using References  
> and have class attributes point to different tables. So mapping to  
> multiple tables is not a problem.

This is obviously the most basic function of any ORM.   The classical  
SQLAlchemy bidirectional one-to-many/many-to-one looks like:

parent = Table('parent', metadata,
        Column('id', Integer, primary_key=True),
        Column('data', String(50))
)

child = Table('child', metadata,
        Column('id', Integer, primary_key=True),
        Column('data', String(50)),
        Column('parent_id', Integer, ForeignKey('parent.id'))
)

class Parent(object):
        pass

class Child(object):
        pass

mapper(Parent, parent, properties={
        'children':relation(Child, backref='parent')
})
       
mapper(Child, child)

so Parent.children and Child.parent are both accessible.  The loading  
strategy of each (lazy, joined-table eager, dynamic) can be configured  
as well.

A catalog illustrating the basic relation types are here:  http://www.sqlalchemy.org/docs/05/mappers.html#advdatamapping_relation_patterns

> Here is my current state of understanding wrt SQLAlchemy and pre-
> existing DB schema's
> SQLAlchemy wants to generate schema for python classes and impose a  
> certain table structure.

This is not just entirely untrue, this is the direct opposite of  
SQLA's stated philosophies (stated on the homepage of the site,  
throughout the docs, the mailing list, the Pypi page, blog entries of  
all kinds, published books, etc. etc.).

You might be confusing us with a different project called Elixir,  
which uses SQLA as its base and does make some decisions regarding  
table structure.   SQLA does not "generate schemas" in any case; while  
the SQLA Table construct is capable of issuing DDL corresponding to  
its exact user-specified design, SQLA never dictates schema design,  
naming, or anything else, in any way.    Many users of SQLA use it  
specifically with existing databases using "metadata reflection",  
which loads an existing database schema into a Python application by  
reading the database's catalog tables; mappings can then be created  
directly from those constructs (reflection is described here: http://www.sqlalchemy.org/docs/05/metadata.html#metadata_tables_reflecting)
.  The ORM is additionally capable of mapping and relating to  
customized joins, selects, and views in order to better suit unusual  
schemas (map to a select: http://www.sqlalchemy.org/docs/05/mappers.html#advdatamapping_mapper_selects 
   relate on a custom join: http://www.sqlalchemy.org/docs/05/mappers.html#advdatamapping_relation_customjoin 
  ).

The current state of SQLA's ORM can be best understood through the  
latest tutorial for the 0.5 series:   http://www.sqlalchemy.org/docs/05/ormtutorial.html 
  .   0.5 will have its first non-beta release most likely in August.



-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Plone-Users mailing list
Plone-Users@...
https://lists.sourceforge.net/lists/listinfo/plone-users