Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread David Cousens
John, 

Point taken. I rarely use the yelp viewer from inside Gnucash at all and
mainly use the online HTML documentation.  It could be to separate context
sensitive help into it's own structureis one way to go. I would have thought
for the more tutorial aspects currently in the guide it would also be useful
to link to widget specific information  e.g. a reference to a specific
button as a link to the button description and not have to include what the
button does. .

I think the current documentation processing for docbook xml takes care of
that by editing out features that are not supported in a particular format
using the xsl files or converting to the appropriate format. PDF and HTML
both have the capacity to construct internal and external links.
https://helpx.adobe.com/acrobat/kb/link-html-pdf-page-acrobat.html suggests
it is possible to link to specific points in a pdf.

I think Geert's point about  someone imposing quality control and some sort
of editorial policy is quite valid.

David Cousens



-
David Cousens
--
Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread John Ralls



> On Sep 11, 2018, at 5:12 PM, David Cousens  wrote:
> 
> Hi John,
> 
> I do understand that alternatives to docbook are being considered. 
> 
> I keep referring to it primarily because it is the current format, rather
> than necessarily the best or even what may be used in future. Perhaps with
> an assumption that whatever format is decided on, it will at least have the
> same conversion capabilities and the ability to construct an automated build
> workflow as are present in the current documentation tool chain. 
> 
> Also as a way of arguing for not embedding context sensitive help in hard
> code if it is avoidable. I do take the point though that such information
> does only change slowly if at all so I think a separate file perhaps with a
> more restricted editing access could be a way to handle that. 
> 
> The availability of some good open source free wsiwyg editors for markdown
> would certainly help  documenters with a less technical background and
> pandoc seems to be capable of building into a toolchain for converion for
> example. I haven't found out yet whether it uses some form of xls to control
> the conversion which is customizable.

David,

That misses the point a bit, which is that regardless of what format we keep 
the sources in the documents that users read will mostly be some form of HTML 
or PDF and we're limited to the feature set that those markup languages 
provide. For the current discussion that particularly applies with respect to 
cross-document links.

Regards,
John Ralls

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread David Cousens
Hi John,

I do understand that alternatives to docbook are being considered. 

I keep referring to it primarily because it is the current format, rather
than necessarily the best or even what may be used in future. Perhaps with
an assumption that whatever format is decided on, it will at least have the
same conversion capabilities and the ability to construct an automated build
workflow as are present in the current documentation tool chain. 

Also as a way of arguing for not embedding context sensitive help in hard
code if it is avoidable. I do take the point though that such information
does only change slowly if at all so I think a separate file perhaps with a
more restricted editing access could be a way to handle that. 
 
The availability of some good open source free wsiwyg editors for markdown
would certainly help  documenters with a less technical background and
pandoc seems to be capable of building into a toolchain for converion for
example. I haven't found out yet whether it uses some form of xls to control
the conversion which is customizable.

David Cousens



-
David Cousens
--
Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] How to manage documentation translations

2018-09-11 Thread John Ralls



> On Sep 11, 2018, at 1:45 PM, Geert Janssens  
> wrote:
> 
> Somewhere in the long thread about future documentation directions the issue 
> of translating documentation was raised. Rightfully so, because this is 
> currently a very challenging task.
> 
> The initial translation, while a huge job, is relatively straight forward: 
> one 
> takes the English docbook files and translates each paragraph and header, one 
> by one. In the end one ends up with the same docbook files in your language.
> 
> Documentation updates on the other hand are more challenging. Whenever the 
> English document is changed the only clue as to what has changed is in the 
> git 
> logs. Git, while very powerful, is not very translator-friendly. It's 
> targeting a completely different use case.
> 
> For translations other tools exist. The best-known to us is gettext. This 
> works by creating a message catalog of all translatable strings with tooling 
> to help in translating them. Whenever an original string changes it is 
> relatively easy for the translator to figure out which string has changed and 
> make the necessary changes in the translation as well.
> 
> These two methods behave very differently in case of partially translated 
> documentation:
> 
> * With our old method only documentation that has been translated in 
> available 
> in that language. Untranslated parts are not available at all.
> * With the gettext method the full documentation is always presented to the 
> user. For parts that have been translated, this translation will be shown. 
> For 
> parts that have not been translated, the original English text will be shown.
> 
> Also in the old method documentation doesn't move unless a translator makes 
> modifications. In the gettext method the translation may change whenever the 
> English original changes. And even a simple change of punctuation would hide 
> a 
> translation from the end user (at least that's what happened in our current 
> Italian translation, which is based on the gettext method).
> 
> I honestly don't know which end result is preferred by non-English speaking 
> end users. Perhaps we should poll for this in our non-English mailing lists.
> 
> That's what we have now and I think we should be able to do better. Both for 
> our translators as for our end users.
> 
> In the light of the upcoming major rework of the guide, option one will end 
> in 
> a lot of translator frustration. Translators will be required to interpret 
> git 
> logs and diffs to learn what has happened. As said, git is not a very good 
> tool for non-developers to deal with.
> 
> So I'm inclined to look for improvements in the gettext method.
> 
> For the direct issues mentioned above:
> 1. losing translations on something as simple as a punctuation change.
> We could avoid this by not running gettext extraction automatically. In a way 
> that would make the gettext method a hybrid between the two methods. The 
> workflow would become:
> a. a translator runs gettext
> b. the translator looks for new/changes text and updates the translation.
> c. this will be used from now on
> d. until the translator reruns gettext.
> => technical note, this really means we should copy/cache the original 
> English 
> documentation for each language we support. This copy/cache should only be 
> updated on request of the translator.
> The advantages of this approach are
> * all of gettext tooling is available to support the translator
> * the translated documentation the end user sees will always be what the 
> translator intended and never change automatically behind the translator's 
> back.
> Drawbacks:
> * if the translation was not complete, there will be English parts in there 
> still.
> * translator needs to be aware of the requirement to rerun gettext (or more 
> precisely to update the copy/cache)
> 
> Another approach would be to tweak gettext behaviour to not hide slightly 
> altered (fuzzy) translations.
> 
> 2. The presence of English text in partially translated documentation
> We could again wrap around gettext and filter out untranslated parts. That 
> may 
> give odd results though so I wouldn't recommend it.
> 
> Or we could leverage automated translations for example via google translate. 
> We would have to add a note the translation may be more unreliable in that 
> case. But perhaps poor translation is better than no translation at all ?
> 
> That's as far as I got for now. More input and other ideas are welcome.

