Hi all,<br><br>I have been working on a couple of projects and I would like to get some feedback. First, following Ben's suggestion, I have been working on updating Easton's dictionary with cross references and scripture references. Connected to that, I have created a prototype application for creating and editing dictionaries (and potentially other module types). It is called, for the moment, Sword Writer. It is located at <a href="http://sword.chaqar.com/admin">http://sword.chaqar.com/admin</a> and the test user is sword and password is sword1. It has several features so far, including restricted access to the main editing interface, unrestricted access to downloading the whole module, unrestricted access for posting comments about individual entries.<br>
<br>Editing<br>Find and entry you would like to change. Click on it. You will see a textarea called "Markdown text". This is psuedo-markdown language (psuedo because nothing is implemented except links, and they're not html links). A cross reference is marked like [Greek]($$$GREEK), and a scripture reference like [Genesis 1:1](Gen 1:1). The text is in [], the link is in (). You can see the resulting entry in "Encoded text". If you make a change to the markdown text, just click "Save and continue" to see the updated changes to the encoded text.<br>
<br>Downloading Module<br>You can download the module at any time by going to <a href="http://sword.chaqar.com/EastonLinked/">http://sword.chaqar.com/EastonLinked/</a>. I recommend using wget rather than firefox for this. A sample script to download, convert to module, and move to the correct directories follows (you will need to create the directories and create the conf file):<br>
#! /bin/sh<br>wget --output-document=EastonLinked.imp <a href="http://sword.chaqar.com/dictionary/EastonLinked">http://sword.chaqar.com/dictionary/EastonLinked</a><br>imp2ld EastonLinked.imp EastonLinked z<br>mv -f EastonLinked.dat ~/.sword/modules/lexdict/zld/eastonlinked/EastonLinked.dat<br>
mv -f EastonLinked.idx ~/.sword/modules/lexdict/zld/eastonlinked/EastonLinked.idx<br>mv -f EastonLinked.zdt ~/.sword/modules/lexdict/zld/eastonlinked/EastonLinked.zdt<br>mv -f EastonLinked.zdx ~/.sword/modules/lexdict/zld/eastonlinked/EastonLinked.zdx<br>
You can get the conf settings under Dicts -> EastonLinked in the admin interface.<br><br>Comments<br>You may add a comment without logging in by going to <a href="http://sword.chaqar.com/dictionary/EastonLinked/[DICTIONARY">http://sword.chaqar.com/dictionary/EastonLinked/[DICTIONARY</a> KEY]/comment. "Get" returns an html form. "Post" to the same url will post a comment.<br>
<br>Status<br>An entry may have different statuses: default, known errors, edited, proofread once, proofread twice. When a comment is added to an entry, the status changes to "known errors". The idea is that once the comment has been looked at, the status will be changed to "edited", then the comment may be proofread and marked proofread. Once it is proofread twice, it will be assumed correct unless another comment is entered.<br>
<br>Vision<br>The vision is to allow non-programmers (and programmers) to collaborate and help with editing and creating quality modules. In particular, my interest is to create an English dictionary that will cover all words in a few modern translations (say, ESV, NET, and NASB) complete with Scripture references for each entry, as well as an encylopedia covering all proper nouns in the same translations.<br>
<br>Implementation<br>Obviously, there is a lot of work to be done to the interface. The textareas are too small, there is no validation, etc. An interface for just proofreading would be nice as well. But the real hope is that some of the frontends might take advantage of the API to allow reporting problems or reporting that something has been proofread. For example, two buttons (one for "report problem" and one for "this is correct") could be added to an interface (perhaps optionally if someone wants to help) and everything could be done from within the frontend. Even more awesome would be the ability to update the module to the latest version from within the interface. It would require either a. generating the module automatically on the server, or b. a correctly set up sword system (not a problem on linux, but may not be easy on windows). It would not be hard to generate automatically server-side, if there was validation to ensure that the module could never exist in an incorrect state. All of this is open for discussion, of course; just some ideas.<br>
<br>Matthew<br><br>I'm on irc variously as ransom1982 or mwtalbert<br>