Changeset 6653


Ignore:
Timestamp:
2004-01-29T14:24:47+13:00 (20 years ago)
Author:
jmt12
Message:

Migrated todo list into buglist

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/buglist/status.txt

    r6640 r6653  
    21672167Change the procedure. Copy all the files first then search for metadata from this new folder? Read in the existing metadata and somehow process it so that its all namespaced?<br>Wrote new class for importing legacy metadata.xml files prior to GDMManager seeing them.
    21682168
    2169 203B325
     2169241B325
    21702170Reading in non-gatherer config files - not handling quotes properly for format statements. If you read in a collectionmeta surrounded by ' ', then internal " end up being written out escaped. But for format statements, they get written out as is, breaking the format.
    21712171NZDL
     
    21752175Work out why these two are different and fix.<br>Extended GREENSTONE_TO_DOM codec to account for speech marks and apostrophies that hadn't yet been escaped, let alone converted to be DOM safe.
    21762176
    2177 203B326
     2177241B326
    21782178dls.Subject(Subject and Keywords) - this is acting weird in classifier configuration - you double click on the classifier to open up the controls, and dls.Subject is not selected - matching problem?
    21792179NZDL
     
    21832183Fix.
    21842184
    2185 203B327
     2185241B327
    21862186Format statements - all the default ones appear in the list and end up being written to the config file - so now you have eg a DateList format statement with no Date classifier.
    21872187NZDL
     
    21912191Remove DateList format string<br>Far too much work for so little return
    21922192
    2193 203B328
     2193241B328
    21942194Opening a non-gatherer collection. If no metadata sets are added then don't bother looking for metadata? Or does it stop after the first prompt anyway?
    21952195NZDL
     
    21992199Investigate
    22002200
    2201 203B329
     2201241B329
    22022202Close a collection, open a collection, don't do anything on the Gather pane, then switch to the Enrich pane. No files are shown.
    22032203NZDL
     
    22072207Ensure new collection message propagated to all visual components<br>Although I've also had this problem once in the past, I can't seem to repeat it now. So unless someone can predictably repeat it there isn't much I can do.
    22082208
    2209 203B330
     2209241B330
    22102210Prevent the user copying files from the import directory of the currently loaded collection (workspace tree) into the collection tree. This causes all sorts of problems.
    22112211NZDL
     
    22152215Either a) check for and block these invalid file actions, or b) prevent files in the import folder (workspace tree) being selected at all (ie. grey them out). Hiding the currently loaded collection in the workspace tree is <i>not</i> an option.<br>Now all file nodes know whether they are in the currently opened collection and refuse to be dragged if so.<br>Icons complete
    22162216
    2217 203B331
     2217241B331
    22182218Trying to change from MG to MGPP crashes out with a ClassCastException if no indexes assigned
    22192219NZDL
     
    22232223Caused by trying to sort a list of no indexes with the natural order comparator
    22242224
    2225 203B332
     2225241B332
    22262226Should the term 'metadata' be a special term in the indexes list for mgpp collections - cos its still legal.
    22272227NZDL
     
    22312231Despite some people thinking it wouldn't be much use, I'll add this back in as it is needed for legacy support<br>It's back in. I wonder if we shouldn't consider making these multilingual - however that would require significant changes to various scripts.
    22322232
    2233 203B334
     2233241B334
    22342234If configure a classifier whose metadata is dls.Subject, it doesn't match the dls.Subject in the metadata list, and so its set wrong in the controls.
    22352235NZDL
     
    22392239Check how the names are matched<br>Was matching the wrong strings
    22402240
    2241 203B335
     2241241B335
    22422242Currently assigned levels in mgpp collection. The default is document if no levels are indicated - should the gatherer put in document if none are specified?
    22432243NZDL
     
    22472247Add in this as the default behaviour<br>Document level is now there by default. In fact its added if there are no current levels, if its the only level you can't remove it, and if you do somehow manage to remove it it gets added back straight away.
    22482248
    2249 203B336
     2249241B336
    22502250Saving a collection causes the inherited metadata icons to disappear
    22512251NZDL
     
    22552255Ensure inheritance data isn't being stompped, and if not determine why repainting table doesn't repaint icons<br>The problem occured because the pre-save metadata 'purge' wasn't being called (I'd obviously added an extra boolean argument, but had forgotten to increase the number in the call. Worse still this was an overrided method and one of the other methods happened to match!)
    22562256
    2257 203B337
     2257241B337
    22582258Importing metadata from legacy files currently requires GDMLoader and a large cache. This has to change if we want to avoid the Out Of Memory problem on large collections
    22592259NZDL
     
    22632263Was reinstated for legacy collection importing. Need to move the namespace adding code to its own pre-load stage where it gets completed before the GDMManager is loaded.<br>LegacyCollectionImporter class written, which goes through the legacy collections metadata prior to the GDMManager being loaded, and ensures its all properly namespaced - prompting the user for how to merge elements as necessary. Its unfortunate I had to write a new class but if turns out to be far more efficient than trying to further extends GreenstoneMetadataParser to cover this special case (where the file/folder isn't important and where we only want to touch each metadata.xml file once - as compared to several times when determining inherited metadata). Regardless the new class now only ensures the metadata.xml files are compatible (in terms of namespacing and subject hierarchies), but also prebuilds the element value trees based on what it finds when it parses the hfiles (which it has to do anyway).
    22642264
    2265 203B338
     2265241B338
    22662266Need to add help text for new features: opening legacy collections, exporting to cdrom.
    22672267NZDL
     
    22712271Do it.<br>Done it.
    22722272
    2273 203B339
     2273241B339
    22742274Previewing collections. Need to add code for MACs. Under linux, it currently uses the file association for html files. However, this could be used for editing html files, so instead want a separate browser setting. perhaps changeable in  the preferences page.
    22752275NZDL
     
    22792279Implement suggestion<br>The first time you try to preview a collection GLI will ask you to enter the command used to launch the preview browser using a derivative of the FileAssociationDialog. However from then on you change the launching command via the Preferences->Connection view. The command itself is stored in the GLI's configuration file.
    22802280
    2281 203F340
     2281241F340
    22822282Exporting collections to cd. Need to make a nicer result dialog - message at top, then script output in a separate scrolling box.
    22832283NZDL
     
    22872287Done, but as a side effect of fixing modal dialog hang and progress bar.
    22882288
    2289 203A341
     2289241A341
    22902290If you drag copy files which have associated metadata, but you have no metadata sets in your collection, you recieve a warning. If you click OK you are immediately faced with another warning. Then another. One for each file. Could we please have it so you only have to say OK once per drag action.
    22912291NZDL
     
    22952295Add another flag created for each file copy action, which records if the user has already seen and dismissed the WarningDialog.<br>You are now only warned once for each independant file action.
    22962296
    2297 203A342
     2297241A342
    22982298Once you have build a collection you are presented with a WarningDialog. Couldn't this be a less worrying MessageDialog instead?
    22992299NZDL
     
    23032303Subclass WarningDialog and replace 'warning' strings with 'message'. This may also require a change to the terminology in the prefences dialog to ensure people know where to look to find the hide/unhide for this dialog
    23042304
    2305 203F343
     2305241F343
    23062306On the general design pane can we show a preview thumbnail of the icons, rather than a cryptic path with doesn't mean much to anyone?
    23072307NZDL
     
    23112311Dig out the thumbnailing code present in Hermes (GLI 0.1), and use thumbnail images rather than path. Will require a little shuffle around of components<br>This is on hold until the strings come back from translation so I can see if its possible to chop "URL to" off the front of them.
    23122312
    2313 203F344
     2313241F344
    23142314The ImportSet dialog needs simplifying in much the same way that the open collection dialog was.
    23152315NZDL
     
    23192319Create a SimpleImportSetDialog - however I have to be sneaky and mostly reuse strings already present in dictionary
    23202320
    2321 203F345
     2321241F345
    23222322In format statements you're not allowed to put in 'ex.' for extracted metadata. We should use 'ex.' consistantly throughout GLI. If in Greenstone you encounter 'ex.' strip it
    23232323NZDL
     
    23272327Changing GLI so as to always show the namespace, including ex, shouldn't be to hard. A more difficult task will be changing Greenstone to make it aware of the ex namespace
    23282328
    2329 203F346
     2329241F346
    23302330GLI Preferences panel - Modes: Geek vs Library tech support vs Librarian vs Librarian Assistant depending on whether you understand (a) running PERL scripts, and (b) regular expressions. Suppress stuff on Create and Design panels according.
    23312331NZDL
     
    23352335I don't know if I appreciate being referred to as a Geek! Anyhow the last two categories as easy to implement (make use of workflow code already in place) but the separation between the first three could be trickier. Redesign views involved to have different appearances depending on the mode setting. Also suggested was simplified messages in the log. This can easily be implemented once the non-language dependant markup has been added to perl scripts.
    23362336
    2337 203F347
     2337241F347
    23382338Allow for any -metadata argument to plugins, classifiers etc to be a comma separated list. This will address the problem of metadata spread over several namespaces (ie ex.Title, dc.Title and dls.Title) and also allow a user to indicate preferred ordering.
    23392339NZDL
     
    23432343GLI can be easily extended, although the control itself - a mixture of a combobox, list and two buttons - might need some refinement. Extending Greenstone to provide this added functionality is of course a different story
    23442344
    2345 203B348
     2345241B348
    23462346Several plugins still choke on filenames that include space
    23472347NZDL
     
    23512351Fix plugins - it seems in several instances the only reason they're dying is an explicit assert preventing spaces - yet there seems to be no good reason for it
    23522352
    2353 203B349
     2353241B349
    23542354Make images links in HTMLPlug work even when they're in a folder whose name contains an extended latin character (it already escapes space, but not accented letters)
    23552355NZDL
     
    23592359While this is mostly Greenstones problem, as ImagePlug is responsible for extracting 'images', GLI might be helping to propagate this problem by writing a malformed value into the metadata.xml<br>GLI no longer writes extracted metadata to metadata.xml in such a way that Greenstone will incorrectly reassign the values over and over.
    23602360
    2361 203B350
     2361241B350
    23622362If you change the thumbnail size in ImagePlug (say to 50), the change is not reflected in any ex.thumbnailsize metadata previously extracted
    23632363NZDL
     
    23672367A combination of two problems: (1) Extracted metadata, in order for it to be available when you open a previously built collection, is stored in the metadata.xml files. However the second, and subsequent, times the Greenstone scripts are run this metadata is reassigned. Thus even if the thumbnail size changes, both values - the original and the new one - for the size will be available as extracted metadata, and (2) No attempt is currently made to remove obsolete extracted metadata as I had (incorrectly) assumed it would be pretty static.<br>The first problem has been addressed. While extracted metadata is still stored in the metadata.xml, it is now saved in an element named 'XMetadata', which is not recognized by Greenstone which only looks for 'Metadata' elements<br>Second problem fixed. Again I'd used a forward counting for loop - what was I thinking? Also shifted the whole thing out of the actually Archive parsing code, and made a method which removes all the extracted metadata at once (far more efficient ie 10 times faster)
    23682368
    2369 203F351
     2369241F351
    23702370Export to CD-ROM. Progress bar needed
    23712371NZDL
     
    23752375An indeterminate progress bar is in place - but a more accurate progress bar is being postponed until the details of the non-language specific perl output markup is complete
    23762376
    2377 203B352
     2377241B352
    23782378There is a memory leak caused by PreferencesPane reregistering components with the dictionary over and over
    23792379NZDL
     
    23832383Unregistering code needed - previously not necessary as all other 'temporary' components didn't need to be live in the case of a dictionary change. Preferences however - but design - is always active when the dictionary changes.<br>Put the unregistering code back in.
    23842384
    2385 203B353
     2385241B353
    23862386Cancelling the autofilter dialog also removes any current filter for that column
    23872387NZDL
     
    23912391Ensure that the cancel action doesn't call the clear filter methods (as it used to before the remove filter button was added)<br>Done
    23922392
    2393 203F354
     2393241F354
    23942394Allow free editing of the collect.cfg - to allow commenting etc
    23952395NZDL
     
    23992399This of course was the reason I rewrote the entire CDM to use a DOM as its model. My previous data model caused all non-recognized commands in the config - including comments - to be pushed to the bottom of the collect.cfg gli wrote out. Now that the DOM is in place a free editor shouldn't be too dificult - simply use a list proxied onto the DOM and treat adding/removing a list entry as adding/removing a node in the tree.
    24002400
    2401 203F355
     2401241F355
    24022402Extend the dls.mds to be multilingual.
    24032403NZDL
     
    24072407Download as many translations as I can from dublincore.org<br>Languages Remaining (in order of priority):<br>Italian<br>Gernam<br>Portuguese<br>Turkish<br>Greek<br>Finnish<br>Japanese<br>Thai<br>Ukrainian
    24082408
    2409 204B356
     2409250B356
    24102410Dialog Modality. The built in method of dialog modality supported by the Swing libraries is not only buggy, but also has the draw back of modality applying to all open frames and dialogs. As we want people to be able to open an interact with a help frame even when a 'modal' dialog is displayed we needed a slightly different approach. Thus we developed a different method of modality. The idea was to essentially hijack control of the AWT event dispatch thread while the modal dialog is open, only allowing non-user events to be passed to the parent dialog. Furthermore it was planned that this only has effect within the current frames component tree by utilitizing a component TreeLock. While this provided necessary functionality in terms of multiple frames, it has also been found to be buggy, causing several problems when attempting to display dialogs from outside the AWT Thread, and when attempting to close the GLI. Some concrete examples of the problems caused by Modal dialogs are:<br>1. If, in the Design view, you enter a collection title that is already in use, and then immediately click File->Exit, the modal dialog warning of the title clash causes GLI to hang during shutdown.<br>2. If you have a modal dialog open, switch to another application which causes a repaint of the entire screen, then switch back to GLI, the modal dialog is hidden and there is no way to restore it.
    24112411NZDL
     
    24152415There are two things that need to be done. Extra code must be added to ensure that attempting to acquire the TreeLock doesn't result in Deadlock. This may be as simple as always opening modal dialogs from the AWT Thread using swing workers. Secondly we must ensure that either WindowEvent events are processed properly (which I'm fairly sure they are) and that if a modal dialog is open WindowEvents such as WindowDestroy are vetoed somehow.
    24162416
    2417 
    2418 
    2419 
     2417250F357
     2418Perhaps add an 'I'd like to complain' + Automatic bug reporting.
     2419NZDL
     2420All
     2421NA
     2422Pending
     2423An honours student is currently working on this feature.
     2424
     2425250F358
     2426Turn GLI into an applet. Break into independent modules, and add security.
     2427NZDL
     2428All
     2429NA
     2430Pending
     2431Due to the 'research' growth nature of the GLI, I'm afraid whatever modularity and good oo-design it once had has been severely undermined by interclass communication. In order to begin providing modularity (ie not even including the compiling Mirror type code unless you choose it) the boundries between class would need to be clarified, and I'm afraid nothing short of a rewrite from scratch is likely to do that (think throw-away prototype). However due to the considerable effort and expense already invested durin Beta testing, perhaps more surgical efforts need to be made to separate 'modules'. Of course modularisation is required if you want to provide GLI as an applet and you don't want a rediculous download - furthermore it is necessary to address 250F360. And when designing or migrating to an applet it is necessary to address security, not only at the file 'sandbox' level, but also in terms of restricting access to certain collections. This might require user lists and other related information. All and all this is quite a mamoth task.
     2432
     2433250F359
     2434Separate mds and profile editing. Redesign to provide more natural access.
     2435NZDL
     2436All
     2437NA
     2438Pending
     2439The metadata set editing dialog was one of the last major components of the GLI to be envisioned - and it shows. It was only partially functional during beta testing, and even then it wasn't really testing. In fact, much like the Mirroring module, I believe it is best described as pre-alpha. While it is significantly better than the free text xml editing it replaced, there is still a lot of room for improvement especially in terms of user interaction. For instance making more use of the 'tree' structure paradigm and right click menus rather than columns and columns of buttons. The plan was to separate metadata set and import profile editing as they are distinct tasks - which were thrown together here for simplicity of code rather than any user specific reason.
     2440
     2441250F350
     2442Allow GLI to run without greenstone installed - eg just gather and enrich
     2443NZDL
     2444All
     2445NA
     2446Pending
     2447Related to 250B, this type of functionality is needed before we provide a 'spawned' version of GLI just for field operatives or the like. Currently there is significant dependancy on Greenstone within GLI, such as running the makecol scripts and determining where files are actually copied to. Any spawn version would have to have its own version of collection creation - plus would probably need work completed (read begun) on the collection 'Export' functionality.
     2448
     2449250F351
     2450Handle zip files
     2451NZDL
     2452All
     2453NA
     2454Pending
     2455By 'handling zip files' we mean allow GLI to treat a zip file like a folder much like the new WinXP behaves. Thus a zip could be opened, browsed, copied from just like any source folder. This would seem 'predestined' given that java already provides api methods for zip streams and handling.
     2456
     2457250F352
     2458Add back customAZlist
     2459NZDL
     2460All
     2461NA
     2462Pending
     2463A Custome AZList allows you to specify the various letter ranges into which files are grouped. An excellent example of how to do this is present in the Organizer. It was decided early on that it would be nice to include the same functionality in the GLI, but it turned out to be difficult to implement given the current system of metadata. The difficulty was adding custom AZ list metadata (to coerce the files into the appropriate range) but in correctly removing it especially when the user changes the ranges via classifier configuration. Current methods for mass metadata removal are slow and require traversing the entire collection. Regardless the skeleton for run time loading of custom classifiers, with out without custom configuration dialogs, is still supported.
     2464
     2465250F353
     2466WebRenderer - browsing from files, and previewing your collection
     2467NZDL
     2468All
     2469NA
     2470Pending
     2471If you have read the bug list you will have learned that there have been several stumbling blocks encountered when dealing with html rendering. One possible solution is the inclusion of software such as the excellent HTML renderer libary, WebRenderer, from JadeLiquid software. While this would allow for HTML rendering in GLI, including Applets, it has the serious drawback of being non-public license. We could at least support WebRenderer, but have JEditorPane or similar 'free' library as a fall back.
     2472
     2473250F354
     2474Test working remotely (gatherer and colls on different machines)
     2475NZDL
     2476All
     2477NA
     2478Pending
     2479Several feature requests revolve around remote access of GLI, where several users all use GLI to work on shared collections. While in theory remote access, via a locally mapped drive, is possible, no testing has been carried out on how well it works.
     2480
     2481250F355
     2482Detect if import needed before re building
     2483NZDL
     2484All
     2485NA
     2486Pending
     2487Currently the entire collection is reimported and rebuilt each time the user clicks "build collection". However there are specific cases in which import, build and both import and build need to be run. GLI could keep track of which action(s) are needed to rebuild the collection successfully.
     2488
     2489250F356
     2490Make help more context sensitive
     2491NZDL
     2492All
     2493NA
     2494Pending
     2495There are already several contexts under which the default Help pages shown are specific to that context. However even further sensitivity could be implemented, such as an error message offering to let the user read the appropriate help for that action (or whatever caused the error).
Note: See TracChangeset for help on using the changeset viewer.