[Zope] Re: Happy Valentine's Day from Zwiki HQ

2008-02-14 Thread Martin Aspeli

Simon Michael wrote:

This is to air these thoughts, solicit your ideas, and also a kind of 
ping to gauge support for the project circa 2008, I guess.


If I were designing a Wiki system for use with Plone today, I'd start 
with "wicked", the wiki linking feature of Plone, and extend it with a 
policy that provided wiki features like backlinks and an optional 
security policy of more free edits.


That of course says nothing about existing ZWiki instances (which you 
may then need to migrate), nor does it cater to a Zope-only solution.


Martin

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

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: ZPL and GPL: What should one consider when choosing a license?

2007-12-22 Thread Martin Aspeli

Tres Seaver wrote:


Rehashing GPL vs ZPL is off topic here, because the ZPL is the
*mandated* license for any code contributed into the zope.org
repository:  that choice is not subject to debate.


And similarly, Plone core (at the very least, the CMFPlone package and 
the plone.app.* namespace, but probably some or all other things too) 
are mandated by the Plone Foundation to be GPL licensed.


I personally prefer plone.* packages (which are more re-usable) to be 
LGPL or ZPL licensed so as to encourage re-use, but AFAIK there's never 
been a clear position on this, which is unfortunate.


Martin


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

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] V iewlet in rotterdam?

2007-03-23 Thread Martin Aspeli



Derek Richardson-2 wrote:
> 
> Zope 3.3
> 
> I want to add a viewlet to the rotterdam skin. I don't want to create my 
> own skin. is there an accepted way of doing this? I'm surprised that the 
> left sidebar in rotterdam doesn't appear to have  a viewlet manager. I 
> have been unable to find any declarations in zcml (grepped for 
> viewletManager through the entire zope source, didn't see anything 
> relevant).
> 
> It looks like rotterdam makes do with macros, instead of using viewlets. 
> Is there a reason for this? Seems like the left sidebar is perfect for a 
> manager, with a viewlet for navigation and another for the add menu.
> 
> I am writing a syndication (web feeds: Atom, RSS, etc) package for zope 
> and want to plug my viewlet for accessing feed links directly into 
> rotterdam. Perhaps this isn't the way to do it, but it seems to me that 
> a package like mine that provides general functionality shouldn't define 
> its own skin, but should be usable in other skins. Am I wrong?
> 

>From what I understand, Rotterdam is pretty old, and people generally create
their own skins from scratch.

I don't think a generic component that provides a service (syndication)
should be trying to blanket impose a UI. If you want a demo UI, then have a
separate package for this, which shows an example UI. The generic component
could still have a viewlet, just not wire it up.

Martin

-- 
View this message in context: 
http://www.nabble.com/V-iewlet-in-rotterdam--tf3455247.html#a9639973
Sent from the Zope - General mailing list archive at Nabble.com.

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] RE: Is there any way to turn off the publishing of externalmethods to the web in Zope?

2007-01-29 Thread Martin Aspeli



Mark, Jonathan (Integic) wrote:
> 
> As many of us know, BDFL Guido doesn't seem to think much of Zope. He
> allegedly feels that Zope forces one to learn Zope instead of Python.
> There is some truth to that. My goal is to leverage Zope's ZMI and CMS
> features while doing as much work as possible in Python and Python
> scripts. 
> 
> I thus object philosophically to ZPT and DTML and hope to avoid them in my
> product, which should be released on Zope.org to a probably indifferent
> Zope world some time later this year. I can use Cheetah as an external
> method with Python scripts, instead of ZPT and DTML. 
> 

Why do you object philosophically to them? DTML is nasty, I would agree, but
I've yet to find a web templating language that works as well in practice as
ZPT in terms of separating design and presentation (especially when combined
with Zope 3 views; and possibly moving in the direction of something like
Pushpage by Tres). I guess it comes down to taste. I found Cheetah
horrendously ugly, aesthetically speaking.



> My attempt to use Chris's Twiddler templating tool as an external method
> instead of Cheetah ran into a problem which I am sure was my fault,
> although Twiddler worked great from my Zope instance's Python command
> line. I didn't feel like figuring out what my mistake was. The Path of
> Least Resistance was to use Cheetah, and I believe that there is great
> wisdom in the Path of Least Resistance. Deviate from that path only to
> travel on the Path of Greater Wisdom. Twiddler and Cheetah appear equally
> wise, so PLR said go with Cheetah.
> 
> I want as much as possible of my Zope 2.10 blogging product (working name,
> Aristede, for which I own the Aristede.com domain name) to be visible in
> Python scripts and folder properties. External methods should be only a
> wrapper to Cheetah and to other Python modules that can't be imported into
> Python Scripts.
> 

I'm not sure if this is constructive, but it seems to me that you are trying
to use Zope in a way that, at best, people are actively moving away from, or
at worst, it wasn't really designed to be used. In particular, it seems
strange to me to want to have pyscripts that explicitly call Cheetah
templates, and to make extensive use of external methods (why not just use
products and filesystem code in custom objects that represent your data
model?).

Also note that if all you really need is a blog, there are probably existing
solutions you could use and build on rather than have to create your own.

In truth, you may be interested to learn more about Zope 3 and even grok.
They are different ways of programming, but more "pythonic" and very
powerful. I can recommend Philipp von Weitershausen's Zope 3 book
(http://worldcookery.com) (disclaimer: I helped proof read it), if you want
to learn something new and exciting.



> My paranoid nature is due to a fear of creating my own product and finding
> out that I have left a security hole. By using Eval in my external method
> I can avoid coupling the external method which calls Cheetah to the list
> of properties which I send Cheetah, and reduce the amount of code which I
> need to do it. But Eval is super dangerous to use. It is a trade-off
> between code simplicity and security. 
> 
> Hence my desire to make certain that no one can pass from inside a URL
> parameters which are later Eval'd to my external method.
> 

Eval sounds like a really nasty hack (isn't it always?). You'll probably
find it hell to debug as well... I would assume it's possible to write some
first-class object in Zope that could act similarly to DTML or ZPT objects
but do the rendering using Cheetah, if you really want to use that.

Martin

-- 
View this message in context: 
http://www.nabble.com/Is-there-any-way-to-turn-off-the-publishing-of-external-methods-to-the-web-in-Zope--tf3122776.html#a8693535
Sent from the Zope - General mailing list archive at Nabble.com.

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Selenium zodb?

2007-01-10 Thread Martin Aspeli



Peter Bengtsson wrote:
> 
> How can I run Zope in a non-persistent way so that all transactions are 
> aborted and so that I can run a big fat Selenium script in Firefox 
> without having to manually undo everything the Selenium script has done?
> Kind of like ZopeTestCase works when you run it.
> 

Considering that ZopeTestCase can, you *must* be able to. Look at how it
sets up DemoStorage and the like. I don't know the specifics, though, and
you may need your selenium scripts to call some hooks to set up and tear
down test fixtures (not unreasonable in any case).

However, unless you're running demos or testing JS, I would suggest you look
at zope.testbrowser. See http://plone.org/documentation/tutorial/testing.

Martin
-- 
View this message in context: 
http://www.nabble.com/Selenium-zodb--tf2951592.html#a8255076
Sent from the Zope - General mailing list archive at Nabble.com.

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: Plone Site

2006-07-26 Thread Martin Aspeli

SANDRA LORENA ANAYA DIAZ wrote:

Hi,

I have installed zope 2.7 and I need add a Plone Site. This feature don`t 
exist? How I do to add a Plone site in this version of Zope?


http://plone.org/documentation/how-to/setup-from-source

Martin

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] ExternalMethod for exporting un-pickled Office files tothe filesyste

2006-06-22 Thread Martin Aspeli


Tino Wildenhain wrote:
> 
> Krishna Shukla schrieb:
>> How we can read the "plone file" File from zodb in one file object.
>> Regards
>> Krishna
> 
> should work similar - but check the API docs. The meta-type
> is probably a bit different so you need to extend it in the
> Zopefind() call. Also for ultra performance, Zope file objects
> usually dont wear an opaque string with data but linked PData
> elements which could be read block by block instead of the
> simple str() in my implemention.
> 

Look at whatever ATFile specifies; I suspect it's something like getFile().

There's an obvious solution we're missing here by the way: use WebDAV or FTP
:)

Martin
--
View this message in context: 
http://www.nabble.com/RE%3A-ExternalMethod-for-exporting-un-pickled-Office-files-tothe-filesystem-etc-t1829611.html#a4992271
Sent from the Zope - General forum at Nabble.com.

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] ExternalMethod for exporting un-pickled Office files to the filesyst

2006-06-22 Thread Martin Aspeli


michael nt milne wrote:
> 
> Cheers, thanks a lot for that. I'll give it a go. I still may be
> interested
> in sponsoring a version with the improvements you mention etc and possibly
> more. Would that code be compatible for Unix and also for Windows NTFS?
> 

Note: I think this deals with Files, as per Zope's built-in OFS types, not
ATFile, the 'File' type you see in Plone. It may still work, but you may
also need to access ATFile's API directly.

Note that another version of this script may be to just use wget to pull the
URLs for files. For example, you could have a script:

from Products.CMFCore.utils import getToolByName
catalog = getToolByName(context, 'portal_catalog')
for i in catalog(portal_type = ('File', 'ATFile',)):
print i.getURL()
return printed

... put that in a skin folder or portal_skins custom. Then write a bash
shell script or similar that first does a wget to
http://my.server.com/getAllFileUrls (if that's the name of the script),
saving the body of the response (a newline-delimited list of filenames) to a
file or just an array in-memory (you could do this with python's urllib as
well). Then, loop over the lines in that file, and do a get on each one - it
should fetch the file for you.

Martin
--
View this message in context: 
http://www.nabble.com/ExternalMethod-for-exporting-un-pickled-Office-files-to-the-filesystem-etc-t1829379.html#a4991401
Sent from the Zope - General forum at Nabble.com.

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] creating a new permission

2006-06-07 Thread Martin Aspeli


thomas desvenain wrote:
> 
> i am searching for hours, and i don't find how to define a new
> permission, in python code, for my product
> 

Permissions kind of "spring into existence" when they are used. For example,
Poi defines some additional permissions in Products/Poi/permissions.py. It
then calls setDefaultRoles() to set the default roles of each permission.
When these are used e.g. in security.declareProtected() statements around
methods, they become available in the ZMI.

Martin
--
View this message in context: 
http://www.nabble.com/creating-a-new-permission-t1746362.html#a4748103
Sent from the Zope - General forum at Nabble.com.

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: The Zope Software Certification Program and Common Repository Proposal

2006-05-22 Thread Martin Aspeli
On Mon, 20 Feb 2006 21:28:09 -, Stephan Richter  
<[EMAIL PROTECTED]> wrote:



I have spent the last two weeks working on a proposal that defines a Zope
Software Certification Program (ZSCP) and a Common Repository that  
implements
this process. The proposal is attached to this mail. I welcome any  
comments

about it!


Hi Stephan,

I have only skimmed the document, since it's 1am and I'm going to the  
mountains tomorrow. I expect a triple-digit post count in this thread when  
I return. :)


I think the proposal is very well put-together. I think it admirably tries  
to make the Zope 3 community more inclusive of more peripheral developers  
who simply use the framework, and I think this will benefit Zope immensely  
if done right.


My immediate concern is about resources: Who will have the time or  
incentive to police the common repository and grant certification? It  
seems to be a non-trivial process that may end up being quite  
time-consuming. It may be perceived as too much red tape. It may be  
perceived as too much centralised control, especially around licensing. At  
times it may also be open to debate, and a means of resolving disputes  
would seem necessary. There are certainly a lot of tick-boxes in your  
table! :-)


Secondly, and partly because I'm expecting this to come up in my absence:  
your proposal is eerily simlar to Alan's two-level Plone collective post  
to plone-dev, about having an "approved" list of contributors and packages  
in a fenced-off repository, in addition to the collective.


One obvious parallel here, by the way, is with the svn.plone.org/plone  
repository. That one is controlled by the Plone Foundation, requires a  
contributor agreement, and imposes restrictions on license and quality  
(albeit not as formally as you do). I think this is possibly a more valid  
comparison than with the Collective.


I'm actually +1 on your proposal in spirit (if it can be shown to work,  
and if there is a broad consensus in the community to support it - in  
fact, this is important: if there is too much division, the proposal would  
likely be self-defeating) and -1 on his.


The reason is that the Plone world is quite different from the Zope 3  
world (although there are hard-core Plone developers who sit in both). The  
Plone community is much larger but naturally also more dispersed. The  
software is much more narrowly defined (depending on your point of view I  
suppose, but I mean - it's a CMS, Zope 3 is a framework) and the  
components developed for it are much closer to the user.


Plone thrives on the size and vibrancy of its community. A very large part  
of its success comes from third party products that people find and marry  
with Plone to solve their problems. Without the low bar to contributing  
such components, without an open and very democratic Collective, and  
without "meta-data" on http://plone.org/products, I don't think this would  
be possible, certainly not as successful. The uptake of third party  
product users and contributors, and I think maybe also the quality, has  
improved quite significantly since we introduced the Products section on  
plone.org.


A framework like Zope 3, and framework-level third party components,  
thrives more on control and consistency in vision and implementation. (In  
part, you're solving that with better guidelines around how to write code,  
guidelines that Zope 3 adopters also benefit from.) I think that the lower  
down the stack you go, the higher the degree of centralised  
quality-control needs to be. This, however, is at the expense of perceived  
eltism and a raised bar to entry. I think that balance is different in  
Plone than it is in Zope 3.


Put differently, I think that *some* Plone components ought to move lower  
down the stack, target re-usability in different systems, and thus be  
subject to somewhat different rules. Perhaps these components shouldn't  
have been Plone components in the first place, or perhaps their evolution  
would start in Plone and move down the stack. But I think it would be  
damaging for the Plone community, given its current shape and culture, to  
impose those rules across the types of components that are higher up the  
stack - arguably those components which should be "Plone" components still.


I'd also note that we solve (or try/continue to solve) some of the  
visibility and evaluation problems on http://plone.org/products (which is  
of course open source, albeit GPL, and you can re-use any of this you see  
fit). Some of those same things, you solve with more technical means -  
automated testing, common file layouts, XML metadata files. Again, I think  
these approaches work better at the  
small-component-high-reusability/framework level than they do with the  
types of user-facing components that typically land in the Collective.


Although you proposal is not technical in design, it's technical in  
implementation (so to speak). Perhaps it would be 

[Zope] Re: CMF 2.0.0 released

2006-04-16 Thread Martin Aspeli

Hi Jens,

Congratulations! :-)


 - pluggable TypeInformation objects

 - new-style Actions


Where would I look to find more details on how these work? They sound like  
the may be useful for Plone going forward. :)


Martin

--
(muted)

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: [ANN] jsonserver 1.1.pre2 released (AJAX)

2005-12-22 Thread Martin Aspeli

Hi,


Jsonserver provides an alternative way of AJAX client-server
communication on Zope.


This sounds quite interesting. Just wondering if you have any more  
specific demos, showing how it may be used in a real use case?


Martin


--
(muted)

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: How can I make class variables store in the zodb??

2005-04-26 Thread Martin Aspeli
Hi,
The problem I have with 'MoreFieldsAndWidgets' is that it is
a collection of individual products, not just one product that
acts like a library.
For the better or worse: I imported ATExtensions just a few minutes
ago into plone.org/svn/archetypes
Of course I am aware that we have an even greater confusion now
when it comes to the question: I want to contribute a new field or
widget (or validator): how do I do that? Do I add this to AT,
to ATExtensions to MoreFieldsAndWidgets or do I make my own project?
What I could imagine is that we have ATExtensions and
MoreFieldsAndWidgets in parallel and maybe even somehow
synchronized so that people have both options if that
seems desirable.
I certainly don't think having things in two places will be helpful -  
people won't know where to go for updates, bug fixes or contributing, and  
things will end up out of sync very, very quickly.

I don't quite see the benefit of amalgamating a losely related set of  
fields and widgets into a single product. Usually, you only want one or  
two of them, and downloading a couple of products is not all that hard.  
Having a single "library" makes sense when its contents are closely  
related, either in approach, functionality, maturity, quality control or  
importance. Trying to make a "one size fits all" product is imitating the  
problem Archetypes itself has been amassing for some time. Modularising  
will make the whole collection much more managable, imho, especially if  
the quality and maturity of various components will vary within the  
library.

If there is a need for a single "libary", why not use svn bundles and  
tarballs thereof to collect a number of tried-and-tested products into a  
single download?

Martin
--
(muted)
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )