https://bugs.documentfoundation.org/show_bug.cgi?id=171582

--- Comment #3 from Valentin <[email protected]> ---
Thanks for the quick responses. Yes, there are quite a few resources already,
but as I wrote they could be made easier accessible and more complete.

There is
- as you mentioned:
https://wiki.documentfoundation.org/Development/Extension_Development - Links
out to external inofficial repositories, some of them no longer actively
maintained, and official resources in the wiki. I will list the official pages
that are linked from here below
-
https://wiki.documentfoundation.org/Development/Extension_Development/Python_Extensions_Development
- very incomplete, contains some info about executing Python code in LO (remote
scripting), but nothing regarding registering an extension, how to use uno,
etc.
- https://wiki.documentfoundation.org/Macros/Python_Guide - Some infos about
macros that can be transferred, but not too detailed as well.
- https://wiki.documentfoundation.org/Macros/Python_Design_Guide - The most
extensive, but also incomplete (drafts; sometimes very old content), and a mix
of general Python best practices and LO-specific information that makes it hard
to tell what is relevant
- Blog posts in the dev blog:
https://dev.blog.documentfoundation.org/2023/11/25/libreoffice-extensions-with-python-part-1/,
https://dev.blog.documentfoundation.org/2023/12/14/libreoffice-extensions-with-python-part-2-debugging/

what I have in mind would be a more comprehensive guide, the logical place for
it would probably be
https://wiki.documentfoundation.org/Development/Extension_Development/Python_Extensions_Development

A rough outline could be:

- Setting up the development environment, remote scripting
- Introduction to uno: commonly used patterns, information on the API (how do I
know which objects exist and what attributes they have)
- Introduction to extensions: what makes up an extension, an example/template
for a minimal installable extension
- Refining the development process: Debugging. testing and external
dependencies (pythonpath)
- User interfaces: programmatically and with GUI helper tools, accessibility
- Advanced topics: Assigning keyboard shortcuts, adding menu entries, user
settings, running tasks concurrently without blocking the main thread...

I'm sure there is more, but I hope this helps to clarify where I'm coming from
and what after the fact I think would have made it easier for me to get
started.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to