KOffice – TDE office suite
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

505 lines
13KB

  1. This file describes the tasks at hand for making KSpread a better product.
  2. Legend
  3. ======
  4. Status field
  5. ---- No work has been done on this task yet.
  6. -- No work has been done on this subtask yet.
  7. DONE Task is all done
  8. done This subtask is done
  9. **** This (sub)task cannot be fixed with the current technology.
  10. It has to wait until something in the internals is fixed.
  11. INGE Inge is working on this task
  12. inge Inge is working on this subtask
  13. RAPH Raphael is working on this task
  14. raph Raphael is working on this subtask
  15. TOMA Tomas is working on this task (or planning to do so, at least ;))
  16. toma Tomas is working on this subtask
  17. LAUR Laurent is working on this task
  18. laur Laurent is working on this subtask
  19. ARIY Ariya is working on this task
  20. ariy Ariya is working on this subtask
  21. JOHN John is working on this task
  22. john John is working on this subtask
  23. STEF Stefan is working on this task
  24. stef Stefan is working on this subtask
  25. ...fill in your signatures here.
  26. Prio field
  27. S Involves string changes. Must be done before the freeze.
  28. 1 Important task. Should definitely be fixed.
  29. 2 Semi-important task. Should be fixed if possible, but can be
  30. moved to 1.4.1 if necessary.
  31. 3 Nice to have. Should be fixed if there is time. (yeah, right)
  32. Things to do before the release of KOffice 1.5
  33. ==============================================
  34. Item Prio Status
  35. ------------------------------------------------------------------------------
  36. General bugs
  37. ------------
  38. * Miscellaneous
  39. + Format->"Increase indent" sets cell alignment to left 2 DONE
  40. Things to do before the release of KOffice 1.4
  41. ==============================================
  42. Item Prio Status
  43. ------------------------------------------------------------------------------
  44. General bugs
  45. ------------
  46. * Crashes
  47. * Painting
  48. * Printing
  49. * Format
  50. + 87471: format of whole column does not change 2 ----
  51. * Load & Save, Import & Export
  52. + 87471: format of whole column does not change (actually import) 1 ----
  53. * Miscellaneous
  54. + 59510: Handles large spreadsheets "extremely" poorly. 2 ----
  55. This is perhaps already (partly) fixed, but might be
  56. very difficult to fix quickly if it isn't.
  57. + 60458: Inserting a row always creates cell with default number 2 ----
  58. format.
  59. + 70708: undo of series broken when range contains merged cells 2 ----
  60. + 84738: Inserting a new line does not copy right settings to 2 ----
  61. new line.
  62. * Investigate further if these are important.
  63. + 69285: Pasting directly into the cell edit box is not 2 ----
  64. subsequently saved when changing cells.
  65. Filter bugs
  66. -----------
  67. Things not in bugzilla
  68. ----------------------
  69. * Printing
  70. + printouts with zoom other than 100% (it's a missing feature, but 2 ----
  71. the GUI is there... - page layout, options, Scale Printout )
  72. + make print range work over more than 1 page 2 ----
  73. + Repeated rows and columns don't work if they don't start from 2 ----
  74. row/column 1. Also it is not possible to enter just one
  75. row/column into the dialog, it always has to be a range (2:3).
  76. - Make it possible to enter just one row/column into GUI, don't 2 --
  77. force a range.
  78. * Features
  79. + Add text frames and picture frames. It's currently not easy to 2 ----
  80. insert pictures!
  81. * Plugins
  82. Things to do after the release of KOffice 1.4
  83. =============================================
  84. * Bugs
  85. + If you select a row and chooses Data->"Remove columns", then 1 ----
  86. everything is removed. I think if entire rows are selected,
  87. "Remove columns" should be disabled. Besides, if you undo
  88. the operation, KSpread crashes.
  89. + If entire rows or columns are selected, then Data->"Insert cells"
  90. should be disabled.
  91. * OASIS file format
  92. + Read OASIS 1 LAUR
  93. + Write OASIS 1 LAUR
  94. * Internals (See also DESIGN.html)
  95. + Use the new StyleCluster. 1 RAPH
  96. This would dramatically reduce memory consumption and allows
  97. styles for empty cells.
  98. - Use new StyleCluster --
  99. - Remove old KSpreadFormat --
  100. + Speed up selection. 1 RAPH
  101. (probably improved with StyleCluster?)
  102. + Non-continguous selection 1 STEF
  103. + Rich text in cells. 1 ----
  104. Use KoText.
  105. + code cleanups to layout processing 1 ----
  106. (KSpreadCell::makeLayout/setCellText are nightmares!) (Tomas)
  107. setCellText is no longer a nightmare, makeLayout still is ;)
  108. + Evaluation of how best to increase floating point precision. 3 ----
  109. Suggestion: GnuMP. (Tomas)
  110. This will work by converting all functions to compute using
  111. ValueCalc, and nothing else, then modifying Value* to
  112. support GnuMP. The conversion step shall be done as a part
  113. of converting to the new parser.
  114. + code cleanups 3 ----
  115. - Merge Cell::checkForNamedAreas(.) into Oasis::decodeFormula(.).
  116. - Move Cell::convertFormulaToOasisFormat(..) to
  117. Oasis::encodeFormula to reduce the size of kspread_cell.cc
  118. and to have encoding/decoding in one place.
  119. - Check if all logic of Point and Range is materialized in Region.
  120. Replace all occurences of Point and Range by Region.
  121. - All util_foo funtions that act on Point/Ranges should become
  122. static members of Region.
  123. - Move all util_foo(..) functions to Util namespace and remove
  124. the prefix 'util_'.
  125. - Reduce amount of parameters for methods which takes many of
  126. them, e.g. Sheet::paste(). bools -> QFlags, static variables
  127. * GUI
  128. + Sheet layout: 2 ----
  129. - Move sheet properties to separate dialog.
  130. They are currently part of KSpread config dialog.
  131. + Indent and multiline doesn't work together 2 ----
  132. * General features
  133. + Painting: Indent and multiline doesn't work together 2 ----
  134. + Insert manual page break 2 ----
  135. + Split view 1 ----
  136. + "Freeze/Unfreeze Panes" 2 ----
  137. Started but had some problems caused by the scrollbars, it
  138. works, but not very nice (not committed (Norbert)).
  139. Maybe not as important if we get split view to work correctly.
  140. + Matrix operations 2 ----
  141. Some exist - multiply, determinant. Inverse not implemented.
  142. + Locked areas (for formulas with a matrix as result) 2 TOMA
  143. * Major features (big effort)
  144. + Script, Script-Editor (like VBA in Excel) 2 ----
  145. + Tools->Auditing: 2 ----
  146. - Trace Precedents 2 --
  147. - Trace Dependants 2 --
  148. - Trace Error 2 --
  149. - Remove all arrows 2 --
  150. + Pivot tables 3 ----
  151. Other things: (please add the things you are working on!)
  152. (I don't understand these. Please enter them under the correct heading /Inge)
  153. - Scenarios
  154. Not yet sorted (will be entered into categories above)
  155. - Multible Operations (in Excel: "Data"->"Table") (Norbert)
  156. - Pivot tables
  157. - more chart types
  158. - background spell check (necessary to use kotext)
  159. - links to cells in other kspread files
  160. - much more formulas (financial, database...)
  161. String2Int, CurrentMonth, CurrentYear, CurrentDay
  162. See list below
  163. - Insert pictures (Add support for object into kspread)
  164. - Insert basic drawings, autoforms (necessary to create a share lib from kpresenter)
  165. - Insert widgets like buttons, drop down lists,... + having the possibily to
  166. define action if pressed, or selection changes,...
  167. - Transparancy for embedded objects
  168. - z-order for embedded objects (and possibility to change the order)
  169. - better handling of embedded objects: e.g. delete them just by marking them + Del-Key
  170. not only in the context menu of the borders
  171. - Scrollbar that supports jumping one row/column forward or back
  172. - formula result: fit the precision to the width of the cell
  173. - other bug fixes (everybody, every time)
  174. - interface for mail merge
  175. *********
  176. * Taken:
  177. *********
  178. Philipp
  179. =======
  180. - Printing enhancements:
  181. + Expand selection to page
  182. + Fit selection to page
  183. + Print selection only
  184. - Filter, Autofilter (but will take long, haven't started yet)
  185. - Performance improvements at end of ranges - last column/row (started)
  186. - Support "unlimited" columns/rows,
  187. unlimited means a reasonable defined value (concept finished, will include after beta1)
  188. Norbert
  189. =======
  190. - solver (see gnumeric) [isn't this done already?]
  191. + option: ignore duplicate deliminers in CSV import and Insert data from file/clipboard
  192. + CSV export dialog: define deliminers, Table(s), cell content in '"'
  193. + more than one currency
  194. + enhance the Gnumeric import filter
  195. - sync the Gnumeric export filter
  196. + Style support
  197. + StarCalc/OpenCalc import filter
  198. - StarCalc/OpenCalc filter for embedding/embedded objects
  199. + StarCalc/OpenCalc export filter
  200. - qsa support + recording
  201. - Button + Drop-Down-List support (within cells)
  202. - better AutoFormat dialog + better templates
  203. - new dialog for conditional cell attributes
  204. - Multiple Operations
  205. + Lookup & Reference functions (LOOKUP needs to fixed)
  206. - more information functions (Excel compatible)
  207. Ariya
  208. =====
  209. - more "Related Functions" in function help/desc text
  210. - improve function compatibility with MS Excel
  211. - dBASE export filter
  212. OpenCalc - filter
  213. =================
  214. - changing text angle should resize the cell height automatically
  215. - conditional cell attribute support is just poor in KSpread:
  216. we should be able to assign complete styles (KSpreadLayout objects)
  217. - support for format strings (dd/mm/yyyy) - Norbert
  218. - more font attributes (outline, shadow,...) + attributes for parts of the text
  219. - double borders
  220. - multiline header/footer support
  221. - for formulas: fit precision so the result fits in the cell or resize the cell
  222. - save m_strOutText in file => no parsing on load (Norbert)
  223. - save formula results etc in a certain way in the cell (Norbert)
  224. Missing formulas (compared with XL)
  225. ===================================
  226. Statistical:
  227. BETAINV
  228. BINOMDIST (different from BINO?)
  229. CHIINV
  230. CHITEST
  231. CRITBINOM
  232. FINV
  233. FORECAST
  234. GAMMAINV
  235. GROWTH
  236. INTERCEPT
  237. LINEST
  238. LOGEST
  239. PEARSON
  240. PERCENTILE
  241. PERCENTRANK
  242. PROB
  243. QUARTILE
  244. RANK
  245. RSQ
  246. SLOPE
  247. STEYX
  248. TREND
  249. TRIMEAN
  250. TTEST
  251. ZTEST
  252. Lookup:
  253. HLOOKUP
  254. HYPERLINK
  255. MATCH
  256. OFFSET
  257. TRANSPOSE
  258. VLOOKUP
  259. Logic:
  260. Information:
  261. CELL
  262. ISERR
  263. ISERROR
  264. ISNA
  265. NA
  266. EXPRESSION
  267. GETENV
  268. SELECTION
  269. Engineering:
  270. IMLOG2
  271. IMLOG10
  272. Date & Time:
  273. NETWORKDAYS
  274. WEEKNUM
  275. WORKDAY
  276. YEARFRAC
  277. DATEDIF
  278. UNIX2DATE
  279. DATE2UNIX
  280. Math:
  281. MDETERM
  282. MINVERSE
  283. MMULT
  284. SERIESSUM
  285. SUMXMY2
  286. Financial:
  287. AMORDEGRC
  288. AMORLINC
  289. COUPDAYBC
  290. COUPDAYS
  291. COUPDAYSNC
  292. COUPNCD
  293. COUPPCD
  294. CUMIPMT
  295. CUMPRINC
  296. FVSCHEDULE
  297. MDURATION
  298. MIRR
  299. ODDFPRICE
  300. ODDFYIELD
  301. ODDLPRICE
  302. ODDLYIELD
  303. PRICE
  304. PRICEDISC
  305. PRICEMAT
  306. RATE
  307. VDB
  308. XIRR
  309. XNPV
  310. YIELD
  311. YIELDDISC
  312. YIELDMAT
  313. IRR
  314. NPV
  315. Trig:
  316. IMTAN
  317. +ACOT
  318. ***************************************************************************************
  319. Explanations to features:
  320. =========================
  321. Named areas:
  322. I would like to ask one thing about "Named areas". In Excel you can assign
  323. names to cells (you can do this in KSpread, too) like this:
  324. A B
  325. 1 45 46
  326. 2
  327. x=A1, y= B1
  328. Now, I would like to put
  329. "=x+y" in A2. This works with Excel but not in KSpread. But it is an important
  330. feature (I was told :-)
  331. So if you evaluate "=x+y", 'x' has be replaced by "A1" and 'y' by "B1"
  332. TODO-List:
  333. ----------
  334. Please everyone working on KSpread:
  335. Get yourself a copy of Excel 97 or 2000 and create
  336. a really big sheet, and I mean really big and insert Graphs and
  337. lots of dependencies and regressions etc. use external add-ins if you have any
  338. and real time links. Make links between sheets and then see how
  339. well Excel behaves.
  340. 1. UNDERSTAND that putting a spread->recalc() or spread->recalc(true) in
  341. your code is an abosolute NO-NO! Complex spreadsheets with possible
  342. heavy mathematical calculations via dll/so add-ins as well as real
  343. time feeds will not be managable if you do not painstakingly check
  344. wether spread->getAutoCalc() is true.
  345. 2. Learn to understand that without the
  346. following short cut actions you are lost ( try to scroll
  347. down a list of 10,000 obersvations ...not using CTRL Down
  348. for example)
  349. CTRL Up/Down/Left/Right
  350. CTRL Shift Up/Down/Left/Right
  351. CTRL Home/End
  352. CTRL Shift Home/End
  353. Shift F9 versus F9
  354. Let's try to get them working well in Kspread as well. I tried my
  355. hand at it but wasn't able to get them to be efficient.
  356. 3. Familiarize yourself with the concept of array formulas and why they
  357. are necessary (area protection, partial argument evaluation) Who would
  358. be willing to implement them? This will be an absolute must if we
  359. want to make progress on the mathematical/financial/statistical
  360. function side of things. I would be willing to implement a miriad
  361. of these functions but I believe doing that without having array
  362. formulae first will be a big mistake.
  363. (In case you wonder why I feel so strongly about these things:
  364. I am a professional user of Excel. I eat, sleap and work with Excel
  365. on my trading desk on Wall-Street.)
  366. Bernd <wuebben@kde.org>
  367. Improvement :
  368. -------------
  369. - Add zoom (Bernd: Yes, this is important. KSpread is much to cluttered
  370. up at this point. you can hardly do any real work with it even on a
  371. 17inch screen. Torben? Please?)
  372. -create a script editor for execute script
  373. (Use KWrite)
  374. Bug fix :
  375. ---------
  376. -and also bug fix :)
  377. <montel@kde.org>
  378. Torbens TODO-List:
  379. ------------------
  380. - Write-Protect cells