Extension talk:Page Forms

SemanticMediaWiki installation
I'm in trouble with the SemanticMediaWiki installation. It seems that even a brand new installation (from scratch) doesn't create two essential tables smw_relations, and the smw_attributes.

I tried to search some solutions to this problem but the best I've found is the following (standard?) procedure that doesn't work at all (for me):

If you get an error on any page reading something like "Table 'smw_relations' doesn't exist" or "Table 'smw_attributes' doesn't exist", it means you haven't installed, or haven't  finished installing, the Semantic MediaWiki extension. If you've set up the SMW code and added the right lines to LocalSettings.php, probably all you need to do is create the new semantic database tables - go to 'Special:SMWAdmin' and press the button.

I've an up to date installation (1.14 for mediawiki and 1.4.2 for semantic) on a windows machine running (x)AMP. Is there something that I've missed?

I discovered this (presumed) bug while I was trying to configure filters with the DrillDown extension.

Silkwood 22:21, 19 March 2009 (UTC)


 * This has been resolved; it was actually a bug in Halo, of all things. Yaron Koren 12:28, 24 March 2009 (UTC)

FCK Editor
I'm having trouble getting the FCK Editor to work with free text. I have mediawiki 1.12.0, Semantic Mediawiki 1.4.1 and Semantic Forms 1.4. The FCK Editor does work on blank pages with no forms. Which versions of the FCK Editor are known to work with Semantic Forms? Thanks. Bluethorn 08:09, 12 January 2009 (UTC)


 * Does it not work on any browser? Yaron Koren 16:46, 12 January 2009 (UTC)


 * Not Firefox 3.0.5 or IE7.


 * Well, let me know if there's any way I can view the wiki myself. Yaron Koren 18:04, 12 January 2009 (UTC)


 * Thanks Yaron, I finally got around to upgrading to the latest version FCKeditor. It works now. Thanks for your help. Bluethorn 05:34, 2 February 2009 (UTC)

fails in IE
The default text area for free text imput fails in Internet Explorer. When I'm going to create a page with the form, the text box doesn't display and IE shows a JavaScript error. In Firefox works fine. I have also installed FCKEditor.
 * Free text is special. Try . It is not a field in a template but a separate entity. Bluethorn


 * is what it used to be called, and that still works (or should work). Yaron Koren 16:46, 12 January 2009 (UTC)

Date format problem
I'm having a little problem, when I run the "semantic forms" this shows me the date format on correctly format "dd/mm/yyyy" but when I finished it, data is presented accordly ISO 8601 for default "yyyy/mm/dd", any idea please?

--Neoshinji 22:52, 7 January 2009 (UTC)
 * Wiki Version
 * Form to test


 * I don't know if anything can be done about that. Is it a problem? Yaron Koren 00:18, 8 January 2009 (UTC)


 * I understand that is a "little" thing, but really it is a problem for us :( spanish users usually write dates on this format then it would be very confusing for us. But we are not alone, if you check a global map use, practically more than the 50% of the people in the world uses this format and only this. I'm very interested to apply in our wiki to make more easy adding articles and your forms are the perfect tool, it have enormeous capacities. Maybe I would ask into Semantic Mediawiki forum because the problem I think it is in the Semantic Mediawiki treatment & conversion. Although I will mantain informed you, thanks for your fast response U.u --Neoshinji 01:05, 8 January 2009 (UTC)


 * I have found the response, right now it is not possible ... U.u
 * "The customised date formatting of MediaWiki cannot be used due to its restriction to a rather short period of time.". --Neoshinji 01:51, 8 January 2009 (UTC)


 * Well, practically all the things on this world have a solution, if you has some troubles with SemanticMediawiki or Forms with the dates format, you can use the extension ParserFunctions and the parser function time, then make a template that contain the following code and voilà! Problem solved ^,^ --Neoshinji 18:46, 12 January 2009 (UTC)

Form Stopped Working
I had a very intresting problem recently. I have a form that uses a chooser function, and it worked well. But then all of a sudden, without any changes to the templates or form, it stopped working. The dropdown simply doesn't load anything, and neither do the "add another" buttons. I have no idea what I am doing wrong. After hours of working on it I cannot find what is wrong. If someone could check I out I would truly appreciate it. You can find the form here. Thank you very much --168.103.48.98 22:16, 11 January 2009 (UTC)


 * This is a Javascript problem, that I think (I hope) has been fixed in more recent versions of Semantic Forms. Yaron Koren 23:29, 11 January 2009 (UTC)


 * Thank you. I will install the new version, then. As always, you are fantastic, thank you very much.


 * We have a similar Problem. The checkbox for a boolean Property all of a sudden disappeared. Instead of the checkbox the form now displays a field with the texts "True", "False" or "Ja", "Nein" respectively. We have the latest versions of SMW (1.4.1) and SF (1.4.2) installed. You can have a look here (WikiProducts). Any ideas? Thank and Greetings, --Kasimir Katowitsch 09:26, 21 January 2009 (UTC)


 * Actually, your problem looks not at all similar. :) It looks like you've found a bug in SF's template parsing - in your case, it's triggered by the inclusion of one "Bild" tag within another right above the "Nicht mehr im Handel" property in the "Handys" template. You could change that, or you can always hardcode the input type in the form definition; I don't think SF's parsing will ever be perfect. Yaron Koren 14:29, 21 January 2009 (UTC)


 * Great! That helped! Thank you very much for all this amazing work you are doing! My best, --Kasimir Katowitsch 17:16, 21 January 2009 (UTC)

