This file is indexed.

/usr/share/help/de/glom/index.docbook is in glom-doc 1.30.1-0ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY legal SYSTEM "legal.xml">
<!ENTITY appversion "1.6">
<!ENTITY manrevision "0.2">
<!ENTITY date "20 June 2004">
<!ENTITY app "Glom">
<!-- Information about the entities
       The legal.xml file contains legal information, there is no need to edit the file. 
       Use the appversion entity to specify the version of the application.
       Use the manrevision entity to specify the revision number of this manual.
       Use the date entity to specify the release date of this manual.
       Use the app entity to specify the name of the application. -->]>
<!-- 
      (Do not remove this comment block.)
  Maintained by the GNOME Documentation Project
  http://developer.gnome.org/projects/gdp
  Template version: 2.0 beta
  Template last modified Apr 11, 2002
-->
<!-- =============Document Header ============================= -->
<article id="index" lang="de">
<!-- please do not change the id; for translations, change lang to -->
<!-- appropriate code -->
  <articleinfo> 
    <title>Glom-Benutzerhandbuch V0.2</title>       
    <subtitle>für glom v1.6</subtitle>

    <copyright lang="en"> 
      <year>2004</year> 
      <holder>Murray Cumming</holder> 
    </copyright> 
<!-- translators: uncomment this:

  <copyright>
   <year>2002</year>
   <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
  </copyright>

   -->
<!-- An address can be added to the publisher information.  If a role is 
     not specified, the publisher/author is the same for all versions of the 
     document.  -->
    <publisher> 
      <publishername>Glom Entwickler-Team</publishername> 
    </publisher> 

      <legalnotice id="legalnotice">
         <para>Das vorliegende Dokument kann gemäß den Bedingungen der GNU Free Documentation License (GFDL), Version 1.1 oder jeder späteren, von der Free Software Foundation veröffentlichten Version ohne unveränderbare Abschnitte sowie ohne Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt und/oder modifiziert werden. Eine Kopie der GFDL finden Sie unter diesem <ulink type="help" url="ghelp:fdl">Link</ulink> oder in der mit diesem Handbuch gelieferten Datei COPYING-DOCS.</para>
          <para>Dieses Handbuch ist Teil einer Sammlung von GNOME-Handbüchern, die unter der GFDL veröffentlicht werden. Wenn Sie dieses Handbuch getrennt von der Sammlung weiterverbreiten möchten, können Sie das tun, indem Sie eine Kopie der Lizenz zum Handbuch hinzufügen, wie es in Abschnitt 6 der Lizenz beschrieben ist.</para>
 
         <para>Viele der Namen, die von Unternehmen verwendet werden, um ihre Produkte und Dienstleistungen von anderen zu unterscheiden, sind eingetragene Warenzeichen. An den Stellen, an denen diese Namen in einer GNOME-Dokumentation erscheinen, werden die Namen in Großbuchstaben oder mit einem großen Anfangsbuchstaben geschrieben, wenn das GNOME-Dokumentationsprojekt auf diese Warenzeichen hingewiesen wird.</para>
 
         <para lang="en">
           DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED
           UNDER  THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE
           WITH THE FURTHER UNDERSTANDING THAT:
 
           <orderedlist>
                 <listitem>
                   <para lang="en">DOCUMENT IS PROVIDED ON AN "AS IS" BASIS,
                     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
                     IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES
                     THAT THE DOCUMENT OR MODIFIED VERSION OF THE
                     DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR
                     A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE
                     RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE
                     OF THE DOCUMENT OR MODIFIED VERSION OF THE
                     DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR
                     MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT,
                     YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY
                     CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY
                     SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
                     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
                     LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED
                     VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER
                     EXCEPT UNDER THIS DISCLAIMER; AND
                   </para>
                 </listitem>
                 <listitem>
                   <para lang="en">UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL
                        THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE),
                        CONTRACT, OR OTHERWISE, SHALL THE AUTHOR,
                        INITIAL WRITER, ANY CONTRIBUTOR, OR ANY
                        DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION
                        OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH
                        PARTIES, BE LIABLE TO ANY PERSON FOR ANY
                        DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
                        CONSEQUENTIAL DAMAGES OF ANY CHARACTER
                        INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS
                        OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
                        MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR
                        LOSSES ARISING OUT OF OR RELATING TO USE OF THE
                        DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT,
                        EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF
                        THE POSSIBILITY OF SUCH DAMAGES.
                   </para>
                 </listitem>
           </orderedlist>
         </para>
   </legalnotice>
 
   <!-- This file  contains link to license for the documentation (GNU FDL), and 
        other legal stuff such as "NO WARRANTY" statement. Please do not change 
	any of this. -->

    <authorgroup> 
      <author role="maintainer" lang="en"> 
		<firstname>Murray</firstname> 
		<surname>Cumming</surname> 
		<affiliation> 
	  		<orgname>Glom Development Team</orgname> 
	  		<address> <email>murrayc@murrayc.com</email> </address> 
		</affiliation> 
      </author> 
      
<!-- This is appropriate place for other contributors: translators,
     maintainers,  etc. Commented out by default.
     
      <othercredit role="translator">
		<firstname>Latin</firstname> 
		<surname>Translator 1</surname> 
		<affiliation> 
	  		<orgname>Latin Translation Team</orgname> 
	  		<address> <email>translator@gnome.org</email> </address> 
		</affiliation>
		<contrib>Latin translation</contrib>
      </othercredit>
-->
    </authorgroup>