FWIW searching "translate docbook documentation" produced a lot of pages 
involving gettext and none involving our whole-document approach.

Regards,
John Ralls

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


[GNC-dev] How to manage documentation translations

2018-09-11 Thread Geert Janssens
Somewhere in the long thread about future documentation directions the issue 
of translating documentation was raised. Rightfully so, because this is 
currently a very challenging task.

The initial translation, while a huge job, is relatively straight forward: one 
takes the English docbook files and translates each paragraph and header, one 
by one. In the end one ends up with the same docbook files in your language.

Documentation updates on the other hand are more challenging. Whenever the 
English document is changed the only clue as to what has changed is in the git 
logs. Git, while very powerful, is not very translator-friendly. It's 
targeting a completely different use case.

For translations other tools exist. The best-known to us is gettext. This 
works by creating a message catalog of all translatable strings with tooling 
to help in translating them. Whenever an original string changes it is 
relatively easy for the translator to figure out which string has changed and 
make the necessary changes in the translation as well.

These two methods behave very differently in case of partially translated 
documentation:

* With our old method only documentation that has been translated in available 
in that language. Untranslated parts are not available at all.
* With the gettext method the full documentation is always presented to the 
user. For parts that have been translated, this translation will be shown. For 
parts that have not been translated, the original English text will be shown.

Also in the old method documentation doesn't move unless a translator makes 
modifications. In the gettext method the translation may change whenever the 
English original changes. And even a simple change of punctuation would hide a 
translation from the end user (at least that's what happened in our current 
Italian translation, which is based on the gettext method).

I honestly don't know which end result is preferred by non-English speaking 
end users. Perhaps we should poll for this in our non-English mailing lists.

That's what we have now and I think we should be able to do better. Both for 
our translators as for our end users.

In the light of the upcoming major rework of the guide, option one will end in 
a lot of translator frustration. Translators will be required to interpret git 
logs and diffs to learn what has happened. As said, git is not a very good 
tool for non-developers to deal with.

So I'm inclined to look for improvements in the gettext method.

For the direct issues mentioned above:
1. losing translations on something as simple as a punctuation change.
We could avoid this by not running gettext extraction automatically. In a way 
that would make the gettext method a hybrid between the two methods. The 
workflow would become:
a. a translator runs gettext
b. the translator looks for new/changes text and updates the translation.
c. this will be used from now on
d. until the translator reruns gettext.
=> technical note, this really means we should copy/cache the original English 
documentation for each language we support. This copy/cache should only be 
updated on request of the translator.
The advantages of this approach are
* all of gettext tooling is available to support the translator
* the translated documentation the end user sees will always be what the 
translator intended and never change automatically behind the translator's 
back.
Drawbacks:
* if the translation was not complete, there will be English parts in there 
still.
* translator needs to be aware of the requirement to rerun gettext (or more 
precisely to update the copy/cache)

Another approach would be to tweak gettext behaviour to not hide slightly 
altered (fuzzy) translations.

2. The presence of English text in partially translated documentation
We could again wrap around gettext and filter out untranslated parts. That may 
give odd results though so I wouldn't recommend it.

Or we could leverage automated translations for example via google translate. 
We would have to add a note the translation may be more unreliable in that 
case. But perhaps poor translation is better than no translation at all ?

That's as far as I got for now. More input and other ideas are welcome.

Regards,

Geert


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread Geert Janssens
Op maandag 10 september 2018 17:26:44 CEST schreef David T. via gnucash-devel:
> The idea of use-case recipes sounds rather like the “walkthrough" described
> in the pronovix article, which they clearly see as a specific, separate,
> experience. Such resources have their place, but not in the Concept Guide.
> Walkthroughs could use DocBook ENTITY mechanisms to cobble together
> snippets of steps into a single sequence, but that makes my head hurt, so I
> won’t be the one taking that project on.
> 
You don't have to of course. I'm happy with your current initiative as well.

