What's Changed
- ZMSRecordSet: Add CSV Export by @cmeier76 in #31
- ZMSRepoManager: Added support for langdict ex-/import by @cmeier76 in #33
- Repomanager-Diff: reduce encoding errors by @drfho in #35
- avoid copy form trashcan (UniBE) by @drfho in #36
- SOLR Interface by @drfho in #37
- fix empty user-attr and utf-8 encode of query-string in http-import by @zmsdev in #38
- ZMSSQLDB: add table-filters to relations by @drfho in #43
- fixed local activity in primary lang by @zmsdev in #46
- Removed semicolon, already set in line before by @admbzts in #45
- standardize get_uid by @zmsdev in #44
- metamodeller shows ace editor on dblclick by @drfho in #47
- http_request: Revised method signature and added PURGE by @cmeier76 in #42
- Bootstrap-Link-List: fixed breadcrumbs by @zmsdev in #51
- Added visual indication on deprecated objs/cmds by @cmeier76 in #52
- RepoManager: Added select list for path by @cmeier76 in #53
- fixed ZMSTable class name by @drfho in #55
- collect_zope_artifacts by @drfho in #56
- Fix ACE-Editor in ModalWin by @drfho in #54
- added lastlogin date to user dict by @drfho in #50
- bt_linklist: made multilang by @drfho in #59
- ZMSRecordSet: Forced mono-lang editing by @cmeier76 in #57
- Show custom version from env/git in system info only by @cmeier76 in #60
- ZMSRepoManager: Added support for langdict ex-/import by @zmsdev in #62
- Git-Bridge: Added history info to status by @cmeier76 in #66
- bt_link_list: add sortablity (req by UniBE) by @drfho in #69
- Themes: Added client specific selection of folders located in root by @cmeier76 in #68
- zmi: added titleimage as data attr by @drfho in #70
- sort_list(): fixed sorting of struct_time fields by @drfho in #67
- apidocs by pydoctor by @drfho in #72
- fixed image cropper by @drfho in #74
- added doc date format strings by @drfho in #73
- added pythonic calendar content object by @drfho in #58
- repomanager: ignore leading/trailing whitespace for diff by @drfho in #75
- Gitbridge: minor changes by @drfho in #77
- gitbridge: git cmds sequenced as lst by @drfho in #78
- gitbridge: git cmds sequenced as lst by @drfho in #79
- ZMSFormulator: avoid XML parse error on lang dict by @drfho in #80
- Fix auto-insert in empty content objs by @drfho in #81
- Using meta-id for action list based insertations by @drfho in #76
- System-Info: Revised package display by @cmeier76 in #82
- Get Auth from URL (for SOLR_URL) by @zmsdev in #83
- SOLR Connector: added debug option by @drfho in #84
- fixed ref_to for new objects by @zmsdev in #86
- xmllib: Fixed typo in toCdata by @cmeier76 in #87
- zmslog: catch FileNotFoundError by @drfho in #85
- Fixed RTE img/file links by @drfho in #90
- Themes: Added client specific selection of folders located in root (2) by @drfho in #91
- ZMSTable: set caption field as mandatory by @drfho in #89
- Fixed repo diffing of invisible attrs by @drfho in #88
- Fb doc zmsindexcatalog by @drfho in #95
- Issue 48: Prevent Heterolingual Editing of Monolingual Multiselect-Attributes by @drfho in #96
- ZMSIndex: Added filterpath to avoid empty searches by default by @cmeier76 in #97
- autocomplete: view all options by "*" (UniBE) by @drfho in #98
- 92: fix blocked xml-import by full reindex by @zmsdev in #93
- cleaned BS3 well css class by @drfho in #99
- metobjmanager: show selected obid by @drfho in #100
- fix manage_analyze by @drfho in #101
- ZMSRecordGrid by @zmsdev in #102
- Stabilize Cropper Function (UniBE DCMS-628) by @drfho in #103
- removed / from absolute_url by @admbzts in #63
- Fixed ZMI-Sitemap navigation by @admbzts in #49
- Fix icon ZMSWorkflowProviderAcquired by @drfho in #105
- Update action multiupload (req by DESY) by @drfho in #108
- Added Image Preview On Hover by @drfho in #107
- added multiautocomplete type to attr change action by @drfho in #110
- ZMI: ensure lang var is not None by @drfho in #94
- cleaned doublicated footer element by @drfho in #113
- Fix cleaned footer by @drfho in #117
- zmsindex: GUI option renew uids by @drfho in #109
- Realtime HTML Validity Info by @drfho in #118
- fixed bookmark menu by @drfho in #119
- update cropper js by @drfho in #120
- file-attributes: str - return decoded string instead of bytes (#121) by @zmsdev in #122
- More Specific ZMI Browser Titles by @drfho in #124
- Minor changes to sync default conf by @cmeier76 in #132
- ZMSDiagrams / Mermaid BPMN by @cmeier76 in #126
- Zope5.8.3: Handling missing Metobj-Manager fileuploads (#130) by @drfho in #135
- Bugfix: Added input connection_id set by JS to zmssqldbform by @admbzts in #137
- SimpleMDE / Markdown Editor by @cmeier76 in #125
- SimpleMDE: Added condition to render markdown by @cmeier76 in #138
- try encoding if blob data empty/text by @drfho in #123
- Fixed getNextpage for resource case by @drfho in #140
- updated bt_link_list (UniBE) by @drfho in #145
- Adding OpenSearch-Connector by @drfho in #141
- fix unit tests by @drfho in #147
- Bufix: of trying to convert non digits to int (#143) by @admbzts in #144
- fixed access for Zope UnrestrictedUser by @drfho in #146
- handle acquired artifacts with repository-manager by @zmsdev in #151
- openearch adapter: dblclick to fullview alert msg by @drfho in #153
- Bugfix: of ZMSTrashcan not found (#149) by @admbzts in #150
- Fix for pdfmaker.js datasrc processing (DESY) by @drfho in #155
- Improved ZMSMetaobjManager GUI by @drfho in #156
- Fix multisite search indexing (catalog) by @drfho in #161
- refeshed API Docs by @drfho in #163
- Prepare ZMS-Headless by @drfho in #152
- sort_item(): Type Error by @drfho in #167
- python-3.7 end-of-life by @zmsdev in #165
- Fix Security Issues by @zmsdev in #164
- Monkey patched Products.CMFCore.zcml by @drfho in #168
- Headless API by @zmsdev in #166
- Return dummy file in case of missing media-folder file by @drfho in #169
- handle missing ext methods in repomanager by @drfho in #160
- fixed sort_item by @zmsdev in #170
- fix getLinkObj (was REST API) by @zmsdev in #171
- Fix resolving error on default URL {$} by @drfho in #173
- Fix #172 resolve default url by @zmsdev in #174
- Improving meta-model import gui by @drfho in #175
- Added Docker Files by @drfho in #177
- ZMI: added level as data-attr to body-element by @drfho in #178
- Avoid umlauts in mail.attchmnt file names by @drfho in #176
- Using Zope's .editorconfig by @drfho in #180
- erroneous links to ZMSFies in CK-Editor (#395) by @zmsdev in #182
- fixed duplicate execution of meta-cmds (#404) by @zmsdev in #185
- Fixed zmi sitemap toggle by @cmeier76 in #184
- Ensure containers for temporary data by @zmsdev in #187
- fixed duplicate execution of meta-cmds (2) by @zmsdev in #186
- REST-API: avoid heterolingual titlealt reset by @drfho in #181
- faster zmsindex-tree by @drfho in #189
- Add REQUEST variable is_zmi to limit manage_lang determination by @drfho in #190
- ZMI-Sitetree shall expand with current content node by @zmsdev in #192
- ZMS Filter: improved code preview by @drfho in #193
- Add ZODBMountPoint temp_folder if available by @cmeier76 in #194
- Filter-GUI by @drfho in #196
- Refactoring manage_lang by @drfho in #198
- Added text format config with markdown as default by @drfho in #139
- Added readme html page by @drfho in #202
- Export/Import Opensearch-Schema with ZMS5-Repository by @zmsdev in #203
- Opensearch-Integration: Paged-Reindexing for FileBinaries by @drfho in #206
- ZMSMetacmd: Try to handle errors in External Methods by @drfho in #208
- monotonized conf param for tika/parser by @drfho in #209
- Updated text/charfmt blockquote/quote by @drfho in #111
- ZMSMetamodelProvider: Added link for acquired by @cmeier76 in #211
- Media-Folder: show status / usage by @zmsdev in #214
- Fix type problem of dict_keys on copy.copy by @drfho in #216
- content (document-element) missing in initial zmsindex of myzmsx #218 by @zmsdev in #220
- ZMS.permalink.search missing in xml-import of myzmsx #219 by @zmsdev in #221
- Catalog Abstraction: Search Engine Interfaces as Content-Model-Libs by @drfho in #210
- test python 3.12 by @zmsdev in #222
- get_connectors by @zmsdev in #223
- opensearch: multiindex autosuggest terms by @drfho in #224
- Opensearch: Configuration Suggestion Terms Source by @drfho in #228
- Autosuggest GUI via datalist by @drfho in #229
- fix(zms-catalog): Aligned naming of solr + zcatalog by @cmeier76 in #225
- Paged Indexing: Ensure JSON Format on Response by @drfho in #231
- MetaObj XML-Import: XML-Parsing of list-like attrs (e.g. autocomplete) may results in removed py-indents by @zmsdev in #233
- Search+Replace: Error handling, Loading spinner, Content class grouping by @cmeier76 in #234
- Search+Replace: Case-insensitive by @cmeier76 in #235
- REST API: prevent zmsindex from returning Missing.Value by @drfho in #236
- feat(zms-diagrams): Added XY and Quadrant Charts by @cmeier76 in #226
- Revision ZMSIndex-GUI #238 by @zmsdev in #239
- ZMSIndex: config in tab-options by @zmsdev in #243
- TOOLTIP: Adding tool tip instructions (as html-title-attr) to context menu #242 by @zmsdev in #244
- ZMSTable: Integrate user supporting hints and tipps by @drfho in #241
- Adding mandatory function to text-fields (html textarea) by @drfho in #240
- ZMSIndex Reindex by @zmsdev in #247
- Catalog-Adapter: custom filter-function by @zmsdev in #248
- fix(zms-index): Show instant change on refresh catalog by @cmeier76 in #250
- fix: getting tika-url (opensearch, elastic) by @drfho in #253
- fix(sql-gui): add pk-value to grid-context by @drfho in #257
- ZMI: Prevent Error on Iterating over Broken Zope-Objects by @drfho in #256
- Prevent Recursions of bodyContentZMSLib_page (DESY) by @drfho in #245
- catalog objects clear client by @zmsdev in #259
- feat(search): refined elastic connector (DESY) by @drfho in #260
- System-Configuration Repo by @zmsdev in #255
- ZCatalog: Meta-Ids in context of current node (DESY) by @drfho in #261
- Refactor: Elastic-SQL, remove title replication from text snippets by @drfho in #262
- ZMS-Conf: Check for Updates by @zmsdev in #252
- ZMS5: fix diff-dict comparing key with None by @drfho in #263
- fix: use global connector if local not available by @drfho in #264
- Added ZMS lib for creating and validating Captcha images by @drfho in #267
- HTTP 404 Not Found for objects in trashcan by @drfho in #269
- URL input field: Object tree does not open the UID entered by @drfho in #270
- Fix TypeError: 'generator' object is not subscriptable by @drfho in #272
- Publishing ZMI CSS/JS-Resources by @drfho in #273
- Search: add change_dt/created_dt as default fields by @drfho in #271
- ZCatalog: reindex multilang by @zmsdev in #274
- Fixed Generic ZCatalog Search GUI by @drfho in #275
- minor style fixes base theme (eln) by @drfho in #276
- Ensure Reindexing Context's Page Container on Change/Insert by @drfho in #277
- Avoid implicit CatalogAdapter insertion to any portal-client by @drfho in #282
- ZCatalog-Connector multilang-indexing by @zmsdev in #283
- Consider implict child insertion on incremental reindexing by @drfho in #285
- default manage permissions by @zmsdev in #290
- [idasm-unibe-ch/unibe-cms-opensearch] Toptreffer: Fehler beim Filtern (Issue #88) by @zmsdev in #292
- fixed recordset filtering, reduced filter amounts / session data (2) by @zmsdev in #294
- fix 'items' as object-id in breadcrumbs_obj_path by @zmsdev in #296
- fixed pagination by @zmsdev in #297
- type-fix: index on dict.keys by @drfho in #300
- replace turbolinks.js by htmx by @zmsdev in #299
- Maintenance: Block each ZODB transaction in maintenance mode by @OscarMeier in #305
- Activity during Daylight Saving Times (CEST) by @drfho in #304
- ElasticSearch connector: Configurable Index Name by @drfho in #301
- fix(models): Changed acquired links from root to parent by @cmeier76 in #306
- feat(scripts): Added operator_itemgetter to standard by @cmeier76 in #307
- chore(zms): Applied minor changes by UniBE by @cmeier76 in #311
- Docker deployment by @dwt in #313
- feat(zms): Added support for headless mode by @cmeier76 in #312
- refactor(zms): Applied major changes by UniBE by @cmeier76 in #314
- improved performance of headless requests by @drfho in #317
- HTMX: Prototype Save-Button by @drfho in #303
- ZMI: Improved performance of meta-attribute-table by @drfho in #318
- Refact headless http request as global var by @drfho in #319
- ignore uids/ids in xml-import by @zmsdev in #249
- Fix headless mode using zope.globalrequest.getRequest() by @drfho in #322
- feat(zmi): add optional macro for custom menu in header by @OscarMeier in #320
- synchronizeRolesAccess: View management screens (ii) #254 by @zmsdev in #325
- fix(menulock): Convert localstorage value into int by @cmeier76 in #326
- fix: sitemap btn (zhref) by @drfho in #323
- Fix: Ignore link-embedded childnodes for obj-copy by @drfho in #327
- Word/DOCX-Eport as ZMS-Action applying python-docx by @drfho in #288
- Fixed type error xml import of empty elements by @drfho in #199
- Prototype for SQL Mirroring by onChangeObjEvt by @drfho in #112
- Copy & Paste: objects not visible in live view in alternative language by @drfho in #328
- Set status-code 404 in case media file not found by @drfho in #330
- CK Editor: Document-links not editable #465 by @zmsdev in #332
- OpenSearch: Unindex/Reindex depending on node visibility #776 by @zmsdev in #331
- Py-3.13: fix tests due to failing init.py by @zmsdev in #337
- Update _fileutil.py by @togis in #336
- Fix Headline Navigator by @drfho in #338
- Added several small Transformation Fixes pydocx-Export by @drfho in #341
- Prevent import block on obj-event trigger code by @drfho in #342
- Workflow: CopyError during publishing #795 by @zmsdev in #340
- Refact Versioning MK2 by @zmsdev in #329
- Added compatibility to obsolete py2-function pybytes() by @drfho in #344
- zmi: added quicksearch filter to content-obj list by @drfho in #343
- Instant cache refreshing on ZMI-JS changes by @drfho in #345
- feat(readme): Extended markdown rendering by @cmeier76 in #348
- ZMSRecordSet: Fixed insertion of new records in grid-view by @drfho in #347
- Prevent in-place redirecting during content-indexing by @drfho in #349
- Monotonize mailto-link obfuscation by @drfho in #351
- refact(attr-is-modified): Changed ZMS_INSERT condition by @cmeier76 in #352
- Fix metaobj lang-vars name splitting by @drfho in #353
- fix(readme): Fixed markdown rendering on insert by @cmeier76 in #355
- Handle zmsindex-actions as additional options in ZMSIndex-GUI by @drfho in #356
- fix(initZMS): Added missing minimal_init parameter by @cmeier76 in #357
- captcha_lib: added lang strings (kki) by @drfho in #359
- Fixed determination of dst (daylight saving time) by @drfho in #362
- 358 ux improving user management with deleting filtering buttons by @zmsdev in #361
- Fix: Action-List Cut-Off by @drfho in #364
- fix: strip url params on search results by @drfho in #365
- 401-fallback to ajax request in navtree and action-menu by @drfho in #367
- added more 401 fallbacks to ajax requests (#367) by @drfho in #368
- More options for ZMS-init (#366) by @drfho in #371
- ZMI: history.back issue with htmx by @drfho in #374
- zmi: linking "added" resources via physical path by @drfho in #378
- doc: Jupyter Notebook example for transferring XML to SQLite by @drfho in #379
- zmi: htmx-compatible execution of $ZMI.runReady() on history.events by @drfho in #380
- Trashcan: get_child_nodes/count by @zmsdev in #381
- fixed addExternalMethod by @zmsdev in #354
- Using hx-indicator for zmi-body loading by @drfho in #382
- Refact: Using a common js function for inserting rows by @drfho in #360
- normalize rest api obj data for preview by @drfho in #383
- Generalizing hx-push-url attribute: 2. by RESPONSE-header by @drfho in #386
- Fix: replace delayed $ZMI.runReady with hx-afterSettle for RTE by @zmsdev in #388
- DOCX-Export: Refinements by @drfho in #391
- Garbage Collection Terminology by @drfho in #394
- getObjVersion(): avoid error on missing version attributes by @drfho in #395
- OpenSearch: Re-Indexing too early for doublicated of page elements #396 by @zmsdev in #397
- Docker: Relstorage for ZODB by @drfho in #392
- RESTAPI: List tree nodes based on ZMSIndex filtered by meta_id by @cmeier76 in #398
- MetaCmd: Handling missing External Methods by @drfho in #390
- feat(metaobj): Made tablefilter case insensitive by @cmeier76 in #400
- html_import: catched 302 (KKI) by @drfho in #402
- Markdown: Integrate zmiBrowseObjs into richtext editors (#232) by @cmeier76 in #232
- feat(copysupport): Added _copy_blobs_if_other_mediadb by @cmeier76 in #403
- ZMI: Changing all Existing Backlinks to a New Target-Node by @drfho in #401
- Search-Connectors: Added Timeout-Property by @drfho in #406
- normalize_ids_after_copy(): Avoid Repetitive Indexing and Collateral Renaming by @drfho in #404
- Workflow: normalize_ids_after_copy() resets collateral status on copy/paste by @drfho in #409
- Representation of Acquired Meta-Definitions by @drfho in #411
- zmi: minor style changes by @drfho in #412
- ZMI: Handle SQL(ite) DateTime Formats both '2025-07-09' and '2025/07/09' by @drfho in #414
- update zmiBrowseObjs and ZMSLinkElement 5.2 by @drfho in #415
- feat(http_request): Added additional return values by @cmeier76 in #417
- Ontology-Editor: Manage small Keyword Catalogs by @drfho in #410
- Ontology-Model: Refact table as document-tree by @drfho in #421
- feat(manage_changeProperties): Added rollback on exception by @cmeier76 in #419
- refact(xml): Switched to ISO8601 for DateTime on export by @cmeier76 in #422
- Fix repomanager: avoid sequencing filter-process Zope objs as a root-attributes by @drfho in #426
New Contributors
- @OscarMeier made their first contribution in #305
- @dwt made their first contribution in #313
- @togis made their first contribution in #336
Full Changelog: release/2021-12...2025-09