To report Gnumeric bugs, please visit bugzilla.gnome.org. This file is used as a scratch pad by developers. It is a list of known issues that need to be addressed. Divided into, things that will prevent release, and longer term bugs. ------------------------------------------------------------------------------- Release Critical ---------------- - hidding col/row headers should not hide outline symbols - header selection broken when there are groups In Progress ----------- Jody - xlsx chart axis export - data slicers - CELL translation & array handling - INDEX range res, iteration - ExprEntry extensions - Tool to filter dups - python wrapper for libspreadsheet - mis-export of array expr http://bugzilla.gnome.org/show_bug.cgi?id=322096 : s/range_equal/gnm_range_eq/ Review ------ - func name translation {Manny} - merge libgda port Target Features --------------- - insert cut - clipboard handlers in plugins - load/save of external references - all the merged cell singleton bugs - scripting Short term goals ---------------- - Use go_glade_signal_connect (and friends) - ={A1:A3+rand()} only calls rand() once. Misc stuff that should be fixed ------------------------------- - Missing undo/redo for - Freeze panes (tricky this is a view attribute) - `Add Scenario' Portion of Solver - cols/rows : Make unhide smarter to find hidden regions on either side of selected ranges. : drag based col/row resize should support negative sizes to correspond to hiding. : support delete for discontinuous ranges Worries ------- : range_translate in stf.c looks suspicous. : Add bounds checking of integers on the xml based importers : do bounds check in excel_get_text : Select graph, Copy, and paste to Emacs: used to crash, but now it just g_barfs and pastes empty string. - Create new type string/double/int (not bool) for BIN2DEC etc. - Allow missing arguments that are not '?' for ACCRINT. - TestForBiffConsumer : #REF ?? - accrint-test.xls : why fail ? - BAHT functions - broken-name.xls - database_test.xls - div0-xp.xls - edward~1.xls - eng.xls - XL returns real numbers as strings from complex functions - Check difference in besseli - errors.xls : calc of interest : #REF on sheet2 - extract-clean-new.xls : loss of data in col A ? - furigana.xls : #NAME? - global_calling_placeholder.xls - named-expr-95.xls - named-expr-97.xls - operand.xls - pivot-edited.xls : odd colours in the 'the range that contains' box - store and persist view modes - fix bogosity of 'ant' cursors being in sheet_view and having the app contact them. ------------------------------------------------------------------------------- Pending Patches --------------- Blocked Patches --------------- ------------------------------------------------------------------------------- Architecture Changes -------------------- - Merge wb_control_init_state and wb_control_set_view - Use gtk_window_group_new to keep wbcg's distinct 1) things to move into libgoffice 1.1) plugin-manager dialog 1.2) doc meta data 1.2.1) doc meta data dialog {Trelane and etrunko} 1.3) Insert hyperlink dialog 1.3.1) Integration with evo address book 1.4) move password dialog to goffice 2) Font handling (move to GOFont) 4) AutoFilter [share functionality with slicers] 4.19) Change value entries in expr dialog into combos 4.4) 2nd value in expr dialog only if 1st is active 4.25) Undo redo support for ins/del col/row with filters 4.27) combo contains start to end of continuous region not just the end of the selected region 4.34) Tooltip on combo with the current filter details 4.35) Change icon in combo from arrow to filter instead of changing colour 4.36) Support Office 2007 toggle selection 4.37) Add fun new types (std dev) 4.38) Add new condition types from style-condition 4.39) Look at merging style-condition and filter 4.40) col selector to autofilter dialog ala OOo 4.45) MOOX 4.45.1) import 4.45.1.1) top10 (DONE) 4.45.1.2) items 4.45.1.3) custom 4.45.1.4) dynamic 4.45.2) export 4.45.2.1) top10 (DONE) 4.45.2.2) items 4.45.2.3) custom 4.45.2.4) dynamic 4.51) #383400 : '95' should match 95 22.52) Clipboard ?? do we want this ? 4.53) Support Office 2007 toggle date based buckets 5) Data Slicers 5.1) I/O) 5.1.1) MOOX {David Thorne/Jody} 5.1.1.1) import 5.1.1.1.1) Cache Definition (DONE) 5.1.1.1.1.1) Groups (DONE) 5.1.1.1.1.2) Sources (DONE) 5.1.1.1.2) Cache Records (DONE) 5.1.1.1.3) Table 5.1.1.1.3.1) Basic (DONE) 5.1.1.2) export 5.1.1.2.1) Cache Definition (DONE) 5.1.1.2.1.1) Groups (DONE) 5.1.1.2.1.2) Sources (DONE) 5.1.1.2.2) Cache Records (DONE) 5.1.1.2.3) Table 5.1.1.2.3.1) Basic 5.1.2) xls {Jody} 5.1.2.1) import 5.1.1.1) Basics (DONE) 5.1.1.2) sources (DONE) 5.1.1.3) Groups (DONE) 5.1.2.2) export pivot cache 5.1.2.1) create streams (DONE) 5.1.2.2) records (DONE) 5.1.2.2.1) SXDB (DONE) 5.1.2.2.2) SXFDB (DONE) 5.1.2.2.3) SXDDB (DONE) 5.1.2.3) streamId record 5.1.3) ODF 5.2) Data Structures 5.2.1) Cache & Fields 5.2.2) Slicer & fields 5.3) Control Logic 5.3.1) Sort by display fields (DONE) 5.3.2) dump as if all are row fields (DONE) 5.3.3) Grouping (DONE) 5.3.4) Aggregations 5.3.5) Filters ('page') 5.4) Undo/Redo 5.4.1) refresh 5.4.1.1) stub (DONE) 5.4.2) reconfigure 5.4.3) delete 5.4.4) create 5.5) UI 5.5.1) actions (DONE) 5.5.1.1) stub (DONE) 5.5.1.2) context sensitive (DONE) 5.5.2) context menu 5.5.2.1) hook it up (DONE) 5.5.3) field dialog 5.5.3.1) stub (DONE) 5.5.3.2) re-order fields 5.5.3.2) re-order fields 5.5.4) cell combos 5.5.4.1) create (DONE) 5.5.4.2) display for headers (DONE) 5.5.4.3) support toggles (DONE) 5.5.4.4) Add ok/cancel buttons 5.5.4.5) filter/sort options 5.6) Functions 5.6.1) GETPIVOTDATA signature 6) Undo/redo improvements 6.1) Keep a .swp style log of user actions {Dan Hall} 6.2) Restore Row heights in CmdFormat::undo 6.3) X-GNOME-Bugzilla-ExtraInfoScript=myscript 7) Drag and Drop {Jon Kare} 7.1) Common code framework for dnd and X/W32 clipboard 7.2) Find a better place than SheetControlGUI for dnd code 7.3) More formats, at least html and text 7.6) Autoscroll in 1 dimension and movement in other 8) Rich Text 8.13) xls 8.13.3) collect fonts from markup for export 8.13.3.2) comments (partial) 8.13.3.2) text boxes (partial) 9) RTL 9.1) Drawing 9.1.2) item-cursor 9.1.2.4) re-position the autofill handle 9.1.4) item-edit 9.1.4.4) right alignment editing 9.1.4.4) center alignment editing 9.1.4.5) rotation 9.1.5) wbcg/scg/pane 9.1.5.10) autoscroll 9.1.5.10.3) object drags outside window 9.2) spans 9.2.2) Respect style selected dir 9.2.3) add 'context' selected text dir 9.3) Model 9.3.10) swap action icon depending on state 9.3.11) Add entry to format dialog to set text dir 9.4) Persistence 9.4.5) csv 9.4.6) html 9.4.7) latex 9.5) Printing 9.5.7) init preview scroll to right in rtl mode 9.5.9) Patterns 9.7) Add entry to tab context menu (do we need ?) 9.11) sheet objects 9.11.7) set direction of views 9.12) preview grid ?? 9.12.1) do we need/want the autoformat examples to swap dir ? 10) Functions - Function range_min_k uses an O(n*log n) algorithm. It should use O(n) algorithm, see Knuth. - Suport >100 style for SUBTOTAL - docs : Make 'func is foo compatible' a flag on the importers : need conventions for including markup - simple bold/italic/font - links - embedded images ?? - Support parsing and displaying locale specific function names. - When loading a function that already has a definition (such as a stub), we're in trouble: (a) we just overwrite the old definition in the symbol table, (b) both old and new owner want to remove the symbol on exit. We should somehow steal the old definition (and complain unless the old was a stub) without changing the GnmFunc address. On exit we should explicitly check that it is ours to remove. - examples 1) A registry of named data tables to reference from examples 2) The example text should have the expr in C locale ?? how to reference the sample data ?? : HARMEAN with no arguments (or just strings/booleans) should yield N/A, not NUM. : MAXA,MINA with no arguments should yield N/A, not NUM. : STDEVPA,VARPA with no arguments should yield VALUE, not DIV0. : STDEVA,VARA with 0-1 arguments should yield DIV0, not VALUE. : DEVSQ with no arguments should yield #NUM, not zero. ? How did you enter this. xl-2k refuses to parse that ! Import from a .csv file. : tie the custom ui into action sensitivity pools : support array evaluation for =LARGE and friends : ISREF is a list function ? 11) Conditional formats 11.1) Data Structures in the core 11.1.5) Check re-merging on change 11.1.6) Check merging of auto pattern colours on link 11.2) Gnumeric XML 11.2.3) Add to .xsd schema 11.3) MOOX 11.3.1) import 11.3.2) export 11.6) Evaluation 11.6.3) Optimize constants (=1) 11.6.4) Optimize non-position dependent (=$A$1>3) 11.7) Rendering 11.7.5) Long spans 11.8) Printing 11.8.5) Long spans 12) Input Messages 12.1) Implement 12.1.1) Data Structure to store it (DONE) 12.1.2) Display them 12.2) UI to modify them 12.6) ODF 12.6.1) import 16) Protection limits for selection 16.2) I/O 16.2.1) Gnumeric 16.2.1.1) Extend XSD 16.2.1.2) SAX Export {partial} 16.2.1.3) SAX Import 16.2.2.4) DOM Import 16.2.3) ODF 16.2.3.1) Import 16.2.3.2) Export 16.3) Honour flags for Return/Tab 16.3.1) Return/Tab 16.3.1.1) Initial (DONE) 16.3.1.2) Wrap around 16.3.1.3) Optimize finding next unlocked 16.3.2) mouse click (DONE) 16.3.3) range selection (DONE) 16.3.4) keyboard range extension 16.3.4) select all 16.3.5) cols/rows 17) Explicit Page Breaks 17.3.3) ODF 17.3.3.2) Export {merge breaks and styles} 17.3.4) Lotus ? 17.3.5) Applix ? 17.3.6) Create User Interface for them 2) stf 2.4) Provide an optional mechanism for specifying the target location useful for text to columns, and import into sheet 2.8) Make listed separators locale dependent (ie translators should be able to define separators) 2.14) Implement format guessing. 2.15) Put big "best guess" button on front page. 2.17) Tabs: handle optional expansion. 3) hlinks 3.4) XLS export (6.10) 3.4.1) fix import of short names without long names 3.5) ODF 3.5.1) import 3.5.2) export 3.6) Entering text of the form scheme://blah or a@b.c should insert hyperlinks 3.7) HYPERLINK function should create link. 6) XL 6.5) Intersection, union and set export 6.12) Set operand classes 6.12.3) check target type of range/intersect 6.13) image export 6.13.1) Excel95 6.13) chart import 6.13.8) Axis 6.13.8.5) double axis import on simple_bar2 6.13.8.6) high/low flag is for partner not self 6.13.9) Gradients 6.13.9.5) From center 6.13.9.6) From corner 6.13.9.8) Two colour alpha (is this possible) 6.13.9.10) One colour alpha (is this possible) 6.13.9.11) presets 6.13.10) override auto series indexing for xls 6.13.11) error bars 6.14) chart export 6.14.1) Infrastructure 6.14.1.4) collect fonts 6.14.1.5) collect fmts 6.14.1.6) Create a NullRenderer for measurement 6.14.1.7) Handle multiple charts in a graph 6.14.1.8) spid group allocation for gradients 6.14.5) Axes 6.14.5.2) discrete axis 6.14.5.4) handle area plot axes 6.14.5.5) radar plot axes 6.14.5.7) label fmt 6.14.6) Area Formating 6.14.6.3) Gradient 6.14.6.3) Image 6.14.8) labels 6.14.8.1) Content 6.14.8.2) Placement 6.14.8.3) Markup 6.14.8) Legends 6.14.8.2) Exceptions 6.14.9) error bars 6.14.11) Singletons 6.14.12) Grid lines 6.14.12.1) Import 6.14.12.2) Export 6.15) Store and round trip macros (functional, but could be prettier) 6.15.7) generate CompObj stream 6.15.8) generate property streams to get the flags 6.15.9) Look into Michael's vba compressor 6.17) Excel95 object export 13) UI 13.1) Zoom 13.1.1) Add a 'global' flag for the zoom dialog 13.1.2) Zoom to selection 13.2) Formula Guru 13.2.1) Fix keyboard interface 13.3.1) Item Edit 13.3.1) Mouse select range 14) Polish up Open and Save 14.3) sort the file types by precedence and recently used 14.4) do we want to persist recently used ? 22) Validate from List 22.11) Odd .xls storage of aa,bb,cc 22.13) ODF 22.13.1) import 22.13.2) export 29) gconf. 29.1) Check for errors (DONE) 29.2) update on remote changes 29.3) see if schema is installed (DONE) 29.4) Move the pref storage into app and compartmentalize (DONE) the use of gconf. 29.5) update the preference structure on local changes (this is an automatic consequence of 29.2) 29.6) Lockdown (from libgnome/schemas/desktop_gnome_lockdown.schemas) 29.6.1) /desktop/gnome/lockdown/disable_save_to_disk 29.6.2) /desktop/gnome/lockdown/disable_printing 29.6.3) /desktop/gnome/lockdown/disable_print_setup 30) Cleanup importers/exporters 30.1) multiple extensions for exporters, with a default 30.2) flag/virtual for an imp/exp to flag viability with current context 30.4) remove bogosity of function pointers that are unused in the base instance. 30.5) Allow import of multiple views {jody} 30.5) Allow export of multiple views {jody} 31) sylk 31.1) importer 31.1.9) hidden cells 31.1.10) cell protection 31.1.11) comments 31.2) exporter 31.2.4) column widths 31.2.5) formats 31.2.6) fonts 31.2.7) styles 31.2.9) hidden cells 31.2.10) cell protection 31.2.11) comments 31.2.12) array row sep ';;' 32) SheetObjects 32.2) Add acetate_create virtual to handle shaped objects. 32.5) Use delta from start of drag rather than previous movement 32.8) Add ability to fix aspect ratio of drag resize 32.10) research the other xl object flags. 32.13) selecting object with other objects on top of it should hide them while editing 32.14) ngettext for insert/delete objects undo message 32.15) Check the stacking of ctrl pts when moving multiple selections 32.17) Combos 32.17.2) XLS 32.17.2.2) export 32.17.3) MOOX 32.17.3.1) import 32.17.3.2) export 32.18) Lists 32.18.2) XLS 32.18.2.2) export 32.18.3) MOOX 32.18.3.1) import 32.18.3.2) export 32.19) SheetObjectGroup 32.20) editing text boxes (do a derived FooCanvasEditableTextItem) we can steal some of the xim support from item-edit. 32.21) rich text for objects 33) Rotated text 33.2) Create new span type so drawing can overflow cells. 33.3) Draw borders sheared. 33.4) Draw background sheared when border present. 35) Accessibility We can use http://bugzilla.gnome.org/attachment.cgi?id=47315&action=view as a template 36) OpenDocument (ODF) 36.2) Import 36.2.4) col/row manual vs auto 36.5) See 12.6 (Input Messages) 36.7) See 22.13 (Validation) 36.10) See 5.3 (pivots) 36.11) See 17.2.5 (page breaks) 37) MOOX 37.1) Import 37.1.2) Named expressions 37.1.3) Rich text 37.1.6) More print settings 37.1.6.1) PI:{error_display,comment_placement} 37.1.7) Comments 37.1.8) Text direction in styles 37.2) Export 37.2.2) Named expressions 37.2.3) Rich text 37.2.6) More print settings 37.2.6.1) PI:{error_display,comment_placement} 37.2.7) Comments 37.2.8) Text direction in styles 38) Printing 38.3) PI:comment_placement 39) Lotus filter 39.1) http://www.openoffice.org/issues/show_bug.cgi?id=84496 Lots of juicey warnings. Although we do seem to handle the sheet names correctly. 41) win32 41.1) Fix preview [#533795] 41.1.1) port over evince based preview from unix 41.1.1.1) port it 41.1.1.2) patch glib [#566348] 41.2) python installation [#549387] 41.2.1) pygobject build fix 41.2.2) automate pygobject build fix 41.2.3) package pygobject 41.2.4) install pygobject 41.6) long pause between license and screen ? 41.7) version dll.a the same way the .dll is handled 41.8) Add MS Office processing instruction hooks for us 41.10) Check registry/gconf wrapper autoformat ---------- - leaking styles when an edge is disabled - consider either using the users data as a sample, or at least making the sample adaptive based on which edges are disabled. auto-fill --------- - The autocalc label should use a more readable format and should not get clipped. - Names : references in names do not get changed with cut/paste or ins/del row/col. How to handle relative references in names ?? here. : Dialog * We should start with the expr entry set to either the current cell, or by selecting the first named expression in scope that contains the current cell. : Handle pasting an expression with an un-qualified sheet local name into another sheet - clean up the range_list codes to differentiate a list of ranges from a list of cellranges. - The max row/col canvas scroll size is still hard coded. - let's add simple commands like inc/dec font size and things like that. - Auto resize needs to handle empty cells. - Styles : improve uniform_get to handle full sheet more quickly. : Borders * use new border code for cell format dialog (possibly preview-grid) Import/Export ------------- : Look into octave/matlab filters : look into maxima : Talk to shaunm about mathematica Clipboard --------- - May be not export html as table when just one cell is selected. General Ideas ------------- - A connection to swivel (www.swivel.com) - Sugar/OLPC UI & collab - Add 'send a frown/smile' button - 'fish eye' zoom to around selection - treemap for hierarchical data - conditional / computed formats : referenced styles (eg for time sheets) : GnmColor computable to move the calculated aspect into the actual selectors - 'Custom' autofilter type to eval expr per cell - autofilter : refresh - macro hook in validation to run proc if valid /* vim : ai, ts=8, sw=4, expandtab */