Skip to content

Commit

Permalink
Merge branch 'dev' of https://github.com/NatLibFi/NDL-VuFind2 into fi…
Browse files Browse the repository at this point in the history
…nna-395
  • Loading branch information
tmikkonen committed Dec 5, 2023
2 parents cdd8b68 + e860ebc commit 46ff3ef
Show file tree
Hide file tree
Showing 3 changed files with 389 additions and 74 deletions.
43 changes: 39 additions & 4 deletions module/Finna/src/Finna/RecordDriver/AipaLrmi.php
Original file line number Diff line number Diff line change
Expand Up @@ -320,13 +320,48 @@ protected function getEncapsulatedRecordFormat($item): string
public function getFilteredXMLElement(): \SimpleXMLElement
{
$record = parent::getFilteredXMLElement();
$filterFields = ['abstract', 'description'];
$this->doFilterFields($record, ['abstract', 'description', 'assignmentIdeas']);
foreach ($record->material as $material) {
$this->doFilterFields($material, ['comment']);
}
foreach ($record->learningResource as $learningResource) {
$this->doFilterFields($learningResource, ['studyObjectives']);
foreach ($learningResource->educationalLevel as $educationalLevel) {
$this->doFilterFields($educationalLevel, ['name']);
foreach ($educationalLevel->inDefinedTermSet as $inDefinedTermSet) {
$this->doFilterFields($inDefinedTermSet, ['name']);
}
}
foreach ($learningResource->educationalAlignment as $educationalAlignment) {
foreach ($educationalAlignment->educationalSubject as $educationalSubject) {
$this->doFilterFields(
$educationalSubject,
['educationalFramework', 'targetName']
);
}
}
foreach ($learningResource->teaches as $teaches) {
$this->doFilterFields($teaches, ['name']);
}
}
return $record;
}

