Dedicated Spreadsheet Workbench Maintainer/Devs needed

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Dedicated Spreadsheet Workbench Maintainer/Devs needed

Post by Kunda1 »

ezzieyguywuf wrote: Fri Nov 29, 2019 1:35 pm I can take a look.
Thanks @ezzieyguywuf !
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
ezzieyguywuf
Posts: 656
Joined: Tue May 19, 2015 1:11 am

Re: Dedicated Spreadsheet Workbench Maintainer/Devs needed

Post by ezzieyguywuf »

I've taken a look over the spreadsheet code, read the wiki page, and browsed through the bugs listed by kunda on the first post (I'm assuming this list is exhaustive).

I'll plan to go after these in stages, starting with the following that I consider "critical". I'll be working on each of these from top-to-bottom.
  • 4191, crash in spreadsheet
  • 4031, crash upon solving certain expressions
  • 3272, Failed to parse expression
  • 3448, failed to parse expression
  • 3696, Constraints lose values
Next, I'll plan to work on these that I consider "high priority"
  • 4003, Renaming spreadsheet doesn't work like it used to
  • 3518, Expressions fx not updated
  • 3255, use consistent angle measure for expressions
  • 2467, expression auto-completer slows down FreeCAD
  • 3926, negative numbers interpreted as expressions
  • 2766, Something about expression link
  • 3391, array and dictionary lookup does not work sometimes
  • 4015, Expression "jumps" to new object sometimes
Next, I plan to spend some time looking at integrating LibreOffice Calc - I know there was some discussion in this thread about this being unfeasible, however I'm not entirely convinced that this is true.

Finally, I'll plan to work through the balance of the bugs listed, which seem to be mostly feature requests.

I make no promises on a timeline here :-P

I'm open to input/feedback on these prioriies: again, I've spent _some_ time looking through the code and some of these bug reports, but not a lot.
Last edited by ezzieyguywuf on Sun Dec 01, 2019 5:18 am, edited 1 time in total.
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: Dedicated Spreadsheet Workbench Maintainer/Devs needed

Post by vocx »

ezzieyguywuf wrote: Sat Nov 30, 2019 12:46 am ...

I'm open to input/feedback on these prioriies: again, I've spent _some_ time looking through the code and some of these bug reports, but not a lot.
My only comment is to follow Werner's advice

[Discussion] Preparing for the upcoming v0.19 release
wmayer wrote: Wed Nov 20, 2019 6:43 pm ...
But when we really try to make a release in early 2020 then no major change can be merged any more after around mid of December or so. ...
If you can solve the Spreadsheet workbench issues, that's great, but these commits should probably come in small, easy to merge batches, that aren't too disruptive; otherwise Werner won't have enough time to review and merge in order to get ready for an early feature freeze.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
ezzieyguywuf
Posts: 656
Joined: Tue May 19, 2015 1:11 am

Re: Dedicated Spreadsheet Workbench Maintainer/Devs needed

Post by ezzieyguywuf »

vocx wrote: Sat Nov 30, 2019 4:55 am these commits should probably come in small, easy to merge batches, that aren't too disruptive
👍🏽 10-4, I agree with this.

I'll plan one PR per mantis issue number.
ezzieyguywuf
Posts: 656
Joined: Tue May 19, 2015 1:11 am

Re: Dedicated Spreadsheet Workbench Maintainer/Devs needed

Post by ezzieyguywuf »

Current status: awaiting confirmation on issue for issue #4191, see my post here.

I cannot reproduce the crash listed in issue #4031, see my note here on the bug report.

While waiting for resolution on those two items, I'll move on to issue #3271.
Last edited by Kunda1 on Sun Dec 01, 2019 5:31 am, edited 1 time in total.
Reason: added [bug] bbcode tag to relevant bug numbers
ezzieyguywuf
Posts: 656
Joined: Tue May 19, 2015 1:11 am

Re: Dedicated Spreadsheet Workbench Maintainer/Devs needed

Post by ezzieyguywuf »

I agree with deepsoic's comment that 3271 is more of a feature request. I'm moving this down to my third list, and moving on to 3272, which I believe is appropriately prioritized on my list.
ezzieyguywuf
Posts: 656
Joined: Tue May 19, 2015 1:11 am

