Zekr 0.7.0 beta 2

From ZekrWiki

Jump to: navigation, search

Zekr 0.7.0 beta 2 is the second release in 0.7.0 branch. There are many changes and new features as well as bug fixes in this version. The main focus in this release was on the following features:

  • Search (basic and advanced) within translations, supporting customizable analyzers for searching in different languages
  • Quran root/stem database, supporting search through Quran roots
  • Different paging mode support: juz, sura, hizb quarter, constant aya count, custom (Uthman Taha for example)

Contents

Release date

August 24, 2008.

News and noteworthy

Changes

New features/enhancements

  • Show the meaning of bismillah in be beginning of each sura in translation.
  • Paging mode support
    • Four built-in paging data introduced: Sura, Juz, Hizb quarter, Constant aya. As a result a new menu item (paging mode) introduced.
    • New add-on: paging data pack. *.page.xml files in res/text/metadata are used to introduce new paging data. An Uthmani paging is by default supported (uthmani.page.xml).
    • User may choose View > Paging Mode > Custom... in order to utilize a custom paging data available in (res/text/metadata/*.page.xml).
    • Navigation bar now accepts page as well as sura-aya pair. If page differs from the current page, it just navigates to the beginning of that page, otherwise it navigates to the entered sura-aya location.
    • Navigation buttons in work pane navigates through pages and ayas instead of suras and ayas. For example the button previously was for Next Sura, now navigates to the next page (if default paging mode is sura, it goes to the next sura).
  • New configuration properties introduced: index.quran.path, index.quran.version, index.trans.path.[translation id], and index.trans.version.[translation id]. properties. index.[quran|trans].path.[translation id] holds quran or a translation index location (identified with [translation id]), and index.[quran|trans].version.[translation id] is for Zekr build number which creates that index. Indexes created with different versions of Zekr may not be generally compatible, so it should reindex on each version (build number) update.
  • New menu group added: View > Panel, in order to show and hide different panels. For now sura detail panel can be toggled. The state of a panel visibility is persisted under view.panel.<panel id> in config.properties.
  • A few more progress point added for startup splash screen. A progress now increases startup progress bar value by 7%.
  • Search metadata support:
    • Search metadata contains language-specific replace patterns for non-searchable or equivalent characters. It also has a list of stopwords, which is used to ignore those words for indexing.
    • A new class SearchInfo (metadata) introduced
    • A new config file res/config/search-info.properties added. This config file is included in main config.properties.
  • Translation search:
    • Basic search support. It uses pattern replacements provided in search-info.properties.
    • Advanced search support. It uses pattern replacements provided in search-info.properties, or built-in Lucene analyzers if available for that language.
  • All 'View > Go To' menu items moved to a new global Menu: Go To. Random Aya also moved to this new menu.
  • Two backups for zekr.log are kept: log4j.appender.RUNTIME.MaxBackupIndex=2.
  • Update site URL moved from config.properties to version.properties. It's a security risk to have the URL inside user config.
  • Root database:
    • A new configuration property: root.enabled. One can disabled root database, because it's somewhat memory consuming.
    • All the Quran roots (indexed by root itself), and reverse index for roots of a single aya are loaded from res/text/metadata/quran-root.txt.
    • Search through Quran roots.
    • Sort results by: 1. Natural order, 2. Similarity, 3. Revelation order, and 4. Aya length.
    • Sort order: ascending and descending.
    • Set search scope for limiting root search results.
  • Add support to index transltion data through command line (-index option).
  • Goto Next/prev hizb quarter shortcut changed to Ctrl+Alt+Right/Left.
  • Indicative icons added near each translation item in the menu, to showing if a translation is signed, unknown (not loaded), or unsigned.
  • New language pack: hebrew.xml (Yotam Benshalom).
  • Upgrade modules and libraries: Lunuce 2.3.2, Tanzil Quran text file 1.0.2, SWT 3.4.0, commons-logging-1.0.4, commons-collections-3.2.1, commons-configurations-1.5.0, commons-io-1.4, commons-lang-2.4, commons-codec-1.3

Bugs fixed

  • A bug with basic search fixed, which happened when a whole clause was found at the end of an aya.
  • Menu icons are not shown anymore in Mac.
  • Major and minor sajda replaced with "mandatory" and "recommended" sajda.
  • An incompatibility issue resolved which caused sura.vm not work with Velocity 1.5. Thanks for Serkan Kaba's patch.
  • When an SWT Tree is set as SWT.SINGLE, it's selection listener is once called upon its first selection (which is selected by system). It caused aya not to be selected correctly in aya selection combo. A small but of checking (if (e.time > 0)) added to tree selection adapter in order to ignore its first systemy selection.
  • A bug with unloading (TranslationData.unload()) currently in use translations, when multi-translation layout was selected is fixed. Since it mistakenly unload a translation which was in use, Zekr gave NPE errors for accessing translation of ayas.
  • Just one thread is started for HTTP server. It used to start two separate thread, one of them was redundant.
  • Manually focusing on an aya in the page during playing a recitation causes to recite that aya after current one (previously ignored the focusing aya).
  • Fixed a bug with basic (tanzil) search highlighter. Search result was not highlighted correctly two or more phrases entered in the query, and at least one phrase (other than the first one) was exclusive (leaded with '-').
  • use StringUtils.isBlank() instead of isEmpty(). isBlank() also trims the input string.
  • Change quran.text.delim to \\r\\n (Tanzil text files are in Windows line delimiter model).
  • Remove extra whitespaces for search result ayas. Extra whitespaces caused non-elegant highlighted results.

See Also

Personal tools
download