On 01/10/2012 08:49 PM, Jürgen Weber wrote:
On Wed, Jan 4, 2012 at 11:59 AM, Florian Holeczek<flor...@holeczek.de> wrote:
Our community likes the 2.8 series for its stability and simplicity. Therefore,
maintaining the 2.8 branch at least for a longer while is something that really
makes sense.
2.8 is great. It's a reliable work-horse. I like the file based storage.
Why not take the radical step, throw the 3.0 branch away, go on with
2.8 and make it Apache-ready? I never understood, why a wiki, where
the wiki engine does the gui, would need a web framework. It should
suffice to refactor 2.8 to use a controller servlet.
And reread Joel Spolsky: Things You Should Never Do
http://www.joelonsoftware.com/articles/fog0000000069.html
8-) Juergen
Just my thoughts. 2.8 works great and waiting for 3.0
to work was very frustrating. Why not restart with 2.8
and let it involve to a better (3.0 like in the end?) system.
What might be done (with not too much effort):
- Provide a (better) interface for data storage
+ that allows for metadata (parent page ...)
+ that decouples the page name from the
capabilities of the file system (special
characters, upper/lower case, length)
A file based data storage should be the default
connection to that interface
(simple, easy to debug, no external dependencies,
the user has access to the data without problems).
What needs to be considered is under which
'identifier' (file name) a page should be stored.
The page name as it is used now can to trouble
('Main' and 'main' considered the same under
Windows, ...).
One solution would be a filtered, human
readable page name as a (natural) identifier
(just like the suboptimal one that is in use now -
xwiki by the way is nor happy at all if there is a
dot - '.' - in the page name).
Just an idea:
- a TimeUUID is used as (surrogate) identifier and its string
representation as file name (disadvantage: the
user has to search in the metadata for the page
name to find the file)
- the file itself is a serialised JSON that contains
metadata and contents - like:
{ "name":"Main", "author":"me", "contents":"bla bla" ... }
- there are many ways to represent history and
attachments with this scenario - not easy to find
'the right one'.
- Simplify things / remove unnecessary options
+ is there really a need for other character
sets as Unicode?
+ . . .
+ . . .
- Many developers have already (and seperately)
addressed some common needs - but nothing
has happend to 2.8 because all (including myself)
did wait for 3.0 to come (whose development was
too complex for me to follow):
+ Provide an option for simple installation
(on an USB stick).
+ Include attachments in the search algorithm.
+ Archives - a way to transfer pages and
attachments from one installation to another.
+ Search within attachments (TIKA)
+ . . .
All should be doable in small steps.
But i see two big problems:
- The 2.8 API is somewhat chaotic
(example: try to collect all source code
fragments that deal with the search
function).
Some refactoring in small steps might be
a (very) good idea but it would continuously
break the many private addones that have
been developed.
- Who shall decide what shall be done?
Janne like most of us does not seem to
have that much spare time.
A voting system? (an authorised developer
presents a relevant compatibility breaking
update and if after one week there are more
or equal '+1' than '-1' he can do what he wants).
Or GIT-like branching and the developers decide
every few months what should be merged to
the trunk?
I have no idea
(sorry for the long post)
Frank Fischer