> Well, you know my encouragement would be to stick around. Especially
> if the alternative is something with a name like ikiwiki!  :)  And I'm
> glad you've found it useful.

I find this less than suprising :)

> But more specifically, could you take a few minutes to describe
> exactly what you would like BoltWire to do, and what it's lacking.
> It's possible we might be able to either 1) do it already using some
> clever trick, or 2) make a minor change that would open up a lot of
> possibilities in general.

Subversion is pretty much the most advanced free versioning system
around. We would be using all or most of it's features, but I think we
could sum it up with:

a) multiple users editing the same page (file) at the same time, must
be automatically handled unless they are editing the exact same part
of the file, at which point the last person to commit the changes
would be allowed to make further changes based on both edits. We would
need to write an "edit" action that uses this functionality. Not hard.
Something like:
edit -> check out a copy of the file to edit. There may be better ways
to handle this, but I am unsure. Thinking about it at 2 in the morning
it seems that every user editing a page would need their own temporary
folder, at least at the point of commiting the edit.
save changes -> save the edit box to the file. Commit file to
repository.
if conflict -> React to conflict.
Add a seperate box in the edit action for an optional edit-comment,
allowing better track and motivations behind changes.

b) the version control aspect includes a history such that every
change is kept and easily displayed. It is simply robust and well
implemented.

I would probably implement something such that only parts of the wiki
are kept under version control, a page with each line treated like a
search function, or similar, giving a list of pages to control in the
repository. Although it might be simpler to create a basic svn
replacement of the edit function first, and then refine it...

Looking at the problem from subversions point of view, I would
probably start with a list of all of subversions commands, and look at
where I would implement them in boltwire. svn add->action.create, svn
co-> when editing etc.

It would be nice to allow users to use the svn repository as well as
the wiki. This would require boltwire to routinely call svn update.
The viability depends on the speed of local svn connections, although
for my wiki that would not be a problem, with my 20 odd users.

so... put pages/ under version control. Files and images would just
result in having 2 copies which is unnecessary. Fix edit function to
employ commiting of changes. Fixing other actions such as rename
(move), copy, create, etc is fairly easy. If svn has a sufficiently
fast interface for update, calling update on each file or the whole
directory before serving it would be a bonus. History command is
almost, with some tweaks, simply a call to svn diff 'pagename' and
displaying the output.

And bam. Fully compatible boltwire - subversion interface...

Additional functions for installation, setting up subversion
repository, $boltsvn in index.php, and we're done, I think...

> To be honest, I've never used subversion, and only know the basics of
> what it is supposed to do. But not how it actually looks to the end
> user. If you could fill in some of the blanks for your specific need
> we might be able to come up with something.

It's cli based, so it doesnt look like much :p
Any solution that lets multiple users edit the same file at the same
time is acceptable. Subversion is simply the given way to do that.
Anything else would be an attempt to re-code subversion from scratch.

> Also, should you decide to write your own solution, it would likely
> make a nice plugin for others!  

Definitely.

> Another plus for the community here.
> I've even though of making a BoltWire plugin you could use like
> subversion to handle editing of the BoltWire code itself. Not sure how
> practical, but sounds kind of fun!

Reinventing the wheel, I think. While this is always fun, I would not
recommend it. I could ramble on about how subversion was made to
replace an established system, and everything that implies about how
easy it is to make dead end almost-perfect systems, but I'm not going
to. I'm simply going to recommend against it.

Also, Ikiwiki allows you to define which version control system to use
when you set up a new wiki/field. This makes for extremely powerful
functionality and something we should strive for.



None of this really helps me decide what is easier, but I'll probably
end up sticking to Boltwire simply because the ikiwiki homepage has
(from what I can tell) been around longer, and is absolutely horrible.
As such, I would rather apply myself to a project with ease-of-use in
mind, as I believe this has more of a future...

I am tired. Sleep -> now.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"BoltWire" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/boltwire?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to