Re: Dedicated Spreadsheet Workbench Maintainer/Devs needed

Post by ezzieyguywuf »

Update: After spending some time learning how to duplicate the issue described in 3272, I've determined that the root cause of this issue appears to be in the App::ExpressionParser::parse function - it does not seem to support spaces in the name of a constraint (or, strictly speaking, in the "Path" of a given App::DocumentObject, as contained within an App::ObjectIdentifier)

This suggests to me that the issue, therefore, is not specific to the Spreadsheet module, but rather in one of:
  1. The Sketcher Module (perhaps it should not allow spaces in the names of constraints)
  2. The ExpressionParser itself (should a valid Path be allowed to have a space in it?)
  3. (maybe) App::ObjectIdentifier - should not allow spaces in path
I've tried to find some code other than SketchObject or Spreadsheet that uses this ObjectIdentifier, but after some searching I was unable find anything. I was hoping to prove conclusively that the issue is outside of the Spreadsheet module, but I guess you'll just have to trust me :-P

In conclusion, I believe that issue 3272 should be re-written and re-categorized, as it is not specific to Spreadsheet. Unless anyone disagrees, I will move on to the next item on my list.

Note:

The issue can be reproduced in the python console using something like:

Code: Select all

App.getDocument('MyDocument').MySketch.setExpression('.Constraints.My Constraint', 10.0)
Please realize that this snippet pre-supposes that there is a document named "My Document" which contains a sketch named "MySketch" which contains a constraint named "My Constraint" (with a space!!!).

Notice how, in this example, we're not using any of the features of the Spreadsheet module.

Edit:

3448 seems to be a duplicate of this issue.
ezzieyguywuf
Posts: 656
Joined: Tue May 19, 2015 1:11 am

Re: Dedicated Spreadsheet Workbench Maintainer/Devs needed

Post by ezzieyguywuf »

3696 also seems to be a duplicate of the "Expression can't contain space" error. I've revived an old thread here to try to spark some discussion around the best way to address this issue.

In the meantime, I'll keep chugging away at Spreadsheet-specific issues. Moving on to my second list!

Edit:

😲 4003 also seems to be related to these others, no not specifically to having a space in an Expression. See the conversation here.

This issue is still not specific to Spreadsheet...I could maybe "bandaid" it by having the Spreadsheet module automatically add <<>> to each component of the "Path" that it sends to the ExpressionParser, but I'm not usually a fan of these types of bandaid solutions. Rather, I would want to fix the issue in the ExpressionParser itself, but that's out-of-scope for my current project.

I guess I'll move on to the next one...

as an off-topic side-note, I wish I could thumbs-up or upvote this bug report, it is extremely well written, and made it very easy for me to reproduce the issue.
ezzieyguywuf
Posts: 656
Joined: Tue May 19, 2015 1:11 am

Re: Dedicated Spreadsheet Workbench Maintainer/Devs needed

Post by ezzieyguywuf »

Per my note on the bug tracker, it seems that bug 3518 has been resolved. Moving on to the next item on the list.
ezzieyguywuf
Posts: 656
Joined: Tue May 19, 2015 1:11 am

Re: Dedicated Spreadsheet Workbench Maintainer/Devs needed

Post by ezzieyguywuf »

For bug report 3255, I've started a new thread to discuss the best path forward.

This still doesn't seem like a Spreadsheet-specific issue, so I'll again move on to the next listed bug.

Edit:

2766 seems to be not specific to Spreadsheet, but rather related to to ExpressionParser in some way. Skipping this for now.
Kunda1 wrote: Sat Nov 09, 2019 1:04 pmping
@kunda1, Please review some of my recent posts here - my understanding in your original post is that you wanted specifically Spreadsheet-related issues/bugs worked on. I'm finding that many of the bugs listed are not specific to the Spreadsheet module, but rather the issue lies elsewhere (usually somewhere in ExpressionParser).

Is your intent for me to resolve these issues wherever they are, or to focus instead on the problems that exist specifically in the Spreadsheet codebase?
Last edited by ezzieyguywuf on Tue Dec 03, 2019 4:16 am, edited 1 time in total.
Post Reply