<!-- According to GNU FDL, revision history is mandatory if you are -->
<!-- modifying/reusing someone else's document.  If not, you can omit it. -->
<!-- Remember to remove the &manrevision; entity from the revision entries other
-->
<!-- than the current revision. -->
<!-- The revision numbering system for GNOME manuals is as follows: -->
<!-- * the revision number consists of two components -->
<!-- * the first component of the revision number reflects the release version of the GNOME desktop. -->
<!-- * the second component of the revision number is a decimal unit that is incremented with each revision of the manual. -->
<!-- For example, if the GNOME desktop release is V2.x, the first version of the manual that -->
<!-- is written in that desktop timeframe is V2.0, the second version of the manual is V2.1, etc. -->
<!-- When the desktop release version changes to V3.x, the revision number of the manual changes -->
<!-- to V3.0, and so on. -->  
    <revhistory>
      <revision lang="en"> 
		  <revnumber>Glom 1.6</revnumber> 
		  <date>20 June 2004</date> 
		  <revdescription> 
			 <para role="author" lang="en">Murray Cumming</para> 
			 <para role="publisher" lang="en">Murray Cumming</para> 
		  </revdescription> 
		</revision>
    </revhistory> 

    <releaseinfo>Dieses Handbuch beschreibt Version 1.6 von Glom</releaseinfo> 
    <legalnotice> 
      <title>Rückmeldungen</title> 
      <para>Um einen Fehler zu melden oder einen Vorschlag zu <application>Glom</application> oder zu diesem Handbuch zu machen, können Sie das <ulink url="http://bugzilla.gnome.org" type="http">Fehlererfassungssystem von GNOME</ulink> verwenden, in welchem Sie als Produkt <application>Glom</application> auswählen. Bitte durchsuchen Sie zunächst die Fehlerdatenbank, um sicher zu gehen, dass über Ihr Anliegen nicht bereits berichtet wurde.</para>
<!-- Translators may also add here feedback address for translations -->
    </legalnotice> 

    <abstract role="description">
      <para>User manual for Glom.</para>
    </abstract>
  </articleinfo> 

  <indexterm zone="index" lang="en"> 
    <primary>MY-GNOME-APP</primary> 
  </indexterm> 
  <indexterm zone="index" lang="en"> 
    <primary>mygnomeapp</primary> 
  </indexterm>

<!-- ============= Document Body ============================= -->
<!-- ============= Introduction ============================== -->
<!-- Use the Introduction section to give a brief overview of what
     the application is and what it does. -->
  <sect1 id="mrp-introduction"> 
    <title>Einführung</title> 
    <para>Glom erlaubt Ihnen das Erstellen und Benutzen von Datenbanksystemen.</para>
    <!-- TODO: Take text from the website. -->
  </sect1>

<!-- =========== Getting Started ============================== -->
<!-- Use the Getting Started section to describe the steps required
     to start the application and to describe the user interface components
     of the application. If there is other information that it is important
     for readers to know before they start using the application, you should
     also include this information here. 
     If the information about how to get started is very short, you can 
     include it in the Introduction and omit this section. -->

  <sect1 id="glom-getting-started"> 
    <title>Erste Schritte</title> 

    <sect2 id="glom-start">
    <title>Glom starten</title>
    <para>Sie können <application>Glom</application> auf folgende Arten starten:</para> 
    <variablelist>
    	<varlistentry>
    		<term>Menü <guimenu>Anwendungen</guimenu></term>
    		<listitem>
    		<para lang="en">Choose 
    		<menuchoice>
    		<guisubmenu>Office</guisubmenu>
    		<guimenuitem>Glom</guimenuitem>
    		</menuchoice>. </para>
    		</listitem>
    	</varlistentry>
    </variablelist>
    </sect2>

    <sect2 id="glom-when-start">
    <title>Beim Start von <application>Glom</application></title>
    <para>Wenn Sie <application>Glom</application> starten, so wird das folgende Fenster erscheinen. Sie können nun eine bestehende Glom-Datei öffnen oder eine neue Datei erstellen, die gegebenenfalls auf einem der Beispiele basiert.</para>

    <!-- ==== Figure ==== -->
      <figure id="openproject"> 
	<title>Glom-Startfenster, Öffnen einer bestehenden Datei</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/start_open.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>Shows Glom main window used to open an existing Glom file.</phrase> 
	    </textobject> 
	  </mediaobject> 
	</screenshot> 
      </figure>
      
        <figure id="newproject"> 
	<title>Glom-Startfenster, Erstellen einer neuen Datei</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/start_create.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>Shows Glom main window used to create a new Glom file.</phrase> 
	    </textobject> 
	  </mediaobject> 
	</screenshot> 
      </figure>
    <!-- ==== End of Figure ==== -->
  </sect2>
  </sect1>