Geert


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread Geert Janssens
Op dinsdag 11 september 2018 15:13:51 CEST schreef David T.:
> Hello,
> 
> > On Sep 11, 2018, at 4:45 AM, Geert Janssens 
> > wrote:> 
> > Op dinsdag 11 september 2018 09:15:43 CEST schreef David Cousens:
> >> David,
> >> 
> >> Just some comments on a couple of other points:
> >> 
> >> Embedding even the context help in the program code is not a really good
> >> idea. It means that text cannot be edited /altered easily separately from
> >> the program and without rebuilding the program.
> > 
> > You raise a good point here. Aside from the building restriction (which we
> > now also have for source message translations), it would probably limit
> > the potential help writing contributors to only those people capable of
> > parsing the source code. In practice there would be few outside of the
> > developers themselves. And those are known not to be the best
> > documentation writers :(
> Geert, you note that the developers are not proficient documentors, and I
> agree with you. You also say that you’d prefer the broader documentation
> team (such as it is) to be able to edit this context help.
> 
> One major reason for my suggesting that context help be embedded in code is
> a direct response to the current situation, where well-intentioned
> documentation contributors have placed duplicative information in
> *different places.* Deciding when a “small piece of prose” (as you put it,
> Geert) crosses that magical threshold from context help into concept guide
> is precisely what has led this documentation into the mess it’s in.
> Although it’s perhaps heresy, I think that limiting the ability of the
> Documentation Team to make contributions to the Help might not be a bad
> idea. Push everyone to the Guide, instead.

Well, that's one way of looking at it. I think the main reason why we have 
duplication is because there hasn't been anyone who took responsibility for 
the documentation in years and perhaps there never was. Someone to set clear 
directions and guard them. Someone that would review contributions and direct 
contributors in the right direction.

John and I do this for the code, but there's no one doing that for 
documentation really.

As such I'm very pleased with your initiative to clarify the boundaries of 
documentation. And frankly I don't really care that much what those are in 
detail. As long as it works as a clear framework for anyone interested in 
contributing. And that it will be backed by a couple of people to guide new 
contributors. I understand you and David Cousens are willing to rework the 
existing documentation. Great! Are you also willing to review work done by 
others and tell them to relocate if their initial suggestion isn't right ?

> 
> I envision that the context help would consist of short _functional_
> descriptions of one or two sentences. I believe that the rate of change in
> the functions of the UI elements is exceedingly small. In my decade-plus
> time using GnuCash, I haven’t seen many changes to the buttons or screens.
> Accounting hasn’t suddenly come up with an entirely new set of functions.
> This leads me to the conclusion that functional descriptions of those
> buttons and screens won’t need to change either. If the functional aspects
> of the interface don’t change, then the context help doesn’t need to
> change, either. If the content isn’t changing, then the authorial skill of
> developers is beside the point.
> 
> In other words, unless there is a change in function, there is no need to
> change the functional description. It seems to me that putting text that
> doesn’t change into code is essentially a one-time process. Not necessarily
> easy, but once completed, not particularly obtrusive. Putting the
> functional description into code has the added benefit, perhaps, of
> alerting developers to the fact that if they change a feature, the
> description (right there in the code) needs an update as well.

As for the context help in particular, this discussion is too abstract for me. 
I have a feeling you and I are thinking of different things when we write 
about context help or how to handle it.

In addition I worry we're trying to change too much at once. You started with 
the goal of deduplicating content and for that you propose to move most 
content from help to guide. I'm all with you. I propose to do that first and 
*then* see what remains of the help document and decide what to do with it.

> > So I vote for keeping all help consisting of more than a single sentence
> > in a separate document. So a short tooltip or a hint in an empty text
> > entry go into the code (also for practical reasons), but a small piece of
> > prose explaining how a certain dialog window works should go in a
> > document that is more easily edited by documentation writers.
> > 
> > What we may be able to do is write some scripts that would automatically
> > extract a list of all user interface elements from the source code and
> > compose a skeleton document from this. 

Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread Adrien Monteleone
Yes, sorry. I misspoke on that last point.

Regards,
Adrien

> On Sep 11, 2018, at 1:10 PM, David T.  wrote:
> 
> Adrien,
> 
> I’ll note here that you seem to have the documentation model backwards, 
> insofar as you suggest that interface changes wouldn’t affect the Guide. I 
> believe that such changes would not affect the Help, whereas changes in the 
> UI and the form and location of a given widget would definitely be reflected 
> in the Guide, since that is where the descriptive explanation of GnuCash and 
> its functions will reside. The Help would only consist of context help 
> containing a sentence or two about that widget.
> 
> David
> 


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread David T. via gnucash-devel
Adrien,

> On Sep 11, 2018, at 1:09 PM, Adrien Monteleone 
>  wrote:
> 
> 
> 
>> On Sep 11, 2018, at 8:13 AM, David T. via gnucash-devel 
>>  wrote:
>> 
>> Hello,
>> 
>> 
>> I envision that the context help would consist of short _functional_ 
>> descriptions of one or two sentences. I believe that the rate of change in 
>> the functions of the UI elements is exceedingly small. In my decade-plus 
>> time using GnuCash, I haven’t seen many changes to the buttons or screens. 
>> Accounting hasn’t suddenly come up with an entirely new set of functions. 
>> This leads me to the conclusion that functional descriptions of those 
>> buttons and screens won’t need to change either. If the functional aspects 
>> of the interface don’t change, then the context help doesn’t need to change, 
>> either. If the content isn’t changing, then the authorial skill of 
>> developers is beside the point. 
>> 
>> In other words, unless there is a change in function, there is no need to 
>> change the functional description. It seems to me that putting text that 
>> doesn’t change into code is essentially a one-time process. Not necessarily 
>> easy, but once completed, not particularly obtrusive. Putting the functional 
>> description into code has the added benefit, perhaps, of alerting developers 
>> to the fact that if they change a feature, the description (right there in 
>> the code) needs an update as well.
> 
> While the principles might not change, or even the name/label of certain 
> buttons, the UI layout (where those buttons are, the fact that they are 
> buttons instead of menu entries, etc.) will very likely change as the Gnome 
> HIG is more faithfully implemented. But those code changes shouldn’t affect 
> anything generally in the Guide, and should auto update the context help if 
> it is drawn from the code itself. If not, then consider that attempts to 
> corral GnuCash within the confines of the Gnome HIG, will produce such 
> changes you’re thinking won’t happen.
> 

We are in general agreement here. My point was that any context help text, 
being based on the *actual function* of a given widget (and regardless of the 
form or broader context of that widget) is unlikely to change. Geert was 
concerned that embedding help text in code would shield that text from the 
editorial expertise of members of the Documentation Team. I was trying to point 
out that these texts, once written, are unlikely to need rewriting unless the 
actual functions change. 

I’ll note here that you seem to have the documentation model backwards, insofar 
as you suggest that interface changes wouldn’t affect the Guide. I believe that 
such changes would not affect the Help, whereas changes in the UI and the form 
and location of a given widget would definitely be reflected in the Guide, 
since that is where the descriptive explanation of GnuCash and its functions 
will reside. The Help would only consist of context help containing a sentence 
or two about that widget.

David


> Regards,
> Adrien
> ___
> gnucash-devel mailing list
> gnucash-devel@gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread John Ralls
I don't know about allowing room for it, but it's pretty far in the future 
because we still have too many Gnome dependencies in the core and too many MVC 
violations to be able to implement a different toolkit.

Regards,
John Ralls


> On Sep 11, 2018, at 10:23 AM, Adrien Monteleone 
>  wrote:
> 
> Then I misunderstood some earlier discussions about the UI, at least with 
> respect to Linux. What toolkit is envisioned to be used? What layout 
> principles? Or are those questions so far in the future as to not be worth 
> spending time allowing room for?
> 
> Regards,
> Adrien
> 
>> On Sep 11, 2018, at 12:18 PM, John Ralls  wrote:
>> 
>> 
>> 
>>> On Sep 11, 2018, at 10:09 AM, Adrien Monteleone 
>>>  wrote:
>>> 
>>> 
>>> 
 On Sep 11, 2018, at 8:13 AM, David T. via gnucash-devel 
  wrote:
 
 Hello,
 
 
 I envision that the context help would consist of short _functional_ 
 descriptions of one or two sentences. I believe that the rate of change in 
 the functions of the UI elements is exceedingly small. In my decade-plus 
 time using GnuCash, I haven’t seen many changes to the buttons or screens. 
 Accounting hasn’t suddenly come up with an entirely new set of functions. 
 This leads me to the conclusion that functional descriptions of those 
 buttons and screens won’t need to change either. If the functional aspects 
 of the interface don’t change, then the context help doesn’t need to 
 change, either. If the content isn’t changing, then the authorial skill of 
 developers is beside the point. 
 
 In other words, unless there is a change in function, there is no need to 
 change the functional description. It seems to me that putting text that 
 doesn’t change into code is essentially a one-time process. Not 
 necessarily easy, but once completed, not particularly obtrusive. Putting 
 the functional description into code has the added benefit, perhaps, of 
 alerting developers to the fact that if they change a feature, the 
 description (right there in the code) needs an update as well.
>>> 
>>> While the principles might not change, or even the name/label of certain 
>>> buttons, the UI layout (where those buttons are, the fact that they are 
>>> buttons instead of menu entries, etc.) will very likely change as the Gnome 
>>> HIG is more faithfully implemented. But those code changes shouldn’t affect 
>>> anything generally in the Guide, and should auto update the context help if 
>>> it is drawn from the code itself. If not, then consider that attempts to 
>>> corral GnuCash within the confines of the Gnome HIG, will produce such 
>>> changes you’re thinking won’t happen.
>> 
>> Why do you think we're going to "more faithfully implement" the Gnome HIG? 
>> One of our long-term goals is to remove our Gnome dependencies. 
>> 
>> Regards,
>> John Ralls
> 
> 
> ___
> gnucash-devel mailing list
> gnucash-devel@gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread John Ralls



> On Sep 11, 2018, at 8:13 AM, David Cousens  wrote:
> 
> Hi Geert 
> 
> "I know you can define these links in docbook. However my remark earlier in 
> this thread is how will they work in practice ? How can one document on the 
> system know where the other is stored ? I presume this means we should have 
> strict rules about the relative locations of documents. And those should be 
> communicated properly to gnucash-documentation packagers for various 
> distributions"
> 
> The links between different docbook documents can be handled with XML
> catalogues. 
> It looks like you define generic paths for links during the document build
> and use those generic names as the URLs in the code you call to bring them
> up in the program. The generic names are linked by  xsltprocto the actual
> URLs in the catalog.xml  file which resides by default in /etc/xml/catalog
> but can be redirected to something like /usr/share/gnucash/xml/catalog.xml
> with an environment variable  XML_CATALOGUE_FILE during the document build.
> xsltproc appears to construct the links between the files. Not sure how the
> program handles that. I'll keep digging to see what i can come up with.
> 
> Not sure about what happens with the PDF etc  but I think xsltproc uses
> specific  xsl files to process them the same as it does now. 
> 
> (http://sagehill.net/docbookxsl/Catalogs.html#WhyCatalogs)

Well, it's "PDF etc" (where etc. means the various HTML formats including epub, 
mobi, and chm, in which most users read the docs) that's the issue. Only Yelp 
directly reads Docbook-formatted documents, so that's not useful to most of our 
users.

Docbook may well be the eighth wonder of the documentation world but for our 
purposes it's only a way of marking up document sources. We can't use any of 
its feature that don't map to HTML and PDF.

Regards,
John Ralls

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread Adrien Monteleone
Then I misunderstood some earlier discussions about the UI, at least with 
respect to Linux. What toolkit is envisioned to be used? What layout 
principles? Or are those questions so far in the future as to not be worth 
spending time allowing room for?

Regards,
Adrien

> On Sep 11, 2018, at 12:18 PM, John Ralls  wrote:
> 
> 
> 
>> On Sep 11, 2018, at 10:09 AM, Adrien Monteleone 
>>  wrote:
>> 
>> 
>> 
>>> On Sep 11, 2018, at 8:13 AM, David T. via gnucash-devel 
>>>  wrote:
>>> 
>>> Hello,
>>> 
>>> 
>>> I envision that the context help would consist of short _functional_ 
>>> descriptions of one or two sentences. I believe that the rate of change in 
>>> the functions of the UI elements is exceedingly small. In my decade-plus 
>>> time using GnuCash, I haven’t seen many changes to the buttons or screens. 
>>> Accounting hasn’t suddenly come up with an entirely new set of functions. 
>>> This leads me to the conclusion that functional descriptions of those 
>>> buttons and screens won’t need to change either. If the functional aspects 
>>> of the interface don’t change, then the context help doesn’t need to 
>>> change, either. If the content isn’t changing, then the authorial skill of 
>>> developers is beside the point. 
>>> 
>>> In other words, unless there is a change in function, there is no need to 
>>> change the functional description. It seems to me that putting text that 
>>> doesn’t change into code is essentially a one-time process. Not necessarily 
>>> easy, but once completed, not particularly obtrusive. Putting the 
>>> functional description into code has the added benefit, perhaps, of 
>>> alerting developers to the fact that if they change a feature, the 
>>> description (right there in the code) needs an update as well.
>> 
>> While the principles might not change, or even the name/label of certain 
>> buttons, the UI layout (where those buttons are, the fact that they are 
>> buttons instead of menu entries, etc.) will very likely change as the Gnome 
>> HIG is more faithfully implemented. But those code changes shouldn’t affect 
>> anything generally in the Guide, and should auto update the context help if 
>> it is drawn from the code itself. If not, then consider that attempts to 
>> corral GnuCash within the confines of the Gnome HIG, will produce such 
>> changes you’re thinking won’t happen.
> 
> Why do you think we're going to "more faithfully implement" the Gnome HIG? 
> One of our long-term goals is to remove our Gnome dependencies. 
> 
> Regards,
> John Ralls


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread John Ralls


> On Sep 11, 2018, at 10:09 AM, Adrien Monteleone 
>  wrote:
> 
> 
> 
>> On Sep 11, 2018, at 8:13 AM, David T. via gnucash-devel 
>>  wrote:
>> 
>> Hello,
>> 
>> 
>> I envision that the context help would consist of short _functional_ 
>> descriptions of one or two sentences. I believe that the rate of change in 
>> the functions of the UI elements is exceedingly small. In my decade-plus 
>> time using GnuCash, I haven’t seen many changes to the buttons or screens. 
>> Accounting hasn’t suddenly come up with an entirely new set of functions. 
>> This leads me to the conclusion that functional descriptions of those 
>> buttons and screens won’t need to change either. If the functional aspects 
>> of the interface don’t change, then the context help doesn’t need to change, 
>> either. If the content isn’t changing, then the authorial skill of 
>> developers is beside the point. 
>> 
>> In other words, unless there is a change in function, there is no need to 
>> change the functional description. It seems to me that putting text that 
>> doesn’t change into code is essentially a one-time process. Not necessarily 
>> easy, but once completed, not particularly obtrusive. Putting the functional 
>> description into code has the added benefit, perhaps, of alerting developers 
>> to the fact that if they change a feature, the description (right there in 
>> the code) needs an update as well.
> 
> While the principles might not change, or even the name/label of certain 
> buttons, the UI layout (where those buttons are, the fact that they are 
> buttons instead of menu entries, etc.) will very likely change as the Gnome 
> HIG is more faithfully implemented. But those code changes shouldn’t affect 
> anything generally in the Guide, and should auto update the context help if 
> it is drawn from the code itself. If not, then consider that attempts to 
> corral GnuCash within the confines of the Gnome HIG, will produce such 
> changes you’re thinking won’t happen.

Why do you think we're going to "more faithfully implement" the Gnome HIG? One 
of our long-term goals is to remove our Gnome dependencies. 

Regards,
John Ralls

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread Adrien Monteleone


> On Sep 11, 2018, at 8:13 AM, David T. via gnucash-devel 
>  wrote:
> 
> Hello,
> 
> 
> I envision that the context help would consist of short _functional_ 
> descriptions of one or two sentences. I believe that the rate of change in 
> the functions of the UI elements is exceedingly small. In my decade-plus time 
> using GnuCash, I haven’t seen many changes to the buttons or screens. 
> Accounting hasn’t suddenly come up with an entirely new set of functions. 
> This leads me to the conclusion that functional descriptions of those buttons 
> and screens won’t need to change either. If the functional aspects of the 
> interface don’t change, then the context help doesn’t need to change, either. 
> If the content isn’t changing, then the authorial skill of developers is 
> beside the point. 
> 
> In other words, unless there is a change in function, there is no need to 
> change the functional description. It seems to me that putting text that 
> doesn’t change into code is essentially a one-time process. Not necessarily 
> easy, but once completed, not particularly obtrusive. Putting the functional 
> description into code has the added benefit, perhaps, of alerting developers 
> to the fact that if they change a feature, the description (right there in 
> the code) needs an update as well.

While the principles might not change, or even the name/label of certain 
buttons, the UI layout (where those buttons are, the fact that they are buttons 
instead of menu entries, etc.) will very likely change as the Gnome HIG is more 
faithfully implemented. But those code changes shouldn’t affect anything 
generally in the Guide, and should auto update the context help if it is drawn 
from the code itself. If not, then consider that attempts to corral GnuCash 
within the confines of the Gnome HIG, will produce such changes you’re thinking 
won’t happen.

Regards,
Adrien
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread David Cousens
Hi Geert 

"I know you can define these links in docbook. However my remark earlier in 
this thread is how will they work in practice ? How can one document on the 
system know where the other is stored ? I presume this means we should have 
strict rules about the relative locations of documents. And those should be 
communicated properly to gnucash-documentation packagers for various 
distributions"

The links between different docbook documents can be handled with XML
catalogues. 
It looks like you define generic paths for links during the document build
and use those generic names as the URLs in the code you call to bring them
up in the program. The generic names are linked by  xsltprocto the actual
URLs in the catalog.xml  file which resides by default in /etc/xml/catalog
but can be redirected to something like /usr/share/gnucash/xml/catalog.xml
with an environment variable  XML_CATALOGUE_FILE during the document build.
xsltproc appears to construct the links between the files. Not sure how the
program handles that. I'll keep digging to see what i can come up with.

Not sure about what happens with the PDF etc  but I think xsltproc uses
specific  xsl files to process them the same as it does now. 

(http://sagehill.net/docbookxsl/Catalogs.html#WhyCatalogs)

Cheers

David Cousens



-
David Cousens
--
Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Finding wiki orphans

2018-09-11 Thread David T. via gnucash-devel
Perhaps

• Bazaar
• BreezyBadgerInstallation
• Main Page

could be deleted by someone with those tights on the wiki?

David T.

> On Sep 11, 2018, at 2:46 AM, Frank H. Ellenberger 
>  wrote:
> 
> Am 11.09.2018 um 06:03 schrieb David Cousens:
>> One other problem with a WIki for a maintenance
>> point of view is thatt a link to a page can be deleted and the page becomes
>> an orphan with no way to logically access it. A search negine will sometimes
>> find orphan pages in a wiki.
> 
> Not really, there is a special page:
> https://wiki.gnucash.org/wiki/Special:LonelyPages
> 
> And if a page has the  magic word __NOINDEX__, no search engine should
> find it.
> 
> HTH
> Frank
> 
> ___
> gnucash-devel mailing list
> gnucash-devel@gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Finding wiki orphans

2018-09-11 Thread David Cousens
Thanks Frank,

I didn't know about the Lonely pages . that helps a lot.

David Cousens



-
David Cousens
--
Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Finding wiki orphans

2018-09-11 Thread David Cousens
On Tue, 2018-09-11 at 08:46 +0200, Frank H. Ellenberger wrote:
> Am 11.09.2018 um 06:03 schrieb David Cousens:
> > One other problem with a WIki for a maintenance
> > point of view is thatt a link to a page can be deleted and the page becomes
> > an orphan with no way to logically access it. A search negine will sometimes
> > find orphan pages in a wiki.
> 
> Not really, there is a special page:
> https://wiki.gnucash.org/wiki/Special:LonelyPages
> 
> And if a page has the  magic word __NOINDEX__, no search engine should
> find it.
> 
> HTH
> Frank
> 
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread David T. via gnucash-devel
Hello,

> On Sep 11, 2018, at 4:45 AM, Geert Janssens  
> wrote:
> 
> Op dinsdag 11 september 2018 09:15:43 CEST schreef David Cousens:
>> David,
>> 
>> Just some comments on a couple of other points:
>> 
>> Embedding even the context help in the program code is not a really good
>> idea. It means that text cannot be edited /altered easily separately from
>> the program and without rebuilding the program. 
> 
> You raise a good point here. Aside from the building restriction (which we 
> now 
> also have for source message translations), it would probably limit the 
> potential help writing contributors to only those people capable of parsing 
> the source code. In practice there would be few outside of the developers 
> themselves. And those are known not to be the best documentation writers :(
> 

Geert, you note that the developers are not proficient documentors, and I agree 
with you. You also say that you’d prefer the broader documentation team (such 
as it is) to be able to edit this context help.

One major reason for my suggesting that context help be embedded in code is a 
direct response to the current situation, where well-intentioned documentation 
contributors have placed duplicative information in *different places.* 
Deciding when a “small piece of prose” (as you put it, Geert) crosses that 
magical threshold from context help into concept guide is precisely what has 
led this documentation into the mess it’s in. Although it’s perhaps heresy, I 
think that limiting the ability of the Documentation Team to make contributions 
to the Help might not be a bad idea. Push everyone to the Guide, instead.

I envision that the context help would consist of short _functional_ 
descriptions of one or two sentences. I believe that the rate of change in the 
functions of the UI elements is exceedingly small. In my decade-plus time using 
GnuCash, I haven’t seen many changes to the buttons or screens. Accounting 
hasn’t suddenly come up with an entirely new set of functions. This leads me to 
the conclusion that functional descriptions of those buttons and screens won’t 
need to change either. If the functional aspects of the interface don’t change, 
then the context help doesn’t need to change, either. If the content isn’t 
changing, then the authorial skill of developers is beside the point. 

In other words, unless there is a change in function, there is no need to 
change the functional description. It seems to me that putting text that 
doesn’t change into code is essentially a one-time process. Not necessarily 
easy, but once completed, not particularly obtrusive. Putting the functional 
description into code has the added benefit, perhaps, of alerting developers to 
the fact that if they change a feature, the description (right there in the 
code) needs an update as well.

> So I vote for keeping all help consisting of more than a single sentence in a 
> separate document. So a short tooltip or a hint in an empty text entry go 
> into 
> the code (also for practical reasons), but a small piece of prose explaining 
> how a certain dialog window works should go in a document that is more easily 
> edited by documentation writers.
> 
> What we may be able to do is write some scripts that would automatically 
> extract a list of all user interface elements from the source code and 
> compose 
> a skeleton document from this. Then with some clever msgmerge like magic 
> merge 
> existing help strings from a previous version of this document. That would at 
> least make sure the list of interface elements can be kept up to date 
> programmatically so no one should scan the sources manually for changes.
> 

Keeping in mind that the Help is meant to be *contextual*—that is, linked 
directly to the screens and widgets a user encounters in GnuCash—perhaps the 
Help document should be more strictly structured to reflect this. Set it up as 
a table, with a column that provides the link to the interface, a column for 
the (brief) help text, and a column to link to the guide. This sort of 
structure exists already in some places of the Help; converting the entire 
document to this format would make clear to future writers and users that the 
Help is primarily meant for access from the application. People looking for 
more explanation would be directed to the Concept Guide. In an absolute sense, 
there is no real need for chapter headings, screen titles, figures, etc., since 
user access to this document would strictly be from the application itself. You 
could, I guess, go the other direction, and create separate files for each 
individual entry. To me, madness lies down that alley.

> 
>> My understanding is that it
>> can be done from a docbook that just has the links to a section which is
>> displayed in response to a help button being pressed or  something like a
>> Shift-F1 key combination while the focus is on the button/checkbox/etc that
>> you want help on. It could be a separate window from the main 

Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread Geert Janssens
Op dinsdag 11 september 2018 09:15:43 CEST schreef David Cousens:
> David,
> 
> Just some comments on a couple of other points:
> 
> Embedding even the context help in the program code is not a really good
> idea. It means that text cannot be edited /altered easily separately from
> the program and without rebuilding the program. 

You raise a good point here. Aside from the building restriction (which we now 
also have for source message translations), it would probably limit the 
potential help writing contributors to only those people capable of parsing 
the source code. In practice there would be few outside of the developers 
themselves. And those are known not to be the best documentation writers :(

So I vote for keeping all help consisting of more than a single sentence in a 
separate document. So a short tooltip or a hint in an empty text entry go into 
the code (also for practical reasons), but a small piece of prose explaining 
how a certain dialog window works should go in a document that is more easily 
edited by documentation writers.

What we may be able to do is write some scripts that would automatically 
extract a list of all user interface elements from the source code and compose 
a skeleton document from this. Then with some clever msgmerge like magic merge 
existing help strings from a previous version of this document. That would at 
least make sure the list of interface elements can be kept up to date 
programmatically so no one should scan the sources manually for changes.


> My understanding is that it
> can be done from a docbook that just has the links to a section which is
> displayed in response to a help button being pressed or  something like a
> Shift-F1 key combination while the focus is on the button/checkbox/etc that
> you want help on. It could be a separate window from the main help system
> which just pops up displays the information and closes when you finish (i.e
> no navigation - want help on something else-click on something else and hit
> shift F10 -  but pulls its text from a HTML file created from a
> docbook/asciidoc or similar source help file. It would not necessarily have
> to have such a file broken up into subfiles.
> 
> The same would also be true of the Concepts guide. It could be modules
> within a single file or a collection of files which can either be displayed
> independently or linked together to form a full document. The existing Help
> manual are organised a bit like that but the separate files for the chapters
> do not have document headers so they can't be displayed independently .
> What I mean by that is you can point a browser at the derived HTML file for
> a chapter and have it display just that chapter without having to load the
> whole Help manual and navigate to the bit you want. In any case breaking it
> into separate source files is not a high priority but it may make some
> sense to have related content in its own module futher down the track. It
> can also be done progressively once the content  has been rearranged.
> 
Indeed. We should primarily find a way it remains manageable for translators.


> Walk throughs on the other hand require a considerable code effort and have
> to be embedded in the code completely. They need an engine which can drive
> the interfaceand either feed data in or better still request the user to
> enter the data.  The one I am most familiar with is in the Flight Gear
> flight simulator on Linux. It is just like a flying instructor taking you
> through the check list before takeoff. While it would be nice I doubt if it
> would really be feasible.
> 
Agreed. Walk throughs ad described on the link David passed are not planned in 
the foreseeable future. What I was hinting at in my suggestions is more 
documentation formatted as explained in:
https://www.youtube.com/watch?
v=7amYpQWhz3o=57=PLaVkMRyQacUQYxXkzvcZJm-kc_FEJpkxK=0s

But to be clear: I won't be doing the documentation restructuring/writing, so 
neither will I dictate what format and content the guide should be. I'm fine 
with the current high level proposals.

I do care about maintainability beyond the initial restructuring/rewriting 
effort so if I find issues in that area, you'll hear me :)

In that context I think we should make documentation translation a separate 
thread. The current one is getting hard to follow.

Regards,

Geert


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread David Cousens
David,

Just some comments on a couple of other points: 

Embedding even the context help in the program code is not a really good
idea. It means that text cannot be edited /altered easily separately from
the program and without rebuilding the program.  My understanding is that it
can be done from a docbook that just has the links to a section which is
displayed in response to a help button being pressed or  something like a
Shift-F1 key combination while the focus is on the button/checkbox/etc that
you want help on. It could be a separate window from the main help system
which just pops up displays the information and closes when you finish (i.e
no navigation - want help on something else-click on something else and hit
shift F10 -  but pulls its text from a HTML file created from a 
docbook/asciidoc or similar source help file. It would not necessarily have
to have such a file broken up into subfiles.

The same would also be true of the Concepts guide. It could be modules
within a single file or a collection of files which can either be displayed
independently or linked together to form a full document. The existing Help
manual are organised a bit like that but the separate files for the chapters 
do not have document headers so they can't be displayed independently . What
I mean by that is you can point a browser at the derived HTML file for a
chapter and have it display just that chapter without having to load the
whole Help manual and navigate to the bit you want. In any case breaking it
into separate source files is not a high priority but it may make some sense
to have related content in its own module futher down the track. It can also
be done progressively once the content  has been rearranged.

Walk throughs on the other hand require a considerable code effort and have
to be embedded in the code completely. They need an engine which can drive
the interfaceand either feed data in or better still request the user to
enter the data.  The one I am most familiar with is in the Flight Gear
flight simulator on Linux. It is just like a flying instructor taking you
through the check list before takeoff. While it would be nice I doubt if it
would really be feasible.

David Cousens



-
David Cousens
--
Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Long Term Documentation Directions

2018-09-11 Thread Geert Janssens
Op dinsdag 11 september 2018 06:03:28 CEST schreef David Cousens:
> This link (http://www.sagehill.net/docbookxsl/Db5Tools.html) provides the
> mechanism for linking between different docbooks. It would probably a good
> idea to mark any  docbook links with a do not delete message for example. so
> that editors are aware they may break any linked structure,
> 
I know you can define these links in docbook. However my remark earlier in 
this thread is how will they work in practice ? How can one document on the 
system know where the other is stored ? I presume this means we should have 
strict rules about the relative locations of documents. And those should be 
communicated properly to gnucash-documentation packagers for various 
distributions. And how would those cross-references appear in our PDF/epub/
mobi versions of the documentation ?

So while I suppose this can all be solved, it will come with a few challenges 
on its own and requires coordination outside the gnucash project.

> I am willing to help with the task of reorganizing the above if the decision
> is made to go ahead.

Yay!

Geert


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel