Blog

Bug Killing Day

tags: bugs fixed

18 Jul 2009 14:17

Today 4 pending bugs, that were small, but quite annoying were fixed by me:

  • 2 — long awaited fixing of SearchAll module,
  • 9 — some minor display issue on my account page,
  • 10 — another issue on my account page (but this could be fixed after installing in Site Manager) and
  • 16 — recently raised bug concerning missing pages.

Bugs 16 and 10 were easy to fix, because we have nice dump system I described before.

Fixing these is important because now I will work on developing forms for Wikidot. This means I won't put much attention into fixing small issues, while working on this big feature.

Also we want to make a first Wikidot release (with or without forms), so basically these fixes were more important than big new feature (that wouldn't be necessarily ready for the first release).

Comments: 0, Rating: 0

Improving Things Continues

tags: api database dump

19 Jun 2009 21:41

Today I worked on some really nice thing in Wikidot, which finally makes initial database dump more organized. Instead of one big single-wiki-dump.sql there are 6 files:

  • 0-schema.sql
  • 1-users.sql
  • 2-licenses.sql
  • 3-themes.sql
  • 4-main-site.sql
  • 5-template-site.sql

The fact that they are split is a bit artificial, because they are all executed at once, but still it is nice to have 6 shorter files than one long. In case we want to add a new license to the initial dump, we don't need to search and be really careful to not break anything else. We just edit licenses file.

Even more important thing is removing pages from initial dump. As pages are quite a complex thing in Wikidot removing them from SQL dump decreases the size (and complexness) of it drastically. But we still need to populate the first wiki. And this is done with API methods and a nice directory structure:

  • files/dump/sites
    • www
      • start.page
      • admin.manage.page
      • account.you.page
      • auth.login.page
    • template
      • start.page
      • admin.manage.page

Site is directory, page is a file in such a directory. A special script (that is called by make) browses the files/dump/sites directory and call page.save API method on each page, supplying the content of the file as the wiki source of the page to be saved. Such a one saving creates many database objects:

  • page
  • page_revision
  • page_source
  • page_metadata
  • category (if does not exist yet)

So as you see, we benefit in two ways:

  1. initial database dump is easier to understand and modify
  2. adding pages to initial dump is much much easier

This still needs some polishing, but is a lot better than before.

Comments: 3, Rating: 0

Site Update

tags: compare contribute

04 Jun 2009 18:53

I found that for some reason commenting was disabled for blog category. I am sorry about that. I enabled it back.

Also we wanted to make a comparison of Wikidot and other wiki engines, and we wanted to do it the wiki way, so we created a wiki page for this: Comparison to other wiki engines. Everyone can edit! Feel invited.

Comments: 4, Rating: 0

The current state of Wikidot

tags: debian git github installation packages simple ubuntu

21 May 2009 18:42

Currently, Wikidot software is meant as just a wiki engine. "Just", because it used to be a complete wiki farm solution. Actually it's kind of both, but from start you get just a wiki, which makes it so easy to install.

After you get the dependencies and the Wikidot source, you need to prepare a database and populate it. Normally this means two make commands (one for postgres user and second for your regular user). The default configuration options are to provide you a simple single-wiki engine, that just works. This means, that however you connect to Wikidot (with any IP or DNS name), you get the single wiki that you created. Wikidot needs a full namespace of URLs (starting from /), so you can't simply put it along with other web applications. This is why by default we use port 8080 for serving Wikidot. Also as we rely on very custom Lighttpd configuration, we supply a config file for it (that is partially generated when doing make). But don't worry, we also have a script that let's you control it. ./wikidotctl start starts Wikidot's Lighttpd, ./wikidotctl stop stops it. Pretty straight-forward, isn't it?

But Wikidot software is also a full-featured wiki-farm solution. But you need a different database dump (that adds more wikis, like template wiki for each newly created wiki) and a different configuration. First of all, you need a full domain name namespace (for example *.mywikidot.mycompany.com). What's before .mywikidot.mycompany.com in the domain name is the name of wiki, so if you connect to abc.mywikidot.mycompany.com displayed is abc wiki. Also as this gets a bit complicated to deal with when having custom port, you need to run the Lighttpd on port 80 (the standard WWW port). This means, if you want to host a full wiki farm, you need to have a separate IP address just for Wikidot (any other web server can be run on a non-standard port only), and a root access to start Lighttpd (only root can bind to ports smaller than 1024).

Actually you need quite a lot knowledge to understand what the wiki-farm-mode Wikidot does and to configure it, but once you get it, it's quite easy. Anyway, all I want to say, is that we want to ease the simplest (and most common) installation of Wikidot. If you want to have a wiki, but want to host it yourself rather that on Wikidot.com, this is done just for you, just get the dependencies, Wikidot sources, prepare database, make and you're done. No need for painful configuration :).

If you decided to run your own wiki farm (in your company for example) start from getting single-wiki Wikidot running and then use older docs to figure out how to get it running as a wiki-farm. In case of problems, just ask on IRC channel. TIP: you need to set wiki_farm = true in [main] section in conf/wikidot.ini file.

I hope more wiki enthusiasts will get simple Wikidot running at their work and school rather than choosing other wiki engine. They used to do that, because they were simpler to install. Now this changes.

There is one more important note to make. We're going to polish the software, to make it run smoothly, so download (git clone) and test it as much as you can and please report bugs. You don't even have to be a registered Wikidot user to do that. Once we get all the quirks fixed, we want to release Debian/Ubuntu packages, that will enable you to just state aptitude install wikidot to get the Wikidot up and running in minutes without you touching the keyboard after that (well maybe to configure the Admin password). So if you can't wait for this to happen, please help us and test!

Comments: 16, Rating: 0

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License