User talk:Gnosygnu/Archives/2015/July

From WikiProjectMed
Jump to navigation Jump to search

Welcome

Files are at https://sourceforge.net/projects/xowa/files/

If you encounter problems/defects, please create a new topic below, and I will reply. You can also post to https://sourceforge.net/p/xowa/discussion/

gnosygnu 04:05, 8 April 2013 (UTC)

New Feature Request: Http Server

Hello, i first would like to say, excellent job, Xowa is just poised to replace kiwix, Lord willing. It's just its simplicity that makes me love it. Everything is so simple and sould be kept that way. By the way, I would like to say this about Xowa: have you thought about making it possible for Xowa to act like a server? so as to make it possible for other applications (dictionary apps like stardict, goldendict, and browser like firefox...) to be able to access the content of the dynamic html files that Xowa generates? Xowa is just awesome. I'm sure new users will like and love Xowa if it can act like a web server (offline, locahost). Kindly consider implementing this feature. Thanks in advance.

Karim. Regards. — Preceding unsigned comment added by 217.113.81.104 (talk) 00:07, 15 April 2013 (UTC)

Hi. Thanks for the post. I'll copy-paste my response from the sourceforge thread. Feel free to reply to either location.
> have you thought about making it possible for Xowa to act like a server?
XOWA has fairly basic command-line support to output html for an article. You can run it with the following command (adjust as necessary for your environment)
   java -jar xowa_windows.jar --root_dir C:\xowa\ --app_mode cmd --cmd_text "app.shell.fetch_page('en.wikipedia.org/wiki/Earth', 'html');" 
Unfortunately, it would be a lot of work to make it a full-fledged web server app. xowa is optimized for a single-user app, and it probably wouldn't behave well in an http server environment. It is an idea I am considering in the long-term, but it would be at least a year off.
It may be easier to make it a process-based server. This would be similar to mysql or lua where launching the process enters a Read-Evaluate-Print-Loop (REPL) environment. This would allow traditional apps to execute get_html requests, without incurring a startup cost for each request (which is what currently happens with the command-line mode).
Let me know if this is sufficient. If so, I'll try to put it in one of the weekly releases next month.

gnosygnu 03:33, 15 April 2013 (UTC)

Hello gnosygnu,

You answered my post and you gave me a solution to my problem (somehow) so I guess that will be sufficient for now. If I have to wait for a year I guess I should do so but the question is, how to make it possible for Firefox to access Xowa with the command line code you gave? I believe you are very busy and Xowa is already an extraordinary software. What I love is the fact that it's so simple, you download the dumps and you're ready to use them, no need to import the dumps in a wikimedia installation and then dump the wiki so as to have static html and then create a zim file and so forth (as it is the case for kiwix).

I am a Java programmer. I created the DfM-Creator for the DictionaryForMIDs Project ().

http://dictionarymid.sourceforge.net/ http://dictionarymid.sourceforge.net/what.html http://dictionarymid.sourceforge.net/contact.html

I guess I might help but I don't know anything whatsoever in network programming in Java, plus I might lack enough time for such work. Is it then possible anyway, that you advance the implementation of the web server feature? That would be great!

Incidentally, I installed the English Wiktionary and the French one. The English one works fine but the French one shows this when I search the word Ubuntu (as any other word):

Sommaire 1 Français Erreur d’expression : mot « { » non reconnu. 1.1 Dérivés 1.2 Hyperonymes 2 Anglais Erreur d’expression : mot « { » non reconnu. Français Erreur d’expression : mot « { » non reconnu. Étymologie Du zoulou ubuntu (« humanité »). Nom commun Ubuntu /u.bun.tu/ invariable (Informatique) Une des distributions du système d’exploitation Linux. Dérivés ubuntero Hyperonymes système d’exploitation Linux Traductions espéranto : Ubuntuo (eo) japonais : ウブントゥ (ja) (ubuntu) The problem is this very text Erreur d’expression : mot « { » non reconnu. 217.113.81.102 (talk) 07:01, 15 April 2013 (UTC)

I'm back again.
It works now for me. I guess that will be enough for now, before we get the full web server.
I got another request, kindly make it possible to use a command line switch to disable the left side pane so that the softwares i use (Goldendict, Stardict) display full pages. I use these softwares to quickly lookup a word through popup scan, especially when i don't have the time to go into Xowa.

Karimoune (talk) 08:57, 15 April 2013 (UTC)


Hi again. I excerpt and reply below. Let me know if I missed anything.

how to make it possible for Firefox to access Xowa with the command line code you gave?

I think you'll need some sort of addon. I don't know of any, but I found this on a quick Google search. No matter what, I think it'll be complicated (especially if you're planning to distribute to multiple users).

I created the DfM-Creator for the DictionaryForMIDs Project

Congratulations for a very cool project. I'll definitely take a look at the desktop version later.

Is it then possible anyway, that you advance the implementation of the web server feature? That would be great!

Unfortunately, I'm anticipating that any web-server implementation will probably require a significant rewrite. xowa is still at a stage where a lot of features are missing -- especially when compared to full blown Wikipedia. I just can't spare the time at the moment to do this rewrite while other features wait. My estimate is probably several months at the current rate, and it could be as long as a year. Sorry.

The English one works fine but the French one shows this when I search the word Ubuntu

Thanks for the detail. This is a defect. Specifically:
  • XOWA did not implement the {{NAMESPACENUMBER}} magic word that was recently introduced with v1.20
  • Sometime in the past month, French Wiktionary changed one of their base templates to use {{NAMESPACENUMBER}}. This "broke" every single page for XOWA.

I fixed this now and released an interim version just now: https://sourceforge.net/projects/xowa/files/v0.4.2.1/

Also, I like to credit users in the Change Log for discovering defects, as long as the nickname is benign (not incendiary, political, advertising, etc..). If you'd like to be credited for finding the defect, let me know which nick I should use.

I got another request, kindly make it possible to use a command line switch to disable the left side pane

XOWA has this functionality now, although it is a bit verbose.

Run the following in your command-line:

java -jar C:\xowa\xowa_windows.jar --show_license n --show_args n --app_mode cmd --cmd_text "app.wikis
.scripts.set
( 'hide_left_navbar'
, 'wikipedia~wiktionary~wikisource~wikibooks~wikiversity~wikiquote~wikinews~wikivoyage~commons~meta~species~wikidata~wikimediafoundation~mediawiki~incubator~home'
,
<:['
app.wikis.get('~{wiki_key}').html.article
.page_read_('~{page_data}');
']:>
); app.shell.fetch_page('simple.wikipedia.org/wiki/Earth' 'html');"

The key part is the .page_read_('~{page_data}');. This will only show the page data.

If you want more data, you can also do the following:

  • Open up a text editor that supports UNIX style line breaks. (Notepad++).
  • Create a blank file and save it to C:\xowa\user\anonymous\app\data\cfg\user_custom_cfg.gfs
  • Add the following:
app.wikis
.scripts.set
( 'hide_left_navbar'
, 'wikipedia~wiktionary~wikisource~wikibooks~wikiversity~wikiquote~wikinews~wikivoyage~commons~meta~species~wikidata~wikimediafoundation~mediawiki~incubator~home'
,
<:['
app.wikis.get('~{wiki_key}').html.article
.page_read_(
<:["
<!DOCTYPE html>
<html dir="~{page_lang_ltr}">
<head>
  <title>~{page_name} - XOWA</title>
  <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
  <link rel="stylesheet" href="~{html_css_path}" type="text/css">
  <script>
  var xowa_root_dir = '~{app_root_dir}';
  ~{js_article_view_vars}
  </script>
  <script language="javascript" type="text/javascript">
    window.onload = function() {
      document.body.focus();
      var firstElem = document.getElementById('firstHeading');
      window.setTimeout(function(){firstElem.focus();}, 250);
    }
    function xowa_img_update(elem_id, elem_src, elem_width, elem_height) {
      var elem = document.getElementById(elem_id);
      elem.src = elem_src;
      elem.width = elem_width;
      elem.height = elem_height;
      return true;
    }
  </script>
  ~{js_mathjax_script}
  <script src="~{app_root_dir}bin/any/javascript/xowa/article_view/xowa.ready.js"></script>
  <script src="~{app_root_dir}bin/any/javascript/xowa/timeline/timeline.js"></script>
  <script src="~{app_root_dir}bin/any/javascript/xowa/wikidata/wikidata.js"></script>
  <style type="text/css">
    .xowa_anchor_button {font: bold 11px Arial; text-decoration: none; background-color: #EEEEEE; color: #333333; padding: 1px 0px 1px 0px; border-top: 1px solid #CCCCCC; border-right: 1px solid #333333; border-bottom: 1px solid #333333; border-left: 1px solid #CCCCCC; display:inline-block; text-align:center;}
    #content a:link,
    #content a:visited {color: #0645ad !important;}
    #content a.xowa-visited {color: #0b0080 !important;}
    a.xowa_display_none,li.xowa_display_none span {display:none;}
    ~{css_xtn}
  </style>
</head>
<body>
<div>
  <h1 id="firstHeading" class="firstHeading"><span>~{page_name}</span></h1>
  <div>
    <div id="siteSub">From XOWA: a free, open-source, offline wiki application</div>
    <div id="contentSub">~{page_redirect_msg}</div>
    <div id="mw-content-text" lang="en" dir="~{page_lang_ltr}" class="mw-content-~{page_lang_ltr}">~{page_data}
      <div class="visualClear">
~{page_langs}<br/><br/>
        ~{page_modified_on_msg}
        <div style='float:right'>
          <ul style='-moz-column-count: 2; list-style:none;font-size:xx-small;'>
            <li>~{<>msgs.get('xowa-portal-version');<>}</li>
            <li>~{<>msgs.get('xowa-portal-build_time');<>}</li>
            <li>~{app_version}</li>
            <li>~{app_build_date}</li>
          <ul>
        </div>
        <br/>
      </div>
    </div>
  </div>
</div>
</body>
</html>
"]:>
)
;
']:>
);
The section above is a homemade "language". The gist is that it defines an html page with arguments (EX: ~{page_data})
  • Save the file and run XOWA. This should give you a preview of what you'd be exporting
  • If you're satisfied, run the basic command line: java -jar xowa_windows.jar --root_dir C:\xowa\ --app_mode cmd --cmd_text "app.shell.fetch_page('en.wikipedia.org/wiki/Earth', 'html');"

This should hopefully be enough to get you going.

gnosygnu 03:28, 16 April 2013 (UTC)

That's fantastic gnosygnu!

You're right, we're all expecting major new features to be implemented in Xowa and the server thing isn't really important at the moment. Great softwares are built upon tens and perhaps twenties of years (Linux, VLC, KDE...) I guess we should all just be patient.

Coming to DictionaryForMIDs, our desktop version is almost an abandoned software, my work is only concerned with DfM-Creator, which is an extraordinary tool for building a DictionaryForMIDs for MIDPs and Android devices. DfM-Creator's input format is dict (the linux terminal dictd format). Which makes it possible to convert any free dictionary (including GCIDE, WORDNET, WEBSTER...) But still, I managed to come up with a new DictionaryForMIDs desktop version which would be called EmeraldDict but work hasn't started now because we focus on the DfM-Creator, on DictionaryForMIDs WebApp and on DictionaryForMIDs_JavaME.

Now, coming back to the extraordinary Xowa, I think what we need is a full documentation. As I was really bothered by the fact that I had to ask you about anything, I thought I would be great if I could find a documentation but I searched google and I found no such thing as an official documentation for Xowa. Does that exist, elsewhere (and perhaps google didn't index the concerned pages)?

For the credit, my nickname at wikipedia is Karimoune (and that comes from my real name Karim, so that hasn't anything political or controversial or anything whatsoever, lol). And thanks for your extraordinary work and many thanks for taking the time to answer.

Karimoune (talk) 06:15, 17 April 2013 (UTC)

Okay, thanks for the patience (and the kind words).

Regarding DictionaryForMIDs. I seldom use Android so it'll be EmeraldDict for me. Looking forward to it.

Xowa documentation doesn't exist in an online form. It is primarily within the app at the address of "home/wiki/Help:Contents". Even then the documentation could probably use more work. The item I generated above is based on "home/wiki/Help:Config files/Examples" (where Hello World is added to page_read_())

I'll add Karimoune to the Change Log then. Thanks again for reporting the defect.

gnosygnu 02:09, 18 April 2013 (UTC)

You're welcome! It's my pleasure to be able to do that. I'll be using xowa extensively from now on so as soon as i detect something that needs to be reported, i'll get back to you. I hope Xowa will have much success. Seriously, this is an Alpha App? Already doing a great job here!

As for DictionaryForMIDs, we already have an android version. EmeraldDict will be for PCs. The Android version is developped by Achim Weimert who's really doing a great job. You can go to http://dictionarymid.sourceforge.net/android.html for full instructions. The idea behind the Android port is that you first have to either download already-created dictionaries from http://dictionarymid.sourceforge.net/dict.html and then use them as dictionary files for DictionaryForMIDs Android, or you create your own DictionaryForMIDs with DfM-Creator (the tool I created). DfM-Creator setup any dictionary in dict format (linux terminal dict server format) for DictionaryForMIDs. DictionaryForMIDs is a J2ME app and the Android version uses only the dictionary files that are located in the final jar.

You can directly get it form http://sourceforge.net/projects/dictionarymid/files/DictionaryForMIDs%20Android/0.91.1/DictionaryForMIDs_Android_0.91.1.zip/download but i recommend reading the documentation here http://dictionarymid.sourceforge.net/android.html

Till next time, again, good job with Xowa! — Preceding unsigned comment added by 41.203.157.217 (talk) 15:04, 19 April 2013 (UTC)

As always, thanks for the compliments.

Yeah, DictionaryForMIDs looks good, but unfortunately my Android device is currently on loan, and I don't expect it back for a while (I use it seldomly even when I do have it). I'll definitely look at EmeraldDict when it comes out.

Let me know if you come across anything else. gnosygnu 02:27, 20 April 2013 (UTC)

HTML Dump

Hey, it's me again. You already know what is my role in the DictionaryForMIDs projet. Well, we use the DfM-Creator to create free dictionaries and pack them into the DictionaryForMIDs.jar/jad files (actually the jad file only holds some information as you already know...). We have almost all of the famous dictionaries already set up for DictionaryForMIDs. Lately, i've been engaged in an effort to set up many other dictionary files for DictionaryForMIDs (i.e, Merriem-Webster's Collegiate, GCIDE, Dictionnaire Le Littré, Dictionnaire de l'Académie Française 9ème Edition, Webster Revised...) Now, we all know that arguably, the best (free) dictionaries available on the internet are the Wiktionaries. They are free, always updated, available for download and so forth.
Now, my goal is to be able to export for instance the English Wiktionary xml dump into html format (hopefully as a single huge file) and then clean it up by removing the html tags. I noticed that Xowa converts the xml dumps into CSV files, right? Well, that's exactly the input dictionary format for DictionaryForMIDs, though the html tags should be replaced by what are called ContentTags that, once the dictionary is loaded, display colored, boldfaced, underlined or italicized text...
I just downloaded the source code for Xowa. I did not go through the code as I did not even know what to search for and where to start. I believe Xowa is the best software for this as it handles very well the xml dumps and even generates dynamic html files! Now, what would be great, is to make Xowa able to generate and simply export whole wiktionary dumps into one huge csv or html file (having both options would be great). As I know how busy you are, i'm planning on implementing this functionality and possibly sending you the code that you could improve and incorporate in the official distribution. The only problem is I DO NOT KNOW WHERE TO START!
You could help me out by providing me with valuable advice and information about Xowa and how to proceed and also into which source files should I go, what methods should I customize and so on. I believe I can succeed and finally export wiktionaries and I believe this will be a great advancement for Xowa as it will have the functionality of exporting wiktionary and possibly all of the wiki dumps. If you know how difficult and time-consuming it is to achieve this (for instance using DumpHTML.php extension) you know how much important it is to be able to achieve this with Xowa as Xowa proved its amazing rapidity in dealing with the xml dumps.

Karimoune (talk) 14:04, 4 May 2013 (UTC)


Thanks for the interest. I broke out your comment into a separate section. Also, feel free to use the xowa mailing list (https://lists.sourceforge.net/lists/listinfo/xowa-general)

XOWA does use a modified CSV format, but it stores the wikitext, not the HTML. As such, I don't think it will be useful for your purposes.

You can try doing a mass html dump of the wikitext, but you'd have to write code for it. If you want to get started, try the following:

  • First make sure you can (a) compile the code and (b) all tests pass. See home/wiki/Help:Source code for more info.
  • Once the code compiles you can look at class "Xobc_parse_run". This is an unofficial builder command I use to iterate through the pages. It is slow though, so it may take hours to go through Wiktionary.
I use the following code block to run the parse
app.bldr.pause_at_end_('n');
app.scripts.run_file_by_type('user_system_cfg');
app.bldr.cmds
.add     ('en.wikipedia.org', 'parse.run')
;
app.bldr.run;

I have not used DumpHTML.php, but it may be your best option for the immediate future.

  • It will take you a while to figure out how to navigate around the XOWA code-base.
  • XOWA generates some HTML that may not be suitable for your purposes. For example, the HTML for images relies on images being in /xowa/file/*
  • I'm still cleaning up the code-base, and I tend to refactor aggressively (class / method changes)

That said, feel free to give it a try, and let me know if you need more pointers.

gnosygnu 04:50, 5 May 2013 (UTC)

Thanks for the support and the patience. Will think this over and choose the best approach. I just peeped into the Xowa code, I think your are so right, I really can't see how I can understand the code's logic and interoperability, easily...But I read the explanations on the page that you pointed out, still, Xowa is extraordinary. Thank you again.

Karimoune (talk) 23:09, 5 May 2013 (UTC)

Okay. Thanks for the reply. Sorry the code is not easier to hack. Hopefully this will change in future versions.

gnosygnu 04:37, 6 May 2013 (UTC)

GUI import for Wiki XML Dumps

Coming with a whole new subject !

Sometimes, in fact most of the time, programmers forget the fact that what may be so simple for them is much more complicated to the simple users of their programs. What i want to talk about now is the Xowa CLI wiki import. I did mention CLI right? Right! Okay then, what can we do about it? You should do something about it. Now think about it, why do people love Xowa, compared to Kiwix, which is officially supported and sponsored by Wikimedia (at least at the level of the OpenZim format which is a format created by Wikimedia I believe, or at least it supports its development. And Kiwix is the best and most popular OpenZim reader) ? Simple to answer! Because it is simple to use:

-no install of mediawiki-1.xx -no import of the xml dumps into MySQL -no install of DumpHTML.php -no dump of the whole wiki in html format taking twenties of hours -no download and compile of the OpenZim libraries and programs -no .zim archive creation from the directory of static html dump created by DumpHTML.php

Now, is it enough or should I add something? Well, let's get back to our discussion. If your goal is to keep Xowa simple, then you should make the effort of simplifying the xml dumps import into Xowa. When you look at the whole thing, you understand that there are many things that Xowa can do in the stead of the user. So I suggest that you write code that will do the following and I suggest that you drop the CLI import or let it there and just provide GUI import. As the programmer who created the GUI version of the DictionaryForMIDs project tools, I know what I am talking about.

-Provide a GUI that has a back end that will automatically guess the type of Wiki (wikipedia, wiktionary, wikisource, wikiquote, wikiversity, wikibook, wikispecies, wikivoyage...) and if it's not possible to do so, provide a ComboBox that has all of these in its list of items so that the user can select one among these, while performing an import. -The GUI should have another back end that will automatically guess the language of the wiki and if this is also impossible, then just provide another ComboBox that has the ISO language codes of all the languages available for Wiki sites. -It should, based on the 2 information retrieved in the first 2 steps, create the suitable directory ( en.wikipedia.org – en.wiktionary.org – fr.wikipedia.org – fr.wiktionary.org and so forth ) -Provide in Check Boxes, the possibility to the user to choose to delete the temp directory, the .bz2 xml file and the uncompressed .xml file and also provide the possibility of compressing the imported wiki. Did I miss something here? With these information, you tell Xowa what to do and the user doesn't even know what's going on anyway! Oh yeah and also make it possible to import many wikis at the same time. When I say at the same time I mean, put all required information; put the file in the queue; provide new information for a new wiki dump; put that one in the queue; repeat the steps for a third, a forth wiki import; call Xowa to process them one after the other.

Now, coming to the Xowa source code let me say this: If I could understand it, it would be my pleasure to implement this functionality. And also let me say this: unless you are a hacker who, while releasing the source code of his program in the open source community, obfuscates the code to such an extent that it becomes much more easier to create another app from scratch than to try to figure out the logic of his code; unless you are such a programmer, I suggest that you make the code base more readable and understandable. Try to create packages, java packages that regroup the source files with the same logical functionality and please use a naming convention that will be easier to understand because now, I really get headaches when I read the Xowa script files for example.

I hope I'm not bothering or upsetting you, really. I just want to help.

Hope to have good feedback from you.

Karimoune (talk) 10:42, 18 May 2013 (UTC)

One quick point here. Have you looked at home/wiki/Help:List_of_data_dumps? This allows you to do imports without using the CLI. It's not as full-featured as a CLI, but it should work for 90% of use-cases. For the other 10%, then it is home/wiki/Help:List of data dumps/Manual_import and home/wiki/Help:Options/Data_dump_import or CLI

gnosygnu 17:34, 18 May 2013 (UTC)

Again, thanks for your enthusiasm and praise. I do agree with all your points regarding the current process of offlining a wiki. I did try to make it as simple as possible (and hopefully it will be even simpler in the future).

From reading your piece, I'm not sure if you're aware of home/wiki/Help:List_of_data_dumps. It is a much simpler process for wiki import. It is a bit limited in interface (single click) but as I said above, you can either customize using the other links, or go straight to CLI.

If you think List_of_data_dumps is still not suitable, let me know what exactly can be changed.

If instead, the page's existence wasn't apparent, I've changed the language on the main page to make it so: == Other wikis: English Wikipedia, French Wiktionary, German Wikisource, Wikidata, Commons, etc. ==

Also, I've added home/wiki/Help:Options/Wiki_setup for v0.5.2. This was related to https://sourceforge.net/p/xowa/tickets/98/. This actually incorporates the gist of your UI recommendations above. The page was written with pure HTML and javascript except for one function (the submit function). If you want to make more changes, feel free to do so here. I'd rather keep UI logic in HTML / javascript, than put it in the Java codebase.

As for your source code comments...

Keep in mind that I came from a C# background. (I indicate as much in home/wiki/Help:Source_code). C# handles classes / namespaces much more leniently than Java (which requires public classes for different namespaces). Originally, I handled this by leaving everything in the /xowa/ namespace and then creating separate source folders for each "namespace". Although this is still a non-standard approach, it still allows for organization.

Recently, I've decided to bite-the-bullet and incur the pain of making all necessary classes public and placing them in their own file. The /src/ folder was created about 2 months ago and I've been gradually migrating classes to it. This will take me some time to complete as there are over 1,000 files in XOWA, and the process is not as simple as changing the package declaration.

As to your naming convention comment, I tend to like abbreviations and underscores. So, for example, I used "cmd" instead of "command" and "bldr" instead of "builder". I also use underscore_names instead of camelCase. If these are the items causing you headache, then I don't think there will be any immediate resolution. This is an alternate style, but not one that can not be adoptable / understood. If it's something else, please specify.

Finally, I think "obfuscates" is a strong word. My style may be dense and atypical, but I think it's something else to mention intentional confusion. If anything, I would've hoped I'd at least get the benefit of the doubt.

gnosygnu 03:02, 19 May 2013 (UTC)


Hi, I'm back again. I have just one simple but annoying question: which program do you use to generate an .exe wrapper for the Windows version of Xowa ? I feel way to silly to ask such a question. The problem is that I've been trying to have a good wrapper that only generates a small .exe file pointing to the real .jar program but up to now i did not succeed. I wonder, is there any open source software capable of doing this ? I believe I downloaded the most popular among them but none behaves as I wanted. Anyway even if the one you use is a proprietary and expensive software, just tell me its name.

Karimoune (talk) 15:08, 18 May 2013 (UTC)

Hi. I'll reply to this one quickly (I'll reply to the other when I have more time later)

I use JSmooth. It works fairly well and it is GPL. It has a few downsides:

  • it hasn't been updated since 2007
  • it sometimes doesn't handle JNI calls too well (XOWA doesn't use any)
  • it is fairly basic in functionality

I've not run across any problems with it, and no one has reported an .exe related-bug to me. It handles Windows XP, 7 and 8 (I believe: I have a few users using 8).

FYI: I list all components I use in home/wiki/Help:About

gnosygnu 17:30, 18 May 2013 (UTC)

“One quick point here. Have you looked at home/wiki/Help:List_of_data_dumps?”

Yes I did. I know about that and I think I even try once to download a dump through this. It works fine I confess. But here's the problem, this works for online dumps right? What about if I downloaded a dump in order to use it in different ways? For instance I can import it in Xowa, convert it for AardDict and GoldenDict so as to have this wiki for Android devices... You see my point: Possibility to download only once and use it in different ways, thats why that solution is quite limited. Also consider, if one formats his computer and does a fresh install, he would have to re-download enwiki (9.1GB) again?

“I'd rather keep UI logic in HTML / javascript, than put it in the Java codebase.”

Actually when I asked you to write a java GUI for import, I was thinking that all of the GUI of Xowa was Java. I realized after, that all of the Java code have nothing to do with the GUI because the GUI of Xowa is Xulrunner's GUI right?

“Finally, I think "obfuscates" is a strong word. My style may be dense and atypical, but I think it's something else to mention intentional confusion. If anything, I would've hoped I'd at least get the benefit of the doubt.”

You get it, do not worry. Actually I do not know anything about C# and though I always heard your mother tongue (first programming language) has repercussion on all of the other languages you learn after. And also notice that english is not my mother tongue (natural language), I may misuse words? Yes, I may say something not being aware of the harshness of its meaning. Actually, “obfuscate” was the only word that came into my mind although I should have used another one...

“As to your naming convention comment, I tend to like abbreviations and underscores.”

Actually I was wondering what could be the meaning of these weird words. Now that I know they are abbreviations to complete English words I feel better. In fact I was also wondering if these commands were related to Java code or to the Lua scripting language. Now everything is clear.

I would like to say that Xowa is extraordinay and if I came here to say all I said, it's only in order to help improving it. Now, I really think you should, one time, fully develop the manual, GUI import, with HTML and JavaScript. See, Xowa is and offline wiki application, what about users who do not have permanent internet connection? Someone could give them copies of xml dumps and they would just have to import all of them at the same time with HTML/JavaScript GUI import.

Karimoune (talk) 08:22, 22 May 2013 (UTC)


“What about if I downloaded a dump in order to use it in different ways?”

It's not documented, but XOWA allows you to reuse dumps. You would need to put the dump file in /wiki/en.wikipedia.org/, rename it to latest, and then use the Help:List_of_data_dumps. It will prompt you about the file, and you can use it. I created a page in the next version detailing this process: Help:Import/Reusing_data_dumps
I'll add a File Selector sometime during the next few versions. Someone else made this request, and I just haven't gotten around to it.
Finally, the CLI is always there. I understand it's not a GUI, but it's not like the user doesn't have any options.

“I realized after, that all of the Java code have nothing to do with the GUI because the GUI of Xowa is Xulrunner's GUI right?”

Hmm... I'm still not sure if we understand each other. I meant that your request could be done in a page in the "home" wiki using mostly HTML and JavaScript. If possible, I'd like to keep as much GUI logic at the HTML layer because:
(a) Writing HTML + JavaScript is simpler than writing Java classes.
(b) It's easily customizable by users. They only have to "Edit" the page; they won't need to compile Java code
If you've downloaded v0.5.2, you can look at home/wiki/Help:Options/Wiki setup. It's basic, but it does 95% of what you described above without having to write any new Java code.

“...Actually, “obfuscate” was the only word that came into my mind...”

Thanks for the explanation. I will admit the code could definitely be cleaner, but this was not due to intention, but lack of time / suitability. This is something I will work on later, but I'd rather get functionality done first. I have enough automated tests in place that I believe I can afford to go back and clean up the code later.

“Now that I know they are abbreviations to complete English words I feel better.”

Okay. Glad to hear it.

“I really think you should, one time, fully develop the manual, GUI import, with HTML and JavaScript.”

The home wiki has a lot of info / content. It could probably use some more polish / design, but I'm not sure how it's lacking as a manual.
As for the GUI import, I believe it's 90% there, and will be functionally-complete once I add some sort of File Selector.
Thanks again for the feedback.

gnosygnu 04:04, 23 May 2013 (UTC)

Thank you for all of your explanations. I believe all of my questions have found answers and i surely know more about the Xowa functionalities. I'll try and download the next version in order to have access to the latest improvements.

Karimoune (talk) 09:07, 27 May 2013 (UTC)

Okay thanks. gnosygnu 03:52, 29 May 2013 (UTC)

Xowa does not open at all

I have extracted it and run it with various different compatibility settings, but it simply won't open. Do you have any suggestions? Thanks, O99o99 (talk) 22:09, 28 September 2014 (UTC)

Hi! Let's assume you're using Windows ("different compatibility settings"), and you're double-clicking xowa_64.exe (or xowa.exe), and nothing happens.

Try the following:

  • Open up a console by doing Start -> Run -> cmd
  • Enter "cd C:\xowa". If you've installed XOWA elsewhere, change C:\xowa accordingly
  • Enter "java -jar xowa_windows_64.jar". If you're on a 32-bit system, use "java -jar xowa_windows.jar"
  • If there's a Java / SWT error, the screen should print more messages. Copy and paste whatever's on the screen.

Depending on the error message above, you may want to check the instructions in README.txt.

Let me know if you need more info. Thanks. gnosygnu 04:20, 29 September 2014 (UTC)