Imported Upstream version 2.9.2+ds
[debian/jabref.git] / src / help / de / CustomImports.html
1 <html xmlns="http://www.w3.org/1999/xhtml">
2
3
4 <body text="#275856">
5     <basefont size="4" color="#2F4958" face="arial" />
6
7     <h1>Importfilter anpassen</h1>
8
9     <p>JabRef bietet Ihnen die M&ouml;glichkeit, ganz &auml;hnlich
10     den Standard-Importern, eigene Importer zu definieren und zu
11     benutzen. Man definiert einen Importer durch eine oder mehrere
12     Java <i>Klassen</i>, die Dateinhalte aus einem sogenannten
13     <i>Input stream</i> lesen und daraus BibTex-Eintr&auml;ge
14     erzeugen. Sie k&ouml;nnen vorkompilierte Importer einbinden,
15     die Sie vielleicht von SourceForge erhalten haben (siehe "Ihre
16     Arbeit anderen zur Verf&uuml;gung stellen"). Sie k&ouml;nnen
17     auch mit Grundkenntnissen der Java-Programmierung eigene
18     Importer f&uuml;r f&uuml;r Sie wichtige Referenzquellen
19     erstellen oder neue, verbesserte Versionen existierender
20     Importer einbinden, ohne JabRef neu zu kompilieren.</p>
21
22     <p>Externe Importfilter haben Vorrang vor Standard-Importern.
23     So k&ouml;nnen Sie mit Ihren Importern die existierenden in der
24     automatischen Formaterkennung und an der Kommandozeile in
25     JabRef &uuml;berschreiben. Externe Importfilter selbst sind
26     dann nach Namen sortiert.</p>
27
28     <h2>Einen externen Importfilter hinzuf&uuml;gen</h2>
29
30     <p>Stellen Sie sicher, dass Sie den Importer in kompilierter
31     Form haben (eine oder mehrere <code>.class</code> Dateien) und
32     dass die Klassendateien in einer Verzeichnisstruktur
33     entsprechend ihrer Package-Struktur liegen. Um einen neuen
34     externen Importfilter hinzuzuf&uuml;gen, &ouml;ffnen Sie den
35     Dialog <b>Optionen -&gt; Verwalte externe Importfilter</b>, und
36     klicken Sie auf <b>Aus Klassenpfad hinzuf&uuml;gen</b>. Ein
37     Dateiauswahl-Fenster erscheint, mit dem Sie den Klassenpfad des
38     Importers w&auml;hlen, dass hei&szlig;t den obersten Ordner, in
39     dem die Package-Struktur Ihres Importers beginnt. In einem
40     zweiten Dateiauswahl-Fenster w&auml;hlen Sie die
41     <i>.class</i>-Datei Ihres Importers, die von
42     <code>ImportFormat</code> abgeleitet ist. Wenn Sie <b>Klasse
43     ausw&auml;hlen</b> klicken, erscheint Ihr neuer Importer in der
44     Liste der externen Importfilter. Alle externen Importfilter
45     erscheinen in den JabRef-Submen&uuml;s <b>Datei -&gt;
46     Importieren -&gt; Externe Importfilter</b> und <b>Datei -&gt;
47     Importieren und Anh&auml;ngen -&gt; Externe
48     Importfilter</b>.</p>
49
50     <p>Bitte beachten Sie: wenn Sie die Klassen in ein anderes
51     Verzeichnis verschieben, m&uuml;ssen Sie den Importer entfernen
52     und neu hinzuf&uuml;gen. Wenn Sie einen Importfilter mit einem
53     bereits vorhandenen Namen registrieren, ersetzt JabRef den
54     vorhandenen externen Importfilter. Auch wenn es in manchen
55     F&auml;llen m&ouml;glich ist, einen schon registrierten
56     Importer zu aktualisieren ohne JabRef neu zu starten
57     (n&auml;mlich dann, wenn der Importer nicht im Klassenpfad von
58     JabRef ist), empfehlen wir, grunds&auml;tzlich JabRef neu zu
59     starten, wenn Sie ein Update eines externen Importers
60     durchgef&uuml;hrt haben. Sie k&ouml;nnen auch Importer aus ZIP-
61     oder JAR-Archiven registrieren, w&auml;hlen Sie einfach <b>Aus
62     Archiv-Datei hinzuf&uuml;gen</b>, dann das ZIP- oder JAR-Archiv
63     und dann den Eintrag (Klassendatei), der den neuen Importer
64     darstellt.</p>
65
66     <h2>Einen Importfilter entwickeln</h2>
67
68     <p>Bitte schauen Sie auf
69     unseren Download-Seiten nach Beispielen und n&uuml;tzliche
70     Dateien zur Entwicklung Ihres Importfilters.</p>
71
72     <h3>Ein einfaches Beispiel</h3>
73
74     <p>Angenommen, wir wollen Dateien der folgenden Form
75     importieren:</p>
76     <pre>
77 1936;John Maynard Keynes;The General Theory of Employment, Interest and Money
78 2003;Boldrin &amp; Levine;Case Against Intellectual Monopoly
79 2004;ROBERT HUNT AND JAMES BESSEN;The Software Patent Experiment
80 </pre>
81
82     <p>Erzeugen Sie in einem Text-Editor eine von
83     <code>ImportFormat</code> abgeleitete Klasse, die die Methoden
84     <code>getFormatName()</code>, <code>isRecognizedFormat()</code>
85     und <code>importEntries()</code> implementiert. Hier ein
86     Beispiel:</p>
87     <pre>
88 import java.io.*;
89 import java.util.*;
90 import net.sf.jabref.*;
91 import net.sf.jabref.imports.ImportFormat;
92 import net.sf.jabref.imports.ImportFormatReader;
93
94 public class SimpleCsvImporter extends ImportFormat {
95
96   public String getFormatName() {
97     return "Simple CSV Importer";
98   }
99
100   public boolean isRecognizedFormat(InputStream stream) throws IOException {
101     return true; // this is discouraged except for demonstration purposes
102   }
103
104   public List importEntries(InputStream stream) throws IOException {
105         ArrayList bibitems = new ArrayList();
106     BufferedReader in = new BufferedReader(ImportFormatReader.getReaderDefaultEncoding(stream));
107
108     String line = in.readLine();
109     while (line != null) {
110       if (!"".equals(line.trim())) {
111         String[] fields = line.split(";");
112         BibtexEntry be = new BibtexEntry(Util.createNeutralId());
113         be.setType(BibtexEntryType.getType("techreport"));
114         be.setField("year", fields[0]);
115         be.setField("author", fields[1]);
116         be.setField("title", fields[2]);
117         bibitems.add(be);
118         line = in.readLine();
119       }
120     }
121     return bibitems;
122   }
123 }
124 </pre>
125
126     <p>Beachten Sie, dass die Beispielklasse im Default-Package
127     liegt. Angenommen, Sie haben sie unter
128     <code>/meinpfad/SimpleCsvImporter.java</code> gespeichert.
129     Nehmen wir weiter an, die Datei <i>JabRef-2.0.jar</i> ist im
130     gleichen Verzeichnis wie <code>SimpleCsvImporter.java</code>
131     und Java ist in Ihrem Kommandopfad. Kompilieren Sie die Klasse
132     mit JSDK 1.4 zum Beispiel mit folgendem
133     Kommandozeilen-Aufruf:</p>
134     <pre>
135 javac -classpath JabRef-2.0.jar SimpleCsvImporter.java
136 </pre>Nun sollte dort auch eine Datei
137 <code>/mypath/SimpleCsvImporter.class</code> liegen.
138
139     <p>&Ouml;ffnen Sie in JabRef <b>Optionen -&gt; Verwaltung
140     externer Importfilter</b> und klicken Sie auf <b>Aus
141     Klassenpfad hinzuf&uuml;gen</b>. Navigieren Sie nach
142     <code>/meinpfad</code> und klicken Sie <b>Klassenpfad
143     ausw&auml;hlen</b>. W&auml;hlen Sie dann
144     <code>SimpleCsvImporter.class</code> und klicken Sie <b>Klasse
145     ausw&auml;hlen</b>. Ihr Importfilter sollte nun in der Liste
146     der externen Importfilter unter dem Namen "Simple CSV Importer"
147     erscheinen, und, sobald Sie <b>Schlie&szlig;en</b> gew&auml;hlt
148     haben, auch in den Untermen&uuml;s <b>Datei -&gt; Importieren
149     -&gt; Externe Importfilter</b> und <b>Datei -&gt; Importieren
150     und Anh&auml;ngen -&gt; Externe Importfilter</b> des
151     JabRef-Hauptfensters.</p>
152
153     <h2>Teilen Sie Ihre Arbeit</h2>
154
155     <p>Mit externen Importfiltern ist
156     es recht einfach, Importfilter zwischen Nutzern auszutauschen
157     und gemeinsam zu nutzen. Wenn Sie einen Importer f&uuml;r ein
158     Format schreiben, das JabRef noch nicht unterst&uuml;tzt, oder
159     einen Importer verbessern, bitten wir Sie, Ihre Ergebnisse auf
160     unserer SourceForge.net Seite zu ver&ouml;ffentlichen. Wir
161     bieten gerne eine Sammlung eingereichter Importfilter an oder
162     f&uuml;gen sie unserer Auswahl an Standard-Importfiltern hinzu.</p>
163
164 </body>
165 </html>