Добавление нового класса в DSpace 4.2 xmlui

Я хочу добавить новый класс Java в DSpace. Я перешел по этой ссылке для добавления статической страницы. . Я сделал все необходимые изменения. После пересборки пакета и запуска обновления ant я все еще не вижу никаких изменений. Я проверил свой каталог установки dspace и обнаружил, что добавленного мной класса в нем нет. Было бы очень полезно, если бы я нашел учебник, который шаг за шагом объясняет, как включить новый класс Java в DSpace 4.2. Может ли кто-нибудь помочь мне или поделиться некоторыми полезными ссылками. Заранее спасибо.

Я использовал метод на основе кокона. Вот шаги, которые я выполнил:

  1. Я создал java-файл TestPage.java в [dspace-src]/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/discovery/.

  2. Затем я внес изменения в карту сайта, как указано в инструкции по ссылке в [dspace-src]/dspace-xmlui/src/main/resources/aspects/Discovery.

Я добавил это под <map:transformers>

<map:transformer name="TestPage" src="org.dspace.app.xmlui.aspect.discovery.TestPage" />

Это было добавлено под <map:pipelines> <map:pipeline>

<map:match pattern="test">
  <map:transform type="TestPage"/>
  <map:serialize type="xml" />
</map:match>

И, наконец, я изменил page-structure.xsl, чтобы включить ссылку на новую страницу, которую я создал, в пределах <xsl:template match="dri:body">.

<a>
    <xsl:attribute name="href">
        <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/>
        <xsl:text>/test</xsl:text>
     </xsl:attribute>
     <i18n:text>Test</i18n:text>
</a><br/>

person Poonam Anthony    schedule 16.04.2015    source источник
comment
Боюсь, вам нужно будет дать немного больше деталей - какие изменения вы внесли? Куда вы поместили свой класс? Вы загружаете его через карту сайта, как описано в инструкциях, на которые вы ссылаетесь?   -  person schweerelos    schedule 17.04.2015
comment
Я считаю, что ‹map:transform type=TestPage/› должно быть ‹map:transform type=AboutPage/›   -  person Adán    schedule 17.04.2015


Ответы (1)


К сожалению, инструкции, которые вы использовали, устарели для DSpace 4.2. Структура каталогов изменилась. Вместо этого вам нужно будет поместить файл в [dspace-src]/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/discovery/.

Остальная часть вашего подхода должна быть в порядке (на беглый взгляд).

person schweerelos    schedule 17.04.2015
comment
Извините, я ошибся при вводе пути в своем вопросе, я поместил файл в [dspace-src]/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/discovery/. И, изучив учебник, я обнаружил, что добавление статических страниц в DSpace 4.2 очень просто (упоминалось в пункте 4). Для этой цели уже создан класс StaticPage, который сопоставлен с /xmlui/page/*. Поэтому нужно просто изменить файл page-structure.xsl. - person Poonam Anthony; 17.04.2015
comment
Но я хочу добавить динамическую страницу в DSpace, добавив новый класс. Как это сделать? Будет ли метод похож на добавление статической страницы? - person Poonam Anthony; 17.04.2015
comment
Добавление динамической страницы работает так же, как вы описали выше (очевидно, с правильным путем). Однако это определенно более сложно, чем вписывается в комментарии здесь, на SO, поэтому вы можете, по крайней мере, открыть новый вопрос (включая описание того, чего вы пытаетесь достичь с помощью своей динамической страницы). - person schweerelos; 20.04.2015