Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 225560 - [Bidi] Add UI to control default Bidi settings
Summary: [Bidi] Add UI to control default Bidi settings
Status: VERIFIED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: 2.3.0   Edit
Hardware: PC Windows All
: P3 normal (vote)
Target Milestone: 2.3.1   Edit
Assignee: Dazheng Gao CLA
QA Contact: mindan xu CLA
URL:
Whiteboard: Obsolete
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-03 10:00 EDT by Lina Kemmel CLA
Modified: 2009-07-07 23:42 EDT (History)
8 users (show)

See Also:


Attachments
Patch against the current trunk (21.53 KB, patch)
2008-04-03 12:07 EDT, Lina Kemmel CLA
no flags Details | Diff
Patch without Bidi-enablement changes (15.37 KB, patch)
2008-04-19 04:58 EDT, Lina Kemmel CLA
bjorn.freeman-benson: iplog+
Lina.Kemmel: review?
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Lina Kemmel CLA 2008-04-03 10:00:12 EDT
Report Designer should offer UI options regulating Bidi enablement and default Bidi settings - orientation and Data source format.

Our initial intention was as follows. Bidi-enablement settings will control Bidi capabilitites in all BIRT components enabled for Bidi. In addition, there would be API allowing suppressing or enabling Bidi functionalities in Design- and Report engine.

However, based on Wenbin' comments to the Bidi design specification, Bidi support should *always* be enabled in the Report engine.

So I assume that Bidi enablement settings will only toggle visibility of Bidi options in Designer GUI and visualization of these options in Designer canvas.
Comment 1 Lina Kemmel CLA 2008-04-03 12:07:35 EDT
Created attachment 94745 [details]
Patch against the current trunk

These changes are to contribute a Bidi preference page.
They also include some strings to be used by subsequent Bidi code submissions.

The code is largely contributed by Ira Fishbein.
Comment 2 Zhiqiang Qian CLA 2008-04-07 01:00:33 EDT
Bidi support in UI should also always be enabled. There're actually three options for each bidi property: Auto(unspecified), LTR, RTL. When it's "Auto", it uses current locale to determine the behavior.
Comment 3 Lina Kemmel CLA 2008-04-07 07:55:46 EDT
(In reply to comment #2)

You are talking about the way Bidi properties should be resolved, which would happen regardless of the fact whether they are visible in GUI or not.

We know that some users are not interested in seeing Bidi UIs. On the other hand, always hiding Bidi options from such users, we dramatically decrease their chances to acquire Bidi functionalities and apply them in multilingual report development. So we decided to always (in locale-independent manner) have these options accessible to report developers, but allow them to switch visibility of these options as needed.

What we could do is to drive the *default* Bidi-enablement state from the locale. I believe it should rather be the system-wide locale (as opposed to the report locale or even Eclipse OSGi locale) - which the most reliably indicates the user locale preferences.

Furthermore, I suggest to have fixed defaults, which for orientation/direction will be always LTR. This complies to standards and mimics the native platform behavior.
Comment 4 Lina Kemmel CLA 2008-04-07 08:20:36 EDT
> I suggest to have fixed defaults, which for orientation/direction will be
> be always LTR. This complies to standards and mimics the native platform
> behavior.

Actually, this would *mostly* match the platform behavior.
__________

Zhiqiang, does it make sense?

Comment 5 Zhiqiang Qian CLA 2008-04-08 00:58:15 EDT
I think I need revise my last comments "When it's "Auto",
it uses current locale to determine the behavior." as "When it's "Auto", if it has a container, it uses the inherited value; if it's the top level element, it uses the default value according to current locale". but I agree we can have a fixed default for top level element if that mostly matches the platform behavior.

The question is about the bidi-enablement settings, which is not part of the report model but a pure UI setting. Is that just used to control the visibility of UI functionalities? If that's true, I don't think we need it at this time. Currently we never hide any functionality through UI preference. That's rather a "User customizable UI" feature which we haven't addressed yet. But maybe we can have a better global design in future.

Comment 6 Lina Kemmel CLA 2008-04-08 11:19:23 EDT
(In reply to comment #5)
> The question is about the bidi-enablement settings, which is not part of the
> report model but a pure UI setting. Is that just used to control the 
> visibility of UI functionalities?
Yes.
(The initial Bidi design and implementation intended to use it to control the overall Bidi functionality in report model, report engine and Designer UI. There was implemented a class variable maintained in sync with the UI settings - org.eclipse.birt.report.model.core.DesignSession#bidiEnabled - and SessionHandle API to control it programmatically.)

> If that's true, I don't think we need it at this time.
> Currently we never hide any functionality through UI preference. That's rather
> a "User customizable UI" feature which we haven't addressed yet. But maybe we
> can have a better global design in future.
Okay, I see.
So to confirm: I will back Bidi-enablement settings out and resubmit the patch. The patch will still include the Bidi preference page, but that page will only present the default orientation settings. In future, there will be also Data source Bidi preferences.

Zhiqiang, if the above is acceptable, please indicate how we resolve orientation in the following scenario: Designer user opens a report that doesn't contain any orientation markup, while the orientation preference is RTL. (Our current implementation assumes that the top-level container is still LTR, and the RTL orientation only applies to a newly created design.)
Comment 7 Zhiqiang Qian CLA 2008-04-09 01:41:45 EDT
(In reply to comment #6)
> Zhiqiang, if the above is acceptable, please indicate how we resolve
> orientation in the following scenario: Designer user opens a report that
> doesn't contain any orientation markup, while the orientation preference is
> RTL. (Our current implementation assumes that the top-level container is still
> LTR, and the RTL orientation only applies to a newly created design.)
> 
I think current assumption is ok, we can just change the preference description to "Use this orientation when create a report design" to make it clear.
Comment 8 Lina Kemmel CLA 2008-04-15 09:14:57 EDT
Thanks. Should this description go to the context-sensitive help content, or be displayed in the preference page itself?
Comment 9 Wenbin He CLA 2008-04-16 17:43:58 EDT
please wait for the result of the bidi contribution IP review. You can find the
detail at https://dev.eclipse.org/ipzilla/show_bug.cgi?id=2260
Comment 10 Lina Kemmel CLA 2008-04-19 04:58:44 EDT
Created attachment 96697 [details]
Patch without Bidi-enablement changes
Comment 11 Lina Kemmel CLA 2008-04-28 12:59:15 EDT
The IP review is complete, and this submission is now approved.
Comment 12 Bjorn Freeman-Benson CLA 2008-06-18 16:09:50 EDT
Comment on attachment 96697 [details]
Patch without Bidi-enablement changes

per Ganymede IP log
Comment 13 Dazheng Gao CLA 2008-06-27 02:00:49 EDT
Fixed.
Comment 14 mindan xu CLA 2009-06-08 06:36:24 EDT
Verified.