Timwi wrote:
Hi,
the past few days I've been experimenting a bit with Apache, mod_perl,
MySQL and creating an entire own website. I've never done that before,
and I think I've learnt a lot from this.
Now, for some reason, against all of your advice, I have started to
program a Wiki, and by now it's already become a suitable basis for a
Phase-IV Wikipedia software, including a database schema.
It really doesn't seem to be very difficult to re-program the current
software in Perl, this time taking all the problems into account and
designing everything right from the start (incl. single-login,
multi-language watchlists, a better translation system and skin system
(separated from the code), etc.) I've also made a lot of considerations
and decisions with respect to database design and performance.
Should I continue with this?
Greetings,
Timwi
Hi Tim, I'm glad to see another person interested in working on "new"
code. I am not very familiar with the phase III code (still working on
understanding it), but I think more in "build a new front-end from
scratch", but using PHP (as I rather take the most backward compatible
way to do it). And then start figuring out how to connect to old, tested
code as imported classes. (and learn what sort of modifications they
will need, as currently I only know there are plenty of them)
I really think the single username, single codebase is a good direction
(single database may be dangerous in case it fails and the whole site
breaks down). Anyway, I suggest you to leave the back-end logic for the
people who already work on it. As you'll probably end up dealing with
the same database, somewhat similar queries and same optimization
challenges. As for the wiki syntax parser, I wouldn't want to rewrite
that! (I hate parsers!)
For a new interface, I suggest you to look at my much thought-given
example on
http://www22.brinkster.com/rotemdan/phase4-demo-v1-1.htm
I have done even more improvements including fixing support for some
browsers, support for zooming (uses em instead of px except for
positioning the right column, which is positioned relative to the
image). Organized and documented the CSS.
Some thoughts:
* No need for "smarty" or similar SGML templates since strict XHTML/CSS
does a nice job in separating content from formatting, see the link above.
It will be very easy to use it inside scripts, for example, to create a
box with some options inside just do something like this:
<div class="titlebar">
<span id="lefttitlebar">This is the box title</span><span
id="righttitlebar"><a href="">[ X ]</a></span>
</div>
<div class="toolbox">
Some stuff in the <a href="">box</a> <br />
hello!
</div>
And it will be automatically positioned and formatted by the CSS file..
Long live CSS!
* New language files may be needed for the new interface (though an ugly
backward compatibility may be possible to implement), we should also
think about using a template that's really easy to edit by
"non-programmers" and doesn't depend on the script used. (XML or
plain-text comes to mind, I haven't given any thought to this yet)
Another thing about language files: they shouldn't contain whole pages!
and not even a bit of HTML formatting! I saw this ugly feat when I
worked on translating the "Upload image" enormous string. These pages
should be edited using the wiki, even though they contain markup.
Also: switching interface language using the preferences (dynamically),
regardless of language of articles read/edited. (can really unify the
different language wikis). Another cool thing: using the new CMS, for
example, the same article in several different languages can be put on
the same page, side by side, an excellent aid in translating! (flamebait
warning: that will also require the whole site to move to UTF-8 or
similiar encoding, so I don't know if that's possible with all languages..)
Rotem