Itext ID changes automatically

Hello!

In my form I have several 'Single Select' questionnaire. Each of which has
two 'Select Item'. 'Yes' and 'No'. I've assigned Select items itext value
to 'yes' and 'no'. But, it gets changed automatically (yes1,no1,yes2,no2
etc) for every question. In another form I can see the values unchanged but
it gets changed when I see the actual xml file. In this case question id
gets changed. Why this is happening? Any solution to this?

Since, my set of select items is small (yes,no,good,not_well), I want to
reuse them.

Sincerely,
Sazzad Bin Kamal

I've hand crafted the raw xml and now it seems to working well. But then
there no meaning of using the GUI :{

Can any one please check the issue? Also, Even after I remove some
node/question etc I see its trace left in the raw XML.

··· On Thu, Dec 1, 2011 at 10:02 AM, Sazzad Bin Kamal wrote:

Hello!

In my form I have several 'Single Select' questionnaire. Each of which has
two 'Select Item'. 'Yes' and 'No'. I've assigned Select items itext value
to 'yes' and 'no'. But, it gets changed automatically (yes1,no1,yes2,no2
etc) for every question. In another form I can see the values unchanged but
it gets changed when I see the actual xml file. In this case question id
gets changed. Why this is happening? Any solution to this?

Since, my set of select items is small (yes,no,good,not_well), I want to
reuse them.

Sincerely,
Sazzad Bin Kamal

--
Sincerely,
Sazzad Bin Kamal

Dear Sazzad,

The XForm designer was created to make it easy for users to configure the
desired behaviour that they want from any form. It's not designed to be an
xml editor, and so the management of raw xml naming conventions is outside
of the scope of its capabilities.

Cheers,

Rowena

··· On Thu, Dec 1, 2011 at 12:05 AM, Sazzad Bin Kamal wrote:

I've hand crafted the raw xml and now it seems to working well. But then
there no meaning of using the GUI :{

Can any one please check the issue? Also, Even after I remove some
node/question etc I see its trace left in the raw XML.

On Thu, Dec 1, 2011 at 10:02 AM, Sazzad Bin Kamal < sazzad.kamal@brotecs.com> wrote:

Hello!

In my form I have several 'Single Select' questionnaire. Each of which
has two 'Select Item'. 'Yes' and 'No'. I've assigned Select items itext
value to 'yes' and 'no'. But, it gets changed automatically
(yes1,no1,yes2,no2 etc) for every question. In another form I can see the
values unchanged but it gets changed when I see the actual xml file. In
this case question id gets changed. Why this is happening? Any solution to
this?

Since, my set of select items is small (yes,no,good,not_well), I want to
reuse them.

Sincerely,
Sazzad Bin Kamal

--
Sincerely,
Sazzad Bin Kamal

Dear Rowena,

Thanks for your reply. I think there is some miscommunication. Probably I
should have been more clear.

I don't intend to craft the XForms from scratch. I had to do it since, it
seemed not working in a desired manner. Like, when I create Single select
questions, where every question has only two options/answers, Yes/No. I
assign yes/no in the Itext field. But, when I navigate away, Itext value
gets changed. Like it becomes yes1/no1 etc.

But after creating XForm using gui, when I use the given XML editor and
change those yes1/no1 etc to yes/no, they don't change automatically
afterwards.

··· On Thu, Dec 1, 2011 at 5:27 PM, Rowena Luk wrote:

Dear Sazzad,

The XForm designer was created to make it easy for users to configure the
desired behaviour that they want from any form. It's not designed to be an
xml editor, and so the management of raw xml naming conventions is outside
of the scope of its capabilities.

Cheers,

Rowena

On Thu, Dec 1, 2011 at 12:05 AM, Sazzad Bin Kamal < sazzad.kamal@brotecs.com> wrote:

I've hand crafted the raw xml and now it seems to working well. But then
there no meaning of using the GUI :{

Can any one please check the issue? Also, Even after I remove some
node/question etc I see its trace left in the raw XML.

On Thu, Dec 1, 2011 at 10:02 AM, Sazzad Bin Kamal < sazzad.kamal@brotecs.com> wrote:

Hello!

In my form I have several 'Single Select' questionnaire. Each of which
has two 'Select Item'. 'Yes' and 'No'. I've assigned Select items itext
value to 'yes' and 'no'. But, it gets changed automatically
(yes1,no1,yes2,no2 etc) for every question. In another form I can see the
values unchanged but it gets changed when I see the actual xml file. In
this case question id gets changed. Why this is happening? Any solution to
this?

Since, my set of select items is small (yes,no,good,not_well), I want to
reuse them.

Sincerely,
Sazzad Bin Kamal

--
Sincerely,
Sazzad Bin Kamal

--
Sincerely,
Sazzad Bin Kamal

Hi Sazzad,

Thanks for the email and sorry about the confusion!

I don't intend to craft the XForms from scratch. I had to do it since, it
seemed not working in a desired manner. Like, when I create Single select
questions, where every question has only two options/answers, Yes/No. I
assign yes/no in the Itext field. But, when I navigate away, Itext value
gets changed. Like it becomes yes1/no1 etc.

But after creating XForm using gui, when I use the given XML editor and
change those yes1/no1 etc to yes/no, they don't change automatically
afterwards.

We did recently deploy a change to Vellum that included this feature. The
problem is that people were accidentally creating forms that had
conflicting itext ids and then were complaining that changing one option
somewhere resulted in it changing in another question and it was not easy
for them to undo that operation. We decided that for the time being it
would be better to not allow them to use shared itext, since the GUI tool
doesn't do a good job at explaining the underlying functionality. Like you
noticed, for advanced users we still support parsing and correctly editing
a form that already uses shared itext.

It would be good to enable this functionality in the UI somehow, but we
want to make sure we don't break our users who don't care about itext. Do
you have any ideas on a compromise that might work for both cases?

Also, Even after I remove some node/question etc I see its trace left in

the raw XML.

If you can provide steps to reproduce this issue and submit a bug-report to
commcare-support@dimagi.com I can take a look at it.

thanks,
Cory

··· On Thu, Dec 1, 2011 at 6:46 AM, Sazzad wrote:

It would be good to enable this functionality in the UI somehow, but we
want to make sure we don't break our users who don't care about itext. Do
you have any ideas on a compromise that might work for both cases?

If I'm not mistaken, the necessity of an itext arises from trying to
identify a particular question (in English) and match it to the relevant
international text (local language), in a way that prevents data
duplication. If I have 10 questions each of which offers two single select
options, yes/no, which is equivalent to হ্যাঁ/না in Bengali, then either I
could have 10 'হ্যাঁ' against 10 'yes' and 10 'না' against 10 'no' (each
with distinct itext ids), OR just one 'হ্যাঁ' and one 'না' set to yes/no,
that get mapped to those 10 questions. Now, from the description of your
scenario, I think the best way is to:

  1. Either allow data duplication, which you're currently doing. And
    actually in your case it is probably not a big issue, assuming that a
    mobile app is not going to have too many questionnaire to create a
    performance issue.
  2. Let users know about itext use case, either through exhaustive
    documentation or through pop messages. Like you do for some of the options
    now. i.e., when I type 'ben... ', 'bengali' gets popped up. Which ensures
    that my input is certainly valid.

On the other hand, if we try to be more ambitious we could do a bit more
computing by trying to ensure that same strings get one itext ids. Like, if
we can detect 10 'হ্যাঁ' we could automatically convert them to 1 'হ্যাঁ',
give it a unique itext id and map it to those 10 questions. But, it is
pragmatic is the main question. :smiley:

Also, Even after I remove some node/question etc I see its trace left in

the raw XML.

If you can provide steps to reproduce this issue and submit a bug-report
to commcare-support@dimagi.com I can take a look at it.

thanks,
Cory

Ok, I'll try to produce the error and report it through CCHQ's issue
reporting feature. Tomorrow.

··· -- Sincerely, Sazzad Bin Kamal

Hey Sazzad,

If I'm not mistaken, the necessity of an itext arises from trying to

identify a particular question (in English) and match it to the relevant
international text (local language), in a way that prevents data
duplication. If I have 10 questions each of which offers two single select
options, yes/no, which is equivalent to হ্যাঁ/না in Bengali, then either I
could have 10 'হ্যাঁ' against 10 'yes' and 10 'না' against 10 'no' (each
with distinct itext ids), OR just one 'হ্যাঁ' and one 'না' set to yes/no,
that get mapped to those 10 questions. Now, from the description of your
scenario, I think the best way is to:

  1. Either allow data duplication, which you're currently doing. And
    actually in your case it is probably not a big issue, assuming that a
    mobile app is not going to have too many questionnaire to create a
    performance issue.
  2. Let users know about itext use case, either through exhaustive
    documentation or through pop messages. Like you do for some of the options
    now. i.e., when I type 'ben... ', 'bengali' gets popped up. Which ensures
    that my input is certainly valid.

On the other hand, if we try to be more ambitious we could do a bit more
computing by trying to ensure that same strings get one itext ids. Like, if
we can detect 10 'হ্যাঁ' we could automatically convert them to 1 'হ্যাঁ',
give it a unique itext id and map it to those 10 questions. But, it is
pragmatic is the main question. :smiley:

So this is actually how it used to work. The problem comes when you have 10
questions sharing the same "yes" and then you make an edit to the text in
one of the 10 questions. When the user goes and edits that value, are they
expecting it to change for all 10 questions or just for the one they are
looking at? You could easily make both arguments (maybe they were fixing a
typo, or maybe they were changing the wording for one specific question).
We've decided so far that keeping everything separate provides the least
chance of users getting very confused when changes to one question show up
elsewhere in the form.

Again, we'd love to figure out a way to make this work for both use cases,
but at the moment the UI doesn't seem advanced enough for the shared case.

thanks,
Cory

··· On Fri, Dec 2, 2011 at 1:33 PM, Sazzad wrote:

Also, Even after I remove some node/question etc I see its trace left in

the raw XML.

If you can provide steps to reproduce this issue and submit a bug-report
to commcare-support@dimagi.com I can take a look at it.

thanks,
Cory

Ok, I'll try to produce the error and report it through CCHQ's issue
reporting feature. Tomorrow.

--
Sincerely,
Sazzad Bin Kamal