[Zope-CMF] CMF Thoughts & Ideas (long!)

Jon Edwards jon@pcgs.freeserve.co.uk
Tue, 24 Apr 2001 14:46:36 +0100


Thanks for the feedback Adrian!

I'm working in isolation here (both physically, and in terms of being the
only "techie" in the company!), so it's great to be able to bounce ideas
around in this forum!

N.B. as Outlook's reply facilities are so limited in text mode, I've
prefixed my comments below with Jon>>

-----Original Message-----
From: Adrian Madrid [mailto:aemadrid@yahoo.com]
Sent: 24 April 2001 02:37

Ditto. The CMF is giving me headaches simply because
I'm trying to acomplish things I don't have the zen
yet but I'm having the greatest time learning and
solving problems.

Jon>> Ditto that ditto! :-) On a related note, can anyone recommend which
Python IDE is most suitable for a beginner (working on Windows)? I'm veering
towards ActiveState, because they seem so involved with Zope as well as
Python, with wxPython for any GUI bits. Comments appreciated! <<Jon

And if you are the owner (or reviewer) I show
you the object id and status.

Jon>> Nice idea. I like the general CMF concept of only showing the users
commands/info that are relevant in that specific context, and this takes it
a step further. <<Jon

HTML gives you greater layout
posibilities but doesn't it make it more complex for
the searching (ie. including HTML tags in
SearchableText)?

Jon>> At the moment I'm only using it for Portal Documents, and havent
noticed any problems. I'm guessing SearchableText strips out the HTML Tags?
I'm not sure about the security issues - the Javascript includes a function
that strips out any "bad" HTML tags, but for extra security, you might want
to patch in Chris Wither's Stripogram function from Squishdot (see recent
thread on the general Zope mailinglist)?

Incidentally, there are other similar scripts available (I chose that one
cos it looked the prettiest! :-) -

http://www.zope.org/Members/cookie/HTMLWidgets
http://msdn.microsoft.com/workshop/c-frame.htm?/workshop/browser/default.asp
http://www.geocities.com/~lef/net.html
http://www.insidedhtml.com/forums/editor/editor.htm

Perhaps if anyone gets any of them working with Zope (or has similar ideas)
they could send me some info and I'll compile a list on my CMF Members page?
I've started doing the same with Windows (compiling a list of how-tos,
useful products, mailinglist messages, etc, related to interfacing with
Windows servers and apps) so if anyone has any useful info (especially
Outlook/Exchange and Word), send it over and I'll add it to the list! <<Jon

I think this could REALLY jumpstart the creation of
CFM sites. I believe that many times this is the only
reason to come up with your own products: adding a few
special properties and create a new content type based
on an old type.

Jon>> Hear, hear! :-) I'm not sure if it's good Zen to do it this way, but
it would be great for beginners and for rapid prototyping! <<Jon

With the current workflow you can't make any changes
until you retract your document. Then to republish it
you have to go through the whole process again.

Jon>> That's why I'm kinda "sidestepping" the built in workflow at the
moment, until I get my head round the requirements better! If an editor had
included a Member's document on their page, then the Member retracted it to
update it, you'd either get an error or a missing section on the page! And
what if the Editor didnt want the new, updated version for some reason?
<<Jon

My approach is to have a 'location' field with the
'portal/a/b/c' form and pull the articles through a
search in their respective folders.

Jon>> How do you control the sort-order if there's more than one doc per
page? Or is that not relevant in your app? Similarly, if one doc could be
used on several different pages, I guess you could change your "location"
field to a Lines property? <<Jon

Yes, but the opposite can become too dificult for the
authors. You'd have to create a structure like
folder-document-page-paragraph with the overhead of
heavy logic and interface for each. I don't see how to
accomplish such task in one page without lots of
dhtml/javascript/whatyouhavenot.

Jon>> I wish I had re-read this doc before posting my original message - I
had scanned but not fully understood! :-) ...

http://cmf.zope.org/PTK/Members/klm/OrganizationObjects

I think what I'm suggesting in my clumsy way, is that the "slots" objects,
proposed in the Composite Content doc, be combined with the "Organization
Objects" described in this doc, plus, some sort of basic feature for
describing the "style" in which the content-object is displayed in the
context. N.B. before someone shouts "Stylesheets!", this goes beyond
stylesheet attributes, though it could be just as simple - for example, if
you were including an Image, you might have the options -

"Show description to the left"
"Show description to the right"
"Show description below centred image"
"Image only, alt text = description"
"Image only, alt text = title"

So, if you had a page of product photos, you could alternate between the
first 2 display types to make it look more interesting. I'm sure there are
better examples, but that's the "use case" that first led me down this road!

Adrian, I take your point about complexity (we have some very
unsophisticated users!), but I would make 2 points -

1. You can hide the complexity by having a "beginners" UI and an "experts"
UI... that way, when your users become more sophisticated and demanding, you
dont have to rewrite the underlying application, just present them with a
more detailed UI!

2. I would see "authors/contributors" as people who submit articles, pics,
etc, through their Member folders. Editor(s) would select those
content-objects and slot them into the page(s) they are responsible for.
Editors would probably be more HTML-savvy and want that fine-grained control
of layout (though you can always hide it from those who dont!)<<Jon

I'm stil working on a composite object but my approach
so far is having a dublin container with normal
objects inside. The trick is to have SearchableText go
through the contained objects and retrieve the
apropiate text to search.

Jon>> Could you post any code/exaples to show how you do this? <<Jon

Thanks for your ideas and comments. I apreciate the
time and attitude of sharing your ideas. It helped me
to think about things I hadn't even thought about and
clarify my position on other issues.

Thanks again,

Jon>> Thanks for your feedback! It's all helping to clarify my ideas!

OTOH I'm getting a bit self-conscious of the "sound of my own voice"! So, if
this discussion is not useful to other readers perhaps you could let me
know, and we'll find a way to take it off-list??

I'm new to the open-source way of working and dont want to "outstay my
welcome"! :-)

Cheers, Jon