Hi Nevin,
1. The "contents" of a SmallWiki is a
combination of pages, folders,
and resources.
correct.
2. A "page" and a "resource" are
components, and a "folder" is a
composite of those two components.
^^^^^^^^^^^^^^
yes, it is a composite-pattern, but there are not just those two
components that might be put into a folder:
- First of all it is possible to nest folders, to allow putting
together related content. Furthermore folders are a kind of a
namespace, so you might have pages with the same title in different
folders.
- There are other components available to be used with SmallWiki as
extension. As an example some time ago I have written a component
displaying a keyword-index of your wiki. A lot of other components
(have been|are|will be) written during software design courses at the
University of Bern and Brussels. Just to name a few examples: link
collection, photo gallery, forum, address-book, calendar pages, rss
viewer, ...
3. A "resource" is some uploaded file
resource, such as a sound, a
video clip, or a picture.
Exactly, usually this is for things like you mention: jpg, gif, mp3,
mpg, zip, pdf, doc, ... Actually it is also possible to upload a
html-file to serve static pages/style-sheets ...
OK, what if I don't care to allow anybody to
upload file resources?
That would leave a "page" as the only interesting component left.
For further information about the design, see the diagrams in the
documentation:
Smallwiki - Collaborative Content Management
http://www.iam.unibe.ch/~scg/smallwiki/smallwiki.pdf
And why bother having a composite (a
"folder") of only one component?
Wikis have always been flat (WikiWorks has one level: Book -> Page,
SWiki has two levels: Shelf -> Book -> Page) and in my opinion this has
a lot of drawbacks. Therefor I decided to implement a real composite
and this gives a lot of power to the users to organize their things. Of
course it also adds some complexity, but I think today everybody is
used to work with folders and files in their filesystem.
After all, it is possible to use SmallWiki without creating any folder:
just put everything into the root, but there will be a mess very soon
;)
In other words, if I don't care to allow people to
upload files to my
SmallWiki, why would I be interested in anything other than pages (eg,
children of type SWPage)?
See the examples above.
Cheers,
Lukas
--
Lukas Renggli
http://renggli.freezope.org
_______________________________________________
Seaside mailing list
Seaside(a)lists.squeakfoundation.org
http://lists.squeakfoundation.org/listinfo/seaside