[Zope-dev] AdaptableStorage

2003-01-15 Thread seb bacon
Shane, AdaptableStorage is insane and beautiful - congratulations :-)

It could fit a possible project we have coming up where a requirement is 
to store content in an XML format inside MS SQL Server.

Do you have a TODO list?  Are there any particularly alpha parts?  I 
would need to get an idea of the risk I was taking on, but if the list 
is sufficiently small, I love to help mature and extend the product.

Seb


___
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: [Zope-dev] AdaptableStorage

2003-01-15 Thread Paul Winkler
On Wed, Jan 15, 2003 at 05:30:58PM +, seb bacon wrote:
 Shane, AdaptableStorage is insane and beautiful - congratulations :-)

It seems to inspire insanity :) kosh and i got into a discussion on #zope
about using AdaptableStorage with reiserfs4, mapping zope properties
to reiserfs4 properties... finally, a fully really transparent 
unix filesystem - ZODB solution that isn't a half-assed version of either! 
didn't get into detail but it seems like it should be doable.

-- 

Paul Winkler
http://www.slinkp.com
Look! Up in the sky! It's THE BUTTERY THIGH!
(courtesy of isometric.spaceninja.com)

___
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: [Zope-dev] AdaptableStorage

2003-01-15 Thread Shane Hathaway
Paul Winkler wrote:

On Wed, Jan 15, 2003 at 05:30:58PM +, seb bacon wrote:


Shane, AdaptableStorage is insane and beautiful - congratulations :-)



It seems to inspire insanity :) kosh and i got into a discussion on #zope
about using AdaptableStorage with reiserfs4, mapping zope properties
to reiserfs4 properties... finally, a fully really transparent 
unix filesystem - ZODB solution that isn't a half-assed version of either! 
didn't get into detail but it seems like it should be doable.

That's not insanity, it's just discovering that what was nasty and 
difficult before is now doable. :-)  I really didn't appreciate the 
elegance of Mac resource forks until I created the .properties files. 
 I understand NTFS has multiple named forks and other filesystems like 
ReiserFS are developing similar capabilities.  Neat.  Let's use them!

Shane


___
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: [Zope-dev] AdaptableStorage

2003-01-15 Thread THoffman
Solaris 9 also has extended Fileattributes 

From whats new in Solaris 9 The UFS, NFS, and TMPFS file systems have
been enhanced to include extended file attributes, which enable
application developers to associate specific attributes to a file. For
example, a developer of a file management application for a windowing
system might choose to associate a display icon with a file.

man (5) on fsattr http://docs.sun.com/db/doc/816-0220/6m6nkorp9?a=view

See ya

Tim


On Thu, 2003-01-16 at 03:47, Shane Hathaway wrote:
 Paul Winkler wrote:
  On Wed, Jan 15, 2003 at 05:30:58PM +, seb bacon wrote:
  
 Shane, AdaptableStorage is insane and beautiful - congratulations :-)
  
  
  It seems to inspire insanity :) kosh and i got into a discussion on
#zope
  about using AdaptableStorage with reiserfs4, mapping zope properties
  to reiserfs4 properties... finally, a fully really transparent 
  unix filesystem - ZODB solution that isn't a half-assed version of
either! 
  didn't get into detail but it seems like it should be doable.
 
 That's not insanity, it's just discovering that what was nasty and 
 difficult before is now doable. :-)  I really didn't appreciate the 
 elegance of Mac resource forks until I created the .properties files. 
   I understand NTFS has multiple named forks and other filesystems like 
 ReiserFS are developing similar capabilities.  Neat.  Let's use them!
 
 Shane
 
 
 ___
 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 )



DISCLAIMER: This email, including any attachments, is intended only for use
by the addressee(s) and may contain confidential and/or personal information
and may also be the subject of legal privilege. Any personal information
contained in this email is not to be used or disclosed for any purpose other
than the purpose for which you have received it. If you are not the intended
recipient, you must not disclose or use the information contained in it. In
this case, please let me know by return email, delete the message
permanently from your system and destroy any copies. Emails and their
attachments may be interfered with, may contain computer viruses or other
defects and may not be successfully replicated on other systems. All
attachments are opened at the recipient's risk.



___
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] AdaptableStorage status update

2002-12-10 Thread Shane Hathaway
I've been holding off status updates on the AdaptableStorage project 
until I could say I'm confident that the approach will work and it's 
easy enough to write your own serialization components.  After numerous 
refactorings, I'm pleased to say that it actually works and does 
everything I hoped!

AdaptableStorage lets you store ZODB objects in your own database and in 
your format, *without* using special content classes.  You can use a 
filesystem directory, a relational database, or whatever kind of 
database you might have as a ZODB.

This is very different from all previous solutions.  LocalFS, ExtFile, 
CMF directory views, and other similar products require you to use 
special content classes that store themselves outside the ZODB. 
OracleStorage and CVSFile store all objects as pickles.  Other solutions 
have similar issues.  AdaptableStorage, however, reuses as much of ZODB 
as possible to achieve orthogonal persistence to arbitrary databases and 
formats.

This is only a status report, not an announcement that it's finished, so 
the documentation is not done yet.  But there are interfaces, unit 
tests, and a basic diagram.  You can use DBTab to mount an 
AdaptableStorage instance.  As a test, I have successfully used 
AdaptableStorage to create a CMF site on both the filesystem and in a 
Postgres database.

Here's a way to get a preview.  (It may not work in MS Windows yet.) 
Get a very recent version of Zope 2.6 (or perhaps even the HEAD).  Then 
check out AdaptableStorage and DBTab from CVS:

cvs -d :pserver:[EMAIL PROTECTED]:/cvs-repository co 
Products/AdaptableStorage
cvs -d :pserver:[EMAIL PROTECTED]:/cvs-repository co Products/DBTab

Move the two products to the Products directory of your Zope instance. 
Create a dbtab.conf file in your Zope directory with the following:



[Storage: FS]
type=Zope2FSStorage
basepath=%(CLIENT_HOME)s/myfs
volatile=1

[Database: FS]
class=Zope2FSDatabase
mount_paths=/fs
auto_create=1



Don't forget to create the directory myfs like this:

mkdir var/myfs

Start Zope and choose Add DBTab Mount Point in the management UI.  You 
should get a checkbox next to the /fs mount.  Create that mount point. 
 Now visit /fs and add stuff.  Watch var/myfs/fs, which will contain 
all the objects you create.

You can't yet copy/paste, import, or export, but you can add just about 
any kind of object.  The files under var/myfs/fs currently contain 
pickles, but that's only because AdaptableStorage doesn't have a mapper 
registered for most kinds of objects and it falls back to the default 
mappers.  But AdaptableStorage does know about Folders and it creates a 
directory for them.  It also works the other way around: if you create a 
directory on the filesystem, you'll see it in Zope as a Folder.

If you're adventurous, you can also set up a SQL connection using 
psycopg and the following dbtab.conf entries:


[Storage: Postgres]
type=Zope2SQLStorage
params=
table_prefix=zodb
volatile=1

[Database: Postgres]
class=Zope2SQLDatabase
mount_paths=/sql
auto_create=1


You might observe that it's a little less responsive than regular ZODB. 
  Edit dbtab.conf, changing volatile=1 to volatile=0, to get the 
full benefits of the ZODB cache.  The downside is that changes you make 
on the filesystem won't be reflected immediately, but in a lot of 
environments, that is acceptable.

The AdaptableStorage I presented at the O'Reilly Open Source conference 
was specific to Zope 2.  This version is not.  In fact, most of it isn't 
even specific to ZODB.  Its core is a general serialization framework 
with pattern names drawn from Martin Fowler's book.

Let me know if you run into troubles.  I've been testing it with the 
Zope HEAD on Python 2.2.2.  This is the product of many months of 
inspiration and perspiration. :-)  It's not perfect, but the basic 
concepts and interfaces are in good shape.  Comments welcome.

Shane


___
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 )