/**
* Helper method for filtering fields.
*
* @param \SimpleXMLElement $baseElement Base element
* @param array $filterFields Fields to filter
*
* @return void
*/
protected function doFilterFields($baseElement, $filterFields): void
{
foreach ($filterFields as $filterField) {
while ($record->{$filterField}) {
unset($record->{$filterField}[0]);
while ($baseElement->{$filterField}) {
unset($baseElement->{$filterField}[0]);
}
}
return $this->filterEncapsulatedRecords($record);
}

/**
Expand Down
208 changes: 174 additions & 34 deletions module/Finna/tests/fixtures/aipa/aipa_test.xml
Original file line number Diff line number Diff line change
@@ -1,28 +1,59 @@
<?xml version="1.0"?>
<dc schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<identifier>oai:aineistopaketit.finna.fi:2785</identifier>
<title lang="fi">Testi</title>
<date>2023-11-23T10:38:25Z</date>
<oai_dc schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<identifier>oai:aineistopaketit.finna.fi:2788</identifier>
<title lang="fi">Testipaketti</title>
<date>2023-12-01T10:45:39Z</date>
<description lang="fi">Ei saa n&#xE4;ky&#xE4;</description>
<creator>Testihenkil&#xF6;</creator>
<creator>Testiorganisaatio</creator>
<type>education</type>
<item format="lrmi" position="0">
<id>oai:aineistopaketit.finna.fi:2784</id>
<title>Testi</title>
<date>2023-11-23T10:39:05Z</date>
<item format="lrmi" position="0" display="grid">
<id>oai:aineistopaketit.finna.fi:2787</id>
<title>Testipaketti</title>
<date>2023-12-01T10:56:15Z</date>
<description lang="fi">Ei saa n&#xE4;ky&#xE4;</description>
<type>content</type>
<dateCreated>2023-11-23T10:39:05Z</dateCreated>
<dateModified>2023-11-28T08:12:50Z</dateModified>
<dateCreated>2023-12-01T10:56:15Z</dateCreated>
<dateModified>2023-12-01T14:59:30Z</dateModified>
<author>
<person>
<name>Testihenkil&#xF6;</name>
</person>
</author>
<material>
<name lang="fi">Moottorisaha; Partner-moottorisaha</name>
<url>https://finna.fi/Record/lusto.knp-8015?sid=3429037636</url>
<url>https://finna.fi/Record/lusto.knp-8015?sid=3450530197</url>
<position>0</position>
<inLanguage>fi</inLanguage>
<identifier>lusto.knp-8015</identifier>
<comment>Ei saa n&#xE4;ky&#xE4;</comment>
</material>
<material>
<name lang="fi">Moottorisaha; Taiga-moottorisaha</name>
<url>https://finna.fi/Record/lusto.knp-15935?sid=3450530197</url>
<position>1</position>
<inLanguage>fi</inLanguage>
<identifier>lusto.knp-15935</identifier>
<comment>Ei saa n&#xE4;ky&#xE4;</comment>
</material>
<inLanguage>fi</inLanguage>
<learningResource>
<educationalLevel>
<name>ammatillinen koulutus</name>
<termCode>vocationalEducation</termCode>
<inDefinedTermSet>
<name>Koodistot: Koulutusaste</name>
<url>http://uri.suomi.fi/codelist/edtech/Koulutusaste</url>
</inDefinedTermSet>
</educationalLevel>
<educationalLevel>
<name>lukiokoulutus</name>
<termCode>upperSecondarySchool</termCode>
<inDefinedTermSet>
<name>Koodistot: Koulutusaste</name>
<url>http://uri.suomi.fi/codelist/edtech/Koulutusaste</url>
</inDefinedTermSet>
</educationalLevel>
<educationalLevel>
<name>perusopetuksen vuosiluokat 1-2</name>
<termCode>basicEducationGrades1-2</termCode>
Expand All @@ -31,33 +62,142 @@
<url>http://uri.suomi.fi/codelist/edtech/Koulutusaste</url>
</inDefinedTermSet>
</educationalLevel>
<educationalLevel>
<name>perusopetuksen vuosiluokat 7-9</name>
<termCode>basicEducationGrades7-9</termCode>
<inDefinedTermSet>
<name>Koodistot: Koulutusaste</name>
<url>http://uri.suomi.fi/codelist/edtech/Koulutusaste</url>
</inDefinedTermSet>
</educationalLevel>
<educationalLevel>
<name>varhaiskasvatus</name>
<termCode>earlyChildhoodEducation</termCode>
<inDefinedTermSet>
<name>Koodistot: Koulutusaste</name>
<url>http://uri.suomi.fi/codelist/edtech/Koulutusaste</url>
</inDefinedTermSet>
</educationalLevel>
<educationalAlignment>
<educationalSubject>
<educationalFramework>Perusopetuksen opetussuunnitelman perusteet 2014</educationalFramework>
<targetName>Historia</targetName>
<targetUrl>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/oppiaineet/466345</targetUrl>
<identifier>466345</identifier>
<targetName>&#xC4;idinkieli ja kirjallisuus</targetName>
<targetUrl>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/oppiaineet/466340</targetUrl>
<identifier>466340</identifier>
</educationalSubject>
</educationalAlignment>
<educationalAlignment>
<educationalSubject>
<educationalFramework/>
<targetName>&#xC4;idinkieli ja kirjallisuus</targetName>
<targetUrl>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/oppiaineet/6828950</targetUrl>
<identifier>6828950</identifier>
</educationalSubject>
</educationalAlignment>
<educationalAlignment>
<educationalSubject>
<educationalFramework/>
<targetName>Kieli- ja tekstitietoisuus</targetName>
<targetUrl>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/oppiaineet/6828950</targetUrl>
<identifier>6829041</identifier>
</educationalSubject>
</educationalAlignment>
<educationalAlignment>
<educationalSubject>
<educationalFramework/>
<targetName>Mets&#xE4;alan perustutkinto</targetName>
<targetUrl>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/8419761</targetUrl>
<identifier>8419761</identifier>
</educationalSubject>
</educationalAlignment>
<educationalAlignment>
<educationalSubject>
<educationalFramework/>
<targetName>Mets&#xE4;alan ammattitutkinto</targetName>
<targetUrl>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6930623</targetUrl>
<identifier>6930623</identifier>
</educationalSubject>
</educationalAlignment>
<educationalAlignment>
<educationalSubject>
<educationalFramework/>
<targetName>Mets&#xE4;alan erikoisammattitutkinto</targetName>
<targetUrl>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/5116902</targetUrl>
<identifier>5116902</identifier>
</educationalSubject>
</educationalAlignment>
<educationalAlignment>
<educationalSubject>
<educationalFramework/>
<targetName>Puunkorjuupalvelut</targetName>
<targetUrl>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/8419761</targetUrl>
<identifier>8531640</identifier>
</educationalSubject>
</educationalAlignment>
<educationalAlignment>
<educationalSubject>
<educationalFramework/>
<targetName>Huippuosaajana toimiminen</targetName>
<targetUrl>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/yto/tutkinnonOsat</targetUrl>
<identifier>7283253</identifier>
</educationalSubject>
</educationalAlignment>
<educationalAlignment>
<educationalSubject>
<educationalFramework/>
<targetName>Ilmaisun monet muodot</targetName>
<targetUrl>https://api.finna.fi/api/v1/code-sets/varhaiskasvatus/osaamisalueet/OA-2022-2</targetUrl>
<identifier>OA-2022-2</identifier>
</educationalSubject>
</educationalAlignment>
<teaches>
<name>S1 Vuorovaikutustilanteissa toimiminen</name>
<identifier>466630</identifier>
<inDefinedTermSet>
<url>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/oppiaineet/466340</url>
</inDefinedTermSet>
</teaches>
<teaches>
<name>erilaiset k&#xE4;sitykset kielest&#xE4;: kieli rakenteena, merkitysten muodostajana, sosiaalisena ja yhteis&#xF6;llisen&#xE4; ilmi&#xF6;n&#xE4; sek&#xE4; vallan v&#xE4;lineen&#xE4;</name>
<identifier>6829080</identifier>
<inDefinedTermSet>
<url>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/oppiaineet/6828950</url>
</inDefinedTermSet>
</teaches>
<teaches>
<name>T1 ohjata oppilasta vahvistamaan taitoaan toimia erilaisissa vuorovaikutustilanteissa</name>
<identifier>466660</identifier>
<inDefinedTermSet>
<url>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/oppiaineet/466340</url>
</inDefinedTermSet>
</teaches>
<teaches>
<name>kehitt&#xE4;&#xE4; kieli- ja tekstitietoisuuttaan</name>
<identifier>6829077</identifier>
<inDefinedTermSet>
<url>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/oppiaineet/6828950</url>
</inDefinedTermSet>
</teaches>
<teaches>
<name>L1 Ajattelu ja oppimaan oppiminen</name>
<identifier>428670</identifier>
<inDefinedTermSet>
<url>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/419550/perusopetus/laajaalaisetosaamiset</url>
</inDefinedTermSet>
</teaches>
<teaches>
<name>Eettisyys ja ymp&#xE4;rist&#xF6;osaaminen</name>
<identifier>6828860</identifier>
<inDefinedTermSet>
<url>https://virkailija.opintopolku.fi/eperusteet-service/api/external/peruste/6828810/lops2019/laajaAlainenOsaaminen/laajaAlaisetOsaamiset</url>
</inDefinedTermSet>
</teaches>
<studyObjectives>Ei saa n&#xE4;ky&#xE4;</studyObjectives>
</learningResource>
<format>LRMI</format>
<position>0</position>
<display>grid</display>
<assignmentIdeas lang="fi">Ei saa n&#xE4;ky&#xE4;</assignmentIdeas>
</item>
<item format="lrmi" position="1">
<id>oai:aineistopaketit.finna.fi:2788</id>
<title>Testi</title>
<date>2023-11-28T08:09:30Z</date>
<description lang="fi">Ei saa n&#xE4;ky&#xE4;</description>
<type>content</type>
<dateCreated>2023-11-28T08:09:30Z</dateCreated>
<dateModified>2023-11-28T08:09:30Z</dateModified>
<material>
<name lang="fi">Moottorisaha; Taiga-moottorisaha</name>
<url>https://finna.fi/Record/lusto.knp-15935?sid=3429037636</url>
<position>0</position>
<inLanguage>fi</inLanguage>
<identifier>lusto.knp-15935</identifier>
<comment>Ei saa n&#xE4;ky&#xE4;</comment>
</material>
<inLanguage>fi</inLanguage>
</item>
<recordID>node-2785</recordID>
</dc>
<recordID>_preview</recordID>
</oai_dc>
Loading

0 comments on commit 46ff3ef

Please sign in to comment.