Should we add a Novice Programmer FAQ Page?

If you have had teen-agers, you might feel that sometimes you are explaining the obvious to the oblivious. Could it be similar when you experts expain LibreOffice programming to novices? Villeroy, says “The steep learning curve is imposed by. . . the API of this office suite.”

As a novice, I depend on your kindness for help. I see a number of other novices have problems similar to mine. So, what can be done to reduce your effort in answering novice questions?

One might post a page for novices (ex. “I’ve done lots of programming over 25 years, in lots of languages, I’m finding this incredibly frustrating.” BrianSwatton) with your excellent referencess for common problems e.g. macros, Application Programming Interface. And one might include some examples. I do not know whether enough of the questions are similar enough to be grouped together. However, if they are, here are some possibilities.

Macros

Chapter 13: Getting Started with Macros

https://documentation.libreoffice.org/assets/Uploads/Documentation/en/GS5.1/HTML/GS5113-GettingStartedWithMacros.html

External Resources

https://www.openoffice.org/api/TipsAndTricks/external.html

Andrew Pitonyak’s Macro Collection

This document provides the great OpenOffice.org Basic macro collection written by Andrew Pitonyak. Thanks to Andrew for this great contribution and his ongoing work on this document.

http://www.pitonyak.org/AndrewMacro.sxw

Inspection-Tool s

The object inspection tools can display the properties, methods, interfaces of the used objects in your macro code.

an introspection tool like XrayTool or MRI is essential when developing LibreOffice macros.

XrayTool, the inspector of API objects. The document is a manual. It contains and installs Xray.

June 2012 ver6.0 en

https://berma.pagesperso-orange.fr/index2.html

MRI_UNO-Object-Inspection-Tool

MRI is an introspection tool of UNO objects

Spreadsheet s

Spreadsheet Project

https://www.openoffice.org/sc/

Global Index A

https://www.openoffice.org/api/docs/common/ref/index-files/index-1.html

Instructions for Using LibreOffice Calc

https://help.libreoffice.org/latest/en-US/text/scalc/guide/main.html?&DbPAR=CALC&System=WIN

Example to find the absolute address of a cell

Spreadsheet Documents

https://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Spreadsheet_Documents

service SheetCell

https://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/SheetCell.html

interface XCellAddressable

https://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/XCellAddressable.html

Developers Guide

Absolute Address

https://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Cells_Absolute_Address

General

LibreOffice Basic Programming – Resources for Learning

Apache OpenOffice Developer’s Guide

https://wiki.openoffice.org/wiki/Documentation/DevGuide

When a novice needs a reference or an example similar to those in the above list, just refer him to the Novice Programmer FAQ Page.

1 Like

A FAQ page is inadequate. You can not learn conceptual knowledge from FAQs and videos. There are far too many and slightly different frequently asked questions such as “Can somebody write me a code which does the following …”. This is the most frequently asked question in thousands of variations.

This is not for novice programmers. Any person familiar with some fundamental concepts will find his/her way through this API. However, if an alledged programmer has never used this program interactively, there is no point in this API which could be targeted. He will try to re-invent the wheel.

  • You definitively should be very familiar with the program itself. You should be a “power user”, otherwise there you can’t know what is programmable.
  • You have to know some fundamental concepts such as the meaning of data types, complex data types, object oriented programming.
  • You should not start learning any programming language in this highly complex environment.
  • Learning the StarBasic language in the 21st century is anachronistic and restricted to LibreOffice and OpenOffice. The language as such is useless.

    Many, many wannabe coders ask for assistance without knowing the office suite nor how to program anything in any language. All they know is how to copy code and record macros. Instead of learning how to use the product properly they try to make other people write programs because recording macros does not work as it does in VBA.
2 Likes

I am learning the more advanced features of LO. Not a programmer, though I was a computer tech in a large academic library [GT, GA State Univ, U of U] and did a lot of database work in Access. I have done a little of that in LO Base. Not an expert by any means. I haven’t worked as a computer tech since 1990.

I would love to learn to write macros to automate certain tasks. But at work, I constantly had to go ask a guru how to do something for work. And got a lot of, hey, get your boss to get you a course. Well, I did, but work needed to get done now. I often was the go-between to interpret what the guru told me into lay-language regular employees could understand that worked with me. I see this ‘Novice Programmer FAQ Page’ as something similar. It’s often very difficult for pros to put things in a way we novices can understand. We just want to get the software to do stuff. I love that I can post a question and someone nice will take the time to answer me.

My point is, with macros, you shouldn’t have to learn how to program in StarBasic if you can write a simple macro just with the built-in commands. I think maybe this is the type of thing the original poster was asking about. Not programming, per se, but ways to use the built-in features of LibreOffice.

And, a way to define what the program can and can’t do, for lay-people. Because, we really don’t know the limits of LO Writer, and you gurus do. It can be very difficult for folks to know when to use Writer, when Calc would be a lot more efficient, and when Base is the better choice. Same with the other modules. I saw people using spreadsheets for all sorts of things other than crunching numbers, that would’ve been much easier in Base or a graphics art program!

1 Like

Btw, you may not have noticed, but meanwhile the DevGuide is also available in the TDF wiki:
LibreOffice Developer's Guide - The Document Foundation Wiki

Similar, and slightly more up-to-date information, that page and subpages there:
LibreOffice Developer's Guide: Chapter 8 - Spreadsheet Documents - The Document Foundation Wiki

Also the UNO API has its own IDL reference pages for long, like
LibreOffice: SheetCell Service Reference
LibreOffice: XCellAddressable Interface Reference
with clickable inheritance diagrams for all services and interfaces, and one can simply type (start of) a service / interface / member name into the search box to get hits.

So, rather prefer those. Apart from that some of the OOo pages are hopelessly outdated or links yield 404 status.

2 Likes

And IIUC, our Macro Development Documentation Wiki serves exactly the goal stated in the question.

3 Likes

Villeroy, you are exactly right. You provide a specific example of Samuel Clemons’ adage. When writing, the difference between the optimal word choice and a sub-optimal one is the difference between “lightning” and “lightning-bug.” Thank you. A better title might be " Should we add a Novice Programmer Resources Page?"

It certainly seems so.

Thank you for this comment. You remind us that this is a general issue, not just an issue with a specific person. I appreciate your response.

Mike, what a wonderful resource to have for macros. Thank you for the great addition.

erAck, you are right. I did not notice that excellent resource (nor the others you noted). Thanks for the great additions.

Version: 7.3.4.2 (x64) / LibreOffice Community
Build ID: 728fec16bd5f605073805c3c9e7c4212a0120dc5
CPU threads: 8; OS: Windows 10.0 Build 22000; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded