Skip to main content Help Control Panel

Login   A+   A-

Development «   Development blog «  

Simple forms

Allow the creation of forms by the webmaster, and use these to fill a table of the database

Vote has ended on Dec. 30 2006 at 12:00 pm GMT

Vote description

{This is an English retranscription of needs expressed in Nouveau module liste}

The need for simple forms linked to the database is growing.

As per rule #1 of the eXtreme Programming approach, we limit ourselves to the most important feature, and tentatively describe a potential technical solution.

Actually, we can distinguish at least three different usages of web forms:

-  overlay - this covers cases where a PHP script is available for the specialization of articles; to use them, the webmaster will simply configure target sections with the proper keyword; samples include: contact record, poll, events, votes, etc.

-  file of cards - useful to capture simple pieces of structured data, for example: application to a job, information query sent to a company about some products, etc.

-  application - here, software developement is mandatory, and YACS has been designed to host new scripts while providing a bunch of services (i18n, cache, templates, security, ...)

The feature we are looking after is for the simple construction of "file of cards". YACS integrates powerful solutions for other needs related to forms.

Description of the file of cards to be implemented in YACS:

-  Associates (and only associates) can define as many forms as necessary.

-  Forms content is defined through new YACS codes, to be defined. We are departing from the WYSIWIG model. However, the choice we make enables easy integration of text, and offers layout freedom, while staying simple.

-  Each form is linked to a dedicated table of the database. This leverages the SQL environment to achieve any kind of queries. The module tables can be used to build nice tables out of dynamic SELECT statements.

-  YACS has a single index page to list forms available to surfers.

-  A surfer can select a form, fill all fields, and submit it to the server for storage and processing. Some forms can be accessible only by members or associates.

-  On form submission an electronic message can be sent to selected recipients. Each form has its own list of recipients.

-  Data storage is managed through overlays attached to articles, to leverage the YACS environment: image and file attachment, comments, categories, etc.

-  YACS has one page per form, to list related filled cards.

-  Associates can also create pages including tables objects to create ad hoc reports and lists.

Files

Form.htm 19,273 bytes, 287 downloads
Edited by NickR on May 3 2007
Zoom

Comments

1- NickR on Dec. 30 2006Reply · Quote

Hi.

I wrote a simple forms module for my works .net cms system, heres a few comments and suggestions:

What field types would be used ? I suggest, single line text, multiline text, radio button, drop down list and check box.

Also, useful, is the ability to define the datatype of the field eg words, numbers only, and also the min length of field - this is useful 2 fold, for validation and also defining database field types.

I could envisage code syntax being like:

[textbox numberoflines=1 compulsory=1 maxlength=50 type=string]Please enter your name[/textbox]

[radiobutton compulsory=0 defaultitem=1] What is your age ? [listitem1]0-24[/listitem1] [listitem2]25-64[/listitem2] [listitem3]65+[/listitem3][/radiobutton]

I also think it would be important to mark compulsory fields and validation that data is of correct data types.

Is there any code in Polls that will be of any use ?

Nick.

4- NickR on May 3 2007Reply · Quote

Xforms is interesting. I remember creating a search form a few years ago using xml data islands (because the search phrases were unlimited and sending back xml via a form and then processing the xml... is neater for large forms for sure. The javascript to process the xml dataislands (basically xml bound to html elements), was bulky and not very pretty, but I am sure there are generic librarys for this kind of things now (especially as what I did was IE6 only).

It would be wise to look at Ajax librarys like Dojo so see if they handle Xforms.

You should find attached what I did.

form.htm
-----
Nick

5- Tof on May 3 2007Reply · Quote

hello, nice thread !

i see this feature as an overlay generator, am'i right ?

it can replace a data-bound overlay, but i think it have to be "overlayable" because generated forms are often ugly forms...

Generating Xforms is a good idea; is it implemented on all modern platforms ?


-----
Tof

6- NickR on May 3 2007Reply · Quote

Xforms can be output in any format required as its fully templatable.

Is a form is to be a type of article (will it take on features of an article (eg publishing, editting, permissions), if it is, then IMHO it would suit being an overlay perfectly.

Nick

7- Moi-meme on May 23 2007Reply · Quote

Ok with this new feature.

Is it implemented at this date ?..

8- GnapZ on June 8 2007Reply · Quote

Tiens ? je viens de voter et à la fin seulement je vois que les votes sont fermés depuis Janvier 2007 alors que mon vote a bien été pris en compte

Ne serait-il pas utile de "visualiser" que les votes sont fermés soit par un message lors du vote, soit par une icône dans la liste des articles ?

9- Agnès on June 14 2007Reply · Quote

+1 vote pour moi aussi sur cette fonction - il y a maintenant noté "4 votes" en haut, à côté des étoiles...mais j'avais pas regardé avant de voter si c'était le même chiffre, alors je sais pas s'il a été bien pris en compte

Je pense que ce vote a bien été pris en compte, et que le lien vers le vote "fermé" correspond à une précédente assignation dans une décision (ou une pétition ? là je sèche).
-----
Agnès
Il n'y a pas de problèmes, que des solutions.

10- GnapZ on June 14 2007Reply · Quote

La fermeture des votes était dûe à une date de fin de vote renseignée dans l'article (supprimée). D'ailleurs, cette fermeture n'empêchait pas de continuer de voter ...

***** 13 rates
Posted by Bernard on Dec. 30 2006, page edited by Agnès on Apr. 24, (popular)