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