Skip to content
cqx931 edited this page Jun 2, 2017 · 64 revisions

Welcome to the RiTa FAQ!


For Developers


What is RiTa?

RiTa is a software toolkit for computational or generative literature. It provides tools for artists and writers working with natural language in programmable media. It is free/libre and open-source, and is designed to be simple while still enabling powerful features: context-free grammars, n-grams, conjugation, tokenization, pluralization, feature-analysis (part-of-speech, phonemes, stresses), etc.

On what platform/language/environment can I use RiTa?

RiTa is implemented in both Java and JavaScript and runs in a number of popular programming environments including Android, Processing, Node, and p5.js.

Why is it called RiTa?

The name comes from the old Norse, meaning to mark, scratch, or scribble.


How should I setup my development environment?

  1. Download and install Eclipse for Java.
  2. In the Eclipse menu, select 'File' > 'Import...'
  3. In the 'Import Window' select 'Git' > 'Projects from Git', then press Next.
  4. Select 'Clone URI' > then Next and copy and paste the 'HTTPS clone URL' https://github.com/dhowe/RiTa.git from RiTa's Github page into the URI field.
  5. Press Next to proceed with the default master branch or (optionally) configure the project directory.
  6. Press Next and select 'Import existing projects' to finish.
  7. Right click on 'pom.xml' from RiTa root directory in Package Explorer panel in Eclipse and select 'Run as' > 'Maven install'.
  8. (If you are also working on RiTaJS) In terminal, run ln -s /path/to/ritajs js from rita folder. An alias of RiTaJS will be created in your rita folder. If you have it right, when you build, it should say:
[echo] Checking for rita.js...
     [echo] "RiTaJS found..."
include.js:
     [echo] Copying js files ...

How to build RiTa from source?

  1. In the Eclipse menu, select 'Window' > 'Show View' -> 'Ant

  2. Click the 'Add buildfile' button to add a buildfile in the newly added Ant panel, and navigate to RiTa/resources/build.xml

  3. Click to expand the 'RiTa' menu and reveal the various tasks, then double-click 'build' (or run $ cd RiTa/resources && ant build from the terminal)

  4. (Optional) Ignore this step if you are on Mac or step 9a to c if you are on Windows, install ant and use cygwin to run the command $ cd RiTa/resources && ant build.

  5. When the build is complete, project resources can be found in RiTa/dist

How do I build docs?

You can build the docs either by running $ cd RiTa/resources && ant build or
$ cd RiTa/resources && ant make.docs.

What is the usual workflow for developers?

Working on Known issues

The most common task is working on a test case in KnownIssues-tests. (RiTa/java/rita/test/KnownIssuesTest.java or RiTaJS/test/KnownIssues-tests.js)

In most of the cases, the same issue is valid for both JAVA and JS. You can start fixing the issue either from JAVA or JS, and make sure to make the same changes later to the other one.

After fixing the issue, please remove the test case from KnownIssues-tests and place it to a proper location in another corresponding test file.

Working on rita dictionary

Please always change the dictionary in RiTaJS/src/rita_dict.js You can update the changes to JAVA by running scripts/update-dict.sh in RiTa

How do I test a new release?

Before release

  • Run each of the RiTa examples on each of the platforms:

JavaScript

  • In the browser with dom (Chrome/Firefox)
  • In the browser with p5.js
  • Test 'Analysis' and 'RandomRhymes' examples with no lexicon, using rita.js, rather than rita-full.js and verify that the correct warning message is shown

Java

  • In Processing

  • In Processing for Android (Ignore the example: ReplaceableWriting for Android tests)

  • As a standalone Java program (jar)

  • As a standalone Android app (jar)

     

Testing RiTa website

  • Check and fix errors in the console tab of developer tools for each page
  • Check links (with a link-checker) and fix any errors

Post release Pay attention to any error or warning message during the process:

Clone this wiki locally