Hi ralph
Thanks for your effort and feedback.
For the security issues we have an extension of Lukas original model
(or UI based on the original model of lukas). You can find the master
report of David Vogel on
http://kilana.unibe.ch:9090/smallwiki/.
Now the problem that we have is that the code is breaking certain parts
of SmallWiki
and david is not replying to emails (since I guess that he is getting
married).
So we know that a UI and a better security model is needed (the idea of
the new version is
that a local admin should not be able to grant more rights than he
owns, and that a local admin cannot damage other local admins). But
right now we are stuck. We will see how/if this is worth to rescue the
code of David Vogel or just to reimplement the idea.
We are working on some administration actions:
- find all the deadlinks
- find all the pages with more than x links...
For that Frederic Bulckaen started to introduce the notion of tags and
their meta-description
and build a simple query engine based on that.
The version 2 of Seaside seems to be immature to start to work on it.
Normally monday we will have a discussion about it.
Stef
On 24 juil. 04, at 00:49, Ralph Johnson wrote:
We looked at the Seaside version of SmallWiki and
decided it did not
work
well enough. We were adding security features. Since security
depends on
Actions, and since the Seaside version didn't have Actions, it seemed
like
it would not be a good base for work. Links don't work. I imagine
lots of
other things wouldn't work, but that was enough to persuade me to keep
working with the older version.
The main problem with the old version is that Actions are a mixture of
Commands (a model idea) and GUI. We tried for several days to treat
Actions
like real Commands and to write them out to a log, but we eventually
gave up
on that and instead used the Storage system to create a log. I know
several
things wrong with our current implementation, but we can fix them with
enough work. Life would have been much easier if Actions had been only
commands and we could have written them to a log and then restored
them to
recover the log. However, the use of callbacks made that impossible.
Callbacks are probably not as bad as I claimed a few days ago. We were
trying to do things with Actions that they were not designed to do.
However,
it is often hard to tell what a framework can do. Normally it is
possible
to write Commands to a log. It is not possible to write Actions to a
log if
you intend to execute them after you read them back.
We added persistence to SmallWiki by having each page-change write to
a log.
You can recover from a crash by restarting the latest image and
reading the
log. We also added a VirtualFolder that allows one user to access a
set of
pages with a particular name that are in other users folders. I plan
to use
this in a course I teach. We wrote some actions that will help
administer
these classes. There are a few more things that need to be done before
SmallWiki can replace our WikiWorks server, but we are getting close,
and I
understand it much better now.
Actions are very important. I don't understand why the Seaside version
doesn't have it. Probably it is just because it is incomplete.
It is a mistake to make page and folder be the same. How can you make
new
pages without using the component editor? New pages on a page should
be in
the same folder, new pages on a folder should be inside that folder.
What
would you do if there were no difference between pages and folders?
Seaside will make Actions simpler. However, it is possible to make
Actions
simpler without Seaside. Callbacks should assign values ONLY to
instance
variables of Actions. Once the Action is complete, it should be
"completed". This would make the behavior of each action easy to
understand. They could also be used in logs. It might even be easy to
refactor them to be like this. I might look at it next week.
-Ralph