Milestones

The web application the Open Siddur Project is developing is at an early alpha stage of development. This page lists the steps we need to complete the web application. If you're a coder, please consider volunteering your skills to help us reach these goals. If you are not a coder, please consider transcribing texts so we can have more texts ready for processing by this software.

The milestone list has now been moved to the issue tracker on Github. There, you can see progress toward the next version or pick up an independent project.

Independent projects are tagged "independent" and, while they may have some learning curve, they are finite and can be done without learning all the details of the core code.

In order to understand how the milestones fit into the whole project, please read about the project architecture.

<!--

This page is an ordered list of milestones (deliverables), organized by subproject. Continuous work should be listed separately. Development status updates are broadcast regularly on our technical discussion list and development blog. Click here to view them.

If you're interested in helping us reach any of these milestones, let us know!

Progress indicators:
 * Unformatted text indicates TODO items
 * bold indicates items that are considered complete
 * italic indicates in-progress items
 * bold italic indicates items that are partially complete.

Development Goals by Version
Note: This is the plan as of last edit. As development progresses, these goals will be evaluated. The version ordering may change and more minor versions may be added as new feature requests or difficulties emerge. Minor versions may also be added as bugfix releases or to improve look and feel of the UI without any major functionality changes. In general, development will be frozen on a released version and reported bugs will be fixed in subsequent versions.

Proof of concept tag (December 2008)

 * Demonstrate conversion of a siddur to printable format

v 0.3.0 (November 2009)

 * Demonstrate web-based XHTML to JLPTEI transform (client side)

v. 0.3.1 (February 2010)

 * Show bibliographic, contributor, and license information

v. 0.4
The focus of 0.4 is on allowing the arrangement of texts that are already in the database, and laying the infrastructure for the processing of new combinations of texts into printable formats.

v. 0.4.0 (January 2011)

 * Move transform server side
 * Cache concurrent hierarchy operations 

v. 0.4.1 (May 2011)

 * interactive user interface for user account login
 * Associate accounts with email addresses
 * first "siddur" creation UI (using the WLC Tanach texts)
 * Individual title page information UI
 * UI to allow selection, combination, and ordering of pre-existing texts
 * first web-accessible REST API

v. 0.4.2 (May 2011)

 * Text indexing (backend)
 * Search UI component integrated into text construction UI

v. 0.4.3 (July 2011)

 * Background task scheduler (backend)
 * Background caching (backend)
 * Find uncached/out of date resources and cache them at regular intervals

v. 0.4.4 (September 2011)

 * Task status UI to show compilations in Queued, Processing, and Complete states

After version 0.4.4, a development goals were split between client and server. The client and server can now be released separately, thanks to the development demo server at dev.jewishliturgy.org.

=Server Development Goals= Requirements:
 * APIs and schemas for:
 * transliteration tables
 * original documents
 * translation linkage documents
 * compiled
 * compilation status
 * sources (tei:biblStruct)
 * conditions (and definitions) (header+fsdDecl+fvLib)
 * styles (CSS)
 * contributors (tei:div/@type='contributor')
 * access rights

v0.5

 * Ready for use with the upcoming eXist 2.0
 * First code based on the simple API concept
 * API to round-trip basic text-only documents from JLPTEI to TEI with combined hierarchies or XHTML and back

