Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-29 Thread Erik Enge

On Thu, 28 Jun 2001, Stephan Richter wrote:

 I think we need to setup a separate mailing list for this project. Can
 you do that? I think the discussion is getting too specific now.

We can use the mk-zprod-devel mailinglist at thingamy.com:

URL:http://www.thingamy.com/mailman/listinfo/mk-zprod-devel/


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-29 Thread Erik Enge

On Thu, 28 Jun 2001, Stephan Richter wrote:

 All what the wizard will do is provide the user with a nice
 interface/GUI to enter the information. I will then pass the
 information to the above mentioned management methods and the
 MakeZProduct Product will then generate the code and save it to the
 file system.

Oki.  What I currently have is a Zope product that you instanciate (maybe
in the context of the wizard) and that instance then provides you with
those methods you wanted.  The instance is the only thing persisten, since
all else will be written out to files (it can quite easily be done to
write them as persistent DTML Documents or somesuch if one wanted to
pause the setup or something, but that's outside the scope of round 1).
 
 BTW, we will assume that the user that runs the Zope engine has write
 access to /ZOPE/lib/python/Products.

Yeah.


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-29 Thread Stephan Richter

This will be the last post from on this thread.
We moved all discussions to
[EMAIL PROTECTED]
Sign up at:
http://www.thingamy.com/mailman/listinfo/mk-zprod-devel/
Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Tino Wildenhain

Hi,

--On Mittwoch, 27. Juni 2001 15:54 -0500 Stephan Richter [EMAIL PROTECTED] 
wrote:

 At 10:45 PM 6/27/01 +0200, Erik Enge wrote:
 On Wed, 27 Jun 2001, Tino Wildenhain wrote:

  if there are always many objects to create, may be it would be better
  to have a generic mechanism for asking users and represent
  app-/management interfaces rather then copying all the stuff over and
  over?

 That's what mk-zprod does.  Or rather, will do once I've made the
 interface friendlier.  (If I didn't misunderstand you.)

 If I have some time left at all tonight, I will make a wizard that could
 be  the initial front-end to mk-zprod. Could you give me a short list of
 things  you would like to ask the user?

Hm. a simple collection of questions? Certainly not.
I talking of a whole mechanism, where you group input
and output into contexts. From application view it
would be an API, it schould work no matter if the input/
output is generated from and to HTML, WML, XML or even
stand-allone GUIs.
I'm thinking of semantic groups of input, output and types
and ranges and default values including naming conventions.

Regards
Tino 

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Erik Enge

On Thu, 28 Jun 2001, Tino Wildenhain wrote:

 Hm. a simple collection of questions? Certainly not. I talking of a
 whole mechanism, where you group input and output into contexts. From
 application view it would be an API, it schould work no matter if the
 input/ output is generated from and to HTML, WML, XML or even
 stand-allone GUIs.

Could you give me an example of how this would work?


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Stephan Richter


If I have some time left at all tonight, I will make a wizard that could
be  the initial front-end to mk-zprod. Could you give me a short list of
things  you would like to ask the user?

Hm. a simple collection of questions? Certainly not.
I talking of a whole mechanism, where you group input
and output into contexts. From application view it
would be an API, it schould work no matter if the input/
output is generated from and to HTML, WML, XML or even
stand-allone GUIs.
I'm thinking of semantic groups of input, output and types
and ranges and default values including naming conventions.

Well, that sounds more like what SmartObjects tries to do. But I am still 
confused. As Erik wrote later, can you give examples?

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Stephan Richter

Here my list of questions:

1. Will we create ZClass or Python Products?

Product-name

2. I think it should ask some more meta-data information here, such as 
License, Author(s), Description 

A list of images (like dtmldoc.gif and such)

3. Okay, here we should have a loop of enter images with upload 
functionality. The only problem is where do we save them in the mean time?

If you want to set a default Catalog name

4. Okay, I do not work with the catalog; what do you need, just a name or 
the path? I think the WizardTreePage will help here.

If you want nice redirection after adding objects

5. Yep, how could that look like; should I provide users with a text area 
or what?

if you want to include standard headers in your dtml files

Okay.

a list of classes

6. Yes, we will start a loop here asking for class information.

  class name
  class type
  class icon name

7. Yeah, this is all the meta-data here, so that could go on one page. But 
you are missing a list of Base Classes. I have no clue where to get these 
from. I guess it is time to look into the ZClass code, but I think they use 
a separate Mechanism. The problem with the current product registry is that 
NO classes are listed anywhere, only their constructors, which is nothing 
worth in this case.

  catalogaware or not (or may just methods to index/reindex th object)

Okay.

   a list of attributes
 attribute name
 attribute type
 attribute default value

8. Should that just use the PropertyManager attribute _properties? I 
usually add the 'default' key to each property dictionary and write a two 
liner in the __init__ method to generate the properties with their default...

   a list of subclasses
 subclass name
 subclass type
 subclass icon name
 a list of attributes
   

9. Again, that would be a loop. But my question here would be: Are you 
using sub-classes that much. I have written one so far in all the products ...

Okay, I think we got a flow together... If you have a couple more minutes 
grin, some sort of storyboards would be nice... I started already 
building a wizard, but I dunno how much time I got today, since I am 
leaving town tomorrow and won't return until the ZopeCon in Berlin is over. 
Are coming to Berlin?

Regards,
Stephan


--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Erik Enge

On Thu, 28 Jun 2001, Stephan Richter wrote:

 Here my list of questions:
 
 1. Will we create ZClass or Python Products?

Python Products.
 
 Product-name
 
 2. I think it should ask some more meta-data information here, such as 
 License, Author(s), Description 

Yepp :)
 
 A list of images (like dtmldoc.gif and such)
 
 3. Okay, here we should have a loop of enter images with upload 
 functionality. The only problem is where do we save them in the mean time?

Upload?  Upload to where?

mk-zprod (as it works today) creates a directory on your filesystem, and
in that directory (which you just copy to your Products directory) it
creates an img/ directory and puts them there.
 
Or are you asking where the wizard should store them?  (Which I thought it
didn't have to.)

 If you want to set a default Catalog name
 
 4. Okay, I do not work with the catalog; what do you need, just a name or 
 the path? I think the WizardTreePage will help here.

Just the name. :)
 
 If you want nice redirection after adding objects
 
 5. Yep, how could that look like; should I provide users with a text area 
 or what?

In the dtml/ directory of mk-zprod you have Add2.dtml, that's the page the
user is redirected to after adding an object.  Maybe a text area with a
suggestion (like Add2.dtml) in it?
 
 7. Yeah, this is all the meta-data here, so that could go on one page.
 But you are missing a list of Base Classes. I have no clue where to
 get these from. I guess it is time to look into the ZClass code, but I
 think they use a separate Mechanism. The problem with the current
 product registry is that NO classes are listed anywhere, only their
 constructors, which is nothing worth in this case.

Hubbliski.  We could provide them with standard classes as defaults
(Persistent, Explicit/Implicit, AccessControl) and suggest some
others.  I'm not too sure about the ZClass thing.

 8. Should that just use the PropertyManager attribute _properties?

Yepp.

 I usually add the 'default' key to each property dictionary and write
 a two liner in the __init__ method to generate the properties with
 their default...

Why not just have:

def __init__(self, attrib1, attrib2='something'):
doc string
self.attrib1 = attrib1
self.attrib2 = attrib2

which could come from such a description:

attribs:
name: attrib1 default value: None
name: attrib2 default value: something
 
What do you think?

 9. Again, that would be a loop. But my question here would be: Are you
 using sub-classes that much. I have written one so far in all the
 products ...

My latest projects sub-classes left, right and center.  If we just have
the logic for a recursive loop there the user could add as many as s/he
wanted without it being much more work for us.
 
 Are coming to Berlin?

Well, I was, but I'm moving to France the 8. of July and I've just come
home (to Norway) from England.  England, Norway, France, Germany, France
all in just three weeks is a bit much :)  (Oh, and I have to get an
apartment in Antibes.)


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Erik Enge