One example with arraymaptemplate - A bit of help please ...
Well I have the following complex scenario:

I have a main template does it contain several conditional templates inside, to hide when they are empty, all it is made on format table. Then one of these "auxiliaries" templates, that call from the main, uses the function "arraymaptemplate", but apparently it did not run correctly. The values sent by the arraytemplate do not arrive to the auxiliary template. Maybe I am making something wrong, or the arraymaptemplate do not support this kind of function like I want. Otherwise the case, using data.

The | is equal to  It is to avoid some limitations with tables and function #if.

The main template: AutoAnimanga/Anime

The problematic row has the following code.

Auxiliar template: AutoAnimanga/Anime/AuxCadena

This templates calls some values from the main template, like background colour, text colour and the important "variable value" otras_cadenas like.

colspan="2" style="text-align: center; background: ;" |

Then trying to apply the arraymaptemplate, I get the following result, apparently the values are not connected :( (For example, background colour, text and otras_cadenas are not showed.

Don't care if you want to test or save all these templates are on beta test. Any help would be appreciated thanks for advance. --Neoshinji 03:53, 14 January 2009 (UTC)


 * That's a very strange-looking call you have to #arraymaptemplate - it's supposed to only have four arguments, but yours seems to have eight. Yaron Koren 04:33, 14 January 2009 (UTC)


 * I know its something strange, but the peculiarity of these templates will be the capacity to customize anytime with no effort. Fortunately I have found one solution avoiding the limitation of function parser #if, then it is not necessary to use the auxiliary template and I dont need the arraymaptemplate, if you need some help check Extension:Pipe Escape.


 * If you accepts a suggestion Yaron, personally I think 4 arguments maybe its too limitated, because if you want to use a "simple" arraymaptemplate it consume two arguments (Am I wrong?). It is a constructive opinion please consider this ^,^ --Neoshinji 01:17, 16 January 2009 (UTC)


 * What is each of these additional arguments supposed to hold? Yaron Koren 02:52, 16 January 2009 (UTC)


 * Sorry for my late reply, I was a few days without internet. It should have to hold the template "variables" at least. Maybe my use of SMW and Forms it's too far from the original purposes, but I think the flexibility it's an essential thing If you want to develop a good website. For example; Imagine a template with 6 variables (primary background colour, secondary background colour, primary font colour, secondary font colour, text header, text content). --Neoshinji 09:53, 27 January 2009 (UTC)


 * Hi - so you want to handle a template field that looks like "myfield=color1, color2, color3, color4, text1, text2, color1," etc.? That seems like quite a bit of complexity for one field. I think you'd be better off using multiple-instance templates. Yaron Koren 15:57, 27 January 2009 (UTC)


 * Thank you Yaron, well I did it. It's very candy to see the results combining MW + SMW + Forms :D

Now moving more far, sorry for this ;P do you have any idea to combine two variables for multiple values? (both using properties) For example, the form ask for nationality and name of animation studio, then I would like to join both results to show "Studio one is japanese, studio two is american, studio three is spanish ..." something like (value1 variable1 + value1 variable2), (value2 variable1 + value2 variable2), (value3 variable1 + value3 variable2) ... all in the same field XD I know seem a bit crazy but it is to show the info in the same field, using the "nationality" to add country flag to the studio.--Neoshinji 12:01, 29 January 2009 (UTC)

I don't think there's any way to do that right now, unfortunately... if/when SMW supports n-ary relations, it'll probably be a different story. Yaron Koren 16:36, 29 January 2009 (UTC)

Well it is so sad :'( but I will follow the SMW movements, thank you for your help Yaron. --Neoshinji 18:24, 29 January 2009 (UTC)

Namespace "Form" in SMW 1.4.0
In contrast to earlier versions SMW 1.4.0 automatically sets the namespace "Form" to the namespace index 106/107. Therefore, if you upgrade and have already an index assigned for "Form" (e.g. 150) you will lose this space and with it the access to your existing forms. This can be circumvented by putting "$sfgNamespaceIndex = 150;" AFTER the indexes of your other custom namespaces and BEFORE the trigger "include_once" of Semantic Forms, as well as BEFORE the "include_once" of Semantic Mediawiki. If you put it after SMW has been triggered it will have no effect because the namespace "Forms" will have been assigned already to 106/107. I hope this helps somebody. My best, --Kasimir Katowitsch 10:21, 18 January 2009 (UTC)

Installation ... Upgrading?
Is there any issue upgrading SF? It seems that upgrading SMW can impact SF in some cases, but I wonder if there is any problem when upgrading SF? --Dmb 15:01, 22 January 2009 (UTC)


 * Over time, versions of SF have dropped support for old versions of SMW; when that happens, it's specified in the version history. Yaron Koren 15:41, 22 January 2009 (UTC)

Eliminate braces on article
Is there a way to eliminate, on articles, the triple-braced variables which have NOT been specified in the form? I hope this isn't a feature of MW which I am not aware of. --Bsmithme 06:37, 26 January 2009 (UTC)
 * Maybe specifying a default will work e.g. --Zven 07:07, 26 January 2009 (UTC)

Interesting Proposal
I have run into an issue with adding categories to articles. I want to add a form variable that will allow adding categories to articles, and I would preferably really like it to have a nested set of popup selections to filter down to the correct list of subcategories. Can anyone think of some good ways of doing this? I realize there are other extensions to allow this, but since they modify the edit page, it will not work with semantic forms (to my knowledge). --Bsmithme 17:34, 29 January 2009 (UTC)


 * Well, I personally don't think adding categories to articles is a good idea, but if you want to discuss it, I'd say the mailing list is a better location than this talk page. Yaron Koren 20:30, 29 January 2009 (UTC)

Validation/Required fields
How does the validation work in Semantic Forms? Is there any way to specify 'required fields' in a form? I couldn't find answers to these questions in the doumentation (but it's late and I'm tired, so perhaps I missed it). -- Tegeal 04:50, 1 February 2009 (UTC)


 * Ahh, I can use the parameter 'mandatory' (I was searching for 'required'). -- Tegeal 04:55, 1 February 2009 (UTC)

Running multiple scripts on Commons.js and SFUpload
Well I have the following situation, I have some scripts loaded on the Common.js file, then to avoid problems I am using the below code to load multiple scripts.

The problem occurs when I try to use the Semantic Form Upload, due to nature of the mentioned script, the page of SFUpload don't load correctly, apparently the error showed it is "wgScript is not defined", then when you add a file to upload the fields are not loaded automatically and the form don't run properly. I have updated the Floatbox files (css, js), and the SFUpload ran properly when I have disabled the Commons.js file.

One form to make tests.

Any idea to "dodge" the problem? --Neoshinji 16:58, 2 February 2009 (UTC)


 * Well, a temporary solution to the "problem", it is to use a html code to open new window, I know it's a little rude U.u --Neoshinji 20:05, 3 February 2009 (UTC)

Creating table using template
I am trying to create a table that resides in another template. The code looks like this:

But this gives me wrong output (It shows the code itself and not the table)

When I take the table outside the wrapping template it still does not work:

Only the following works (but I cannot use it inside a template ;-(

For me it seems the parser is too greedy and reads {| as a form-field instead of a table.

Is there any known workaround?

--Fez 07:37, 3 February 2009 (UTC)


 * Look one of my tables as example. Sometimes large arguments into a table make impossible to run, then If you can't solve your problems check the Extension:Pipe_Escape, I hope it will be useful for you ^,^ --Neoshinji 12:47, 3 February 2009 (UTC)


 * Remember to create a template  as.

Text field "collapsed"
In one of our forms the field for free text entries is being reduced to the hight of one line. It had been working for months but "all of a sudden" the field got smaller... Any ideas? My best, --Kasimir Katowitsch 22:21, 16 February 2009 (UTC)


 * It just came to my mind that this could be connected to my attempts to add a Multiple-instance template for the field "Herstellungsland" which precedes the free text field. However, since I could not get it working, I removed everything again. But since then the free text field is broken (I think). Hope that is not too complicated. Cheers, --Kasimir Katowitsch 22:29, 16 February 2009 (UTC)


 * You can adjust manually the width and height desired, for example you can define the cols and rows like this:
 * I hope it would be useful for you ^,^ --Neoshinji 22:43, 16 February 2009 (UTC)
 * I hope it would be useful for you ^,^ --Neoshinji 22:43, 16 February 2009 (UTC)


 * Thanks for the answer, but the problem is that this doesn't work in our case. :-( --Kasimir Katowitsch 00:02, 17 February 2009 (UTC)


 * What do you mean, "all of a sudden"? It looks like you were making a lot of changes to the form before it happened. Including, it seems, the one that caused this error - taking out the "end template" tag. Yaron Koren 13:54, 17 February 2009 (UTC)


 * Oh yes, you are so right! Sorry for that. Now it works again! Thanks so much, --Kasimir Katowitsch 23:22, 17 February 2009 (UTC)

Incremental number for a field
I'm thinking in something similar to ' ' but it would implemented into the forms. Would it possible to add "an incremental function" for a field to build lists?

For example, SMF has the possibility to add multiple templates, then the function would be applied adding one number for each template added. It would have possible to avoid the tidy work of typing 01, 02, 03, 04 ... for each template field. Well if you have any suggestion feel free thank you for advance. --Neoshinji 23:44, 17 February 2009 (UTC)


 * Why do you need a number for each template instance? Yaron Koren 13:06, 18 February 2009 (UTC)


 * It is to have a form to build an episode list easily. Result into something like this. Form view.




 * Okay, I understand. No, that seems like too specific a need to support in SF. Yaron Koren 14:18, 19 February 2009 (UTC)


 * Thanks for your response!! Well I will try to found another solution ... U.U

Change the name of the button 'Add another'
How to change the name of the button 'Add another' in multiple instances?
 * You can change the text in the wiki page "MediaWiki:Sf_editdata_addanother". Yaron Koren 00:30, 24 February 2009 (UTC)
 * Thank you, but it changes the name for all forms. Is there any way to change for only one form?
 * I see - no. Yaron Koren 15:00, 24 February 2009 (UTC)

Templates in Form input
I have a form with a textarea field. When I use the form and try to input a call to a template with a parameter (e.g. ), the resulting page will be cut at that call, any following text will be erased. Is there a workaround? F.trott 09:40, 27 February 2009 (UTC)
 * Works fine with latest version (1.5.3). F.trott 12:34, 10 March 2009 (UTC)


 * That's great to hear. Yaron Koren 13:05, 10 March 2009 (UTC)

Thanks !
Congratulations and thanks for that extension, it's working wonderfully well !!! --Alagache 17:57, 11 March 2009 (UTC)

Setting a non-constant default
Is there a way to set a non-constant default for fields? E.g. I have a property with a default form and want to preset a field in that form to when the user clicks on a redlink. F.trott 13:49, 12 March 2009 (UTC)


 * There are two non-constant defaults that can be set - "default=now" and "default=current user". That's it, though. Yaron Koren 14:33, 12 March 2009 (UTC)


 * Ok, thx. F.trott 14:43, 12 March 2009 (UTC)

How do I set a field to the page name I'm creating?
This seems like a trivial thing so I'm embarrassed to ask, but how do I set a form field to the page name? For example, if I use the two step process to create a new form, how do I use the page name in step one as a field name in step two, automatically?


 * Well, you're not the first person to ask. There's no way to do it, but you can instead set the field directly within the template, using . Yaron Koren 14:49, 17 March 2009 (UTC)


 * This worked. Clever. Thanks.

allowed values in properties
Instead of: This field allows the following values:
 * Allows value:= Afghanistan (AF)
 * Allows value:=Islands Åland Islands (AX)
 * Allows value:=Albania (AL)

I'd like to use anything like that: Allows value:= Is it possible? - kind regards --Ulli 757 23:27, 25 March 2009 (UTC)


 * I wouldn't recommend anything like that - I'd use "values from category" or "values from concept" in the form instead. Yaron Koren 01:41, 26 March 2009 (UTC)
 * You're absolutely right! Have a lot of thanks - --Ulli 757 05:35, 26 March 2009 (UTC)

"None" for mandatory radiobutton inputs?
The option "None" always appears for radiobutton inputs. That's ok if $possible_values is empty or the input is not mandatory (or both). But, if the input is marked as mandatory and possible values are given, the user should only be able to choose one of those values, i.e. "None" should not appear as an option, IMO. I changed the respective function in my installation to look like this:

F.trott 11:35, 26 March 2009 (UTC)


 * The "None" value was recently added in for mandatory radiobuttons. The thinking behind it was that it forces the user to choose one of the values: they can't just ignore that field and have the first value be selected automatically. Yaron Koren 13:25, 26 March 2009 (UTC)


 * I can see your point. I still think the solution to the problem should be left to the form designer (i.e. add the "None" to the list of allowed values and deal with it in the template, e.g. write it in screaming red letters) instead of forcing the "None" onto everybody. In fact, in my case it is quite all right to have one value preselected, as it is the one applicable most of the time and thus adds convinience to the form. Alternatively you could preselect no value at all unless a default is given in the form's definition. F.trott 13:58, 26 March 2009 (UTC)


 * Yeah, that no-preselected-value solution would be ideal, although HTML doesn't require it and some browsers don't support it (i.e., they select the first value anyway). Adding "None" to the allowed values wouldn't work either, since a "mandatory" setting would allow that value as well. The only other workable solution I can think of is a new parameter like "include none" in the field tag. Yaron Koren 15:20, 26 March 2009 (UTC)


 * Actually, I just thought of another solution: maybe if "mandatory" is specified and a "default=" value is added as well (in your case, I guess it would correspond to the first value), the "None" option can be eliminated. Yaron Koren 14:05, 27 March 2009 (UTC)


 * I think that would work fine. And it would have the additional benefit that it would be possible to specify a default that is not the first in the list. Good work! F.trott 00:12, 28 March 2009 (UTC)


 * Thanks... this is now implemented in version 1.6. Yaron Koren 18:14, 22 April 2009 (UTC)

{{subst:'ing with Forms?
Is it possible to use Semantic Forms for Templates which need to get substituted into an article?

In my case, I'd like to use the Form simply as an aid in creating a page, editing is not neccessary.

In said template the are ~3 properties (to be set by the form fields) and tons of following freetext, which I'd like to be displayed in the free text field.

Finally when saving, the form would have to include the template by using, instead of the normal inclusion.


 * Sorry, this can't be done. Yaron Koren 20:14, 6 April 2009 (UTC)

Onestep Process: Pagename by Semantic Query
Currently I'm using a syntax like to name subpages of a the article "Name" consistently. However, an article has many abbreviations, which would be more straightforward to use, e.g. the article "Long Articlename nobody can remember" is redirected to from "Looong" and "Larticle".

I tried using to enable the user to type in one of the abbreviations and still give the subpage the proper name, i.e. "Long Articlename nobody can remember/Subpage", but it resulted in following error:

Catchable fatal error: Argument 1 passed to Article::__construct must be an instance of Title, null given, called in .../extensions/SemanticForms/includes/SF_Utils.inc on line 45 and defined in .../includes/Article.php on line 50

Did I somehow mess up the syntax or is this currently impossible? It would really make forms more user friendly if this were possible.

--84.138.10.119 17:28, 12 April 2009 (UTC)


 * It's not possible, but - correct me if I'm wrong, but it sounds like the real issue here might be that you want the form to create two pages at the same time: the real page, and the redirect. If so, that's not possible either. Yaron Koren 17:05, 13 April 2009 (UTC)

Using Magic words on Form, slow charge
I have discovered an interesting thing. When you try to use some magic words directly on a form, the time to load is increased a lot. I know it is something recursive, but it is useful to show to the user the "template link" to copy, after the edition. I have checked this behaviour on the following magic words.



This behaviour do not happen when you use a template that include magic words. --Neoshinji 17:09, 25 April 2009 (UTC)