<!-- ================ Usage ================================ -->
<!-- Use this section to describe how to use the application to perform the tasks for 
  which the application is designed. -->


    <sect1 id="glom-operator-usage">
    <title>Glom als Operator verwenden</title>
    <para>Um ein vorhandenes Glom-Dokument zu öffnen, können Sie es entweder im Dateimanager öffnen oder Sie wählen <guilabel>Glom</guilabel> im Menü <guimenu>Anwendungen</guimenu> und öffnen dann das gewünschte Dokument. Glom fragt Sie nach dem Benutzernamen und dem Passwort zum Zugriff auf die Datenbank. Ihren Benutzernamen und Ihr Passwort stellt Ihnen Ihr Systemverwalter zur Verfügung.</para>

    <para lang="en">When you open an existing document, Glom 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 id="navigation">
    <title>Navigation</title>
    <para>Jede Datenbank besteht aus einer Reihe von Tabellen. Um eine andere Tabelle zu betrachten, wählen Sie <guilabel>Tabellen</guilabel> aus dem Menü <guimenu>Navigation</guimenu>. Dann führen Sie einen Doppelklick auf die Tabelle aus oder wählen Sie diese aus und klicken auf den Knopf <guibutton>Öffnen</guibutton>.</para>

    <figure id="operator-navigation-tables"> 
	<title>Navigieren zu einer Tabelle</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_tables.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>Navigating to a Table.</phrase> 
	    </textobject> 
	  </mediaobject> 
	</screenshot> 
     </figure>

    </sect2>

    <sect2 id="viewing-and-entering-data">
    <title>Betrachten und Eingeben von Daten</title>
    <para>Im <literal>Datenmodus</literal> können Sie Informationen entweder in der <literal>Listenansicht</literal> oder <literal>Detailansicht</literal> eingeben.</para>

      <sect3 id="the-list-view">
      <title>Die Listenansicht</title>
      <para>Die Listenansicht zeigt sehr viele Datensätze gleichzeitig und zeigt üblicherweise nur die wichtigsten Felder an.</para>
      <para>Wenn Sie in ein Feld Daten eingeben, werden diese unmittelbar in der Datenbank gespeichert, sobald Sie die Eingabe in diesem Feld beendet haben. Falls es sich um ein Feld mit Datums-oder Zeitangaben handelt, werden diese Daten für Sie überprüft.</para> 
      <para>Um einen neuen Datensatz zu erstellen, klicken Sie auf den Knopf <guilabel>Neu</guilabel>, oder beginnen Sie mit der Eingabe in einem Feld in der letzten leeren Zeile. Eine Zeile mit leeren Feldern für einen neuen Datensatz wird erstellt, die Sie nun ausfüllen können.</para>

      <figure id="operator-data-list"> 
	<title>Die Listenansicht</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_data_list.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>The List View.</phrase> 
	    </textobject> 
	  </mediaobject> 
	</screenshot> 
      </figure>

      <para>Um die Datensätze zu sortieren, klicken Sie einfach auf den Spaltenkopf. Beispielsweise könnten Sie auf eine Datumsspalte klicken, um die Liste der Eingänge nach Datum zu sortieren. Wenn Sie anschließend erneut darauf klicken, wird die Reihenfolge der Liste umgekehrt.</para>
      </sect3>

      <sect3 id="the-details-view">
      <title>Die Detailansicht</title>
      <para>Die Detailansicht zeigt nur einen Datensatz und stellt alle Felder in sinnvoller Anordnung dar.</para>
      <para>Wenn Sie in ein Feld Daten eingeben, werden diese unmittelbar in der Datenbank gespeichert, sobald Sie die Eingabe in diesem Feld beendet haben. Falls es sich um ein Feld mit Datums-oder Zeitangaben handelt, werden diese Daten für Sie überprüft.</para>
      <para>Um einen neuen Datensatz zu erstellen, klicken Sie auf den Knopf <guibutton>Neu</guibutton>. Ein neuer Datensatz mit leeren Feldern wird angelegt, welche Sie ausfüllen können.</para>

  <figure id="operator-data-details"> 
	<title>Die Detailansicht</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_data_details.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>The Details View.</phrase> 
	    </textobject> 
	  </mediaobject> 
	</screenshot> 
      </figure>

      </sect3>

    </sect2>

    <sect2 id="finding-data">
    <title>Daten suchen</title>
    <para>Wählen Sie den <guilabel>Suchmodus</guilabel> aus dem Menü <guimenu>Modus</guimenu>. Die Felder in der Listen- und Detailansicht werden nun leer sein. Außerdem erscheint ein <guibutton>Suchen</guibutton>-Knopf am unteren Rand des Fensters.</para>
    <para>Geben Sie Informationen oder Teile von Informationen in ein Feld ein, um Datensätze zu finden, welche die angegebene Information in diesem Feld enthalten. Geben Sie beispielsweise »Jim« in einem Namensfeld ein, um Datensätze zu finden, die in diesem Feld »Jim« oder »Jimmy« im Namen enthalten.</para> 
    <para>Wenn Sie auf den Knopf <guibutton>Suchen</guibutton> klicken, sucht Glom nach Datensätzen und zeigt diese an. Wenn nur ein Datensatz gefunden wurde, wird dieser in der Detailansicht angezeigt. Falls mehrere Datensätze gefunden wurden, werden diese in der Listenansicht angezeigt.</para>
    <!-- TODO: screenshot -->
    </sect2>

    <sect2 id="glom-operator-printing-reports">
    <title>Drucken von Berichten</title>
    <para>Falls der Entwickler Ihrer Datenbank Berichte für eine Tabelle festgelegt hat, dann erscheinen diese möglicherweise im Menü <guimenu>Berichte</guimenu>. Wählen Sie zur Erstellung eines Berichts den gewünschten Eintrag im Menü aus. Falls Sie vorher bereits eine Suche ausgeführt haben, dann wird der Bericht nur die aktuell gefundenen Daten anzeigen. Anderenfalls werden alle Daten im aktuellen Bericht erscheinen. Beachten Sie, dass es für jede Tabelle eigene Berichte gibt. Sie werden daher zu der entsprechenden Tabelle wechseln müssen, um einen bestimmten Bericht erstellen zu können.</para>

     <figure id="operator-report-result"> 
	<title>Ein Bericht</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_report_result.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>A report.</phrase> 
	    </textobject> 
	  </mediaobject> 
	</screenshot> 
      </figure>

    </sect2>


    </sect1>

    <sect1 id="glom-developer-usage">
    <title>Glom als Entwickler benutzen</title>
    <para lang="en">When you create a new document, Glom 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. Glom will only allow this if the administrator has allowed it.</para>

    <sect2 id="adding-tables">
    <title>Tabellen hinzufügen</title>
    <para>Wenn Sie <guilabel>Tabellen</guilabel> im Menü <guimenu>Navigation</guimenu> wählen, wird eine Liste der vorhandenen Tabellen angezeigt. Dieses Fenster erscheint auch dann, wenn nach dem Anlegen eines neuen Dokuments eine Verbindung zu einem Datenbankserver hergestellt wurde. Um eine neue Tabelle anzulegen, klicken Sie auf den Knopf <guibutton>Hinzufügen</guibutton> und geben Sie den Namen der neuen Tabelle ein. Glom wird Ihnen einen menschenlesbaren Namen für diese Tabelle vorschlagen. Als <literal>Operator</literal> sehen Sie diesen Namen anstelle des Namens der aktuellen Tabelle. Sie können auch Tabellen als <literal>verborgen</literal> für Operatoren markieren. Beispielsweise sollen Operatoren zwar die »Rechnungszeilen« als Bezugsdatensätze aus der Tabelle »Rechnungen« sehen können, allerdings niemals die Möglichkeit erhalten, direkt zur Tabelle »Rechnungszeilen« zu navigieren.</para>
    <!-- TODO: screenshot -->
    <para>Sie können auch eine Tabelle als <literal>Vorgabetabelle</literal> markieren. Diese Tabelle wird immer dann angezeigt, wenn ein Operator ein vorhandenes Dokument öffnet, ohne dass er darum gebeten wird, eine Tabelle aus einer Liste zu wählen.</para>
    <para>Sie können dieses Fenster auch dazu verwenden, eine vorhandene Tabelle umzubenennen.</para>
    <para>Klicken Sie auf den Knopf <guibutton>Öffnen</guibutton>, um die ausgewählte Tabelle zu betrachten.</para>
    </sect2>

    <sect2 id="editing-fields">
    <title>Bearbeiten von Feldern</title>
    <para>Wählen Sie <guilabel>Felder</guilabel> im Menü <guimenu>Entwickler</guimenu>. Daraufhin wird Ihnen eine Liste der Felder in dieser Tabelle angezeigt. Neue Tabellen erhalten automatisch ein Feld für den Primärschlüssel. Bei Bedarf können Sie dieses Feld ändern.</para>
    <para>Klicken Sie auf den Knopf <guibutton>Hinzufügen</guibutton>, um ein neues Feld hinzuzufügen. Glom wird Ihnen einen menschenlesbaren Namen für dieses Feld vorschlagen, aber Sie können diesen Namen auch ändern. Als <literal>Operator</literal> sehen Sie diesen Namen anstelle des Namens des aktuellen Feldes.</para> 
    <para>Um für ein Feld weitere Details festzulegen, wählen Sie das Feld aus und klicken Sie auf den Knopf <guibutton>Details</guibutton>.</para>

    <figure id="developer-editing-fields"> 
	<title>Bearbeiten von Feldern</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_design_fields.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>Editing the table's fields.</phrase> 
	    </textobject> 
	  </mediaobject> 
	</screenshot> 
     </figure>


    <sect3 id="primary-keys">
    <title>Primärschlüssel</title>
    <para>Jede Tabelle muss genau einen <literal>Primärschlüssel</literal> haben. Der Wert in diesem Feld ist eindeutig, was bedeutet, dass der Wert dieses Feldes nur in einem Datensatz in der Tabelle erscheinen darf. Beispielsweise hat jeder Datensatz in einer »Kunden«-Tabelle eine »Kundennummer«. Dieser Wert wird dazu verwendet, um einen Bezug dieses Kunden zu anderen Tabellen herzustellen, zum Beispiel zu den Datensätzen »Aufträge« und »Rechnungen«. Im Abschnitt <link linkend="sec-developer-relationships">Erstellen von Beziehungen</link> finden Sie weitere Informationen darüber, wie Sie Bezüge von Tabellen zueinander erstellen können.</para>
    </sect3> 

    <sect3 id="field-types">
    <title>Feldtypen</title>
    <para lang="en">Glom offers a few simple field types:
    <orderedlist>