On Thu, 28 Jun 2001, Erik Enge wrote:

   name: attrib1 default value: None
   name: attrib2 default value: something

No, that wouldn't work, because you might want None as the default for
that attribute.  Maybe Nothing, or somesuch then.


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Stephan Richter

At 02:23 PM 6/28/01 +0200, Erik Enge wrote:
On Thu, 28 Jun 2001, Erik Enge wrote:

name: attrib1 default value: None
name: attrib2 default value: something

No, that wouldn't work, because you might want None as the default for
that attribute.  Maybe Nothing, or somesuch then.

None == Nothing. Some default we need to have, otherwise we cannot 
initialize the attribute.

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Stephan Richter


Python Products.

Ok.

  3. Okay, here we should have a loop of enter images with upload
  functionality. The only problem is where do we save them in the mean time?

Upload?  Upload to where?

mk-zprod (as it works today) creates a directory on your filesystem, and
in that directory (which you just copy to your Products directory) it
creates an img/ directory and puts them there.

Well, but where are the images coming from. The Wizard is a Web Frontend, 
so we would need to upload the images or copy them from somewhere else from 
the file system.
BTW, the /img directory is non-standard. Better would be www/ since other 
products use it as well.
In fact, we only need to think about adding them with the right permissions 
to the directory. A piece of code in the __init__.py will do the rest:

# load all the icons automatically
from Globals import package_home, ImageFile
misc_ = {}
path = os.path.join(package_home(globals()), 'www/')

for file in os.listdir(path):
 if file[-3:] == 'gif':
 misc_[file[:-4]] = ImageFile('www/%s' %file, globals())


Or are you asking where the wizard should store them?  (Which I thought it
didn't have to.)

Well, you can take two approaches here:
1. As soon as the user uploads the icon, we are adding it to the directory. 
This is a problem, if you want to undo some or all of the wizard actions, 
but is much easier to implement.
2. When the icon is uploaded, save it somewhere temporarily. At the end, 
when all questioning is done, add everything at once. This has the 
advantage that you can freely move back and forth until you finish the wizard.

  5. Yep, how could that look like; should I provide users with a text area
  or what?

In the dtml/ directory of mk-zprod you have Add2.dtml, that's the page the
user is redirected to after adding an object.  Maybe a text area with a
suggestion (like Add2.dtml) in it?

Sounds good.

Hubbliski.  We could provide them with standard classes as defaults
(Persistent, Explicit/Implicit, AccessControl) and suggest some
others.  I'm not too sure about the ZClass thing.

Okay, for the first version that will probably suffice.

  I usually add the 'default' key to each property dictionary and write
  a two liner in the __init__ method to generate the properties with
  their default...

Why not just have:

 def __init__(self, attrib1, attrib2='something'):
 doc string
 self.attrib1 = attrib1
 self.attrib2 = attrib2

Because this is horribly ugly and unflexible when you have 20 attributes. I 
always have to change several places, if I modify, add or edit an 
attribute/property.

which could come from such a description:

 attribs:
 name: attrib1 default value: None
 name: attrib2 default value: something

Well, we can describe that right away in the standard property dictionary 
form; then we do not need to parse or do anything else.

  9. Again, that would be a loop. But my question here would be: Are you
  using sub-classes that much. I have written one so far in all the
  products ...

My latest projects sub-classes left, right and center.  If we just have
the logic for a recursive loop there the user could add as many as s/he
wanted without it being much more work for us.

Okay, I just wanted to make sure it really has the additional usage, for 
the extra effort.

Well, I was, but I'm moving to France the 8. of July and I've just come
home (to Norway) from England.  England, Norway, France, Germany, France
all in just three weeks is a bit much :)  (Oh, and I have to get an
apartment in Antibes.)

Okay. It would have been a good place to discuss this further.

Now, I looked at the mk-zprod code again. We need to make it a real Zope 
Product with a nice management API, so that I can use the functions from 
the Wizard.

For example we would need:

manage_make_initializeProduct(...)
manage_make_addClass(...)
manage_make_addProperty(...)
manage_make_addIcon(...)
manage_make_addSubClass(mainClass, ...)

If we define this API clearly, then we can use it later to automatically 
generate ZClasses as well. Once the work, twice the reward! ;-)

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Erik Enge

On Thu, 28 Jun 2001, Stephan Richter wrote:

 Well, but where are the images coming from. The Wizard is a Web
 Frontend, so we would need to upload the images or copy them from
 somewhere else from the file system.

From the filesystem of the user?

 BTW, the /img directory is non-standard. Better would be www/ since other 
 products use it as well.

Sure thing.  (Although, www/ indicates to me .html pages and various other
things too.)

 In fact, we only need to think about adding them with the right permissions 
 to the directory. A piece of code in the __init__.py will do the rest:

Yes.  This is what mk-zprod does today :)
 
 2. When the icon is uploaded, save it somewhere temporarily. At the end, 
 when all questioning is done, add everything at once. This has the 
 advantage that you can freely move back and forth until you finish the wizard.

