Note: we are in the process of migrating the info on this page to storytracker.


Below is a somewhat unorganized list of things we want to do in the Informl project. We're working on a better scheme for organizing this, so be patient. But in the mean time, your comments and suggestions are most welcome.

  • update rails documentation to reflect that we needed to pass a block to the ActiveRecord...Connection#create_table. Rdoc for this says that a block is not required. May be a sqlite specific thing.

  • improve install process
    • in-wiki interface for managing books (create, rename, dump as yml, load, mirror?, delete)
      • make the doc and demo books available as YML files to be sucked into whatever DB is in use
    • "rake check" to validate dependencies, DB consistency, etc.
  • spike: make a list of most needed documentation
    • dev guide to extensions

  • versioned entries
  • XML views for resources
    • web services for pages/tables created with Informl
  • look at using http://dev.rubyonrails.org/browser/plugins/resource_feeder?rev=5098 for per-page RSS and Atom feeds
  • index view filtering (versions and entries are done)
  • don't do preview when closed
  • admin interface (delete pages / tables)
  • admin interface (merge columns)
  • allow conditions in field references
  • add edit link to auto-generated results page for editing the submission (two different meanings of edit -- how do we deal with that?)
  • author the view/edit/delete links in the data table view
  • text fields that contain wiki text -- <<wiki>> ?
    • all text fields are wiki content?
  • missing basic field types: decimal/money, passwords
  • composite fields (eg addresses)
  • add support for mandatory fields, and don't complain when non-mandatory fields are missing
  • file upload (and file columns)
  • multi-selector
  • textfield with selector of previous entries
  • autocomplete text field
  • richer scoping
    • (name.winery="Fred's Wines")
    • (year >= 1998 & year <= 2001)
    • (winetype=white | winetype=sparkling)
    • [(wine=87)on_hand::inventory:] bottles in stock
    • (year=1998-2001)
  • handle the case of migrating a textfield to a textarea
  • migrate textfields to dates, dates to text, etc.
  • smart dates (eg "tomorrow")
  • in dropdowns it would be good to have a -none- option

  • improve test coverage, especially integration level tests
    • updating existing entry
    • create integration tests for multiple concurrent edits.
  • do something about forgotten submit buttons (build into page, or add one if it’s missing)
  • Convert select (dropdowns) to “true” span markup.
  • Convert radiobutton groups to “true” span markup.
  • sqlite only: in versioncontrol#create there's a call to Book.softtransaction that used to be just plain Book.transaction. This was done because the tests were not working properly. This is really ugly and should be fixed (not really sure it's going to work correctly in the full context of multiple people editing pages).
  • iterate's indentation requirements seem inconsistent with selections (change to 0-3 spaces?)
  • augment rake db prepare tasks to clean out dynamically created tables from the test database
  • remove requirement for underscores in multiword field names
  • address the fact that other wikis expect underscores to separate words in page names
  • shortcuts for wikilinks, as in cross-wiki links wikipedia:informl
  • rename pages (possibly only really introduce an alias)
  • wiki-text edit area fills window better (sized dynamically according to window size)

  • get caching to work (currently turned off in production)
  • can be integrated into other applications, either as a plugin or web service
  • spike: use rcov
    • write missing tests
  • full Markdown support (harder cases covered; this is a Tartan issue)
  • textile support
  • cancel for edit/creation of new page should point to somewhere rational -- currently you get a self referential reference (kind of loopy) should take you back to whatever page you were looking at before
  • disjoint radio button groups (buttons in group aren't all together)
  • means of selecting parser (wiki-wide)
  • complete metadata
  • edit in place interface
  • implement preview using javascript version of tartan
  • allow for migration from i2 or instiki
  • Spam filtering
  • Delete revisions by IP
  • access tables in foreign databases
  • CSV import/export
  • synthesized labels in drop downs, eg "John Doe" from 2 fields
  • Convert "plain" wiki structures like bullet-lists and tables into Informl tables for the page. Transform unstructured into structured. This may only make sense once multiple forms/tables are allowed per page.
  • ~~ seems better than $$ i.e. use ~~ to mark span-level field definitions within an enclosing span
  • tests for having a default "submit" value
  • make anchor targets of ## headings
  • allow formatting of references eg. dates like created_at
  • spreadsheet cell formatting (numbers, calculated values)
  • text area field with no width specified (default width)
  • change formfields and options table names to have underscores or something like that to decrease the chance that "users" will want to use similarly named tables
  • consider writing out model files for dynamic classes or otherwise making them reloadable
  • want to build a menu of page links for a specific app (collection of pages) or have a tabbed interface
  • multiple "forms" per page is an issue
  • Revision diffs (from Alexey)
  • Wiki subsection editing
  • Table editor
  • Statistical results of the form results available for wiki mark-up
  • Graphs based on form results available for wiki mark-up
  • syntax extension by plugins
  • code blocks in definition bodies
  • multiple paragraphs in definition bodies
  • provide adequate control for authoring entry workflow
    • what the user sees when submitting an entry (errors)
    • where the user lands after valid submission
    • adequate navigation available to user
    • editing a existing entry

DONE

  • create doc and demo books
  • some level of authentication
  • allow conditions to refer to foreign key labels
  • use the "shown" meta-data to not include columns that are not in use in the summary and livegrid tables (delete them from formfield#display_names ?)
  • redo our URL scheme (rationalize the routes)
  • put in explicit routes
  • collapse pages/show* (and versions/preview*) into show using media types
  • simplify the layout (still difficult to re-layout the page using only CSS)
  • (winery=1) rather than (t32wineryid=1)
  • CRUD for controllers and routes
    • eg. why are pages in the URL all the time.
    • results and summary pages, what about normalizing URLS (submission/id)
    • result => submissions/show
    • editing a submission => submissions/edit/1
    • summary => submissions/index
    • eg. result: /fl/pages/story/submissions /fl/pages/story:result?submission_id=1 or summary: story/submission/
    • use media types: story.results story.summary
  • clean up wiki helper argument passing and parsing
  • move extraneous files out of public/images

RELEASE 0.1

  • catch the "missing book" routing error and prompt the user to create an initial book
  • remove/deprecate livegrid
  • BUG: summary pages for deleted pages can not rendered w/o blowing up probably a field dereference bug
  • BUG: preview with image causes sidebar to be in the wrong place in ie6 (eg informl homepage)
  • BUG: informl home page scrolling problem (related to buttons float:right, or the image)

  • rake setup loads doc and demo books
  • RSS views for resources
  • redo preview
  • change submit button target as follows
    • always show results for "acceptance/validation" (with opportunity to go back and edit)
    • then redirect to target
    • default might be summary, or base_page?
  • search
  • allow other rails code to refer to Entry subclasses by name
powered by tartan and informl from folklogic