<listitem><simpara lang="en">Number</simpara></listitem>
<listitem><simpara lang="en">Text</simpara></listitem>
<listitem><simpara lang="en">Date</simpara></listitem>
<listitem><simpara lang="en">Time</simpara></listitem>
<listitem><simpara lang="en">Boolean - either true or false</simpara></listitem>
<listitem><simpara lang="en">Image</simpara></listitem>
</orderedlist>
    </para>
    </sect3>
  
    <sect3 id="calculated-fields">
    <title>Berechnete Felder</title>
    <para>Die Werte von Feldern können mit Hilfe der Programmiersprache Python durch Ausdrücke in anderen Feldern definiert werden. Die Berechnung sollte die Implementation einer Python-Funktion sein, die einen Wert zurückgibt. Der Rückgabewert wird dann als Wert für dieses Feld verwendet. Der Wert wird neu berechnet, sobald sich eines der Quellfelder ändert. Achtung: Derzeit funktioniert dies nur für Vorgabewerte. Sie können in der Berechnung noch keine Feldwerte verwenden.</para>
    <para>Sie können auch Berechnungen verwenden, um einen Vorgabewert für ein Feld anzugeben. Wählen Sie hierzu den Reiter <guilabel>Vorgabewert</guilabel> im Fenster <guilabel>Felddetails</guilabel>. Aktivieren Sie das Ankreuzfeld <guilabel>Wert berechnen</guilabel> und geben Sie anschließend eine Python-Berechnung ein. Sie können diese Berechnung im Fenster <guilabel>Bearbeiten</guilabel> überprüfen.</para>  
    </sect3>

    </sect2>

    <sect2 id="arranging-layouts">
    <title>Erzeugung von Layouts</title>
    <para>Jede Tabelle hat eine <literal>Listenansicht</literal> und eine <literal>Detailansicht</literal>. Als Vorgabe zeigen diese alle Felder in einer Tabelle an, in der Reihenfolge, wie sie angelegt wurden. Sie können dieses Layout ändern, indem Sie <guilabel>Layout</guilabel> aus dem Menü <guilabel>Entwickler</guilabel> wählen.</para>

    <sect3 id="arranging-the-list-view">
    <title>Anordnen der Listenansicht</title>
    <para>Für die <literal>Listenansicht</literal> können Sie die Reihenfolge der angezeigten Spalten angeben, sowie ob einige Felder verborgen werden sollen.</para>

    <figure id="developer-layout-list"> 
	<title>Bearbeiten der Listenansicht</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_design_layout_list.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>Editing the list layout.</phrase> 
	    </textobject>
	  </mediaobject> 
	</screenshot> 
     </figure>
    </sect3>

    <sect3 id="arranging-the-details-view">
    <title>Festlegen der Anordnung der Detailansicht</title>
    <para>Für die <literal>Detailansicht</literal> können Sie Gruppen von Feldern anlegen und diese mit einem Titel versehen. Sie können Felder in diesen Gruppen platzieren und die Abfolge der Felder in diesen Gruppen angeben. Sie können auch die Reihenfolge dieser Gruppen festlegen. Sie könnten beispielsweise in einer Tabelle namens »Kontakte« eine Gruppe »Name« anlegen und die Felder »Titel«, »Vorname« und »Nachname« in diese Gruppe einfügen. Für die »Adresse«-Felder könnten Sie dann wiederum andere Gruppen verwenden.</para>

    <figure id="developer-layout-details"> 
	<title>Bearbeiten der Detailansicht</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_design_layout_details.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>Editing the Details Layout.</phrase> 
	    </textobject>
	  </mediaobject> 
	</screenshot> 
     </figure>
    </sect3>

    </sect2>

    <sect2 id="sec-developer-relationships">
    <title>Erstellen von Beziehungen</title>
    <para>Zwischen den Tabellen in einer Datenbank bestehen oft Beziehungen. Beispielsweise gibt es in einer »Rechnungen«-Tabelle ein Feld namens »Kundennummer«. Der Wert in einem solchen Feld gibt einen Datensatz in der Tabelle »Kunden« mit dem gleichen Wert an. Glom kann aus dem Bezugsdatensatz weitere Informationen anzeigen, wie den Namen des Kunden. Anzeigbar ist auch eine Liste verschiedener Bezugsdatensätze, zum Beispiel »Rechnungszeilen«, die einen Bezug zum Datensatz in der Tabelle »Rechnungen« haben.</para>
    <para>Um Beziehungen zu erstellen, wählen Sie <guilabel>Beziehungen</guilabel> im Menü <guimenu>Entwickler</guimenu>. Daraufhin wird eine Liste der vorhandenen Beziehungen angezeigt. Klicken Sie auf den Knopf <guibutton>Hinzufügen</guibutton>, um eine neue Beziehung zu erstellen und geben Sie einen Namen für die Beziehung ein. Sie sollten dann ein Feld in der aktuellen Tabelle wählen und ein Feld in einer weiteren Tabelle, für welches die Beziehung erstellt werden soll. Diese Beziehung findet beliebige Datensätze in der anderen Tabelle, für die die Werte in beiden Feldern gleich sind.</para>
    <!-- TODO: screenshot -->
   <para lang="en">You can use the relationship in the following places.

<orderedlist>
<listitem><simpara lang="en">To show a related field on the List or Details view.</simpara></listitem>
<listitem><simpara lang="en">To show a list of related records on the Details view.</simpara></listitem>
<listitem><simpara lang="en">To lookup a value from a field in a related record. For instance, to copy the current price of a "Product" into the "Price" field of an "Invoice Line" record.</simpara></listitem>
<listitem><simpara lang="en">To calculate a field value.</simpara></listitem>
</orderedlist>
   </para>
   </sect2> 

   <sect2 id="users-administration">
   <title>Benutzer-Administration</title>
   <para>Um die <literal>Operatoren</literal> festzulegen, welche die Datenbank nutzen dürfen, und um anzugeben, welche Zugriffsrechte sie zu den verschiedenen Tabellen erhalten sollen, wählen Sie <guilabel>Benutzer</guilabel> im Menü <guimenu>Entwickler</guimenu>.</para>
    <!-- TODO: screenshot -->
   </sect2>

   <sect2 id="translations">
   <title>Übersetzungen</title>
   <para>Die Benutzeroberfläche von Glom (wie auch dieses Dokument) wurde in verschiedene Sprachen übersetzt, wie Sie möglicherweise sehen können, wenn Sie Ihren Rechner mit einer nicht-englischen Benutzeroberfläche verwenden. Zusätzlich zeigt Glom Daten und Zahlen entsprechend den lokalen Konventionen des Benutzers an. Ein Benutzer in den USA würde beispielsweise einen Preis als 1.99 und ein Datum als 1/13/2008 angezeigt bekommen, während ein deutscher Benutzer der gleichen Datenbank den Preis als 1,99 und das Datum als 13.1.2008 sehen würde.</para>
   <para>Das von Ihnen erstellte Glom-System wird sicherlich Text enthalten, der übersetzt werden muss, sofern es von Benutzern verwendet werden soll, die nicht die gleiche Sprache sprechen. Beispielsweise werden Sie übersetzte Versionen für die Namen Ihrer Tabellen, die Felder und die Berichte benötigen. Alle diese Textobjekte sehen Sie zusammengefasst in einer Liste, wenn Sie <guilabel>Übersetzungen</guilabel> im Menü <guimenu>Entwickler</guimenu> wählen. In diesem Fenster können Sie angeben, in welcher Sprache der Originaltext verfasst wurde. Außerdem können Sie hier Übersetzungen für jedes Textobjekt in weiteren Sprachen einfügen. Wenn das Glom-System von einem Benutzer der jeweiligen Sprache geöffnet wird, dann werden diese Textobjekte in der Benutzeroberfläche angezeigt.</para>

   <!-- TODO: Update this screenshot -->
   <figure id="developer-translations"> 
	<title>Übersetzungen</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_design_translations.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>Translations.</phrase> 
	    </textobject>
	  </mediaobject> 
	</screenshot> 
     </figure>

    <para>Erfahrene Übersetzer dürften mit dem .po-Dateiformat keine Schwierigkeiten haben. Es gibt verschiedene Werkzeuge, die mit diesem Dateiformat umgehen können. Durch Anklicken des Knopfes <guibutton>Exportieren</guibutton> erstellen Sie eine .po-Datei, die Sie einem separaten Werkzeug weiterbearbeiten oder an einen Übersetzer schicken können. Die resultierende Übersetzung können Sie dann mit dem Knopf <guibutton>Importieren</guibutton> wieder in das System einfügen.</para>  

   </sect2>

   <sect2 id="defining-reports">
   <title>Anfertigen von Berichten</title>

   <sect3 id="adding-or-editing-reports">
   <title>Hinzufügen oder Bearbeiten von Berichten</title>

   <para>Glom kann Berichte erstellen, um spezifische Felder aus einer Reihe von Datensätzen sortiert und gruppiert anzuzeigen. Beispielsweise möchte ein Händler einen Bericht über alle innerhalb eines Monats verkauften Produkte anzeigen, gruppiert nach Produktart und innerhalb jeder Gruppe nach Preisen sortiert. Jede Tabelle verfügt über ihre eigenen Berichte, die für den Operator im Menü <guilabel>Berichte</guilabel> einsehbar sind.</para>
   <para>Um einen Bericht anzulegen oder die Eigenschaften eines vorhandenen Berichts zu ändern, wählen Sie <guilabel>Berichte</guilabel> im Menü <guimenu>Entwickler</guimenu>.</para>
   <figure id="developer-editing-reports"> 
	<title>Erzeugen oder Bearbeiten von Berichten</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_design_reports.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>Creating or editing reports.</phrase> 
	    </textobject>
	  </mediaobject> 
	</screenshot> 
     </figure>

    <para>Beachten Sie, dass jeder Bericht sowohl eine Kennung als auch einen menschenlesbaren Namen hat. Dies ermöglicht die Anzeige eines übersetzten Namens, falls der Bericht auf einem Rechner in einer anderen Sprache genutzt wird.</para>

    </sect3>

    <sect3 id="editing-a-report">
    <title>Bearbeiten eines Berichts</title>

    <para lang="en">A Glom report has three areas:
    <orderedlist>
      <listitem><simpara lang="en">The Header, which appears at the start of the report</simpara></listitem>
      <listitem><simpara lang="en">The Main area, in which the records and summary lines are shown, with the actual data from the database.</simpara></listitem>
      <listitem><simpara lang="en">The Footer, which appears at the end of the report.</simpara></listitem>
    </orderedlist>
    </para>

    <para>Innerhalb eines Bereiches, wie dem Hauptteil, können Sie <literal>Teile</literal> einfügen, wie Felder, Text, oder Bilder. Diese erscheinen üblicherweise in einer Zeile in dem ausgedruckten Bericht, mit einer Zeile für jeden Datensatz. Im einfachsten Fall wird dies der Listenansicht von Glom stark ähneln. Sie können Teile zu Ihrem Bericht hinzufügen, indem Sie sie aus der Liste <guilabel>Verfügbare Teile</guilabel> auswählen und dann auf den Knopf <guibutton>Hinzufügen</guibutton> klicken. Der Teil wird dann zur <literal>Teileliste</literal> im ausgewählten Bereich hinzugefügt.</para>
    <para>Um Details zu den Teilen anzugeben, wie den Text oder das anzuzeigende Bild, oder umdas anzuzeigende Feld auszuwählen, wählen Sie den Teil in der <literal>Teileliste</literal> aus und klicken Sie auf den Knopf <guibutton>Hinzufügen</guibutton>. Sie können auch mit dem Knopf <guibutton>Formatierung</guibutton> die Feldformatierung anpassen, wenn Sie ein Detail- oder Listenlayout angeben wollen.</para>

    <figure id="developer-editing-reports-details"> 
	<title>Bearbeiten eines Berichts</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_design_reports_details.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>Editing a report.</phrase> 
	    </textobject> 
	  </mediaobject> 
	</screenshot> 
     </figure>

    <para>Einige Teile können weitere Teile enthalten sowie Eigenschaften zur Steuerung, wie diese Unterteile angezeigt werden. Beispielsweise gruppiert der Teil <guilabel>Gruppieren nach</guilabel> die Datensätze anhand der Felder. Oder ein Produktbericht gruppiert eine Produktliste nach Produkttyp. Sie können sogar eine zweite Untergruppierung innerhalb des Hauptteils <guilabel>Gruppieren nach</guilabel> einfügen. Wählen Sie hierzu den <guilabel>Gruppieren nach</guilabel>-Hauptteil der obersten Ebene in der <guilabel>Teileliste</guilabel> aus und fügen Sie einen neuen <guilabel>Gruppieren nach</guilabel>-Teil aus der Liste <guilabel>Verfügbare Teil</guilabel> hinzu. Sie könnten so beispielsweise Ihre Produkte innerhalb jeder Produkttypgruppe nach Hersteller gruppieren.</para>
    <para>Um das Feld festzulegen, nach dem die Datensätze gruppiert werden sollen, wählen Sie Ihren <guilabel>Gruppieren nach</guilabel>-Teil aus der <guilabel>Teileliste</guilabel> aus und klicken Sie auf den Knopf <guibutton>Bearbeiten</guibutton>. Anschließend können Sie dann das Feld auswählen, nach dem die Datensätze gruppiert werden sollen, sowie die Felder, nach denen diese Datensätze innerhalb der Gruppe sortiert werden sollen. Außerdem können Sie zusätzliche Felder angeben, die in der Titelzeile der Gruppe angezeigt werden sollen. Auf diese Weise könnten Sie zum Beispiel Produkte anhand der Herstellerkennung gruppieren, aber trotzdem den Herstellernamen anzeigen.</para>

    <figure id="developer-editing-reports-group_by"> 
	<title>Bearbeiten eines <guilabel>Gruppieren nach</guilabel>-Teils</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_design_reports_group_by.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>Editing a report.</phrase> 
	    </textobject> 
	  </mediaobject> 
	</screenshot> 
     </figure>

   <para>Der Teil <guilabel>Vertikale Gruppe</guilabel> kann weitere Objekte enthalten. Er erlaubt Ihnen beispielsweise die Anordnung von Feldern untereinander anstelle von waagerecht hintereinander in einer Zeile. Dies könnte zur Gruppierung von aufeinander bezogenen Feldern nützlich sein, oder einfach nur, um mehr Informationen in der Zeile des Datensatzes im Bericht anzuzeigen.</para>
   
   <figure id="developer-editing-reports-vertical_group"> 
	<title>Ein Bericht mit vertikalen Gruppen</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_design_reports_vertical_group.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>A Report with Vertical Groups.</phrase> 
	    </textobject> 
	  </mediaobject> 
	</screenshot> 
     </figure> 

   <para>Wenn Sie dies beendet haben, klicken Sie auf den <guibutton>Gruppieren nach</guibutton>-Knopf, um die Berichtsdefinition zu speichern. Ihr Bericht steht dann im Menü <guimenu>Berichte</guimenu> zur Verfügung. Weitere Informationen hierzu finden Sie im Abschnitt <link linkend="glom-operator-printing-reports">Drucken von Berichten</link>.</para>



   </sect3>

   </sect2>
  
  </sect1>