Sounds good :)
 
  def __init__(self, attrib1, attrib2='something'):
  doc string
  self.attrib1 = attrib1
  self.attrib2 = attrib2
 
 Because this is horribly ugly and unflexible when you have 20 attributes. I 
 always have to change several places, if I modify, add or edit an 
 attribute/property.

Could you give me an example of how you would do it?  (Then I could
modify the mk-zprod code.)
 
 Well, we can describe that right away in the standard property dictionary 
 form; then we do not need to parse or do anything else.

Nice :)
 
 Well, I was, but I'm moving to France the 8. of July and I've just come
 home (to Norway) from England.  England, Norway, France, Germany, France
 all in just three weeks is a bit much :)  (Oh, and I have to get an
 apartment in Antibes.)
 
 Okay. It would have been a good place to discuss this further.

Morten Petersen from Thingamy will be there, I'm sure he has some thoughts
about it.
 
 Now, I looked at the mk-zprod code again. We need to make it a real
 Zope Product with a nice management API, so that I can use the
 functions from the Wizard.

I'll start typing right now.  I'll probably have something premature by
tomorrow.
 
 If we define this API clearly,

Ok.  I'll just write up mk-zprod as a Python Product and the API is
defined as I go.  Then, you could have a look and we can unite on one API
and I make the necessary changes in the code.  Yeah?

Unless, of course, you have some specific requests right away.

 Once the work, twice the reward! ;-)

I like.



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Erik Enge

On Thu, 28 Jun 2001, Stephan Richter wrote:

 For example we would need:
 
 manage_make_initializeProduct(...)
 manage_make_addClass(...)
 manage_make_addProperty(...)
 manage_make_addIcon(...)
 manage_make_addSubClass(mainClass, ...)

I just realised something.  How do you need this to work?  With regards to
the wizard.  Should mk-zprod produce the files and add them to a folder in
itself?  Or should it return everything for the wizard to handle?


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Stephan Richter

Erik,

I think we need to setup a separate mailing list for this project. Can you 
do that? I think the discussion is getting too specific now.

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Stephan Richter


I just realised something.  How do you need this to work?  With regards to
the wizard.  Should mk-zprod produce the files and add them to a folder in
itself?  Or should it return everything for the wizard to handle?

All what the wizard will do is provide the user with a nice interface/GUI 
to enter the information. I will then pass the information to the above 
mentioned management methods and the MakeZProduct Product will then 
generate the code and save it to the file system.

BTW, we will assume that the user that runs the Zope engine has write 
access to /ZOPE/lib/python/Products.

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-28 Thread Stephan Richter


  BTW, we will assume that the user that runs the Zope engine has write
  access to /ZOPE/lib/python/Products.
 

Don't forget about those of us that use $INSTANCE_HOME/Products

Oops, that what I meant to say.  have access to the Products directory 
 :-)

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-27 Thread Erik Enge

On Tue, 26 Jun 2001, Stephan Richter wrote:

 Okay, okay...I stayed up and typed it down pretty quick (2 hours). I
 attached it to this mail. It is plain text, since I was too lazy to do
 it in HTML. It might be a little unstructured, but I am too tired to
 fix that now.

So what does it do?  :)

What I'm thinking is this: maybe use SmartWizard to meta-program you
Python Product; that creates a definition file(s) of some sort which is
sent to mk-zprod; mk-zprod consults the WarpFramework do make sure we
don't create too much work for ourselves, and also provides us with nice
default HTML/DTML-pages, and finally, Formulator could be used to do
validation on those HTML/DTML-pages.

Or are we talking past eachother here?

It would be very cool to have a tool like that.


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-27 Thread Stephan Richter

At 06:05 PM 6/27/01 +0200, Erik Enge wrote:
On Wed, 27 Jun 2001, Stephan Richter wrote:

  Exactly that. But the SmartWizard would provide you with a framework
  to build this Make New Python Product Wizard. If I get far enough, I
  will release the pre alpha today, just you see the proof of concept...

Cool!  I'll be looking forward to it.

I have already a decent version running now. I want to add the Formulator 
and SmartSections WizardPage Templates to the system and make it better 
looking before the release tonight (or more in the morning).

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-27 Thread Tino Wildenhain

Hm. Wizard?

if there are always many objects to create, may be it would be
better to have a generic mechanism for asking users and
represent app-/management interfaces rather then copying all
the stuff over and over?

Regards
Tino

--On Mittwoch, 27. Juni 2001 08:54 -0500 Stephan Richter [EMAIL PROTECTED] 
wrote:


 So what does it do?  :)

 It is a general Wizard Builder with which you could build a Wizard that
 asks for all the necessary information to auto-generate a Python Product
 (for example).

 What I'm thinking is this: maybe use SmartWizard to meta-program you
 Python Product; that creates a definition file(s) of some sort which is
 sent to mk-zprod; mk-zprod consults the WarpFramework do make sure we
 don't create too much work for ourselves, and also provides us with nice
 default HTML/DTML-pages, and finally, Formulator could be used to do
 validation on those HTML/DTML-pages.

 Exactly that. But the SmartWizard would provide you with a framework to
 build this Make New Python Product Wizard. If I get far enough, I will
 release the pre alpha today, just you see the proof of concept...

 Or are we talking past eachother here?

 Nope, we don't. But SmartWizard is a more general tool than you were
 thinking of it.

 It would be very cool to have a tool like that.

 I agree. It is annoying to code all that stuff all the time.

 Regards,
 Stephan

 --
 Stephan Richter
 CBU - Physics and Chemistry Student
 Web2k - Web Design/Development  Technical Project Management


 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists -
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-27 Thread Erik Enge

On Wed, 27 Jun 2001, Tino Wildenhain wrote:

 if there are always many objects to create, may be it would be better
 to have a generic mechanism for asking users and represent
 app-/management interfaces rather then copying all the stuff over and
 over?

That's what mk-zprod does.  Or rather, will do once I've made the
interface friendlier.  (If I didn't misunderstand you.)


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-27 Thread Stephan Richter


if there are always many objects to create, may be it would be
better to have a generic mechanism for asking users and
represent app-/management interfaces rather then copying all
the stuff over and over?

Well, the current wizard version (which I hope I will be able to release in 
a couple more hours) already has some Page Templates that do some of the 
common tasks. I think we could easily map this to the management interface.

And I like the idea a lot. So often I am simple copying a DTML File just to 
change a name or so.

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-27 Thread Stephan Richter

At 10:45 PM 6/27/01 +0200, Erik Enge wrote:
On Wed, 27 Jun 2001, Tino Wildenhain wrote:

  if there are always many objects to create, may be it would be better
  to have a generic mechanism for asking users and represent
  app-/management interfaces rather then copying all the stuff over and
  over?

That's what mk-zprod does.  Or rather, will do once I've made the
interface friendlier.  (If I didn't misunderstand you.)

If I have some time left at all tonight, I will make a wizard that could be 
the initial front-end to mk-zprod. Could you give me a short list of things 
you would like to ask the user?

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-26 Thread Andy McKay

One thing Id been musing about for a while was a ZClass  Python Product
script that took your ZClass and set up your basic python product for you.
It would only work for simple for things like permissions, properties, basic
methods... Then ZClasses could be an easier springboard into python products
for those new to them.

Cheers.
--
  Andy McKay.


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-26 Thread Stephan Richter

Hello everyone,

I gotta join this discussion.

iuveno was also thinking about a tool that would replace ZClasses, since 
their performance is far too bad. We had a not so good experience with the 
ZClass-based Kontentor and now that the first part is rewritten in Python 
we can see the speed-ups (the performance increase can be measured in 
multiples - real tests need to be done).
The reason - in my opinion - that ZClasses are so slow are the huge amount 
of Acquistion lookups and the save rendering. You can often code things 
smarter in Python using much less of the safe Zope environment, but still 
providing safety through specific commands. I think Formulator is a great 
example of how safe the Python programming can be.
There are two thoughts here:

1. We are building a wizard that asks you all the necessary questions to 
generate a basic class framwework. This wizard (which can be used in many 
other fields - such as installers - as well) is currently being built. We 
use Formulator a lot and I support the development of it as much as I can 
(it is a cool product with many cool features). If anyone is interested in 
helping developing that tool (which will be released under the GPL as all 
of the iuveno products), then I can make an electronic copy of my personal 
notes and I setup a CVS.
Formulator at Zope: http://www.zope.org/Members/faassen/Formulator
Formulator at Sourceforge: http://sourceforge.net/projects/formulator/


2. Phillip Auersperg from bluedynamics.com uses ObjectDomain quiet heavily, 
since it has a nice JPython API that comes with it. He already built a 
reverse-engineering tool for ZClasses and is now going to write another 
tool to automatically generate DBObjects from a UML diagram in 
ObjectDomain. I am very excited about this tool, since it will make the 
already fast DBObject development even faster. As soon as Formulator goes 
into 1.0, I am going to think about binding the Formulator to DBObjects, so 
you can quickly generate forms for each object. In Berlin in two weeks, we 
are going to discuss this integration in more detail...
Bluedynamics URL: http://www.bluedynamics.com
DBObjects/SmartObjects URL: http://demo.iuveno-net.de


I am very glad to see that we all have the same vision. We all just need to 
work more together (especially me included). This way we can have some 
strikes against the big ones...

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-26 Thread Stephan Richter


What is ZPI?

Typo: Read API

  Well, the SmartWizard would be like the frontend for it. If you want
  to see an early non-SmartWizard-framework version, look at the
  ProiektorInstaller.  Just imagine you can build installers like that
  in Zope. I hope to be done with the first version on Thursday.

Great, will you let us know?

Of course. ;-)

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-26 Thread Andy McKay

 What is ZPI?
 
 Typo: Read API

Its the Zope version of an API :)

