Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
ff75376
SAML SSO unit tests etc. (#455)
axb21 Mar 20, 2025
5eec439
DRYD-1712/DRYD-1715: only run `git-commit-id-plugin` once (#457)
axb21 Mar 21, 2025
caae20d
DRYD-1716: set the antrun plugin that runs check-env-vars to <inherit…
axb21 Mar 21, 2025
8a0f21b
DRYD-1742: Change deployment for common/lib jars (#459)
mikejritter Apr 4, 2025
16e666e
DRYD-1759: Null Error in Full Place Report (#460)
mikejritter Apr 9, 2025
1152ab7
DRYD-1714, add property to control JAXB code generation (#461)
axb21 Apr 9, 2025
01d5553
DRYD-1754: Manage Nuxeo JARs through Ant/Maven (#462)
mikejritter Apr 22, 2025
794abce
Add aspectj dependencies back into deployment (#465)
mikejritter May 2, 2025
8df5e9a
Update UI Build Branch (#467)
mikejritter May 12, 2025
45124c8
Update build branch for ui plugins (#468)
mikejritter May 12, 2025
a07dd99
DRYD-1795: Fix Error for Ethnographic Object Reports (#466)
mikejritter May 12, 2025
bca925d
Add publishedRelatedLinkGroupList to all ES bindings (#469)
mikejritter May 14, 2025
0cda7ef
DRYD-1747: Add update_userid function to database (#463)
axb21 May 15, 2025
5e7b8ec
DRYD-1748: Add deurn function to database (#464)
axb21 May 16, 2025
8ea7228
Prepare QA 8.2.0 (#470)
mikejritter Jun 12, 2025
2558ec3
Update Release Version to 8.2.0 (#471)
mikejritter Jun 27, 2025
5dfc7f1
Update version to 8.3.0-SNAPSHOT (#472)
mikejritter Jun 30, 2025
583ab3d
DRYD-1829: Remove flickr urls from tests (#473)
mikejritter Jul 22, 2025
3775ba0
Prototype advanced search endpoint (#474)
axb21 Aug 28, 2025
48f6471
DRYD-1892: JDBC Parameter Build Env Var (#475)
mikejritter Sep 8, 2025
045c2a0
Fix JDBC Parameter var name (#476)
mikejritter Sep 8, 2025
eda5c17
DRYD-1818: Implement image ordering functionality for public browser …
spirosdi Oct 13, 2025
4742a05
DRYD-1902: Update Strategy for AdvancedSearch Query (#478)
mikejritter Oct 13, 2025
61164cc
DRYD-1903: Query Relations in AdvancedSearch Service (#484)
mikejritter Oct 22, 2025
6d2c12a
DRYD-1914: Report > Anthro > Fix Notice of Inventory Completion Repor…
spirosdi Oct 30, 2025
7bc5ef0
DRYD-1837: New Authority CSV Export Format (#485)
mikejritter Nov 4, 2025
ac77050
DRYD-1939: Search > Update AdvancedSearch to Spec (#487)
mikejritter Nov 18, 2025
654554d
DRYD-1952: Public Browser > Add contentPlace field (#486)
spirosdi Dec 11, 2025
1fddd8c
DRYD-1918: Report > Anthro > Fix Notice of Intent to Repatriate Repor…
spirosdi Dec 11, 2025
4de539b
DRYD-1982: Add blobAltText to advanced search (#489)
mikejritter Dec 11, 2025
8bac1c7
DRYD-1834: Remove Unnecessary Namespace Search (#490)
mikejritter Dec 16, 2025
b340fdb
NOJIRA: fixed integration test (#492)
spirosdi Jan 8, 2026
fc8cf9d
DRYD-1851: Report > Public Art > Full object with place details (#493)
spirosdi Jan 20, 2026
8d7171a
DRYD-1979 Security > Integrate Security Vulnerability Scanners (#498)
spirosdi Jan 23, 2026
f8ce52b
DRYD-1837: TermRef Export Fixes (#491)
mikejritter Jan 27, 2026
000faad
Prepare 8.3.0-RC.1 (#499)
mikejritter Jan 29, 2026
87d5d61
Merge pull request #500 from collectionspace/develop
mikejritter Jan 29, 2026
f67be5b
DRYD-2015: Report > Public Art > Full object with place details > pla…
spirosdi Feb 9, 2026
93d516a
DRYD-1983: Browser > Anthro > Add Material/technique description (#503)
spirosdi Feb 11, 2026
80777a9
Release 8.3.0-RC.2
mikejritter Feb 24, 2026
99cd743
Merge pull request #505 from collectionspace/develop
mikejritter Feb 24, 2026
9657e74
NO-JIRA: added removeing query parameters from filename when download…
spirosdi Feb 26, 2026
04767c3
DRYD-2042: Update AdvancedSearch Response for Materials and Herbarium…
mikejritter Mar 2, 2026
fe6eb6e
Prepare 8.3.0-RC.3 (#510)
spirosdi Mar 5, 2026
4ddd677
Release 8.3.0-RC.3
mikejritter Mar 5, 2026
df34e42
DRYD-2071: Adjust relation uri info (#512)
mikejritter Mar 16, 2026
bb9ea38
Update for 8.3.0 (#513)
mikejritter Mar 19, 2026
898eec5
Merge pull request #514 from collectionspace/develop
spirosdi Mar 19, 2026
c6a4e92
Merge remote-tracking branch 'origin-cspace/main' into ucb_8.3
spirosdi Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,4 @@ bin
*.diff
logged_schemas
logs
.mvn
4 changes: 4 additions & 0 deletions 3rdparty/nuxeo/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,16 @@

<target name="deploy" depends="package"
description="deploy nuxeo server libs to ${jee.server.cspace}">
<ant antfile="nuxeo-server/build.xml" target="deploy" inheritall="false" />
<copy todir="${jee.server.cspace}/nuxeo-server">
<fileset dir="${basedir}/nuxeo-server/${nuxeo.release}">
<exclude name="**/config/proto-*-config.xml"/>
<exclude name="**/config/proto-*-extension.xml"/>
<exclude name="**/bundles/*.jar"/>
<exclude name="**/lib/*.jar"/>
</fileset>
</copy>

<echo message="Copying Nuxeo prototype repo config file ..."/>
<copy todir="${jee.server.cspace}/cspace/config/services" overwrite="true">
<fileset file="${basedir}/nuxeo-server/${nuxeo.release}/config/proto-repo-config.xml"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,13 @@ public ObjectNode getDenormValues(DocumentModel doc) {
List<Map<String, Object>> prodDateGroupList = (List<Map<String, Object>>) doc.getProperty("collectionobjects_common", "objectProductionDateGroupList");

denormValues.putArray("prodYears").addAll(structDatesToYearNodes(prodDateGroupList));
} else if ("Media".equals(docType) && isMediaPublished(doc)) {
CoreSession session = doc.getCoreSession();
String csid = doc.getName();
String tenantId = (String) doc.getProperty("collectionspace_core", "tenantId");

// Add media-specific denormalized fields
denormRelatedObjects(session, csid, tenantId, denormValues);
}

return denormValues;
Expand Down Expand Up @@ -135,6 +142,31 @@ private void denormMediaRecords(CoreSession session, String csid, String tenantI
denormValues.put("hasMedia", mediaCsids.size() > 0);
}

private void denormRelatedObjects(CoreSession session, String csid, String tenantId, ObjectNode denormValues) {
// Store the objectCsid of objects that are related to this media.

String relatedRecordQuery = String.format(
"SELECT * FROM Relation WHERE relations_common:objectCsid = '%s' AND relations_common:subjectDocumentType = 'CollectionObject' AND ecm:currentLifeCycleState = 'project' AND collectionspace_core:tenantId = '%s'",
csid, tenantId);
DocumentModelList relationDocs = session.query(relatedRecordQuery);
List<JsonNode> objectCsids = new ArrayList<JsonNode>();

if (relationDocs.size() > 0) {
Iterator<DocumentModel> iterator = relationDocs.iterator();

while (iterator.hasNext()) {
DocumentModel relationDoc = iterator.next();
String objectCsid = (String) relationDoc.getProperty("relations_common", "subjectCsid");

if (objectCsid != null) {
objectCsids.add(new TextNode(objectCsid));
}
}
}

denormValues.putArray("objectCsid").addAll(objectCsids);
}

private void denormAcquisitionRecords(CoreSession session, String csid, String tenantId, ObjectNode denormValues) {
// Store the credit lines of acquisition records that are related to this object.

Expand Down Expand Up @@ -266,6 +298,7 @@ private void denormConceptFields(final DocumentModel doc, final ObjectNode denor
final List<String> fields = Arrays.asList("contentConcepts",
"contentEvents",
"contentPersons",
"contentPlaces",
"contentOrganizations");

for (String field : fields) {
Expand All @@ -274,7 +307,18 @@ private void denormConceptFields(final DocumentModel doc, final ObjectNode denor
for (String content : contentList) {
if (content != null) {
final ObjectNode node = objectMapper.createObjectNode();
node.put("subject", RefNameUtils.getDisplayName(content));
String subjectValue;

if (RefNameUtils.isTermRefname(content)) {
try {
subjectValue = RefNameUtils.getDisplayName(content);
} catch (Exception e) {
subjectValue = content;
}
} else {
subjectValue = content;
}
node.put("subject", subjectValue);
denormContentSubject.add(node);
}
}
Expand Down
34 changes: 34 additions & 0 deletions 3rdparty/nuxeo/nuxeo-server/build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<project name="nuxeo-server" default="deploy" basedir=".">
<description>Collectionspace Services - Nuxeo Server</description>
<property environment="env" />

<target name="deploy" depends="deploy-bundles,deploy-libs" />

<target name="check-env">
<fail unless="env.CSPACE_JEESERVER_HOME" message="CSPACE_JEESERVER_HOME is not set" />
</target>

<target name="deploy-bundles" depends="check-env">
<property name="nuxeo.bundles" value="${env.CSPACE_JEESERVER_HOME}/nuxeo-server/bundles" />

<!-- use includeGroupIds in order to only deploy nuxeo dependencies -->
<exec executable="mvn" failonerror="true">
<arg value="dependency:copy-dependencies" />
<arg value="-DoutputDirectory=${nuxeo.bundles}" />
<arg value="-DincludeScope=runtime" />
<arg value="-DincludeGroupIds=org.nuxeo" />
</exec>
</target>

<target name="deploy-libs" depends="check-env">
<property name="nuxeo.lib" value="${env.CSPACE_JEESERVER_HOME}/nuxeo-server/lib" />

<!-- use excludeGroupIds in order ignore nuxeo, logging, and other misc dependencies -->
<exec executable="mvn" failonerror="true">
<arg value="dependency:copy-dependencies" />
<arg value="-DoutputDirectory=${nuxeo.lib}" />
<arg value="-DincludeScope=runtime" />
<arg value="-DexcludeGroupIds=org.nuxeo,junit,org.sl4j,log4j,org.apache.logging.log4j" />
</exec>
</target>
</project>
Loading