August 17, 2006

GNU Dictionary

Last year, Arabeyes group received a request from Wikitionary administrator for appending Arabeyes's dictionary to Wikitionary project, and a very interesting discussion started in the Arabeyes mailing list.

Here we have a GPL dictionary, and we want to insert it in an FDL project, can we do it?

This was the main question at that time, but this simple question, will lead to several important questions:

  1. Which is more suitable for a dictionary: GPL or FDL?
    And:
  2. What is Dictionary considered originally: a software component or a text?
    And once you think that it's a database, neither a software component nor a text, you might say:
  3. Which is more suitable for a database: GPL/LGPL or FDL?
    And finally:
  4. What's the basic difference between GPL and FDL?

Simply, I think that the basic difference is that FDL focuses on the material as a printed material, but not as a software library.

While GPL/LGPL discuss the library issues, but not the printed material issues.

Technically, what's dictionary?

By simple analysis, you can realize that dictionary basically, is not a code; it's something real, you can print it, publish it for human readers. But in the same time, in practical, it's a (library), that could be understood and used by software applications, so that they can employ it, and capitalize on it, for their own sake.

Simply: it's a printable library.

And actually, this is database!

Now take a look to this simple matrix:

IPM - The Intellectual Products Matrix
Printable Library License Collaboration system
Software x y GPL/LGPL CVS
Text y x FDL HTTP/Wiki
Databases y y ?? ??
Arts (Images) y y CC x
Arts (Media) x y CC x

So, we need:

  • A GNU license for Databases/Dictionaries, which considers: Library issues, and printing issues.
  • A powerful and agile collaboration system which can really capitalize on the power of databases.

The License:

It should cover all the potential usages of a dictionary:

  • A software dictionary.
  • A printed dictionary
  • Using its glossary in the commercial/noncommercial media materials.

The collaboration system:

I think that appending contributions via POP3/SMTP client mail is the best way for a collaborative database project. And here's why:

Massive appending No web interface required
HTTP/Wiki x x
SMTP/SQL y y

So the matrix will be like this:

IPM - The Intellectual Products Matrix
Printable Library License Collaboration system
Software x y GPL/LGPL CVS
Text y x FDL HTTP/Wiki
Databases y y GDL (GNU Dictionary/Database License) SMTP/SQL
Arts (Images) y y CC x
Arts (Media) x y CC x
Posted at 1:20 PM | Comments?
Categories: Internationalization

August 14, 2006

Thingmanablog.. Starting from the end line!

As lending credit, I decided to initiate with the software I've been working with, since the last few months, for this site itself: Thingamablog 1.0.5.

Thingamablog is a java-based open source blog editor, which means that you can write and set up your posts offline, and then posting them across FTP or SFTP using Thingamablog itself.

The most interesting thing in this software, is that it's a (Non-ControlPanel web application) , which means that you don't need a (Server-Side Management). And that makes me think that Blog revolution is going to change the web application themes.

Thingamablog, The real tangible web application!

But on the other hand, even you don't need to conduct any server-side operation; you have to use a virtual server for testing purposes, since its structure has been built on absolute paths. This was the most difficult thing I've ever faced in this software.

Fixing Attempts:

In order to make it relative-path based, I removed all <$BaseURL$> arguments from .template files and tried to add this line in the <head> tag:

<base href="../" />

The result was something like: http://../bath/to/file.html.

So I moved on another attempt: I replaced <$BaseURL$> in .template files with an appropriate number of (../) argument. But it failed also, since Thingamablog still generate an absolute path in some files.
So, I tried to delete the (Base URL) information and set (Archive URL) as archive/ and (Media URL) as media/, but I failed again.

The last attempt was doing this by modifying user.xml file manually like this:

<TBWeblog url="" arc_url="archives/" media_url="media/" base_path="C:\blog\/" ....>

And voila! I succeeded!

But, Ooh, wait a minute! I detected that I will not be able to change any thing in configure dialog box!

I concluded to save two different kinds of user.xml/.temlatte files, a relative version and an absolute version!

A suggested reliable solution

  1. Using relative paths. How? So far I don't know, but I hope it's possible according to W3C specifications, maybe using <meta> tags...
  2. Two kinds of destination:
    • Remotely:
      <TBWeblog
      url="http://www.somesite.com/" arc_url="archives/" media_url="media/" base_path="/www_files/" ....>
    • Locally
      <TBWeblog
       url=""
       arc_url="archives/"
       media_url="media/"
        base_path="C:\blog\/" 
       ....>

As for the local publishing, url variable should have two possibilities: Null, and http://localhost/.

And by the way, it's very important to add a (preview button) in the Editor and the Navigator. This means publishing and opening locally, with/without http://localhost/.

A brief Wishlist:

Here is a brief Wishlist:

  • Valid XHTML: Currently, the editor inserts <br>, <hr>, and <img>, while it should be <br/> <img />... etc.
  • (Options dialog) should accept relative URLs.
  • There's something wrong with parsing copyright mark (©) mark as a utf-8 character from .template files.
  • Parsing variables even from non-template files (Regular HTML files).
  • Calendar: Option: using a client side calendar (http://www.dynarch.com/projects/calendar/)
  • Days on the calendar (on the head of the calender): two letters rather than three, it wastes space horizontally.
  • An ability to resort categories from time to time (from configure > categories).
  • Comments, directed to a given email, then user will forward it to the site optionally or automatically.
  • Search.php
  • Templates: Real folder structure, with a relative base URL, which I'm not sure; but I hope it's possible now according to w3c specifications originally!
  • Applying css template on the blog editor
  • An ability to add <code> tag within the editor
  • Remote deleting

Finally, the most funny bug, is that its spell checker doesn't understand the meaning of (blog)!

Posted at 8:40 PM | Comments?
Categories: Web Applications