glom r1511 - in branches/glom-1-6/docs/user-guide: . C



Author: murrayc
Date: Tue Apr  1 22:21:58 2008
New Revision: 1511
URL: http://svn.gnome.org/viewvc/glom?rev=1511&view=rev

Log:
2008-04-01  Frederic Peters  <fpeters 0d be>

* C/glom.xml: Added more section IDs so that the Table Of Contents 
works on library.gnome.org (it works without them in Glom).

Modified:
   branches/glom-1-6/docs/user-guide/C/glom.xml
   branches/glom-1-6/docs/user-guide/ChangeLog

Modified: branches/glom-1-6/docs/user-guide/C/glom.xml
==============================================================================
--- branches/glom-1-6/docs/user-guide/C/glom.xml	(original)
+++ branches/glom-1-6/docs/user-guide/C/glom.xml	Tue Apr  1 22:21:58 2008
@@ -200,7 +200,7 @@
 
     <para>When you open an existing document, &app; will be in <literal>Operator</literal> <literal>user level</literal>. This user level allows you to find and edit records, but does not allow you to change the fundamental structure of the database.</para>
 
-    <sect2>
+    <sect2 id="navigation">
     <title>Navigation</title>
     <para>Each database has several tables. To look at a different table, choose <literal>Tables</literal> from the <literal>Navigate</literal> menu. Then double-click on the table, or select it and click the <literal>Open</literal> button.</para>
 
@@ -220,11 +220,11 @@
 
     </sect2>
 
-    <sect2>
+    <sect2 id="viewing-and-entering-data">
     <title>Viewing and Entering Data</title>
     <para>When in <literal>Data Mode</literal>, you can view or enter information in either the <literal>List</literal> or <literal>Details</literal> view.</para>
 
-      <sect3>
+      <sect3 id="the-list-view">
       <title>The List View</title>
       <para>The List view shows many records at once and usually shows only the most important fields.</para>
       <para>When you enter data into a field it will be saved into the database immediately after you finish editing the field. If it is a date or time field then the data format will be checked for you.</para> 
@@ -247,7 +247,7 @@
       <para>To sort the records just click on a column header. For instance, you could might click on a date column to list invoices in order of their date, and click again to list them in reverse order.</para>
       </sect3>
 
-      <sect3>
+      <sect3 id="the-details-view">
       <title>The Details View</title>
       <para>The details view shows only one record and usually shows all the fields arranged suitably.</para>
       <para>When you enter data into a field it will be saved into the database immediately after you finish editing the field. If it is a date or time field then the data format will be checked for you.</para>
@@ -271,7 +271,7 @@
 
     </sect2>
 
-    <sect2>
+    <sect2 id="finding-data">
     <title>Finding Data</title>
     <para>Choose <literal>Find Mode</literal> from the Mode menu. The fields in the List and Details views will now be empty, and a Find button will appear at the bottom of the window.</para>
     <para>Enter information, or part of the information, into a field to find records with that information in that field. For instance, enter Jim into a name field to find records with &quot;Jim&quot; or &quot;Jimmy&quot; in the name.</para> 
@@ -306,7 +306,7 @@
     <title>Using &app; as a Developer</title>
     <para>When you create a new document, &app; will be in the <literal>Developer</literal> <literal>user level</literal>. You can also change to the Developer user level after opening an existing document, with the <literal>User Level</literal> menu. &app; will only allow this if the administrator has allowed it.</para>
 
-    <sect2>
+    <sect2 id="adding-tables">
     <title>Adding Tables</title>
     <para>You can see the list of existing tables by choosing <literal>Tables</literal> from the <literal>Navigate</literal> menu. You will also see this window after connecting to a database server, after creating a new document. To create a new table, click the <literal>Add</literal> button and enter the name for the new table. This name should not contain any spaces or special characters. &app; will suggest a human-readable title for this table. <literal>Operators</literal> will see this title instead of the actual table name. You can also mark a tables as <literal>hidden</literal> from Operators. For instance, Operators should see &quot;Invoice Lines&quot; as related records from the &quot;Invoices&quot; table, but they should never be able to navigate directly to the &quot;Invoice Lines&quot; table.</para>
     <!-- TODO: screenshot -->
@@ -315,7 +315,7 @@
     <para>Click the <literal>Open</literal> button to look at the selected table.</para>
     </sect2>
 
-    <sect2>
+    <sect2 id="editing-fields">
     <title>Editing Fields</title>
     <para>Choose <literal>Fields</literal> from the <literal>Developer</literal> menu. This shows the list of fields in the table. New tables automatically have a primary key field, but you can change this field if necessary.</para>
     <para>Click the <literal>Add</literal> button to add a new field, then enter the name of the new field. The name should not contain spaces or special characters. &app; will guess an appropriate human-readable title for this field, but you can edit this. <literal>Operators</literal> will see this title instead of the actual field name.</para> 
@@ -336,12 +336,12 @@
      </figure>
 
 
-    <sect3>
+    <sect3 id="primary-keys">
     <title>Primary Keys</title>
     <para>Each table must have one, and only one, <literal>Primary Key</literal>. The value in this field will be unique, meaning that each value in this field will appear in only one record in the table. For instance, each record in a &quot;Customers&quot; table would have a &quot;Customer ID&quot;. This value will be used to refer to that customer from other tables, such as &quot;Projects&quot; and &quot;Invoices&quot; records. See the <link linkend="sec-developer-relationships">Creating Relationships</link> section to see how you can relate tables together.</para>
     </sect3> 
 
-    <sect3>
+    <sect3 id="field-types">
     <title>Field Types</title>
     <para>&app; offers a few simple field types:
     <orderedlist>
@@ -355,7 +355,7 @@
     </para>
     </sect3>
   
-    <sect3>
+    <sect3 id="calculated-fields">
     <title>Calculated Fields</title>
     <para>Field values can be calculated in terms of other fields, using the Python programming language. This calculation should be the implementation of a python function, which should return a value. The return value will be used as the value of the field. This value will be recalculated every time one of the source fields changes. TODO: This only works for default values at the moment, and you can not use field values in the calculation yet.</para>
     <para>You can also use calculations to specify a default value for fields, by selecting the <literal>Default Value</literal> tab in the <literal>Field Details</literal> window, clicking on the <literal>Calculate Value</literal> check box, and then entering a Python calculation. You can test this calculation in the <literal>Edit</literal> window.</para>  
@@ -363,11 +363,11 @@
 
     </sect2>
 
-    <sect2>
+    <sect2 id="arranging-layouts">
     <title>Arranging Layouts</title>
     <para>Each table has <literal>List</literal> and <literal>Details</literal> views, and by default these show all fields in the table, in order of creation. You can edit the layout by choosing <literal>Layout</literal> from the <literal>Developer</literal> menu.</para>
 
-    <sect3>
+    <sect3 id="arranging-the-list-view">
     <title>Arranging the List View</title>
     <para>For the <literal>List</literal> view, you can specify the sequence of field columns, and whether some fields are hidden.</para>
 
@@ -386,7 +386,7 @@
      </figure>
     </sect3>
 
-    <sect3>
+    <sect3 id="arranging-the-details-view">
     <title>Arranging the Details View</title>
     <para>For the <literal>Details</literal> view, you can create groups of fields, and give these groups titles. You can then place fields in these groups and specify the sequence fo fields in these groups. You can also specify the sequence of these groups. For instance, in a &quot;Contacts&quot; table, you might create a &quot;Name&quot; group, and place the &quot;title&quot;, &quot;first_name&quot; and  &quot;last_name&quot; fields in that group. You might have other groups for the &quot;Address&quot; fields.</para>
 
@@ -423,13 +423,13 @@
    </para>
    </sect2> 
 
-   <sect2>
+   <sect2 id="users-administration">
    <title>Users Administration</title>
    <para>To define the <literal>Operators</literal> who can use your database, and to specify what access they have to the various tables, choose <literal>Users</literal> from the <literal>Developer</literal> menu.</para>
     <!-- TODO: screenshot -->
    </sect2>
 
-   <sect2>
+   <sect2 id="translations">
    <title>Translations</title>
    <para>&app;'s user interface (and this document) is translated into several languages, as you should see already if you are using your computer with a non-English user interface. In addition, &app; automatically shows and understands numbers and dates according to the current user's local conventions. For instance, a user in the USA might enter a price as 1.99 and a date as 1/13/2008, but a German user of the same database will later see that as 1,99 and 13.1.2008.</para>
    <para>However, the &app; system that you create also contains text that must be translated if it will be used by people who speak different languages. For instance, you must provide translations for the titles of your tables, fields, and reports. All of these text items can be seen in a list when you choose <literal>Translations</literal> from the <literal>Developer</literal> menu. In this window you can specify the language that you used for the original text, and enter translations for each text item for additional languages. When the &app; system is opened by a user of that language then these 
@@ -454,10 +454,10 @@
 
    </sect2>
 
-   <sect2>
+   <sect2 id="defining-reports">
    <title>Defining Reports</title>
 
-   <sect3>
+   <sect3 id="adding-or-editing-reports">
    <title>Adding or Editing Reports</title>
 
    <para>&app; can produce reports to show specific fields for sets of records, sorted and grouped. 
@@ -481,7 +481,7 @@
 
     </sect3>
 
-    <sect3>
+    <sect3 id="editing-a-report">
     <title>Editing a Report</title>
 
     <para>A &app; report has three areas:
@@ -747,34 +747,34 @@
 	</screenshot> 
      </figure>
 
-  <sect1>
+  <sect1 id="field-values">
   <title>Field values</title>
   <para>For instance, <programlisting>record["name_first"]</programlisting> is the value of the name_first field in the current record.</para>
   </sect1>
 
-  <sect1>
+  <sect1 id="related-records">
   <title>Related Records</title>
   <para>For instance, <programlisting>record.related["location"]</programlisting> provides the related records for the current record.</para>
 
-  <sect2>
+  <sect2 id="single-related-records">
   <title>Single related records</title>
   <para>For relationships that specify a single record, you can get the value of a field in that record. For instance, <programlisting>record.related["location"]["name"]</programlisting> is the value of the name field in the table indicated by the location relationship (often called location::name).</para>
   </sect2>
 
-  <sect2>
+  <sect2 id="multiple-related-records">
   <title>Multiple related records</title>
   <para>For relationships that specify multiple records, you can use the aggregate functions (sum, count, average) to get overall values. For instance, <programlisting>record.related["invoice_lines"].sum("total_price")</programlisting>.</para>
   </sect2>
 
   </sect1>
 
-  <sect1>
+  <sect1 id="testing-for-empty-values">
   <title>Testing for empty values</title>
   <para>
   How you test for empty values depends on the type of field:
   </para>
 
-  <sect2>
+  <sect2 id="non-text-fields">
   <title>Non-text fields</title>
   <para>Non-text fields may be empty, indicating that the user has not entered any value in the field. For instance, &app; does not assume that an empty value in a numeric field should mean 0.</para>
   <para>You can test whether a field is empty by using Python's None. For instance:</para>
@@ -797,7 +797,7 @@
   </para>
   </sect2>
 
-  <sect2>
+  <sect2 id="text-fields">
   <title>Text fields</title>
   <para>For text fields, you should check for zero-length strings. It is not possible in &app; to distinguish between zero-length strings and the absence of any string, because there is no advantage to doing so. For instance:</para>
   <para>
@@ -812,7 +812,7 @@
 </sect1>
 
 
-<sect1>
+<sect1 id="using-the-full-pygda-api">
   <title>Using the full pygda API</title>
   <para>pygda is a python API for the libgda API. The record's <literal>connection</literal> attribute provides a gda.connection that can be used to access the current database directly. This allows you to run any SQL query, for instance to read data from the database with a SELECT, or to change values in the database with an UPDATE. Note that the connection is already open so you can avoid the difficult work of specifying the connection details.</para>
   <para>The record's <literal>table_name</literal> attribute also provides the name of the current table.</para>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]