[Zope] To sotre the data in SQL or ZODB, how about user login && user preference

Philippe Jadin all@123piano.com
Fri, 21 Dec 2001 12:15:15 +0100


Terry wrote:

> http://www.xxxcompany.com/news
> news is a PHP script , this page will produce all the link of today's 
> news content.

this would be a dtml method calling an sql method I guess

> then we can  build the web page. It's the way we are doing now.
> But by thinking about  the future. We try to build a solution for more 
> roubst && extensible && more perple involved. Then  we  start thinking 
> the Zope && ZEO.

Imho as you already have your content in a db you can safelly keep it 
there and use zope as a frontend. The need of zeo can be discussed, it 
depends on the load on the site. Using an external db will make 
balancing harder, but mysql is fast :)

> """
> Can any one suggest us any idea to move on or have any idea on the 
> kind of  situtation. Should I just pull all the news from DB  throw  
> ZODB stored on ZEO fs.

I'd let the content where it is with with your existing knowledge of 
running an rdbms. Moreover you can easily develop you custom solution 
while having the "old" site still up and running. And you'll be able to 
start the new site all at once using all the old data (and the data's 
added in between with the old system while developing the new one)

> Then define the permission for the editors && reporter. Let them could 
> edit && add  the new content  && images on the website, 

(this is a valid approach too, btw, but zope rdms support is quite cool, 
so... ymmv)

> or I should create a complicate interface to select , update && insert 
> the data with the db with keep tracking on different section of 
> reporters && editors. Any ways can through much easier ?  ;-(

I think you can mix the twos :

divide your sites in differents sections, let users add generic articles 
to it, and use acquisition to know where to add the article in the db :

you have
www.site.com/section1
www.site.com/section2
www.site.com/section3

you define your users in each section (so they can work only in this 
particualr section) using zope security machinery.

Then, you give each "section" folder a property (called for example 
"section"). Then you create your "insert" sql methods and the html 
interface that goes with it in root.

When called from the right place, the insert method will inherit the 
"section" property, this way letting your users add content only in the 
right section effectively.

I hope you understand this quite short explanation, but using 
acquisition can probably help to build a single editing interface, and 
add later more sections to the site easily (basically add a new folder 
somewhere).

hth

Philippe