"Forms" will be an API to simply develop web apps within MoinMoin.

FlorianFesti is currently working on an extension for organising conventions. The forms infrastructure is currently built within this development effort. Because of this, the infrastructure is still in an early stage of development and still in flux.

Discussion

Basic Architecture

Invokation

There is only one action form and one macro Form. These use the MoinMoin plugin mechanism to load a forms plugin. (rename to form as all other plugins use singular?)

Parameter handling

Parameters can be given either as HTML form parameters or as parameters of the macro. For macros, parameters are separated by commas.

Important parameters are:

More specialized Dialogue classes may have other parameters like the (DB) "id" of the data to deal with or next page to show after the user pressed the button.

Classes

Dialog Classes

Dialogues contain the code for the big picture data handling. The default "methods" are:

DialogBase

Calling sequences:

UI Classes

Currently located in MoinMoin/widgets/datatypes.py. Module may be split up in the future.

The UI classes handle the input/output of single values. The support rendering of the values and the editform of these values and of retireving these values from the form data after the user pressed save. The UI classes expect/return a native Python type.

Discussion


OFF TOPIC: Forms are the structured way of information processing. A wiki is heavily processing unstructured/ semantic information. There are some initiatives to standarise information (e.g. templates, forms). Considering templates there are many degrees of freedom. The user can follow but also ignore conventions. Considering forms, there are forms with some degrees of freedom (i.e. [[NewPage(PageTemplate,ButtonLabel,ParentPage[,NameTemplate])]] in conjunction with CategoryCategory). Other forms like selections have low degrees of freedom. I agree. There is a good reeason for forms and I like the idea to create an infrastructure (better: architecture or framework). I have this off-topic idea of merging structured and unstructured (syntactic and semantic) information.

If you want, follow and invert the pardigm of inline documentation (i.e. PHPDoc, Perl's POD, JavaDoc, see also http://www.hypertextnavigation.com/autodoctools.htm ). Can you think of a concept called inline implementation/ coding. Semantic information and syntactic information combined. As in http://twiki.org/cgi-bin/view/TWiki/TWikiPreferences (this has been implemented in a highly structured way of MoinMoin UserPreferences).

QUESTION: Are there platforms/ sites that process information or control a system with such an idea?

EXAMPLE:

=== VIEW NAME ===

=== QUALIFICATION ===

   * status: done
   * schedule: * * * * * * 

=== DESCRIPTION ===

bla bla

=== IMPLEMENTATION ===

==== DDL ====

{ { {#!SQL
  bla bla 
} } }

==== RUN ====

{ { {#!python
   v = View( 'IA_ANA_V_TEST' )
   v.insertSchema()
   v.convert( filename = 'doc/test.csv', delimiter=";", header=True )
   v.updateView()
   v.commit()
} } }

=== ISSUES ===

  * none

-- MichaelRau DateTime(2006-05-01T22:39:33Z)

MoinMoin: MoinDev/Forms (last edited 2007-10-29 19:12:02 by localhost)