<!-- =============Dialogs ================================= -->
<!-- This section contains the help to all dialogs that contain help button -->

<sect1 id="dialogs">
<title>Dialoge</title>

<sect2 id="dialog_existing_or_new">
<title>Dialog: Startdialog</title>
<para>Dieser Dialog ermöglicht dem Benutzer die Auswahl eines vorhandenen oder das Anlegen eines neuen Dokuments. Vorhandene Dokumente können Sie aus der Liste der kürzlich geöffneten Dokumente auswählen. Alternativ können Sie eine Datei im Dateiauswahldialog auswählen. Dokumente können auch über das Netzwerk geöffnet werden, falls andere Benutzer Glom im lokalen Netzwerk ausführen. Letztendlich kann ein neues Dokument auch entweder durch Öffnen einer vorhandenen Vorlagendatei erstellt werden, die bereits einige Tabellen und Datensätze enthält, oder durch Erstellen eines leeren Dokuments.</para>
</sect2>

<sect2 id="dialog_new_database">
<title>Dialog: Neue Datenbank</title>
<para/>
</sect2>

<sect2 id="dialog_error_create_database">
<title>Dialog: Datenbank anlegen</title>
<para/>
</sect2>

<sect2 id="dialog_connection">
<title>Dialog: Verbindung</title>
<para>Dieser Dialog erfragt den Benutzernamen und das Passwort für eine Verbindung zu einem Datenbankserver. Dies sind üblicherweise nicht der Benutzername und das Passwort, mit dem Sie sich am System anmelden. Alle Glom-Systeme benötigen einen Datenbankserver, auf dem die aktuellen Daten gespeichert werden. Falls dieser Datenbankserver nicht auf Ihrem lokalen Rechner läuft (»localhost«), dann müssen Sie außerdem den Namen des entsprechenden Rechners im Netzwerk angeben, wie »glomserver.openismus.com«, als Beispiel.</para>
<para>Ihr Systemverwalter kann die folgenden Anmeldedetails bereitstellen.</para>
<para>Falls Sie selbst der Systemverwalter sind, finden Sie auf der <ulink url="http://www.glom.org/wiki/index.php?title=Initial_Postgres_Configuration" type="http">Glom-Webseite zur PostgreSQL-Konfiguration</ulink> Hilfe zur Installation und Konfiguration eines Datenbankservers.</para>
</sect2>

