Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 4 improvements #6188

Merged
merged 391 commits into from
Mar 31, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
391 commits
Select commit Hold shift + click to select a range
d0a3d24
Collection / Add menu to build a collection from a selection.
fxprunayre Dec 3, 2021
6bcafec
DOI / Add public URL settings.
fxprunayre Nov 29, 2021
71e4142
New record / Restore custom label depending on type of creation.
fxprunayre Dec 8, 2021
c5c3d91
Editor / Collapse directive
fxprunayre Dec 8, 2021
81b8d70
Editor / Online source / Config / Add choices for URL
fxprunayre Dec 8, 2021
725a058
Record view / Back to search / Fix tag filter on advanced view.
fxprunayre Dec 8, 2021
9f974cd
Editor board / Facet / Resource type
fxprunayre Dec 8, 2021
f25a5e9
Java message / French translations
fxprunayre Dec 9, 2021
62393ee
Merge remote-tracking branch 'origin/main' into 4.0.x
fxprunayre Dec 13, 2021
af322dc
Record view / Add supplemental information.
fxprunayre Dec 13, 2021
9bbf8f1
Merge remote-tracking branch 'tit/4.0.x' into 406-collection-builder
fxprunayre Dec 14, 2021
acc252f
Collection / Process to update a serie from its members / Add support…
fxprunayre Dec 15, 2021
6ea98c8
Editor / Tabs / If no label, use the id - to avoid empty tab name.
fxprunayre Dec 15, 2021
5e5eadc
Layout / Add a record mosaic directive.
fxprunayre Dec 15, 2021
692e22e
Layout / Add a record mosaic directive / Can be apply to a Metadata o…
fxprunayre Dec 16, 2021
f8f86c1
Collection / Process to update a serie from its members / Combine ove…
fxprunayre Dec 16, 2021
80979ea
Editor / Menu / If no label, use the id - to avoid empty tab name.
fxprunayre Dec 16, 2021
def14e2
Collection / Builder directive.
fxprunayre Dec 16, 2021
ec3e5e8
Initial changes for metadata detail page for series metadata
josegar74 Dec 20, 2021
530af45
Editor / Related records / Clarify type of relations.
fxprunayre Dec 20, 2021
67d89db
Record view / Split template for series and others.
fxprunayre Dec 20, 2021
5ce029b
Record view / On load, load all related and collect details about rec…
fxprunayre Dec 20, 2021
7520f58
Record view / Use the preloaded related for dataset view too.
fxprunayre Dec 20, 2021
acee064
Page load / Try to use ng-if to reduce number of API calls on load eg…
fxprunayre Dec 20, 2021
28dfcec
Record view / Member search / Limit source fields.
fxprunayre Dec 21, 2021
49a02bb
Record view / Mosaic / Cover the area.
fxprunayre Dec 21, 2021
47bd5d1
Home page / Cards / Fix abstract field.
fxprunayre Dec 21, 2021
f411b4b
Record view / Extract template for about section.
fxprunayre Dec 21, 2021
2ddff10
Search / Restore possibility to have a facet as a tab.
fxprunayre Dec 21, 2021
5a7efa4
Home / Show mosaic is an option.
fxprunayre Dec 21, 2021
fb371a5
Search / Restore possibility to have a facet as a tab.
fxprunayre Dec 21, 2021
edaf1dd
Record view / Add directive to display record as table.
fxprunayre Dec 21, 2021
6ac8eb8
Series metadata - use aggregations for children metadata
josegar74 Dec 21, 2021
e9acabe
Series metadata - remove unused directive
josegar74 Dec 21, 2021
868e5fe
Record view / Link table / Sort rows by first column.
fxprunayre Dec 22, 2021
d4082ef
Privileges / Fix button privileges on dropdown and single button.
fxprunayre Dec 22, 2021
7114729
Refactor metadata series directives to support rendering with/without…
josegar74 Dec 22, 2021
39cb9ea
Split the large recordView in smaller better reusable files/templates
MichelGabriel Dec 22, 2021
195b849
Link button directive.
fxprunayre Dec 22, 2021
6b4e286
Metadata series directive - add sort by property
josegar74 Dec 22, 2021
01e8389
Metadata series - move aggregations to configuration
josegar74 Dec 22, 2021
ce82d09
Metadata series - move aggregations to configuration - simplify conf…
josegar74 Dec 22, 2021
68a8105
Metadata series - move aggregations to configuration - ui changes
josegar74 Dec 23, 2021
7f22eb2
Metadata series directive / Add support for multiple filters.
fxprunayre Dec 23, 2021
1e83d53
Record table / Render format like in related link panel.
fxprunayre Dec 23, 2021
c9e6090
Record view / Add possibility to highlight keywords from a particular…
fxprunayre Dec 23, 2021
490c9e3
Record view / Keyword badge directive / Remove scope to allow access …
fxprunayre Dec 23, 2021
1cf4c67
Processing / Collection builder / Error reporting and more robust on …
fxprunayre Dec 23, 2021
b4aab6a
Record view / Add possibility to highlight keyword / Admin config.
fxprunayre Dec 23, 2021
39104e9
Metadata series directive / Sort key. If no children use siblings - d…
fxprunayre Dec 23, 2021
8345086
Metadata related - extract metadata card to a custom directive
josegar74 Dec 23, 2021
4a7f983
WIP - Restyling `recordView` pages and series
MichelGabriel Dec 23, 2021
c0bd033
WIP: styling of series and record views
MichelGabriel Dec 23, 2021
ac41a07
Finish styling for dataset, series and service
MichelGabriel Dec 23, 2021
664edd4
Associated resource / Add card layout - TODO: need a parameter to cho…
fxprunayre Dec 23, 2021
e49dfd0
Associated resource / Add layout parameter. More like this use card a…
fxprunayre Dec 23, 2021
e7616c6
Dates / Most users are using a day precision. Remove time by default.
fxprunayre Dec 23, 2021
e01fecc
Home / Type of resource / Use resourceType instead of hierarchyLevel …
fxprunayre Jan 3, 2022
3756f7e
CSW / Fix escapeChar usage
fxprunayre Dec 20, 2021
52e198c
Harvester / CSW / Do not report last harvesting changes if early failure
fxprunayre Dec 23, 2021
77ca396
CSW / Portal capabilities should not use the default
fxprunayre Dec 23, 2021
eca3bb8
UI config / Remove duplicated option.
fxprunayre Jan 3, 2022
d04a38a
Merge remote-tracking branch 'origin/main' into 4.0.x
fxprunayre Jan 3, 2022
e83aff9
Merge remote-tracking branch 'tit/4.0.x' into 4.0.x
fxprunayre Jan 3, 2022
270ef2b
Related directive / Add doc for filter attribute and add support for …
fxprunayre Jan 3, 2022
78b36e6
Dataset view / Add simple WMS preview.
fxprunayre Jan 4, 2022
10c0a5f
Record view / Move template to a dedicated directory.
fxprunayre Jan 7, 2022
856c90b
Translation / Improve
fxprunayre Jan 7, 2022
41761c4
Editor / Associated resource / Feature catalogue / Fix index field na…
fxprunayre Jan 7, 2022
a665f99
Associated resource / Make distinction between remote record and loca…
fxprunayre Jan 7, 2022
1ef00cf
Formatter / Avoid blank page due to self closing tag
fxprunayre Jan 7, 2022
1ff2013
Security / Do not expose internal settings.
fxprunayre Jan 7, 2022
e83a90e
Facet / Publication group / Translate group properly.
fxprunayre Jan 10, 2022
1880987
CSW harvester add typeahead support for filter field names
josegar74 Jul 1, 2021
3380e87
Merge remote-tracking branch 'tit/4.0.x' into 406-collection-builder
fxprunayre Jan 10, 2022
e565d70
Build / Fix JS error.
fxprunayre Jan 10, 2022
50f2387
Record view / Keyword / Add spatial type keywords and internal keywor…
fxprunayre Jan 10, 2022
df8265f
Lib / Update to angularjs 1.5.11.
fxprunayre Jan 11, 2022
e4eace2
Merge remote-tracking branch 'tit/4.0.x' into 406-collection-builder
fxprunayre Jan 11, 2022
0a33db3
Admin / Ui configuration / Remove some duplication and add new settin…
fxprunayre Jan 11, 2022
9fbda98
Record view / Move history and indexing error to the bottom.
fxprunayre Jan 11, 2022
0ddb307
Record view / Move history and indexing error to the bottom.
fxprunayre Jan 11, 2022
d830d8f
Associated resources / Sort by title - make long list more readable.
fxprunayre Jan 11, 2022
3046e2d
Facet / Use resourceType instead of hierarchyLevel which is 19139 onl…
fxprunayre Jan 12, 2022
3a257b9
Merge remote-tracking branch 'origin/main' into 406-collection-builder
fxprunayre Jan 12, 2022
359d7e0
Related directive / remove empty filters and allow to hide display to…
josegar74 Jan 12, 2022
f1b4122
Record view / Contact / Add card mode.
fxprunayre Jan 12, 2022
bcef7f9
Record view / Contact / Add popup and align when more than 4.
fxprunayre Jan 12, 2022
b8a2675
Record view / associated resources filter - collect stats per type
josegar74 Jan 12, 2022
26c5516
Record view / associated resources filter - collect stats per type - …
josegar74 Jan 12, 2022
36a928b
API / Add GET logo operation which returns 404 if not found (instead …
fxprunayre Jan 12, 2022
06dfe2e
Record view / Contact / Add possibility to use a logo for contact bas…
fxprunayre Jan 12, 2022
8679089
Record view / Contact / Unique id for image pattern.
fxprunayre Jan 12, 2022
be7e2ec
Record view / Contact / Escape id for image pattern.
fxprunayre Jan 12, 2022
c882a84
Map / Do not mix layer queue for all maps.
fxprunayre Jan 13, 2022
368e916
Map / Do not try to add a layer not found in capabilities.
fxprunayre Jan 13, 2022
66aae7f
Reordering elements for the dataset metadata page
MichelGabriel Jan 13, 2022
79e71bc
Finish restyling and reordering dataset metadata
MichelGabriel Jan 13, 2022
5cdbaab
Samples / Update FAO one with a working WMS server.
fxprunayre Jan 13, 2022
4051a59
Small style change for contact list
MichelGabriel Jan 13, 2022
b5a4363
Fix for adding thumbnails
MichelGabriel Jan 13, 2022
8fba42a
gnRelatedContainer directive to display a panel with different types …
josegar74 Jan 13, 2022
c775a19
Record view improvements.
fxprunayre Jan 13, 2022
a8a4879
Export / Add all associated records to MEF.
fxprunayre Jan 14, 2022
ea6e9ef
Record view / Contact / Cursor. Fix missing translation.
fxprunayre Jan 14, 2022
ffde5d7
Record view / Card / min width in case we use cards in sidebar.
fxprunayre Jan 14, 2022
d5cf52c
Associated resource / Add possibility to pass HTML block for title.
fxprunayre Jan 14, 2022
bf8e35e
Record view improvements for services and series.
fxprunayre Jan 17, 2022
fb2ec59
UI settings / Add show map settings.
fxprunayre Jan 17, 2022
49fd1b6
Bump log4j2 from 2.17.0 to 2.17.1
fxprunayre Jan 17, 2022
9e339da
Small UI changes:
MichelGabriel Jan 17, 2022
63f8e53
re-add the styles for the 'provided by' thumbnail in the sidebar
MichelGabriel Jan 17, 2022
f9fdb78
Record view / Side block take full width when lot of items. Improve b…
fxprunayre Jan 18, 2022
c875087
Associated resource / Add a size parameter for card layout. Improve c…
fxprunayre Jan 18, 2022
a68a5fd
Refactor utility to create search link to focus on. Fix word break on…
fxprunayre Jan 18, 2022
fdfcbfd
More focus on link.
fxprunayre Jan 18, 2022
a7cc6c7
Decreasing whitespace between items in the sidebar
MichelGabriel Jan 18, 2022
c876823
Add a full width coloured block to the dataset page, and add padding …
MichelGabriel Jan 18, 2022
db19dc7
Thesaurus / Regions of the world / Add EU changes, UK constituent cou…
fxprunayre Jan 17, 2022
7837e06
Admin / Harvester / Properly sort by label.
fxprunayre Jan 6, 2022
f411876
Admin / Harvester / Add possibility to copy/paste a config.
fxprunayre Jan 6, 2022
1ff4817
Map / ESRI / Layers can be CSV of integers. Save them in context.
fxprunayre Jan 17, 2022
ce4724d
Background colour for 'Similar records' block
MichelGabriel Jan 19, 2022
bfd7cb9
API / Logo / Encode file name in redirect.
fxprunayre Jan 19, 2022
09e67ca
Record view / Series / Add configuration for table summary columns.
fxprunayre Jan 19, 2022
fe31aac
Record view / Series / Add configuration for table summary columns.
fxprunayre Jan 19, 2022
38a61a2
Standards / ISO19115-3 / Remove project specific labels.
fxprunayre Jan 19, 2022
8cc3443
Record view / Center thumbnails.
fxprunayre Jan 19, 2022
a4c6c20
Record view / Parent record and utility directive for status.
fxprunayre Jan 19, 2022
9d157c5
Record view / Feature catalogue is rendered in associated panel. Use …
fxprunayre Jan 19, 2022
83dfeda
Record view / Series / Filter / Fix translation.
fxprunayre Jan 19, 2022
50ed9e9
Record view / Links / Move to configuration.
fxprunayre Jan 19, 2022
07abd3d
Record view / Use same directive for all keywords. Drop next/previous…
fxprunayre Jan 19, 2022
5fd283d
Record view / Links / Cleanup and focus.
fxprunayre Jan 19, 2022
32c97c4
API / Formatter / Fix line feed on CSV output.
fxprunayre Jan 19, 2022
0c903fb
UI / Config / Tabset mode example.
fxprunayre Jan 20, 2022
219d0e9
Merge remote-tracking branch 'origin/main' into 4.0.x
fxprunayre Jan 21, 2022
75d0916
Merge pull request #103 from titellus/406-merge20220121
fxprunayre Jan 21, 2022
a02fbdf
Merge remote-tracking branch 'tit/4.0.x' into 406-collection-builder
fxprunayre Jan 21, 2022
ce5b272
Record view / Improvements following user feedbacks.
fxprunayre Jan 21, 2022
178ff8d
Record view / Avoid double call to related API.
fxprunayre Jan 21, 2022
40fe9dc
Record view / More readable links in top block. Mosaic below title.
fxprunayre Jan 21, 2022
9f6d72c
Process / Collection updater / Merge element having context only.
fxprunayre Jan 21, 2022
dc20757
Merge pull request #81 from titellus/406-collection-builder
fxprunayre Jan 21, 2022
eb5791c
User feedback / Add email notification and admin console (#102)
fxprunayre Jan 24, 2022
98b613a
Duration field / Translation improvement.
fxprunayre Jan 21, 2022
27f8b02
Map / Add WMS and metadata link
fxprunayre Jan 26, 2022
cec234c
Harvester / CSW / After XSLT conversion check if the schema changed.
fxprunayre Jan 27, 2022
8729bd3
Standard / 19115-3 / More robust when encoding code with multilingual…
fxprunayre Jan 27, 2022
e46c78c
Admin / UI config / Properly render boolean options.
fxprunayre Jan 25, 2022
0e759c7
Editor / DOI check / Use doi.org.
fxprunayre Jan 21, 2022
ed10bf0
Metadata create page - allow to configure the metadata template / gro…
fxprunayre Jan 27, 2022
e5f0679
Record view / Series / Fix sort, disable filter if one value only, us…
fxprunayre Jan 27, 2022
c630357
Map / Do not notify on tile load error in small maps.
fxprunayre Jan 27, 2022
aa68cad
Improvements / Looks like translate takes time dealing with large obj…
fxprunayre Jan 27, 2022
952450a
Record view / Resource type icon in cards. Translate codelist. Avoid …
fxprunayre Jan 27, 2022
5657643
Indexing / 19115-3 / Add ordering instructions (#113)
fxprunayre Jan 28, 2022
64727ba
Version is now 4.1.x with experiments...
fxprunayre Jan 28, 2022
d3adc00
Indexing / Thesaurus / Add possibility to configure fieldname mapping
fxprunayre Jan 28, 2022
5caf397
Thesaurus / Local / Set concept scheme defined as namespace.
fxprunayre Jan 24, 2022
3a981a6
Harvested records / Add settings to allow privilges management. (#98)
fxprunayre Jan 28, 2022
769551b
API / Share / Avoid NPE on null status.
fxprunayre Feb 1, 2022
2344aeb
Formatter / Avoid exception on empty text
fxprunayre Jan 28, 2022
78bea49
Associated resources / Improve link classification.
fxprunayre Jan 31, 2022
ec1abd7
Associated resources / Improve link classification / Reuse filter code.
fxprunayre Jan 31, 2022
169f508
Associated resources / Improve link classification / Sort by title.
fxprunayre Jan 31, 2022
b482931
Associated resources / Inject associated resources in search response…
fxprunayre Feb 1, 2022
a8b2d2b
Standards / ISO19115-3 / Associated resources / Add additional docume…
fxprunayre Feb 1, 2022
e3216fc
Multilingual support / Translate keywords according to UI language.
fxprunayre Feb 1, 2022
dd06d6b
Record view / Add quality reports.
fxprunayre Feb 1, 2022
8e97cff
Record view / Add quality reports / 3 states boolean.
fxprunayre Feb 1, 2022
c44a426
Indexing / Conforms to spec field and DQ measures.
fxprunayre Feb 1, 2022
b1a277a
Indexing / Add utility to build valid ES field name
fxprunayre Feb 1, 2022
b422c5e
Associated resource / Restore remote record icon.
fxprunayre Feb 1, 2022
38a78f6
Indexing / DQ measures for ISO19139.
fxprunayre Feb 1, 2022
c91c6e2
Build / Remove duplicated dependency.
fxprunayre Feb 1, 2022
59ccedb
Indexing / Do not index empty formats.
fxprunayre Feb 7, 2022
e346095
Standard / ISO19115-3 / Add online source / Create one link per CSV's…
fxprunayre Feb 4, 2022
ff13539
MetadataResourceDatabaseMigration / Catalogue editing harvested recor…
fxprunayre Feb 7, 2022
8d2dfaa
Index / Ordering instruction can be an array.
fxprunayre Feb 7, 2022
bc53599
i18n / Messages.properties / French / Doubled quote
fxprunayre Feb 7, 2022
18f83b1
Record view improvements (#127)
fxprunayre Feb 15, 2022
a72db60
Editor / Readwrite UUID / Remove old UUID document if UUID change.
fxprunayre Feb 4, 2022
606bcf1
Editor / Associated resource / Better match and default in choices
fxprunayre Feb 4, 2022
42d4854
Merge remote-tracking branch 'origin/main' into 4.1.x
fxprunayre Feb 15, 2022
dab5b03
Merge remote-tracking branch 'tit/4.1.x' into 4.1.x
fxprunayre Feb 15, 2022
4d3270e
Dependency update.
fxprunayre Feb 15, 2022
3e920fa
Record view / Remove duplicated filters.
fxprunayre Feb 15, 2022
1fdd282
Merge fixes.
fxprunayre Feb 15, 2022
38cf44e
Fix translation API tests.
fxprunayre Feb 15, 2022
2b83880
Merge pull request #129 from titellus/410-mergemain-20220215
fxprunayre Feb 15, 2022
965407e
Directory / Fix editing
fxprunayre Feb 15, 2022
a25a547
Manage record / Add add to selection and index actions. (#131)
fxprunayre Feb 15, 2022
dd77443
Standards / ISO19115-3 / Associated resources / Add description in do…
fxprunayre Feb 15, 2022
1667175
Search / Facet / Load more buckets preserve filters
fxprunayre Feb 16, 2022
8cd968c
Standards / ISO19115-3 / Processing / Add collection builder mechanism.
fxprunayre Feb 16, 2022
be6930a
Manage record / Add add to selection and index actions / Don't show c…
fxprunayre Feb 15, 2022
3539bc6
Record view / Filter associated / Display only if filter available.
fxprunayre Feb 15, 2022
b925859
Directory / Add search configuration.
fxprunayre Feb 14, 2022
ba6c6b9
Directory / Allow ZIP export of subtemplates.
fxprunayre Feb 14, 2022
9ee613c
Directory / Move config to dedicated module (to easily reuse configur…
fxprunayre Feb 14, 2022
5f83b40
Editor / Directory / Add search configuration.
fxprunayre Feb 14, 2022
65a64b0
Processing / Add unchanged record count.
fxprunayre Feb 16, 2022
7880f46
Search / Request aggs only if search change
fxprunayre Feb 21, 2022
a175a8d
Map / WFS / Failed to load layer when feature type has no prefix
fxprunayre Feb 18, 2022
15cd7b2
API / Logo / SendRedirect in https forward to http
fxprunayre Feb 25, 2022
39644ee
Record view / Contact / Use mail domain for logos.
fxprunayre Feb 24, 2022
2335b1d
Update UtilityDirective.js
fxprunayre Feb 25, 2022
a949525
UI config / Search results / Open choice for contact field to use
fxprunayre Feb 23, 2022
841b82c
Merge remote-tracking branch 'origin/main' into 410-merge-20220228
fxprunayre Feb 28, 2022
a2e0035
Map / Layer / Fix attached md
fxprunayre Feb 28, 2022
6a58432
Merge pull request #148 from titellus/410-merge-20220228
fxprunayre Mar 1, 2022
c06c98a
Standard / ISO19115-3 / To ISO19139 / Better aggregate mapping
fxprunayre Feb 25, 2022
65b99bb
Record view improvements.
fxprunayre Feb 25, 2022
02fe999
Record view / Associated / Check if records are in current portal or …
fxprunayre Feb 26, 2022
e22a175
Record view improvements.
fxprunayre Mar 1, 2022
9cc6d21
Record view improvements / Series and fix filter by and some JS errors.
fxprunayre Mar 1, 2022
505e306
Index / Ordering instruction can be an array.
fxprunayre Mar 1, 2022
fdcfcb1
Record view improvements / Alignement, constraint as p.
fxprunayre Mar 1, 2022
3a82a9c
Record view improvements / Update freq with dates.
fxprunayre Mar 1, 2022
ea0e982
Record view / Constraint / Directive to handle object with Anchor or …
fxprunayre Mar 1, 2022
39f4037
Record view / Improve various type of feature catalogue - embeded or …
fxprunayre Mar 1, 2022
0a4fd3f
API / XSLT service using JSON translation may failed when : is used i…
fxprunayre Mar 1, 2022
9ee545a
Merge remote-tracking branch 'origin/main' into 410-conflicts
fxprunayre Mar 1, 2022
30fb7af
Merge pull request #151 from titellus/410-conflicts
fxprunayre Mar 1, 2022
407b2f1
CodeQL analysis feedbacks.
fxprunayre Mar 2, 2022
107cc44
Standards / Indexing improvements (#152)
fxprunayre Mar 22, 2022
fff2724
Standard / ISO19115-3 / Processing / Language refactor (#142)
fxprunayre Mar 22, 2022
576bf3d
Search / Related / Missing if no id in source
fxprunayre Mar 21, 2022
c2a16fb
DOI / Remove both online source and/or identifier if needed. Add ISO1…
fxprunayre Feb 2, 2022
322c5b4
API / XSLT service can fail when JSON key is an invalid XML tag name
fxprunayre Mar 21, 2022
678a661
Editor / Associated / Siblings / Fix column order in list of associat…
fxprunayre Mar 23, 2022
84406c3
Map / Feature table improvements (#155)
fxprunayre Mar 24, 2022
3df2263
Search / Add specific configuration for each query types
fxprunayre Feb 23, 2022
8abaa49
Search / Boost by status. Obsolete records are even less important th…
fxprunayre Feb 23, 2022
8330b0a
Search / Add query_string options.
fxprunayre Mar 22, 2022
afa93c8
Editor board / Clean up facet configuration.
fxprunayre Mar 24, 2022
c787a65
Search / Search on all titles.
fxprunayre Mar 24, 2022
40d2427
Merge remote-tracking branch 'origin/main' into 4.1.x
fxprunayre Mar 24, 2022
203d548
Standards / ISO / Citation / Author name duplicated for multilingual…
fxprunayre Mar 24, 2022
3a41d68
Metadata detail page - sort keywords / topic categories - fix sort of…
josegar74 Mar 28, 2022
0817d6b
Metadata create page - allow to configure the metadata template / gro…
josegar74 Mar 28, 2022
375dfdc
Search / Each values selected in facet makes an OR search whatever th…
fxprunayre Mar 25, 2022
295fac5
Merge remote-tracking branch 'origin/main' into 4.1.x
fxprunayre Mar 28, 2022
5b3d123
Set version to 4.0.7
fxprunayre Mar 28, 2022
156a89a
Merge remote-tracking branch 'origin/main' into 4.1.x
fxprunayre Mar 30, 2022
7dd2afe
Record view / More like this / Add parameter to customize size
fxprunayre Mar 30, 2022
2325c1c
Standards / ISO19115-3 / Fix multilingual anchor conversion. Remove u…
fxprunayre Mar 30, 2022
ee37b3c
Editor / Associated resources / Add missing translation for associati…
fxprunayre Mar 30, 2022
96ba729
Codelist selector / Properly add blank value and avoid exception
fxprunayre Mar 30, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@ schematrons/.build
target/
transifex/transifex-format/
web-itest/jcs_caching
web-ui-docs/node
web-ui-docs/node_modules
web-ui-docs/package-lock.json
web-ui/src/main/resources/catalog/lib/gn*.min.js
web-ui/src/main/resources/catalog/style/gn*.css
web-ui/src/main/resources/catalog/style/gn.css
Expand Down
4 changes: 4 additions & 0 deletions common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,10 @@
<version>20140107</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>diff_match_patch</groupId>
<artifactId>diff_match_patch</artifactId>
</dependency>
</dependencies>

<build>
Expand Down
24 changes: 24 additions & 0 deletions common/src/main/java/org/fao/geonet/utils/Diff.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package org.fao.geonet.utils;

import name.fraser.neil.plaintext.diff_match_patch;
import org.jdom.Element;

import java.util.LinkedList;

public class Diff {

public static String diff(String oldVersion, String newVersion, DiffType diffType) {
diff_match_patch dmp = new diff_match_patch();
if (DiffType.patch.equals(diffType)) {
LinkedList<diff_match_patch.Patch> diffs =
dmp.patch_make(oldVersion, newVersion);
return diffs.toString();
} else if (DiffType.diff.equals(diffType)) {
LinkedList<diff_match_patch.Diff> diffs = dmp.diff_main(oldVersion, newVersion);
return diffs.toString();
} else {
LinkedList<diff_match_patch.Diff> diffs = dmp.diff_main(oldVersion, newVersion);
return dmp.diff_prettyHtml(diffs);
}
}
}
7 changes: 7 additions & 0 deletions common/src/main/java/org/fao/geonet/utils/DiffType.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package org.fao.geonet.utils;

public enum DiffType {
patch,
diff,
diffhtml
}
18 changes: 12 additions & 6 deletions common/src/main/java/org/fao/geonet/utils/Xml.java
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,14 @@ public final class Xml {
+ "\ud800\udc00-\udbff\udfff"
+ "]";

/**
*
* @param validate
* @return
*/
private static SAXBuilder getSAXBuilder(boolean validate, Path base) {
public static SAXBuilder getSAXBuilder(boolean validate) {
SAXBuilder builder = getSAXBuilderWithPathXMLResolver(validate, null);
Resolver resolver = ResolverWrapper.getInstance();
builder.setEntityResolver(resolver.getXmlResolver());
return builder;
}

public static SAXBuilder getSAXBuilder(boolean validate, Path base) {
SAXBuilder builder = getSAXBuilderWithPathXMLResolver(validate, base);
Resolver resolver = ResolverWrapper.getInstance();
builder.setEntityResolver(resolver.getXmlResolver());
Expand All @@ -151,6 +153,10 @@ private static SAXBuilder getSAXBuilder(boolean validate, Path base) {
private static SAXBuilder getSAXBuilderWithPathXMLResolver(boolean validate, Path base) {
SAXBuilder builder = new SAXBuilder(validate);
builder.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
builder.setFeature("http://apache.org/xml/features/allow-java-encodings", true);

// To avoid CVE-2021-33813
builder.setExpandEntities(false);

if (base != null) {
NioPathHolder.setBase(base);
Expand Down
6 changes: 5 additions & 1 deletion core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-spring-security-adapter</artifactId>
<version>4.8.3.Final</version>
<version>15.0.2</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
Expand Down Expand Up @@ -499,6 +499,10 @@
<artifactId>opendap</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
</dependency>
<dependency>
<groupId>org.owasp.esapi</groupId>
<artifactId>esapi</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ public ServletPathFinder(ServletContext servletContext) {
baseUrl = resource.substring(resource.indexOf('/', 1), resource.length() - 1);
} catch (java.net.MalformedURLException e) { // unlikely
baseUrl = servletContext.getServletContextName();
} catch (NullPointerException e) { // in test using GeonetMockServletContext
baseUrl = "/";
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,15 +170,17 @@ public static boolean updateMetadataResourcesLink(@Nonnull Element xml,
public void update(Connection connection) throws SQLException {
Log.debug(Geonet.DB, "MetadataResourceDatabaseMigration");

final SettingManager settingManager = applicationContext.getBean(SettingManager.class);

try (PreparedStatement update = connection.prepareStatement(
"UPDATE metadata SET data=? WHERE id=?")
) {
try (Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(
"SELECT data,id,uuid FROM metadata WHERE isharvested = 'n'")
ResultSet resultSet = statement.executeQuery(String.format(
"SELECT data, id, uuid FROM metadata WHERE data LIKE '%%%s%%'",
settingManager.getServerURL()))
) {
int numInBatch = 0;
final SettingManager settingManager = applicationContext.getBean(SettingManager.class);

while (resultSet.next()) {
final Element xml = Xml.loadString(resultSet.getString(1), false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ public MetadataResource putResource(final ServiceContext context, final String m
final InputStream is, @Nullable final Date changeDate, final MetadataResourceVisibility visibility,
Boolean approved) throws Exception {
int metadataId = canEdit(context, metadataUuid, approved);
checkResourceId(filename);
Path filePath = getPath(context, metadataId, visibility, filename, approved);
Files.copy(is, filePath, StandardCopyOption.REPLACE_EXISTING);
if (changeDate != null) {
Expand Down
4 changes: 2 additions & 2 deletions core/src/main/java/org/fao/geonet/constants/Geonet.java
Original file line number Diff line number Diff line change
Expand Up @@ -648,7 +648,7 @@ public static class IndexFieldNames {
public static final String GROUP_WEBSITE = "_groupWebsite";
public static final String LOGO = "_logo";
public static final String OP_PREFIX = "op";
public static final String GROUP_PUBLISHED = "_groupPublished";
public static final String GROUP_PUBLISHED = "groupPublished";
public static final String CAT = "_cat";
public static final String STATUS = "mdStatus";
public static final String STATUS_CHANGE_DATE = "mdStatusChangeDate";
Expand All @@ -657,7 +657,7 @@ public static class IndexFieldNames {
public static final String VALID_INSPIRE = "_valid_inspire";
public static final String ANY = "any";
public static final String LOCALE = "locale";
public static final String IS_PUBLISHED_TO_ALL = "_isPublishedToAll";
public static final String IS_PUBLISHED_TO_ALL = "isPublishedToAll";
public static final String FEEDBACKCOUNT = "feedbackCount";
public static final String DRAFT = "draft";
public static final String RESOURCETITLE = "resourceTitle";
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/org/fao/geonet/kernel/AllThesaurus.java
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ public synchronized Thesaurus updateCodeByURI(String olduri, String newuri) thro
}

@Override
public void addTitleElement(String thesaurusTitle) throws IOException, AccessDeniedException, GraphException {
public void addTitleElement(String thesaurusTitle, String namespace) throws IOException, AccessDeniedException, GraphException {
throw new UnsupportedOperationException();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,6 @@
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

/**
* Created by francois on 22/10/15.
*/
@XmlRootElement(name = "edit")
public class BatchEditParameter implements Serializable {
private String xpath;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public MetadataIndexerProcessor(DataManager dm) {
this.dm = dm;
}

public abstract void process() throws Exception;
public abstract void process(String catalogueId) throws Exception;

protected DataManager getDataManager() {
return dm;
Expand Down
4 changes: 2 additions & 2 deletions core/src/main/java/org/fao/geonet/kernel/Thesaurus.java
Original file line number Diff line number Diff line change
Expand Up @@ -681,7 +681,7 @@ private Thesaurus updateElementCode(Graph myGraph, URI oldobj, URI newobj) {
/**
* Set the title of the thesaurus and save the graph to the repository.
*/
public void addTitleElement(String thesaurusTitle) throws IOException, AccessDeniedException, GraphException {
public void addTitleElement(String thesaurusTitle, String namespace) throws IOException, AccessDeniedException, GraphException {

Graph myGraph = new org.openrdf.model.impl.GraphImpl();

Expand All @@ -690,7 +690,7 @@ public void addTitleElement(String thesaurusTitle) throws IOException, AccessDen
String namespaceSkos = "http://www.w3.org/2004/02/skos/core#";
String namespaceDC = "http://purl.org/dc/elements/1.1/";

URI mySubject = myFactory.createURI("http://geonetwork-opensource.org/", thesaurusTitle);
URI mySubject = myFactory.createURI(namespace);
URI skosClass = myFactory.createURI(namespaceSkos, "ConceptScheme");
URI titleURI = myFactory.createURI(namespaceDC, "title");

Expand Down
26 changes: 14 additions & 12 deletions core/src/main/java/org/fao/geonet/kernel/ThesaurusManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -289,9 +289,21 @@ public void addThesaurus(Thesaurus gst, boolean writeTitle) throws Exception {
thesauriMap.put(thesaurusName, gst);

if (writeTitle) {
gst.addTitleElement(gst.getTitle());
gst.addTitleElement(gst.getTitle(), gst.getDefaultNamespace());
}
}

public void addOrReloadThesaurus(Thesaurus gst) throws Exception {
if (thesauriMap.replace(gst.getKey(), gst) != null) {
service.removeRepository(gst.getKey());
}

createThesaurusRepository(gst);
thesauriMap.put(gst.getKey(), gst);

if (Log.isDebugEnabled(Geonet.THESAURUS_MAN)) {
Log.debug(Geonet.THESAURUS_MAN, "Thesaurus " + gst.getKey() + " loaded.");
}
}

/**
Expand Down Expand Up @@ -403,17 +415,7 @@ public String createUpdateThesaurusFromRegister(String uuid, String type, Servic
String theKey = gst.getKey();
gst.retrieveThesaurusTitle();

if (thesauriMap.replace(theKey, gst) == null) {
createThesaurusRepository(gst);
thesauriMap.put(theKey, gst);
if (Log.isDebugEnabled(Geonet.THESAURUS_MAN))
Log.debug(Geonet.THESAURUS_MAN, "Created thesaurus " + theKey + " from register " + uuid);
} else {
service.removeRepository(theKey);
createThesaurusRepository(gst);
if (Log.isDebugEnabled(Geonet.THESAURUS_MAN))
Log.debug(Geonet.THESAURUS_MAN, "Rebuilt thesaurus " + theKey + " from register " + uuid);
}
addOrReloadThesaurus(gst);

return theKey;
}
Expand Down
28 changes: 28 additions & 0 deletions core/src/main/java/org/fao/geonet/kernel/ThesaurusType.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
//=== Copyright (C) 2001-2021 Food and Agriculture Organization of the
//=== United Nations (FAO-UN), United Nations World Food Programme (WFP)
//=== and United Nations Environment Programme (UNEP)
//===
//=== This program is free software; you can redistribute it and/or modify
//=== it under the terms of the GNU General Public License as published by
//=== the Free Software Foundation; either version 2 of the License, or (at
//=== your option) any later version.
//===
//=== This program is distributed in the hope that it will be useful, but
//=== WITHOUT ANY WARRANTY; without even the implied warranty of
//=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
//=== General Public License for more details.
//===
//=== You should have received a copy of the GNU General Public License
//=== along with this program; if not, write to the Free Software
//=== Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//===
//=== Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
//=== Rome - Italy. email: geonetwork@osgeo.org
//==============================================================================

package org.fao.geonet.kernel;

public enum ThesaurusType {
external,
local
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ public interface IMetadataStatus {
*/
boolean isUserMetadataStatus(int userId) throws Exception;

void transferMetadataStatusOwnership(int oldUserId, int newUserId) throws Exception;

/**
* If groupOwner match regular expression defined in setting metadata/workflow/draftWhenInGroup, then set status to draft to enable
* workflow.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -568,6 +568,7 @@ private Multimap<String, Object> buildFieldsForPrivileges(int recordId) {
Optional<Group> g = groupRepository.findById(groupId);
if (g.isPresent()) {
privilegesFields.put(Geonet.IndexFieldNames.GROUP_PUBLISHED, g.get().getName());
privilegesFields.put(Geonet.IndexFieldNames.GROUP_PUBLISHED + "Id", g.get().getId());


if (g.get().getId() == ReservedGroup.all.getId()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ public void synchronizeDbWithIndex(ServiceContext context, Boolean force, Boolea
Set<Integer> integerList = toIndex.stream().map(Integer::parseInt).collect(Collectors.toSet());
new BatchOpsMetadataReindexer(
context.getBean(DataManager.class),
integerList).process(false);
integerList).process(settingManager.getSiteId(), false);
} else {
metadataIndexer.batchIndexInThreadPool(context, toIndex);
}
Expand Down Expand Up @@ -726,15 +726,17 @@ public synchronized AbstractMetadata updateMetadata(final ServiceContext context
session.removeProperty(Geonet.Session.VALIDATION_REPORT + metadataId);
}
String schema = metadataSchemaUtils.getMetadataSchema(metadataId);

String uuidBeforeUfo = null;
if (ufo) {
String parentUuid = null;
Integer intId = Integer.valueOf(metadataId);

final AbstractMetadata metadata = metadataUtils.findOne(metadataId);

String uuid = findUuid(metadataXml, schema, metadata);
uuidBeforeUfo = findUuid(metadataXml, schema, metadata);

metadataXml = updateFixedInfo(schema, Optional.of(intId), uuid, metadataXml, parentUuid,
metadataXml = updateFixedInfo(schema, Optional.of(intId), uuidBeforeUfo, metadataXml, parentUuid,
(updateDateStamp ? UpdateDatestamp.YES : UpdateDatestamp.NO), context);
}

Expand All @@ -758,7 +760,10 @@ public synchronized AbstractMetadata updateMetadata(final ServiceContext context
}
} finally {
if (index) {
// --- update search criteria
// Delete old record if UUID changed
if (uuidBeforeUfo != null && !uuidBeforeUfo.equals(uuid)) {
getSearchManager().delete(String.format("+uuid:\"%s\"", uuidBeforeUfo));
}
metadataIndexer.indexMetadata(metadataId, true);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,15 @@ public boolean isUserMetadataStatus(int userId) throws Exception {
return metadataStatusRepository.count(MetadataStatusSpecs.hasUserId(userId)) > 0;
}

@Override
public void transferMetadataStatusOwnership(int oldUserId, int newUserId) throws Exception {
List<MetadataStatus> oldUserStatus = metadataStatusRepository.findAll(MetadataStatusSpecs.hasUserId(oldUserId));
oldUserStatus.stream().forEach(s -> {
s.setUserId(newUserId);
});
metadataStatusRepository.saveAll(oldUserStatus);
}

/**
* Return last workflow status for the metadata id
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,9 +230,6 @@ private static void createMetadataFolder(ServiceContext context,
String id = "" + record.getId();
String isTemp = record.getDataInfo().getType().codeString;

if (!"y".equals(isTemp) && !"n".equals(isTemp))
throw new Exception("Cannot export sub template");

final Path metadataXmlDir = metadataRootDir.resolve(MD_DIR);
Files.createDirectories(metadataXmlDir);

Expand Down
Loading