Bug 115099 - Pattern Field: Improve property names related to the masking operation.
Summary: Pattern Field: Improve property names related to the masking operation.
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
(earliest affected)
Hardware: All All
: medium enhancement
Assignee: Not Assigned
Depends on:
Blocks: Dialog Database-Forms
  Show dependency treegraph
Reported: 2018-01-18 19:57 UTC by Howard Johnson
Modified: 2018-01-22 19:07 UTC (History)
0 users

See Also:
Crash report or crash signature:

Screenshot of "Properties: Pattern Field" dialog (31.96 KB, image/png)
2018-01-18 19:57 UTC, Howard Johnson

Note You need to log in before you can comment on or make changes to this bug.
Description Howard Johnson 2018-01-18 19:57:17 UTC
Created attachment 139203 [details]
Screenshot of "Properties: Pattern Field" dialog

If possible please improve these property names as follows:
	Rename  Literal mask	 To  Mask literals
	Rename  Edit mask	 To  Mask operators
An alternate name option:

	Rename  Literal mask	 To  Mask character constants
	Rename  Edit mask	 To  Mask character filter selectors

As it is now, with the word "mask" following "Literal" and "Edit", it appears that these are two different masks.

You don't say "Dog brown".  Rather you say "Brown dog".  The 2nd word (in this case "dog") is the thing itself.
Actually these properties are not two masks but rather two inputs used together for one masking operation.

1) The first property is a set of character constants, one per character position.  The word literal is fine, but because it's singular it suggests just one thing.  "Literals" (plural) suggests a set of independent things, which is closer to what is happening here.  (Each character position operates independently of other character positions, thus the idea of a mask.)
2) The second property is a set of function selectors, one per character position, which might also be called operators.

Therefore I think the word "Mask" should be first to denote that these are both related to the mask, then should be followed by what the property actually is, in this case the dog is a either a set of character literals or a set of function selectors or operators.  (Both plural.)

BTW, "Edit" (in "Edit mask") isn't really right because we're not always editing.  We might be creating, like with a new record.

Also as it is now some users get confused and think this is like a regular expression or globbing type pattern, ref: https://ask.libreoffice.org/en/question/64386/cannot-enter-phone-numbers-into-pattern-field/  Making these plural, and denoting that they both feed into the mask should help with this confusion I think.

Contrast this to the terminology for a "bit mask operation", where 01101110 are the "mask bits", and the mask operation is specified elsewhere, e.g. XOR, AND, etc.  

In this case the mask operation is just one thing performed over and over for each bit position, in other words it's a set of side by side XORs - or a plurality.  

To better reflect on what Pattern Field does, imagine if each bit position were dealt with differently, e.g. bit position 0 as ANDed, bit position 1 was XORed, bit position 2 ORed, etc.  Then we might refer to "bit operators" - again plural.

So changing these properties from singular to plural to me suggests that what follows is not one thing that operates as a whole, but rather a plurality of things that operate independently which is what actually happens.

For reference, here are the mask operators:

a - Alpha	 	:  Input a-z | A-Z 	  -> Outputs a-z & A-Z
A - Alpha	  upper	:  Input a-z | A-Z 	  -> Outputs       A-Z
c - Alpha-numeric	:  Input a-z | A-Z, & 0-9 -> Outputs a-z, A-Z, & 0-9
C - Alpha-numeric upper	:  Input a-z | A-Z, & 0-9 -> Outputs      A-Z, & 0-9
N - Numeric		:  Input 	      0-9 -> Outputs	      0-9

x - Any			:  Input *	 	  -> Outputs *
X - Any		  upper	:  Input *		  -> Outputs uppercase*

L - Literal		:  Use the "Literal mask"'s character value for this character position, i.e. this position can not be edited.
With the "upper" flavors `a-z` will be automatically converted to `A-Z`.
With '*' all printable characters can be input, and are output just as they are or upper case converted.

Thank you.
Comment 1 Alex Thurgood 2018-01-22 07:45:04 UTC
A similar question regarding incorrect translation of these terms into French has recently come up one of the French mailing lists (QA-fr ?), so setting to new.

Of course changing the order to "Mask literals" and "Mask character constants" could lead to these expressions being translated by the active verbal form, instead of in the way you intend them Howard, so your suggestion is not as unambiguous as you might think.