GithubHelp home page GithubHelp logo

mysland / libreoffice-lots Goto Github PK

View Code? Open in Web Editor NEW

This project forked from libreoffice/lots

0.0 0.0 0.0 43.86 MB

Letterhead, template, form, autotext, mail merge,... extension for LibreOffice

Home Page: https://wollmux.org/

License: European Union Public License 1.1

Python 0.53% Perl 0.26% Java 99.21%

libreoffice-lots's Introduction

LibreOffice Template System

Introduction

LibreOffice Template System (formerly WollMux) is a LibreOffice extension with enhanced template, form, and autotext functionality. It can construct templates on the fly from multiple files (e.g. letterhead, footer, and body text) and will fill in personal and organizational data from various databases such as LDAP. An extra form GUI presents fields in an easily navigable manner and offers plausibility checks and computed values to ease filling in the form. Chainable printing functions allow various transformations during print and custom dialogs.

The LibreOffice Template System is licensed under the European Union Public Licence (EUPL).

More information about the LibreOffice Template System can be found at our main page at wollmux.org

How to build?

LibreOffice Template System is separated into 3 modules:

The following applications have to be installed to compile the LibreOffice Template System:

Afterwards the property UNO_PATH has to be set in the maven settings.

  • open ~\.m2\settings.xml
  • add a profile
<profile>
  <id>UNO</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <properties>
    <UNO_PATH>/opt/libreoffice/program</UNO_PATH>
  </properties>
</profile>
  • <UNO_PATH> is the folder, where the LibreOffice executable is located (eg. /opt/libreoffice/program)

Before building the LibreOffice Template System, you need to install UNOHelper to your local maven repo (the prebuilt package is currently not available):

git clone https://github.com/LibreOffice/UNOHelper.git
mvn install

Then run the following commands to download and build the LibreOffice Template System:

git clone https://github.com/LibreOffice/lots.git
mvn clean package

The compiled extension can be found at oxt/target/LOTS.oxt

Build errors

  • There are files with header to update: Some of the source files don't have a license header. The header can be updated with:
mvn license:update-file-header

Debugging

External Debugging with Eclipse

LOTS.oxt extension is not installed in LibreOffice, but is loaded from external by starting a debug session in eclipse. There exist an additional extension LOTS_ButtonsOnly.oxt, which only contains the toolbars and dialogs. This extension must be installed in LibreOffice. Therefore call

mvn -P ButtonsOnly generate-sources

and the extension is build and installed, if the program unopkg is availble. Otherwise you have to manually install the extension, which can be found at oxt/target/LOTS_ButtonsOnly.oxt.

Activate the maven profile "development" in Project > Properties > Maven > Active Maven Profiles.

Configure a debug-configuration of type "Java Application" with main class de.muenchen.allg.itd51.wollmux.DebugExternalWollMux. Add a user defined library to the classpath. The library must contain these jars of LibreOffice which can be found at <path_to_LibreOffice>/program/classes:

  • java_uno.jar
  • juh.jar
  • jurt.jar
  • ridl.jar
  • unoloader.jar
  • unoil.jar

Make sure, that there is no running LibreOffice process before starting debugging.

Advantages:

  • Hot code replacement

Disadvantages:

  • different startup behaviour

Remote Debugging

If you have a running instance, which you like to debug. You can connect to it by another Eclipse debug-configuration:

  • type: Remote java Application
  • connection type: Standard (Socket Attach)
  • connection properties: localhost, 8000

There are also some configuration changes for LibreOffice necessary. Go to ToolsOptions...LibreOfficeAdvancedParameters... and add the following parameters:

  • -Xdebug
  • -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

If suspend is set to y, LibreOffice waits until an external process connects before initializing.

Translations

Translation status

Translate the LibreOffice Template System

To update pot files from source, run these commands:

xgettext --default-domain=wollmux --output=core/i18n/wollmux.pot --language=java --from-code=UTF-8 --keyword --keyword=m $(find . -name "*.java")

This creates the core/i18n/wollmux.pot template file. It will be picked up by Weblate, and the po files will be updated accordingly.

The translations will be committed to this repository from time to time. The build system will then pick up the po files, and convert and bundle them with the LibreOffice Template System.

libreoffice-lots's People

Contributors

sikelerd avatar bjoernranft avatar smehrbrodt avatar ilhany359 avatar chrlutz avatar trannghiem avatar eymux avatar thorstenb avatar dependabot[bot] avatar kelemeng avatar fitojb avatar xosecalvo avatar mistmist avatar ayhanyalcinsoy avatar elcodero avatar jmglogow avatar jmontane avatar deneb-alpha avatar valtermura avatar tmrpavan avatar noraph avatar sreejit-sengupto avatar andreasma avatar sourav492 avatar vpanter avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.