1. Migration guide
Most migrations (data base as well as data base content) will be done automatically during the start-up phase of an newer version.
But there are some really small changes e. g. in config files etc. which have to be done manually, as described below.
1.1. Version 8.1 → 8.2
-
Stricter validation of REST writes
Saving an entity through the REST API (AbstractPagesRest.saveOrUpdate and everything built on it,
i. e. the React and Next frontends as well as imports and mass updates) now validates all properties
declared by @PropertyInfo / JPA @Column, and it validates the maximum length of string values too.
Before, two things were only checked by accident: mandatory fields were validated against a cache that was filled while a page’s layout was built, so which fields got checked depended on the pages the JVM had served since its start; and the maximum length of a string was not checked at all on this path, so an over-long value ran into the database unchecked. The Wicket pages have always validated both.
Consequence: a write that used to be accepted silently may now be answered with HTTP 406 and a
readable message naming the field. This is intended — the data was invalid before as well — but if an
import or a script of yours suddenly reports a validation error, this is where it comes from. The rule
itself is unchanged and lives in the entity: @PropertyInfo(required = true) and
@Column(length = …, nullable = …).
1.2. Version 7.2 → 7.3
-
MEB plugin removed
Please remove JIRA configuration (jiraConfig) in config.xml (if existing). Creation of JIRA issues through ProjectForge via incoming SMS isn’t supported anymore.
You should also remove projectforge.receiveSmsKey and projectforge.cron.mebPolling from your projectforge.properties, if configured. The SMSReceiverServlet is removed as well.
-
Scripting
-
The scripting functionality is fully migrated to React. Multiple attachmentes are now supported. Therefore the files has to be addressed via
`files.fileinstead offile(Kotlin) orscript.file(Groovy) or byfiles.getFile("abcdef.xlsx"). Also filenames will be accessible via 'files.filename' instead offilename' (Kotlin) or `script.filename. All bindings will be done automatically for the Kotlin script (of not already there). Multiple imports will be prevented by auto-inserting of imports (and bindings).
-
1.3. Version 6.x to version 7
-
Configurationparameters changed
-
config.xml:holiday.monthis now 1-based (1 - January, …, 12 - December), was 0-based. -
projectforge.properties:projectforge.defaultFirstDayOfWeek=MONDAY(full name of weekday: SUNDAY, …)
-
-
Configuration parameters moved from
config.xmltoprojectforge.properties-
config.xml:currencySymbol→projectforge.properties:projectforge.currencySymbol=€ -
config.xml:defaultLocale→projectforge.properties:projectforge.defaultLocale=en -
config.xml:defaultTimeNotation→projectforge.properties:projectforge.defaultTimeNotation=H24 -
config.xml:firstDayOfWeek→projectforge.properties:projectforge.defaultFirstDayOfWeek=MONDAY -
config.xml:excelPaperSize→projectforge.properties:projectforge.excelPaperSize=DINA4
-
-
PhoneLookupServlet moved from
phoneLookuptorsPublic/phoneLookup
