RoadMap
From AigaionWiki
Now one of the developers successfully defended his PhD thesis, and the other one just submitted his thesis, we are cranking up the engines again.
This page contains an overview of our short term, mid term and long term plans. For each release mentioned here we will keep a list of changes that need to be / have been done. For past releases, those lists can be found at PreviousMaps.
The multilanguage version of Aigaion (2.1.2) has been released.
For short term, we now have the task to fix any bugs that will crop up, and to do a lot of clean-up and restructuring to make it easier to collaborate in the SVN. Also, we will finish at least one example integration with another CMS.
A continuous goal, short term and long term, is to spend a certain amount of effort on 'consolidation': writing documentation (wiki/userdoc/codedoc, see DocumentationToDo), cleaning up code and cleaning up css styles. This helps users and developers both, in the long run.
After that, the goals will concern the development of grander ideas about topics such as plugin architectures, import from other systems, exposing a more consistent API for totally building your own front-end, etc. Fleshing out those ideas will need a lot of conceptual design first.
Contents |
SHORT-TERM
Starting from release 2.1.2
Resulting in Release 2.1.3
When: March, April
What: For this release, embedding, login integration and documentation are focus points. Some foundations for this release are already being laid, among other things by writing some Mediawiki test extensions (see IntegratingAigaion)
The discussions on the forums clearly show that embedding of Aigaion views in other sites, and integrated login mechanisms, are much-wanted, but also that the old design was faulty in that area. The new designs for this are almost in place. This will allow people to start building integration with CMS'es such as TWIki, TikiWiki, Drupal, and other things proposed on the forum.
Security fixes
[DONE] Added an index.php file to the default attachments directory, to prevent directory access on those servers that have been configured to allow directory access.
[ ] Changing your own password should require retyping your old password. And what about changing others' passwords from an admin account?
Confirmed bugs to fix
[ ] bookmark remove from topic should cascade
[ ] Language switching bug forum
[ ] Set names / utf8 / ...
[ ] Proper handling of the table prefix with backup restore: it should also work if the backup file had a different table prefix defined than the current Aigaion installation
[ ] When the user has no bookmarking rights, a strange-looking black line is shown in the single Keyword view. SOlution: see fix for similar problem in topic and author views.
[ ] prevent the eternal redirect that is caused by inaccessible top-topic (identified and solved by Jeroen Veenstra)
[ ] topic maintenance functions: make top-topic public access if it was not; make sure all users subscribed to top topic
[DONE] bug#130 bookmarkall button for topics gives error message (LIMIT statement -25,25??)
[ ] [Oyvind on forum:] I guess Aigaion should be updated to support a newer version of CI. I would argue that this should be put into the short term road map (http://wiki.aigaion.nl/index.php/RoadMap) together with finishing the restructuring of the code tree (http://www.aigaion.nl/forum/index.php?topic=308.0).
Major features
[ ] Embedding examples and documentation: at least for MediaWiki
[ ] Login integration: design and example implementations of an integrated login where being logged in to CMS X means being logged in to Aigaion (todo: choose which CMS to use as example.)
[ ] Documentation (see DocumentationToDo)
[ ] Reorganize repository (separate dir with web content; ...plus documentation on multiple installations with one code base)
[ ] Structure and document the translation workflow properly, to make it easy for collaborators to join working on a new language
[ ] Write some guidelines for collaboration and our way of using the svn repository, somewhere on the wiki
[ ] Springerlink parser by Andreas Bulling, as well as more general restructuring of import/parsing modules to allow easier "stand-alone" development of import plugins
[ ] bibtex import from file (very useful for initial loading of database and for adding larger bibtex files...) forum
[ ] Author search in pub edit still sometimes misses existing author Tracker#94 -- [DR]: moved this one to mid term, as it is not a bug but a major feature to develop. Currently, those authors are found using EXACT matches. So if the author is named "dennis reidsma" you will find it as "dennis reidsma" and as "reidsma, dennis" but not as "d. reidsma". Allowing the latter to be found, too, when adding new authors from the publication edit page, is definitely non-trivial.
[DONE] Reorganize repository (setting examples and stuff aside in a dir that needs not be copied to the server; a dir for the translation processes and intermediate versions of the translations; )
Minor features
[ ] Performance: add a few indexes to the database
[ ] In maintenance, delete unused keywords
[ ] keywords merge
[ ] port login_httpauth to new password checking delegate
[ ] PAM authentication by Questmaster Forum
[ ] Make Øyvind's new email support a config option, implement some of the suggested extensions, allow a default 'fallback request email address' if no author has email; count requests and mail exports in database; warn author(s) of mailexport (?), allow export of notes, too; allow the user's email as 'from' address; enable email in SAFE_MODE (parameter for 'from' not allowed in safe mode); allow user to add a custom message to the mail through some text area input;
[ ] "to be done: user pressed 'show' -> find corresponding author and redirect to single author page"
[ ] forum msg about browser autocomplete settings for form fields
[DONE] Made minor feature for RSS feed of only the publicly readable publications
MID-TERM
Search
[ ] Start making a proper design for the search features
[ ] Display of topic names in search result tracker
[ ] Made much more flexible, to allow combinations of conditions on topics with restrictions regarding authors, ranges of years, types/journals, etc. (see forum)
[ ] When displaying search results, show a button for 'Export search', analogous to the 'Export author/topic' button that appears when viewing a single author/topic. This is a crucial feature for anonymous users, who don't have bookmarking rights.
[ ] Display of search results does not respect the limit on number of publications per page set in the user profile.
UNASSIGNED
The tasks and issues mentioned here are not specifically assigned to short term or mid term, but may be tackled at any time that we feel inspired to do so. They are roughly sorted into thematic groups.
Author related functionality
[ ] The similarity checking for authors (author_db#getSimilarAuthors and author_db#review) should be made a bit more intelligent. Right now, it doesn't find the similarity of "First Last" and "F. Last". See post on forum for a discussion of some issues with this. Also, on the forums, a solution is proposed that we can merge into SVN (thanks!).
[ ] Related to the issue above, see tracker 94: when searching authors in the 'edit publication' page, we also want to find similar authors in this way somehow. (not trivial, as the searching is done using javascript and we do not have the similarauthors function available at this point!)
[ ] Tracker#38: Aigaion should ignore the von-part of author names when sorting lists of publications or authors. (It would also be good if authorless publications could be listed last instead of first, but that can wait for a later release, if it isn't a trivial fix.)
[ ] get authorless pubs listed after authored ones
[ ] Listing all authors - distinguish between authors and only-editors (see tracker)
Visuals
[ ] The generated HTML when listing the pubs of a particular author contains visual styling.
[ ] replace \textsc etc by css styling spans (PDM already provided some code)
[ ] the traffic-light icons are not clear to some uses. Also, relying on color is problematic for color-blind people. Consider re-instating the old access-level icons, still present in the themes-directory.
[ ] The "nr read" indicator is irrelevant for guest users, so its display should be a user option. Also, the formats "[n]" and [m/n]" might look neater than "n" and "m/n".
[ ] show backlinks of references in notes: Forum, tracker
[ ] More display cleanup in IE
Publication Lists
[ ] the last pub listed in the 1-25 section is identical to the first pub in the 26-50 section. It appears that one actually sees 26 pubs per page, except on the first page.
[ ] When viewing a list of publications, the navigation is currently a list of numerical intervals, e.g.:
| 1-25 | 26-50 | 51-75 | 76-100 | 101-125 | 126-140 |
It would be more convenient to see a list of links related to the current sorting order: a list of years, or a list of initial letters (of authors, titles, journals/types). The simplest might be to show just one link for each page, since the distribution is often non-uniform.
[ ] After import, show only [n] recent publications tracker
Institutional identity
[ ] a page in Aigaion with an explanatory text about the bibliography (i.e. an 'about this bibliography' page, rather than 'about Aigaion') - alternatively: rename Top to Topics, display it at the top of the topic tree, and use it for the description of the bibliography contents and url
[ ] custom logo and/or text in top left corner
[ ] custom link to follow from logo in top left corner
(PDM: - custom logo (to be displayed instead of aigaion2.png) - page heading (to be displayed between the logo and the search box) - logo url (to make the logo image a link) - "about this bib" explanatory text (in html, like annotations?) - welcome text (for top of initial page))
The styling and layout of all these elements should be controlled by css, so that it can be adjusted by custom themes.
Editing
[ ] Tracker#71: Clarify the interface for recording marks for publications.
[ ] Keyword delete, change, and merge (!)
[ ] If you insert a "userfield" value for a publication, that is part of BiBTeX, it should be moved to the appropriate bibtex field instead of remaining in the "userfields" field. Also: a button for showing the hidden input fields on the pub edit form
[ ] PDM: "Consider also making Keywords a textarea box: sometimes my list of keywords is too long for the single line, and I can't see them all at once... "
[ ] On importing or creating new publications, we could use better Checking for Duplicates. See, e.g., http://www.aigaion.nl/forum/index.php?topic=155.0
[ ] It would be nice to have a list of journals just as it is already implemented with the authors. Usually, there are only few journals which you read, so this would save a lot of typing. Or else, at least an autocomplete feature like that of the keywords could already help a lot
BiBTeX
[ ] If you input certain ASCII characters in a publication, you should get a warning along the lines of: "You used one of the characters with a special meaning in BiBTeX ($,_,#,{,}) (link for more info). If you want to simply have this character in the entry, you might want to use the escaped version to avoid BiBTeX export of this entry to be problematic." plus a link to more extensive documentation?
[ ] Author names containing the word "and" (e.g. institutional authors) should somehow escpae this "and" with braces on BiBTeX export
[ ] Unit testing: also make unit tests for the EXPORT of bibtex from utf8 data, besides the import tests
[ ] Bibtex: It would be good to apply conversion to all parts of the imported string except inside $...$ and \(...\) and other math patterns. For instance, there are many papers with "$\lambda$-calculus" in the title; those in non-English languages might well have bibtex codes for accents as well outside the math parts. One wouldn't like users to see those bibtex codes.
[ ] Bug of kmeyer: on failed bibtex import, no error was shown, but simply an empty list of publications. If the import data is not empty, and no entries are found, a warning should be output!
[ ] Related to the bug above: in general, the error output for bibtex import is also not informative enough in general.
Performance
[ ] Issues with memory and large attachments. see forum
Other
[ ] more character conversions in aigaionengine/libraries/bibtex2utf8.php
[ ] tracker and tracker 2: currently, it is possible to have multiple installations sharing the same codebase. This is however underdocumented, and also needs some hacking. Improvements: documentation; integration with installscripts; separate aigaionengine (php code) from web content (icons, css files, javascript, etc) so the engine can be moved out of the web root to another place; use a separate attachments directory for each installation by default; allow themes to be restricted to particular installations.
[ ] Before updating the codebase for an installation that might have many (registered or anon) users, an admin user should be able to suspend all other user activity, and preferably display a message indicating when the bibliography is expected to be usable again.
[ ] Look at jsMath for displaying the math-bibtex code that is still present in titles and such (with profile option 'use_js_math' for displaying bibtex math)
[ ] For all commands that are left unconverted in the internal representation, Aigaion could interpret them when displaying fields of publications (as list or single, but not edit of course) or authors. This can be done in a helper or a library class. Elements to convert: \_ \{ \} etc can be converted to their unescaped non-bitbex form; grouping braces { } can be suppressed; font changing commands such as \textsc can be interpreted as spans with a css style; formatting of months; ...
[ ] move hashes in filenames to a hashnamed DIRECTORY in which the file is stored (forum and forum)
[ ] the search form should remember (and allow adjustment of!) the last search
[ ] streamline combination of [request] and [email] options (see also forum)
[ ] bookmark controls for search results and "n most recent" and "all Unassigned" (see also forum)
[ ] export controls for search results and "n most recent" and "all Unassigned" (because guest users don't have a bookmark list) (see also tracker)
[ ] sorting control for search results tracker
[ ] Auto generate bibtex_ids Forum Tracker
[ ] Tracker#83: Remove (or fix) the button for browsing "Recent" publications.
[ ] (nr of pubs / nr read) indicators for topics should be shown also when browsing a specific topic, following Øyvind's suggestion (see forum)
[ ] access rights icons should not always be visible, especially in list views and for guest users
[ ] Tracker#81: Simultaneous users of the same guest account should be able to collapse or expand the topic tree independently. Similarly for bookmarking, display options, etc.
[ ] Forum msg about attachment names and directories
[ ] A maintenance function that converts all bibtex character codes in the database into UTF8
[ ] Report to admin users when index.php needs updating after upgrading to a new version.
[ ] OAI-PMH
[ ] look for latest OSBib formatting...
[ ] look at biblatex: how would it fit (or not) with Aigaion? Would biblatex support mean that non-biblatex users suddenly have problems with their bibtex? Before implementing anything, a preliminary assessment of the potential impact of biblatex support in Aigaion is needed. See also: biblatex documentation
long(er) term
And then there must be dozens of other global future aims, such as more import and export formats, modules for integration with pubmed and other existing systems, cite-while-you-write plugins for OpenOffice (it should be well possible to make an API controller for Aigaion that allows one to query Aigaion and get XML formatted data back), etc.
Boldewyn and Andreas mentioned ideas for a plugin mechanism. That would help others making it easier for people to contribute.
The maintenance functions could be extended with many very useful things
Some comments mostly relating to major features are also on the forum