<sect2 id="dialog_error_connection">
<title>Dialog: Verbindungsfehler</title>
<para>Dieser Dialog wird angezeigt, wenn Glom keine Verbindung zu dem angegebenen Datenbankserver aufbauen konnte. Entweder läuft der Datenbankserver auf dem Rechner dieses Namens nicht oder der Benutzername und das Passwort wurden vom Datenbankserver nicht anerkannt. Weitere Informationen hierzu finden Sie im Abschnitt <link linkend="dialog_connection">Verbindungsdialog</link></para>

<para/>
</sect2>

<sect2 id="dialog_database_preferences">
<title>Dialog: Datenbankeinstellungen</title>
<para/>
</sect2>

<sect2 id="dialog_change_language">
<title>Dialog: Ändern der Spracheinstellungen</title>
<para/>
</sect2>

<sect2 id="window_textobject">
<title>Fenster: Textobjekt</title>
<para/>
</sect2>

<sect2 id="window_imageobject">
<title>Fenster: Bildobjekt</title>
<para/>
</sect2>

<sect2 id="dialog_notebook">
<title>Dialog: Reitermappen</title>
<para/>
</sect2>

<sect2 id="dialog_data_invalid_format">
<title>Dialog: Ungültige Formatierung</title>
<para/>
</sect2>

<sect2 id="dialog_relationship_overview">
<title>Dialog: Überblick über Beziehungen</title>
<para/>
</sect2>

<sect2 id="window_groups">
<title>Fenster: Gruppen</title>
<para/>
</sect2>

<sect2 id="dialog_groupby_sort_fields">
<title>Dialog: Gruppieren nach sortierten Feldern</title>
<para/>
</sect2>

<sect2 id="dialog_groupby_secondary_fields">
<title>Dialog: Gruppieren nach sekundären Feldern</title>
<para/>
</sect2>

<sect2 id="window_button_script">
<title>Fenster: Knopfskript</title>
<para/>
</sect2>

<sect2 id="window_field_calculation">
<title>Fenster: Feldberechnung</title>
<para/>
</sect2>

<sect2 id="dialog_new_group">
<title>Dialog: Benutzer wählen</title>
<para/>
</sect2>

<sect2 id="dialog_choose_user">
<title>Dialog: Benutzer wählen</title>
<para/>
</sect2>

<sect2 id="dialog_user">
<title>Dialog: Benutzer</title>
<para/>
</sect2>

<sect2 id="dialog_translation_identify_original">
<title>Dialog: Identifizierung der Übersetzung am Original</title>
<para/>
</sect2>

<sect2 id="dialog_translation_copy">
<title>Dialog: Übersetzungskopie</title>
<para/>
</sect2>

<sect2 id="dialog_choose_date">
<title>Dialog: Datum wählen</title>
<para/>
</sect2>

<sect2 id="dialog_import_csv">
<title>Dialog: In Tabelle importieren</title>
<para>Dieser Dialog ermöglicht dem Benutzer das Importieren einer CSV-Datei (durch Kommata getrennte Werte) in eine Tabelle der aktuellen Datenbank. Es werden die ersten fünf Zeilen der zu importierenden Datei angezeigt, woraufhin der Benutzer das Zielfeld in der Datenbank für jede Spalte der CSV-Datei angeben kann. Für automatisch hochzählende Primärschlüssel kann das Primärschlüsselfeld nicht als Zielfeld verwendet werden, aber anderenfalls muss eine Spalte in das Primärschlüsselfeld importiert werden.</para>
</sect2>

</sect1>

<!-- ============= Bugs ================================== -->
<!-- This section is optional and is commented out by default. 
     You can use it to describe known bugs and limitations of the 
	  program if there are any - please be frank and list all
     problems you know of. 
  
  <sect1 id="mayapp-bugs">
  <title>Known Bugs and Limitations</title>
  <para> </para>
 </sect1>
-->
<!-- ============= About ================================== -->
<!-- This section contains info about the program (not docs), such as
      author's name(s), web page, license, feedback address. This
      section is optional: primary place for this info is "About.." box of
      the program. However, if you do wish to include this info in the
      manual, this is the place to put it. Alternatively, you can put this information in the title page.-->
 <sect1 id="Glom-about"> 
    <title>Über Glom</title> 
    <para><application>Glom</application> wird von Freiwilligen der <application>Glom</application>- und GNOME-Gemeinschaft betreut. Weitere Informationen über <application>Glom</application> finden Sie auf <ulink url="http://www.glom.org/" type="http">dessen Webseite</ulink>.</para>
    <para>Um einen Fehler zu melden oder einen Vorschlag zu dieser Anwendung oder zu diesem Handbuch zu machen, benutzen Sie bitte <ulink url="http://bugzilla.gnome.org" type="help">das Fehlererfassungssystem von GNOME</ulink>.</para>

    <para>Eine weitere exzellente Informationsquelle sind die <ulink url="http://www.glom.org" type="http">Mailinglisten</ulink> von Glom.</para>

    <para>Dieses Programm ist freie Software. Sie können es unter den Bedingungen der <citetitle>GNU General Public License</citetitle>, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2 der Lizenz oder (nach Ihrer Option) jeder späteren Version. Eine Kopie der <citetitle>GNU General Public License</citetitle> finden Sie unter diesem <ulink url="ghelp:gpl" type="help">Link</ulink>, oder in der Datei COPYING, die im Quellcode dieses Programms enthalten ist.</para>
  </sect1>

  <appendix id="sec-concepts">
  <title>Konzepte</title>
  <para lang="en">Glom is easy to use, but you must understand the following basic concepts.
