1
0
Fork 0

Documentation for auto updater. Documentation for advanced preferences.

This commit is contained in:
Miguel de Benito 2013-08-17 21:39:17 +00:00
parent 27056357f3
commit 00eaa567cf
4 changed files with 203 additions and 4 deletions

View File

@ -1,4 +1,4 @@
<TeXmacs|1.0.7.15> <TeXmacs|1.0.7.19>
<style|tmdoc> <style|tmdoc>
@ -10,13 +10,15 @@
reading the manual as a book. However it often happens that some <scheme> reading the manual as a book. However it often happens that some <scheme>
module or procedure needs documenting but doesn't fit into any of the module or procedure needs documenting but doesn't fit into any of the
available sections of the manual. The purpose of this section is precisely available sections of the manual. The purpose of this section is precisely
to assemble all those pieces of information. Currently (sept. 2012) there to assemble all those pieces of information. Currently (sept. 2013) there
are very sketchy pages for: are very sketchy pages for:
<\traverse> <\traverse>
<branch|<tt|tmfs>: the <TeXmacs> file system.|tmfs/tmfs.en.tm> <branch|<tt|tmfs>: the <TeXmacs> file system.|tmfs/tmfs.en.tm>
<branch|The URL system.|url.en.tm> <branch|The URL system.|url.en.tm>
<branch|Notification and download of updates.|automatic-updates.en.tm>
</traverse> </traverse>
<tmdoc-copyright|2012|the <TeXmacs> team> <tmdoc-copyright|2012|the <TeXmacs> team>
@ -28,3 +30,6 @@
with no Back-Cover Texts. A copy of\nthe license is included in the section with no Back-Cover Texts. A copy of\nthe license is included in the section
entitled "GNU Free Documentation License".> entitled "GNU Free Documentation License".>
</body> </body>
<initial|<\collection>
</collection>>

View File

@ -0,0 +1,133 @@
<TeXmacs|1.0.7.19>
<style|tmdoc>
<\body>
<tmdoc-title|Notification and download of updates>
As of <name|svn> revision 7196, <TeXmacs> supports automatic notification
of available downloads from a repository and their installation using the
<name|Sparkle> framework for <name|MacOS> and <name|WinSparkle> under
<name|Windows>.
In order to guarantee the origin of releases, these must be signed with a
<name|DSA> key, whose public part will be bundled with the application. On
the server side a so-called <with|font-shape|italic|appcast> must be
updated for each release. It is an <name|xml> file containing information
about available downloads, their contents and their digital signatures,
following the specification for <name|Sparkle>/<name|WinSparkle>. For the
moment we refer to <name|Sparkle>'s documentation for more details.
In principle it should be easy for anyone to release their custom versions
of <TeXmacs> and let their users autoupdate them with a simple change in
the config files. For this they only need provide the public key and the
<name|url> of the appcast.
<subsection|Operating system specifics>
Under <name|MacOS> the process of creation of the appcast is partially
automated through the <name|make> build rule <tt|MACOS_RELEASE>. Calling
<tt|make MACOS_RELEASE> will compile and bundle <TeXmacs>, then zip and
finally digitally sign the resulting <tt|TeXmacs-*.app.zip> with the script
<tt|admin/misc/sign_update>. In order for this to work, one has to set the
environment variable <tt|TEXMACS_PRIVATE_DSA> to point to the location of
the private <name|DSA> key used to sign releases. At the end of the build
process a chunk of <name|XML> is printed that can be pasted in the
<tt|appcast.xml> file.
Under <name|Windows> digital signatures are not yet supported by
<name|WinSparkle> and as such will be ignored (Aug. 2013).
There is no support for automatic notification of releases under
<name|Linux> yet. Automatic download and installation is unlikely to happen
due to the way packaging systems work for most distributions.
<subsection|Client side interface>
<\explain>
<scm|(check-updates-background)><explain-synopsis|check for updates in
the background>
<|explain>
Start a background check for updates. A dialog box pops up only if
there's an update. Configuration variables must be properly set for this
call to work. In particular, the appcast url must be set via the
preference <scm|"updater:appcast">.
</explain>
<\explain>
<scm|(check-updates-foreground)><explain-synopsis|check for updates in
the foreground>
<|explain>
Start a check for updates immediately popping up a dialog with the
progress. This call is non-blocking at least with <name|Sparkle> and
<name|WinSparkle> since they run in separate threads.
</explain>
<\explain>
<scm|(check-updates-interval <scm-arg|integer>)><explain-synopsis|sets
the update interval>
<|explain>
Sets the interval in hours to wait between automatic checks if these are
activated via <scm|"updater:automatic-checks">. Note that this
<with|font-series|bold|does not> alter the value of the preference
<scm|"updater:interval">, whose use is preferred.
</explain>
<\explain>
<scm|(check-updates-interval <scm-arg|boolean>)><explain-synopsis|sets
the update interval>
<|explain>
Tells <TeXmacs> whether to automatically check for updates. Note that
this <with|font-series|bold|does not> alter the value of the preference
<scm|"updater:automatic-checks">, whose use is preferred.
</explain>
The following preferences determine the behaviour of the automatic update
system:
<\explain>
<scm|("updater:appcast" <scm-arg|url>)><explain-synopsis|preference>
<|explain>
The <name|url> to the appcast which will be used by the startup check. An
empty or undefined value will deactivate both automatic and manual
checks.
</explain>
<\explain>
<scm|("updater:automatic-checks" <scm-arg|boolean>)><explain-synopsis|preference>
<|explain>
Whether <TeXmacs> should automatically look for updates in the background
(some time) after startup. Use <scm|"updater:check-interval"> to set the
number of hours to wait between checks.
</explain>
<\explain>
<scm|("updater:check-interval" <scm-arg|integer>)><explain-synopsis|preference>
<|explain>
How often should <TeXmacs> look for updates? The interval is given in
hours, with a minimum of one. Setting this to zero deactivates automatic
checks by setting <scm|"updater:automatic-checks"> to false.
</explain>
<\explain>
<scm|("updater:public-dsa-key" <scm-arg|url>)><explain-synopsis|preference>
<|explain>
The file with the public <name|DSA> key to use to verify the digital
signature of releases. This feature is currently (Aug. 2013) only
supported under <name|MacOS>, but the preference value is ignored:
<name|Sparkle> will use the value set in the <tt|SUPublicDSAKeyFile> key
in the application bundle's <tt|Info.plist> dictionary.
</explain>
<tmdoc-copyright|2013|the <TeXmacs> team>
<tmdoc-license|Permission is granted to copy, distribute and/or modify
this\ndocument under the terms of the GNU Free Documentation License,
Version 1.1 or\nany later version published by the Free Software
Foundation; with no Invariant\nSections, with no Front-Cover Texts, and
with no Back-Cover Texts. A copy of\nthe license is included in the section
entitled "GNU Free Documentation License".>
</body>
<initial|<\collection>
</collection>>

