Todo
The program itself
- fix configuration of log4j-logging in bibi - TO BE IMPROVED
- There are reports that logging doesn't work in Windows
- implement better logging/exception handling. users don't look at the console! - TO BE IMPROVED
- integrate Psycho's "send-exception-email-to-developer" into bibi - DONE, TO BE IMPROVED
- find out if and when the HenkelParser throws Exceptions and how it handles incorrect syntax in files - need that for feedback to user.
Documentation
- make some nice screenshots
- example bibtex file
- example generated xml file
- example html pages generated from that
- write some more javadoc
- write some examples, howtos,...
- find out how to display online help from within the program
- Make sure all websites are consistent and contain no dead link (esp. download).
Development process
Document what one needs to know to work on it as a developer
- List of files (and websites!) that contain the version number, i.e. that need to be updated when creating a new version: build.xml, ChangeLog, Bibi.java, doc/index.html
- Better: generate version numbers automatically
- how to put the new release on the sourceforge website (upload and file release management):
ftp upload.sourceforge.net (anonymous | email)
cd /incoming
put file.tgz
then on http://sourceforge.net, goto admin → File Releases, scroll down, click on "update".
- how to create a source release (cvs export and pack)
- if I have too much time: provide rpm, debian and gentoo install mechanism
- search engine entries for better visibility
- entry at top-jar-search-stuff (ask André how and where he did that)
- talk to Rolf about how to create a mac version automatically - NO ANSWER YET
Done
- wait for sourceforge project confirmation - DONE
- create project website on sourceforge - DONE (preliminary)
- put sourceforge logo on bibi sourceforge project website - DONE
- find out how to compile cello-raph without debug info - DONE
- separate ujap and bibi projects - DONE
- ujap.book.bibi package
- ujap.util.Selector
- ujap.util.MDIFrame
- ujap.util.ClipListener
- copy of ujap.util.StringUtils
- perhaps move bibi to new package: de.ujap.bibi ?? - DONE
- check in ujap-remaining stuff - DONE
- create ujap-core jar file - NOT REQUIRED
- create bibi cvs repository at sourceforge - DONE
- commit bibi stuff there - DONE
- update freshmeat site to link to sourceforge - DONE
- create and publish bibi javadoc - DONE
- find a way to generate the classpath for the manifest file automatically -DONE
Unsorted
Sorry, parly in German...
Bugs
- "Select" → ausgewählte entries im neuen Fenster müssen einen neuen Dateinamen kriegen, sonst überschreibt man aus versehen die Original-Datei
- Icon ist nen bisschen schwer zu erkennen/zu fein. Schön wär auch noch, wenn es das im zip extra gebe, für Verknüpfung im Panel z.B.
- bei der Titel-Liste wär ne alphabetische Sortierung hilfreich
- Das Windows-Menü heisst deutsch auch Windows und hat ausserdem als einziges kein Mnemonic.
- ich vermisse den "Neu Nach Vorlage" Button . Als Icon einfach den Hintergrund von Pubmed/Bibtex mit Stern (von Neu).
- Edit->Select würd ich irgendwie umbennen, das versteht man erst, wenn man die Beschreibung in der Statuszeile liest, vielleicht "Create Subset" oder so. Und vielleicht ins Tools Menü umziehen, passt doch irgendwie zu Merge.
- wenn man 2x auf den "generate key for current entry" knopf drückt, generiert er beim 2. mal den key "..._et_al_2002a" statt "..._et_al_2002", weil er nicht merkt, daß der key zwar schon da ist, aber dass es ja derselbe entry ist - man sollte vorher den key fuer diesen entry auf "" setzen.
- Liste im JCardPanel ist neuerdings immer zu schmal
- bei laden per command-line parameter:. the frame is focused, but it doesn't show!
- in "Select Entries" dialog: Cancel und Okay knöpfe in Flowlayout manier, rechts/links frage klären,
- in "Select Entries": titel des dialogs setzen.
- Merging - text muss in property files (auch aus bibi.java)
- Kauffmann 1981, Vol 295(1087): die '0' in der no. verträgt er nicht
- new entry from pubmed: deal with '.' in title – geht nicht, weil "." das Ende des Titels anzeigt!
- eingabeübernahme aus der Tabelle, ohne daß man return drücken muß
- beim fehlversuch beim laden trotzdem das verzeichnis merken (wenn's ein parse error war)
- verzeichnis auch auf "export xml" anwenden
- default-verzeichnis "user.home" oder konfigurierbar
- beim mergen reihenfolge der felder beibehalten (kein set verwenden)
- wenn man das ganze programm beendet statt nur 1 fenster zu schließen wird man nicht gefragt, ob man speichern möchte
- editieren von mehrzeiligem text in den tabellenfeldern - schwierig
- generateKeys: Buchstaben, die nicht geparsed werden können (umlaute usw) dürfen nicht in die keys
- sort knopf funktioniert nicht, automatisches sortieren auch nicht
- einen extra knopf zum generieren eines einzelnen keys für den ausgewählten eintrag
- Actions → Remove Duplicates → Merging: Cancel Button hinzufügen
- Kategorie? – muß in die hilfe
- File → Write Summaries: was ist das und funktionsfähig?
- Actions → Remove Duplicates: kein neues Fenster, wenn keine Duplikate! Gilt auch, wenn von einem vermeintlichen Duplikat beide alternativen beibehalten wurden!
- Hinweis-Text oder Buttons für Ctrl + left Mouse und Shift + left Mouse
- Rahmen-tag für file
- if new file is loaded, select the first entry, else the table is of the wrong type and we have a ClassCastException if we start to add entries using Ctrl-Mouse1 because the TableModel is not instanceof Fields
Resolved Bugs
- title- und author-liste sollen nicht r/l sondern top/down gelayouted werden
- macro replacement wird jetzt VOR dem parsen des pubmed entries gemacht
- alle aktionen zur Toolbar hinzufügen
- Titel des Merge-Resultfensters vernünftig setzen
- 'generate keys' sollte einen vernünftigen dialog kriegen, z.b. mit JOptionPane zum auswählen, was man machen möchte, statt der irritierenden yes und no buttons.
- vernünftige, aufschlußreiche hilfe oder readme
- 'requestFocus' methode benutzen um Windows über das Menu auszuwählen → nützt nix.
- arrayindexoutofboundsexception wenn man nach new entry auf delete geht (wahrscheinlich weil nach new der index = -1 ist)
- key darf umlaute und ' enthalten ???
- Actions → Generate Keys: Cancel Button hinzufügen
- Button "New from Template" hinzufügen?
- Generate Keys: Beachtung von abgekürzten Vornamen (M. Person) – liegt daran, daß dieses Author-Format noch nicht geparsed werden kann
- File → Load: besser "Open"
- Actions → New Entry → From Template: neuen Eintrag auch selektieren
- Label für Key-Textfield neben Entry-Type ComboBox
- Actions → Search: ComboBox für field names
- NPE, wenn Actions → New Entry → From Template ohne vorher File zu öffnen:
- NPE, wenn Actions → New Entry → From Template → Cancel:
- NPE, Search → Cancel:
- NPE, wenn Actions → Merge und nur eine Datei geladen:
- NPE, wenn Actions → Remove Duplicates ⇒ Neue Datei schliessen ohne zu speichern und ⇒ Actions → Remove Duplicates: ⇒ Actions → Merge:
- IAE, wenn doppelt Ctrl + left Mouse ⇒ Fehlermeldung? java.lang.IllegalArgumentException: May not add row with a field name ()that already exists.
- Search → Entries im Result haben alle den typ "@unknown", und wenn man das Ergebnis speichert, vergißt er, in der .bib Datei die "@" vor den Typen mitzuschreiben, er schreibt "article{..." statt "@article{..." (und dabei müßte er eigentlich @unknown schreiben, wenn es mit der Anzeige übereinstimmen sollte!)
Feature Requests
- Actions → Search → Ergebnis-Frame: Buttons entfernen?
- Option, ob in .bib-File Felder mit "" oder {}
- Alignment (Tabs) im .bib-File
- new entry from pubmed: bekannte abkürzungen von journals automatisch erweitern: "dev biol"
- new entry from pubmed: online fetching mit pmid
- new entry from pubmed: month: Tag löschen
- new entry from pubmed: option to add own keys on new entry ?
- relationship management (welche Referenzen kommen aus welchen anderen artikeln?)
- einträge vernünftig ausdrucken
- ein test-Tex file generieren
- auswahl von journal name und publisher via combobox in der tabelle
- anzeige, welche felder Pflicht sind für den jeweiligen eintrag-typ
- assoziation mit zeitschriften-Signatur im dkfz
- Gesamtanzahl der Records z.B. in Statusbar hinschreiben
- Kennzeichnung Pflicht- und optionale Felder
- mehrere entries auf einmal parsen können bei "new from pubmed"
- 2nd and 3rd automatisch hochstellen: 2^nd and 3^rd, in edition, conf. names, etc
- GUI for makebst tool
- View Menu zum Umstellen der Anzeige (wie synchronisiere ich das View-Menu mit der Combobox in der Toolbar?)
Resolved feature requests
- tooltips in der tabelle zeigen mehrzeilig den ganzen title, author,... and
- icon für den main frame
- Paste bibtex entries
- clone entry
- new view: titel-Liste
- für die spalte mit den feldnamen in der Tabelle eine JCombobox
- in pubmed-eintraegen "c.elegans" und andere namen automatisch durch tex-macros ersetzen, welche in datei definiert werden können
- Knopf: copy key to clipboard