<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<head>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
	<TITLE></TITLE>
	<META NAME="GENERATOR" CONTENT="StarOffice 6.0  (Win32)">
	<META NAME="AUTHOR" CONTENT="Lutz H&ouml;ger">
	<META NAME="CREATED" CONTENT="20010921;13214600">
	<META NAME="CHANGEDBY" CONTENT="Oliver Specht">
	<META NAME="CHANGED" CONTENT="20010921;13422999">
	<STYLE>
	<!--
		@page { size: 21cm 29.7cm; margin: 2cm }
		P { margin-bottom: 0.21cm; font-family: "SunSerif-Regular" }
		H1 { margin-bottom: 0.21cm; font-family: "SunSans-Heavy"; font-size: 16pt; font-weight: medium }
		H2 { margin-bottom: 0.21cm; font-family: "SunSans-Heavy"; font-size: 14pt; font-style: normal; font-weight: medium }
	-->
	</STYLE>
</head>
<body>
<P ALIGN=CENTER STYLE="margin-top: 0.42cm; font-weight: medium; page-break-after: avoid">
<FONT FACE="SunSans-Heavy"><FONT SIZE=5>Printing and The &quot;document
modified&quot; Status</FONT></FONT></P>
<P ALIGN=CENTER STYLE="margin-top: 0.42cm; font-style: normal; page-break-after: avoid">
<FONT FACE="SunSans-Demi"><FONT SIZE=4>Specification Proposal<BR>Lutz
H&ouml;ger, Matthias Breuer, 09/21/2001</FONT></FONT></P>
<H1>Problem</H1>
<P>When a document gets opened, printed and closed, StarOffice asks
whether the changes should be saved. Many users don't understand this
and &#150; depending on the current work situation &#150; sometimes
even feel uncertain about which decision they should make (Have I
changed anything erroneously? Didn't I save my latest changes? ...)</P>
<H1>Background</H1>
<P>When a StarOffice application, like Writer, receives the &#147;print&#148;
command, it performs a couple of actions before it actually prints
the document:</P>
<UL>
	<LI><P>Updating the document info (File &#150; Properties) and set
	the &#147;last printed&#148; date.</P>
	<LI><P>Updating the fields in the document</P>
	<LI><P>Possibly reformatting the whole document because the printer
	driver used for printing is different from the printer driver the
	document was created for originally.</P>
</UL>
<P>As it takes quite some engineering effort to find out whether or
not these preparations actually change the document, the &#147;modified&#148;
flag is set by default, as soon as an application starts the print
preparations.</P>
<P>Of course it would be a better solution, if the applications knew
whether changes were triggered by printing or by other actions. This
would also give us the chance to change the warning message that's
displayed when an unsaved, modified document gets closed. But the
engineering cost to distinguish between the source of the changes is
very high (first incomplete estimate: 1 week planning, at least 2
weeks of implementation, additional time for testing), and we don't
feel like solving this problem is worth the cost.</P>
<H1>Solution</H1>
<P>As an alternative,more simple approach, we should offer an option
that suppresses the modification of the &#147;document modified&#148;
flag by the print process. This option would not be active by
default, but if a user feels confused by the current behavior, he can
choose to activate it. 
</P>
<P>Behind the scenes, the status of the &#147;document modified&#148;
flag would be saved as soon as the printing process gets triggered
and it would be reset to the saved value after printing has finished.
Of course the changes mentioned above would still be made, it would
be just the status of the document that's &#147;locked&#148; against
changes. If the document has been modified before it was printed, the
status after printing would be &#147;modified&#148;. If it has just
been opened with no automatic changes (like triggered by macros or
updated links), it would show the status &#147;unmodified&#148; after
printing. If the user subsequently changes the document, the status
would change accordingly, i.e. Switch to &#147;modified&#148;.</P>
<H2>There are some disadvantages to this solution:</H2>
<UL>
	<LI><P>If the user doesn't save the document after printing, the
	changes will be lost, so the printed document is &#147;newer&#148;
	than the saved document<BR>(This would also be the case if the user
	decides not to save the document when asked about this)</P>
	<LI><P>The &#147;last printed&#148; document info field would not
	contain the correct value<BR>(same as above; today the field also
	doesn't get updated if a document is printed from the system shell
	(like from the context menu in Windows Explorer))</P>
</UL>
<P>I consider these disadvantages to be a moderate price that the
user pays for his convenience. And anyway, we would not make this
setting the default, so the user himself would be responsible for
changing this behavior.</P>
<H2>How does the user learn about the new feature? 
</H2>
<P>As described in the background section, we do not want to
distinguish between general changes and changes triggered by the
printing process. So we can't modify the warning message box that
asks the user if his changes should be saved, because we don't know
which changes caused this box to appear. 
</P>
<P>An alternative way to inform the user is to display the Help Agent
together with the message box. The Help Agent leads the user to a
description of this feature in our help system. 
</P>
<H2>Further specification details</H2>
<UL>
	<LI><P>Add an option to Tools &#150; Options &#150; General<BR>This
	is maybe not the most natural option page for this setting, but due
	to other dialogs being already &#147;full&#148;, this is the best
	compromise for this setting.</P>
	<LI><P>The option should be called: Printing sets &#147;document
	modified&#148; status. It should be preceded by a separator line
	labeled &#147;Document status&#148;<BR>In German: Drucken setzt
	&#147;Dokument ge&auml;ndert&#148; Status (separator label:
	Dokumentstatus)</P>
</UL>
<H1>Action Items</H1>
<TABLE WIDTH=803 BORDER=0 CELLPADDING=5 CELLSPACING=0>
	<COL WIDTH=535>
	<COL WIDTH=248>
	<TR VALIGN=TOP>
		<TD WIDTH=535>
			<P>Propose specification</P>
		</TD>
		<TD WIDTH=248>
			<P>Lutz H&ouml;ger</P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=535>
			<P>Describe the feature and maybe the technical background</P>
		</TD>
		<TD WIDTH=248>
			<P>Frank Peters</P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=535>
			<P>Optionally save and restore the document status when printing</P>
		</TD>
		<TD WIDTH=248>
			<P>Mathias Bauer</P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=535>
			<P>Implement Tools &#150; Options UI</P>
		</TD>
		<TD WIDTH=248>
			<P>Oliver Specht</P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=535>
			<P>Implement trigger for Help Agent</P>
		</TD>
		<TD WIDTH=248>
			<P>Oliver Specht</P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=535>
			<P>Write feature e-mail</P>
		</TD>
		<TD WIDTH=248>
			<P>Oliver Specht</P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=535>
			<P>Translate UI and documentation</P>
		</TD>
		<TD WIDTH=248>
			<P>Rafaella Braconi</P>
		</TD>
	</TR>
</TABLE>
<P><BR><BR>
</P>
</body>
</HTML>