View File

@ -1,4 +1,4 @@
<TeXmacs|1.0.7.17> <TeXmacs|1.0.7.19>
<style|tmdoc> <style|tmdoc>

View File

@ -0,0 +1,61 @@
<TeXmacs|1.0.7.19>
<style|tmdoc>
<\body>
<tmdoc-title|Advanced user preferences>
In addition to the <hlink|preferences dialog|man-preferences.en.tm>, where
most of the important customization may be made, there are some other user
preferences available. These are either too ``fine-grained'' to be added to
the main dialog or simply unsupported and therefore the are only made
accessible through the <scheme> procedures <scm|set-preference> and
<scm|get-preference> as explained in <hlink|<scheme> procedures for user
preferences|../../devel/scheme/utils/utils-preferences.en.tm>. These are
stored, along the rest, in your <tt|preferences.scm> file.
<subsection|Syntax highlighting>
<TeXmacs> will color <scheme>, <c++> and <mathemagix> source files using
either default colors or the ones you configure with the preferences
<scm|"syntax:LAN:CLASS"> where LAN is one of <tt|cpp,scheme,magix> (ok?).
The colors may be either named or hexadecimal as in <tt|#3e45ef>.
<subsection|User interface>
<\explain>
<scm|("gui:line-input:autocommit" <scm-arg|boolean>)><explain-synopsis|preference>
<|explain>
Whether to automatically accept the contents of text widgets in the focus
toolbar upon exit. Setting this to false means one must press the
<key|Enter> key to validate the input or it will be lost when the widget
looses focus.
</explain>
<\explain>
<scm|("gui:mini-fontsize" <scm-arg|integer>)><explain-synopsis|preference>
<|explain>
Specifies the font size in points of so-called
<with|font-shape|italic|mini> elements in the interface. These include
the footer and the focus toolbar. Please note that abusing this might
cause some elements in the interface to be misplaced. Reasonable values
are in the range 10-15.
</explain>
<subsection|Auto-update system>
Please refer to <hlink|Notification and download of
updates|../../devel/scheme/api/automatic-updates.en.tm>.
<tmdoc-copyright|2013|the <TeXmacs> team>
<tmdoc-license|Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled "GNU Free
Documentation License".>
</body>
<initial|<\collection>
</collection>>