v0.5.0

 * Update code to use the new eXist security manager, ready for 2.0, switch to the 2.0.x release branch
 * Finalize transliteration schema (namespace http://jewishliturgy.org/ns/tr/1.0 )
 * Basic transliteration resource API (GET, POST, PUT, DELETE) with schema validation
 * Transliteration demo API (POST text or XML to URI, get back transliterated text)
 * Tests

v0.5.1
=Client Development Goals=

v0.5

 * Use a WYSIWYG-type web editor to be able to edit basic structures in a text-only document
 * Document metadata (license, )
 * Large divisions with titles
 * Paragraphs and sentences
 * Line groups and lines
 * Numbered verses
 * Inclusion of other documents and parts of other documents

EDIT from here...

v. 0.5
The focus of 0.5 is on selection and display of parallel texts.

v. 0.5.0

 * Background transliteration of in-db texts with an existing table
 * Simple UI for table selection
 * CSS for 2-way parallel texts

v. 0.5.1

 * UI transliteration table editor

v. 0.5.2

 * Integrate Raphael Finkel's qamats qatan detection code to backend
 * Qamats qatan/sheva na decision XML finalization
 * Qamats qatan/sheva na automation/correction UI

v. 0.5.3

 * Conversion of 1917 JPS to JLPTEI
 * XML verse-by-verse alignment of 1917 JPS to WLC
 * Allow at least binary selection (yes/no) of 1917 JPS translation

v. 0.5.4

 * Rudimentary style selection for 2- and 3-way parallel texts
 * CSS to allow 3-way parallel texts

v. 0.6
The focus of 0.6 is on transcription and text entry. Not expected to have any new user-visible features until 0.6.3 or 0.6.4

v. 0.6.0

 * Reusable licensing selector UI control
 * Bibliography viewer (partially complete )
 * Embeddable Item-by-item bibliography editor control
 * Viewer for all public contributor information (allow editing/adding contributors who are not users)
 * Allow a user to adopt contributions as their own?

v. 0.6.1

 * Define book-by-book mapping between page numbers (on the page) and URLs
 * Editor for page mappings (if necessary)
 * Embeddable scrollable (zoomable?) control to get a page image from a JLPTEI document (XQuery + UI)

v. 0.6.2

 * Segment editor
 * Virtual keyboard

v. 0.6.3

 * First integrated transcription editor (segment editor + embedded view + components above)

v. 0.6.4 (an alpha-quality release)

 * Multiple hierarchy markers in transcription editor
 * Output to JLPTEI file

v 0.7
v. 0.7 will introduce a user interface for conditional inclusion and features that depend on the existence of the conditional system.

v. 0.7.0

 * Conditional inclusion widget
 * make new conditional
 * search conditionals
 * apply conditional to selected text

v. 0.7.1

 * Editor for default value dependent on other conditions

v. 0.7.2

 * Translation alignment editor

v. 0.7.3

 * Comment editor (apply out-of-line instructions and/or notes to text)

v. 0.7.4

 * Annotation editor (apply meaningful out-of-line annotations to text)

v. 0.8.0

 * Finalize JLPTEI schemas
 * Schematron assertions for otherwise unchecked conditions
 * Add schema validation to editing workflow

v. 0.9.0

 * Style editor UI
 * represent CSS as XML settings?
 * jQuery-based selectors to show changes in real time?

v. 0.10
v. 0.10 will focus on user identity and collaboration features

v. 0.10.0

 * Allow authentication by OpenID (I think this doesn't involve storage of sensitive information)
 * Merge user accounts and/or associate more than one OpenID with a given db identity?

v. 0.10.1

 * Collaboration group console
 * Edit access to your own group
 * Add new groups
 * Admin groups
 * Join groups
 * Messaging within the group? Use email?

v. 0.10.2

 * Sharing control in editors (self, group, all)

v. 0.11
v. 0.11 will focus on PDF output. The milestones that are displayed assume that we will be using XeLaTeX as a backend for converting XML to PDF.

v. 0.11.0

 * XeTeX compilation server (this is an independent project)
 * Must support authentication from the db
 * Must be able to "call back" the db when the compilation is finished
 * May queue compilations if more than one cannot be done simultaneously

v 0.11.1

 * Format transform for JLPTEI processed after the list compiler to TeXML
 * Implement TeXML to TeX conversion in the XeTeX compilation server

v. 0.11.2

 * Provide UI option for compilation to PDF
 * Implement PDF compilation as a call to the XeTeX server
 * Implement callback mechanism in the db app

v. 0.12
Security and e-commerce. The actual release plan of major/minor versions is not yet known.

v. 0.12.0

 * Examination of security in the code
 * Transition to production-grade security

v. 0.12.1

 * Integrate one or more e-commerce systems
 * Allow generated PDFs to be printed-on-demand through the Open Siddur platform

v. 0.13.0

 * Design and implementation of REST API for external usage
 * Define canonical reference or indexing system

v. 0.14
This release focuses on Internationalization/Localization. Beyond having a framework, this depends on there being translators to translate the interface into at least one other language.

v. 0.14.0

 * Localized string framework for UI

v. 0.14.1

 * Localize strings to at least one other language (he? ru?)

v. 0.98

 * Bugfix and testing release(s): alpha

v. 0.99

 * Bugfix and testing release(s): beta

v. 1.0
1.0 Release! Yay!

Features beyond 1.0

 * Page image upload or link by users
 * Semantic grammatical tagging of words (interface with Open Scriptures MorphDB)
 * Dictionaries (interface with Open Scriptures BDBMesh)

Texts
Summary of which base texts we need:

Others that are different eNeedugh to warrant an additional base text?


 * Texts from the Cairo Genizah
 * Prayers composed by and for Jewish women, e.g. Sefer T'khines
 * Songs of the Beta Israel (Ethiopian Jewry)
 * the Karaite Siddur
 * relevant prayers and poetry of other Bnei Noach(out of scope for Open Siddur Project, in scope for Platform? -- Efraim.feinstein 22:49, 13 December 2009 (UTC))

Contributed texts
Each contributed text needs to be converted to JLPTEI.


 * 1) Reb Zalman Schachter Shalomi's Siddur

Original text transcriptions
Milestones by page can be tracked at Transcription.


 * 1) Tanach
 * 2) Correct qamats qatan and sheva na marking.
 * 3) For each nusach, define milestones by part of davening.  Some milestones can be worked on in parallel.
 * 4) Mincha for weekdays
 * 5) Kabbalat Shabbat
 * 6) Maariv for weekdays
 * 7) Maariv for Shabbat
 * 8) Maariv for Yom Tov
 * 9) Mincha for Shabbat
 * 10) Pesukei D'zimrah (easy)
 * 11) Shacharit for weekdays (not Mon/Thurs)
 * 12) Torah reading for weekdays
 * 13) Shabbat z'mirot

Comments/essays
=Non technical=

Developer documentation

 * 1) Encoding tutorial for application developers
 * 2) Introduction to hacking

End-user documentation

 * 1) Software recommendations
 * 2) System Requirements
 * 3) keyboard layouts

Project management

 * unified Mission Statement
 * indicate development milestones
 * Group tasks for reaching milestones in phases
 * Develop team charter
 * Recruit Advisory Board
 * Develop project constitution
 * Define QC Guidelines
 * Recruit initial Core Content Group (CCG)
 * Define how new members are inducted into CCG
 * Assign volunteer manager(s) (currently shared among CCG)
 * attain fiscal sponsorships
 * plan use of resources
 * Recruit board of directors (necessary for non-profit status)
 * create Open Siddur Foundation non-profit

Other testing

 * Automatic Transcription for Hebrew text (OCR) -- needs to be revisited every year or so

Communications
(These are more-or-less all constantly in-progress) -->
 * documentation wiki
 * discussion list
 * development blog
 * survey users--extend project community beyond core developer team
 * Facebook
 * Twitter
 * interviews with media
 * cultivate partnerships with collaborators
 * regularly update