Cheers.
--
  Andy McKay.


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-26 Thread Stephan Richter

At 06:40 PM 6/26/01 -0700, Andy McKay wrote:
  What is ZPI?
 
  Typo: Read API

Its the Zope version of an API :)

If you want to see it. Yeah, we just created another three-letter acronym 
for this world!!! So everyone, it is not anymore API, but ZPI...geez, I am 
starting to get silly, that means I need some sleep...

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: Something better than ZClasses (was: Re: [Zope-dev] Re: Zcatalog bloat problem (berkeleydb is a solution?))

2001-06-26 Thread Stephan Richter


  I will upload the documents tomorrow though, since it is late here and
  I have to do some work still.

Ok.  I'll begin thinking about all the stuff I dreamt of making mk-zprod
into.

Okay, okay...I stayed up and typed it down pretty quick (2 hours). I 
attached it to this mail. It is plain text, since I was too lazy to do it 
in HTML. It might be a little unstructured, but I am too tired to fix that now.

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management

SmartWizards - A framework to generate the Every-Day-Wizard
===
by Stephan Richter in June 2001

Version 0.1


The following parts of a *default* WizardPage are defined:

+-+--+
| |  |
|Logo |   Header and Long Description|
| |  |
+-+--+
| |  |
|  Wizard |Wizard|
| |  |
|  Overview   | Main |
| |  |
| |Window|
| |  |
| |  |
| |  |
| |  |
| |  |
+-+--+
|  Status Messages   |
++
|  Navigation Bar (buttons to move)  |
++


Therefore there are the following standard methods defined in a wizard:

wizardHeaderwizardStatus
wizardFooterwizardNavigationBar
wizardOverview  wizardMainWindow
wizardDescription


Functionalities of these methods:
=

wizardOverview:
---
  - should display a list of all pages (display short description/title)
  - needs to know about the active page to highlight it

  Default Output: A numbered list of all the pages with the active one 
  highlighted.


wizardDescription:
--
  - shows the 'long' description of the active page
  - there might be also a static part, depending on the application


wizardStatus:
-
  - status messages/information
  o Errors by form validation
  o administrative messages (required fields, ...)
  o wizard information (page x out of y)


wizardNavigation:
-
  - there should be only buttons here!
  - maybe we should define where the buttons are, since grouping some
of them will be necessary


wizardMainWindow:
-
  - here goes the real page information
  - there can be: forms, other actions, information and everything mixed



Classes
===

SmartWizard -- Folder
--

  - we are going to use Sessions (CoreSessionTracking) and Versions to keep track of 
the
user's status.
  - Since it will be too hard to give all information first and then commit everything 
at the end, we decided to use versions, which we can always not commit, if a roll-
back is requested.
  - All the other info is saved in the session, since several people at once could use
the wizard at once.
  - Also, we will keep track of the active page by simply storing the index of the 
page 
inside the Pages folder; since it is an OrderedFolder we can do this safely.

  - methods: wizardHeader 
 wizardFooter
 wizardCSS
 wizardStatus
 wizardNavigationBar
 wizardOverview
 wizardMainWindow
 wizardDescription
 wizardSession - Contains all the session data information
 Object is of type SessionDataManager.   
 Versions  - Folder that contains versions of the people which use the 
wizard.
 Object is of type Folder.
 Pages - The container of all the WizardPages that being displayed 
during 
 the Wizard.
 Object is of type OrderedFolder (see Zope.org).

  - attributes: activePageIndex - specific value is stored in the session