<orderedlist>
<listitem><simpara lang="en"><literal>Database</literal>: Each Glom document allows access to one database.</simpara></listitem>
<listitem><simpara lang="en"><literal>Table</literal>: Each database contains several tables, such as "Customers" and "Invoices" tables.</simpara></listitem>
<listitem><simpara lang="en"><literal>Field</literal>: Each table has several fields, such as "Customer ID", "First Name", and "Date of Birth" fields. In other documents and applications, fields are sometimes called "Columns"</simpara></listitem>
<listitem><simpara lang="en"><literal>Records</literal>: Each table contains several records, each of which has values for each of the fields. For instance, the "Customers" table will have a record for each customer. In other documents and applications, records are sometimes called <literal>Rows</literal>.</simpara></listitem>
<listitem><simpara lang="en"><literal>Relationships</literal>: Each table might be related to other tables, via fields in both tables. For instance, a "Customers" table could have a relationship to the "Invoices" table, so that people could see all the invoices for that customer. Only developers need to understand this concept. In other documents and applications, relationships are sometimes called "Joins".</simpara></listitem> 
</orderedlist>
  </para>
  </appendix>

  <appendix id="sec-calculated-fields">
  <title>Berechnete Felder und Knopfskripte</title>
  <para>Berechnete Felder und Knopfskripte verwenden die Programmiersprache Python. Die Berechnung oder das Skript ist die Implementierung einer Funktion, deren Signatur Ihnen zur Verfügung gestellt wird.</para>

     <figure id="developer-editing-fields-calculated"> 
	<title>Bearbeiten der Definition eines berechneten Feldes</title> 
	<screenshot> 
	  <mediaobject lang="en"> 
	    <imageobject><imagedata fileref="figures/glom_design_fields_dialog_calculated.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>Editing the definition of a calculated field.</phrase> 
	    </textobject> 
	  </mediaobject> 
	</screenshot> 
     </figure>

  <sect1 id="field-values">
  <title>Feldwerte</title>
  <para lang="en">For instance, <programlisting lang="en">record["name_first"]</programlisting> is the value of the name_first field in the current record.</para>
  </sect1>

  <sect1 id="related-records">
  <title>Bezugsdatensätze</title>
  <para lang="en">For instance, <programlisting lang="en">record.related["location"]</programlisting> provides the related records for the current record.</para>

  <sect2 id="single-related-records">
  <title>Einzelbeziehungen</title>
  <para lang="en">For relationships that specify a single record, you can get the value of a field in that record. For instance, <programlisting lang="en">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 id="multiple-related-records">
  <title>Datensätze mit mehrfachen Bezügen</title>
  <para lang="en">For relationships that specify multiple records, you can use the aggregate functions (sum, count, average) to get overall values. For instance, <programlisting lang="en">record.related["invoice_lines"].sum("total_price")</programlisting>.</para>
  </sect2>

  </sect1>

  <sect1 id="testing-for-empty-values">
  <title>Prüfen auf leere Werte</title>
  <para>So überprüfen Sie auf leere Werte, abhängig vom Feldtyp:</para>

  <sect2 id="non-text-fields">
  <title>Nicht-Text-Felder</title>
  <para>Nicht-Textfelder dürfen leer sein, was anzeigt, dass der Benutzer noch keinerlei Wert in dieses Feld eingegeben hat. Beispielsweise nimmt Glom nicht an, dass ein leerer Wert in einem numerischen Feld den Wert 0 hat.</para>
  <para>Sie können testen, ob ein Feld leer ist, indem Sie »None« aus Python verwenden. Zum Beispiel:</para>
  <para>
  <programlisting>
  if(record["contact_id"] == None):
    return "No Contact"
  else:
    return record.related["contacts"]["name_full"]
  </programlisting>
  </para>
  <para>Sie können auch überprüfen, ob Bezugsdatensätze vorhanden sind. Zum Beispiel:</para>
  <para>
  <programlisting>
  if(record.related["contacts"] == None):
    return "No Contact"
  else:
    return record.related["contacts"]["name_full"]
  </programlisting>
  </para>
  </sect2>

  <sect2 id="text-fields">
  <title>Textfelder</title>
  <para>In Textfeldern sollten Sie prüfen, ob Zeichenketten der Länge Null vorhanden sind. <application>Glom</application> kann nicht zwischen Zeichenketten der Länge Null und fehlenden Zeichenketten unterscheiden, weil dies keinerlei Vorteile hätte. Zum Beispiel:</para>
  <para>
  <programlisting>
  if(record["name_full"] == ""):
    return "No Name"
  else:
    return record["name_full"]
  </programlisting>
  </para>
  </sect2>
</sect1>


<sect1 id="using-the-full-pygda-api">
  <title>Benutzung der vollen Pygda-API</title>
  <para>pygda ist eine Python-API zur libgda-API. Das <literal>connection</literal>-Attribut stellt eine gda.connection bereit, die zum direkten Zugriff auf die aktuelle Datenbank genutzt werden kann. Dies ermöglicht Ihnen die Ausführung einer SQL-Abfrage, beispielsweise zum Lesen von Daten aus der Datenbank mit einer SELECT-Anweisung, oder zum Ändern von Werten in der Datenbank mit einer UPDATE-Anweisung. Bedenken Sie, dass die Verbindung bereits offen ist, so dass die Eingabe der Verbindungsdetails nicht mehr erforderlich ist.</para>
  <para>Das Attribut <literal>table_name</literal> des Datensatzes stellt auch den Namen der aktuellen Tabelle zur Verfügung.</para>
  <para>Dieses Beispiel liest alle Daten aus der aktuellen Tabelle und gibt deren Werte im Terminal aus:</para>
  <para>
  <programlisting>
# Die aktuelle Verbindung zur Datenbank zum
# Lesen aller Daten der aktuellen Tabelle verwenden.
#
# record.connection ist eine bereits geöffnetes gda.connection Objekt,
# das uns ein Öffnen einer Verbindung erspart,
# und selbst das Wissen über den Namen der Datenbank.

query = "SELECT * FROM %s" % record.table_name
command = gda.Command(query)
data_model = record.connection.execute_single_command(command)

rows = data_model.get_n_rows()
columns = data_model.get_n_columns()
print "    Number of columns: ", columns

for i in range(columns):
    print "      column ", i;
    print "        name=", data_model.get_column_title(i)

    # Herausfinden, ob es der Primärschlüssel ist:
    field = data_model.describe_column(i)
    if field.get_primary_key():
        print "        (primary key)"

    print "\n";
     
print "    Number of rows: ", rows

for row_index in range(rows):
    print "      row ", row_index;

    for col_index in range(columns):
        print "        value=", data_model.get_value_at(col_index, row_index).get()

    print "\n";
  </programlisting>
  </para>
  </sect1>

  </appendix>

 
</article>