Hi Yury,My answers are below.On Thu, May 10, 2012 at 6:26 AM, Yury Katkov <email@example.com> wrote:
Hi everyone and especially SF/SFI developers!
I've just finished the pre-alpha version of the new Semantic Form Input for selecting multiple items in a comfortable way.
== Question 1. History and future plans ==
As far as I can tell from the code there are three generations of FormInputs exist now, am I right?
1) in the past input developer had to override getHTML() function. It's done in most Semantic Forms's formsinput but it's not a good way anymore. We also have used
2) now it's the era of the Resource Loader and to create my input I have to override getHtmlText, getResourceModuleNames and getJsInitFunctionData functions. For figuring out what kind of data can be handled by the input we now use getHandledPropertyTypes function instead of getDefaultPropTypes, getDefaultPropTypeLists and getOtherPropTypesHandled.
3) In the future addJsInitFunctionData, addJsValidationFunctionData will be used by the internals of the Semantic Forms and all deprecated methods will be removed.That sounds right... Stephan Gambke might know more about this than I do. I believe the framework for the third of those is not done yet.
== Question 2. Naming ==
Is it correct that I have to name my inputs like that: "input_" . $this->mInputNumber
The input name is already passed in by SF, no? At the most, you might just have to add in a "[...]", depending on how the HTML is structured, because your input holds multiple values This ties in to your 4th question.
== Question 3 Naming again ==
What the 'name' attribute is used for? The rule of the thumb is of course that you always make it like that: $this->mInputNameIt's used when the form is submitted, to get the value of the input.
== Question 4. Handling lists ==
I'm not sure that I understand about handling lists issues in Form Inputs.
1) The Name attribute of the form input sometimes have brackets like in it like this: input3.
2) On the other hand sometimes we add an additional hidden element like
Html::hidden($name . '[is_list]', 1)
== Question 6. Be part of something bigger ==Is it possible that my code will be part of Semantic Forms Inputs or Semantic Forms? If so, what versions of SMW, SF, SFI should I use for testing? What versions I have to be compatible with?The basic rule is that SF holds the input types that are considered "essential" in some way, while SFI holds everything else (other than the input types defined in Semantic Maps, etc.). Sometimes it's a gray area, although this input clearly (to me) looks like it should go in SFI. As for compatibility - as long as it works with the latest version of everything, I think it's fine. The important thing is that MediaWiki < 1.17 (i.e., pre-ResourceLoader) no longer needs to be supported.Cheers!-----
Yury Katkov,WikiVote! company.E-government and law crowdsouring--
WikiWorks · MediaWiki Consulting · http://wikiworks.com