Merged HEAD to BRANCHES/V2.3.COMMUNITY

* re-base branch



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3.COMMUNITY@93065 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2015-01-07 00:05:13 +00:00
233 changed files with 8380 additions and 2364 deletions

View File

@@ -25,10 +25,8 @@ Using Eclipse
Summary of Available Ant Targets
- configureSolr : Configures Solr for Alfresco
- fullBuild : Creates the amp file and applies it to the war file
- incrementalBuild : Creates the jar file and copies the jar file with other files like css, js, ftl, etc. files
- prepareEnv : Prepares the development environment (must be run just once)
Summary of Available Internal Ant Targets
@@ -36,6 +34,7 @@ Summary of Available Internal Ant Targets
- alfresco:amp : Creates the amp file using alfresco maven plugin
- alfresco:install : Installs the amp file to the war file
- assembleIconPackage : Assembles an icons package for the module
- configureSolr : Configures Solr4 for Alfresco
- copyDBDriver : Copies the DB driver
- copyDevContextFile : Copies the dev-context.xml file
- copyWarFileToTomcat : Copies the war file (amp applied) to the webapp folder
@@ -46,4 +45,5 @@ Summary of Available Internal Ant Targets
- fetchWarFile : Gets the "original" war file
- install : Executes the "mvn install" command
- package : Executes the "mvn package" command
- prepareEnv : Prepares the development environment (must be run just once)
- unitTest : Runs the unit tests

View File

@@ -66,7 +66,7 @@
</modules>
<properties>
<alfresco.base.version>5.0.b</alfresco.base.version>
<alfresco.base.version>5.0.c</alfresco.base.version>
<!-- Database properties - default values to be overridden in settings.xml -->
<db.driver>org.postgresql.Driver</db.driver>
@@ -79,9 +79,7 @@
<maven.alfresco.includeDependencies>false</maven.alfresco.includeDependencies>
<maven.build.sourceVersion>1.7</maven.build.sourceVersion>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Sonar specific properties -->
<sonar.jacoco.reportPath>${project.build.directory}/jacoco.exec</sonar.jacoco.reportPath>
<argLine>-Xmx1024m -XX:MaxPermSize=256m -Duser.language=en -Dcom.sun.management.jmxremote</argLine>
</properties>
<build>
@@ -198,7 +196,6 @@
<!-- To prevent tests alfresco.log to be created in project roots and bother while synchronizing with SCM -->
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<runOrder>alphabetical</runOrder>
<argLine>-Xmx1024m -XX:MaxPermSize=256m -Duser.language=en -Dcom.sun.management.jmxremote</argLine>
<systemPropertyVariables>
<!-- Database related properties -->
<db.url>${db.url}</db.url>
@@ -307,4 +304,4 @@
</plugins>
</pluginManagement>
</build>
</project>
</project>

312
rm-automation/pom.xml Normal file
View File

@@ -0,0 +1,312 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-rm-parent</artifactId>
<version>2.3-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>alfresco-rm-automation</artifactId>
<properties>
<selenium.version>2.43.1</selenium.version>
<spring.version>4.0.5.RELEASE</spring.version>
</properties>
<build>
<plugins>
<!-- Additional source folder to be added: source/compatibility -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-test-source</id>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/unit-test/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<redirectTestOutputToFile>false</redirectTestOutputToFile>
<properties>
<property>
<name>usedefaultlisteners</name>
<value>false</value>
</property>
<property>
<name>listener</name>
<value>org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter</value>
</property>
</properties>
<suiteXmlFiles>
<suiteXmlFile>${project.build.testOutputDirectory}/testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
<plugin>
<!-- Configuration triggered by mvn antrun:run, used by Bamboo to stop server -->
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>default-cli</id>
<configuration>
<target>
<echo>Stopping Alfresco...</echo>
<exec executable="${basedir}/target/alf-installation/alfresco.sh" dir="target/alf-installation" failonerror="true">
<arg value="stop" />
</exec>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>webdrone</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>${selenium.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.uncommons</groupId>
<artifactId>reportng</artifactId>
<version>1.1.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ru.yandex.qatools.htmlelements</groupId>
<artifactId>htmlelements-all</artifactId>
<version>1.12</version>
</dependency>
<dependency>
<groupId>ru.yandex.qatools.properties</groupId>
<artifactId>properties-loader</artifactId>
<version>1.5</version>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>install-alfresco</id>
<build>
<plugins>
<!-- Download and install the latest enterprise alfresco installer -->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>fetch-installer</id>
<phase>generate-test-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<echo>Recreating database...</echo>
<sql driver="org.postgresql.Driver" url="jdbc:postgresql:template1" userid="alfresco" password="alfresco" autocommit="true">drop database if exists alfresco; create database alfresco</sql>
<echo>Downloading Alfresco installer...</echo>
<sshexec username="tomcat" host="pbld01.alfresco.com" keyfile="${user.home}/.ssh/id_rsa" outputproperty="installerPath" command="ls -rt ${enterprise.installer.path} | tail -1 | tr ' ' '?' " />
<scp remoteFile="tomcat@pbld01.alfresco.com:${installerPath}" localTofile="target/alf-installer.bin" keyfile="${user.home}/.ssh/id_rsa" />
<chmod file="target/alf-installer.bin" perm="a+x" verbose="true" />
<echo>Installing Alfresco...</echo>
<exec executable="${basedir}/target/alf-installer.bin" dir="target" failonerror="true">
<arg line="--mode unattended --alfresco_admin_password admin --disable-components postgres,alfrescowcmqs --jdbc_username alfresco --jdbc_password alfresco --prefix ${basedir}/target/alf-installation" />
</exec>
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-jsch</artifactId>
<version>1.8.2</version>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901-1.jdbc4</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>fetch-amps</id>
<phase>process-test-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-rm-share</artifactId>
<version>${project.version}</version>
<classifier>amp</classifier>
<type>amp</type>
</artifactItem>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-rm-server</artifactId>
<version>${project.version}</version>
<classifier>amp</classifier>
<type>amp</type>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.directory}/amps</outputDirectory>
<useBaseVersion>true</useBaseVersion>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<id>install-server-amp</id>
<goals>
<goal>install</goal>
</goals>
<phase>process-test-resources</phase>
<configuration>
<backup>true</backup>
<ampLocation>${project.build.directory}/amps/alfresco-rm-server-${project.version}-amp.amp</ampLocation>
<warLocation>${project.build.directory}/alf-installation/tomcat/webapps/alfresco.war</warLocation>
<classifier>amp</classifier>
</configuration>
</execution>
<execution>
<id>install-share-amp</id>
<goals>
<goal>install</goal>
</goals>
<phase>process-test-resources</phase>
<configuration>
<backup>true</backup>
<ampLocation>${project.build.directory}/amps/alfresco-rm-share-${project.version}-amp.amp</ampLocation>
<warLocation>${project.build.directory}/alf-installation/tomcat/webapps/share.war</warLocation>
<classifier>amp</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>run-alfresco</id>
<build>
<plugins>
<!-- Fetch JaCoCo agent and set the argLine property accordingly -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.6.3.201306030806</version>
<executions>
<execution>
<id>prepare-jacoco</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
<configuration>
<includes>
<include>org.alfresco.*</include>
</includes>
</configuration>
</plugin>
<!-- Starts/stop the installed Alfresco -->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>start-alfresco</id>
<phase>process-test-classes</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<echo>Starting Alfresco...</echo>
<exec executable="${basedir}/target/alf-installation/alfresco.sh" dir="target/alf-installation" failonerror="true">
<arg value="start" />
<env key="CATALINA_OPTS" value="${argLine}" />
</exec>
<sleep minutes="5" />
</target>
</configuration>
</execution>
<execution>
<id>stop-alfresco</id>
<phase>post-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<echo>Stopping Alfresco...</echo>
<exec executable="${basedir}/target/alf-installation/alfresco.sh" dir="target/alf-installation" failonerror="true">
<arg value="stop" />
</exec>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -5,16 +5,4 @@
app.war.artifactId=alfresco
# Tomcat folder name used by the alfresco application
app.tomcat=tomcat
# Solr configuration
solr.directory=solr
solr.artifactId=alfresco-solr
solr.packaging=zip
solr.package=${solr.artifactId}.${solr.packaging}
# DB driver properties
db.driver.groupId=postgresql
db.driver.artifactId=${db.driver.groupId}
db.driver.version=9.1-901.jdbc4
db.driver.packaging=jar
app.tomcat=tomcat

View File

@@ -10,10 +10,10 @@
<target name="copyDBDriver">
<exec executable="${mvn.exec}" failonerror="true">
<arg value="dependency:get" />
<arg value="-DgroupId=${db.driver.groupId}" />
<arg value="-DartifactId=${db.driver.artifactId}" />
<arg value="-Dversion=${db.driver.version}" />
<arg value="-Dpackaging=${db.driver.packaging}" />
<arg value="-DgroupId=postgresql" />
<arg value="-DartifactId=postgresql" />
<arg value="-Dversion=9.1-901.jdbc4" />
<arg value="-Dpackaging=jar" />
<arg value="-Ddest=${app.tomcat.folder}/lib" />
</exec>
</target>
@@ -24,7 +24,92 @@
<copy file="${devContextFile}" todir="config/alfresco/extension" failonerror="true" />
</target>
<target name="prepareEnv" depends="copyDBDriver, copyDevContextFile" description="" />
<target name="configureSolr4">
<xmlproperty file="../pom.xml" keepRoot="false"/>
<exec executable="${mvn.exec}" failonerror="true">
<arg value="dependency:get" />
<arg value="-DgroupId=${groupId}" />
<arg value="-DartifactId=alfresco-solr4" />
<arg value="-Dversion=${properties.alfresco.base.version}" />
<arg value="-Dclassifier=config-ssl" />
<arg value="-Dpackaging=zip" />
<arg value="-Ddest=${ant.build.directory}/solr4-config.zip" />
</exec>
<exec executable="${mvn.exec}" failonerror="true">
<arg value="dependency:get" />
<arg value="-DgroupId=${groupId}" />
<arg value="-DartifactId=alfresco-repository" />
<arg value="-Dversion=${properties.alfresco.base.version}" />
<arg value="-Dpackaging=jar" />
<arg value="-Ddest=${ant.build.directory}/alfresco-repository.jar" />
</exec>
<exec executable="${mvn.exec}" failonerror="true">
<arg value="dependency:get" />
<arg value="-DgroupId=${groupId}" />
<arg value="-DartifactId=alfresco-solr4" />
<arg value="-Dversion=${properties.alfresco.base.version}" />
<arg value="-Dclassifier=ssl" />
<arg value="-Dpackaging=war" />
<arg value="-Ddest=${ant.build.directory}/solr4.war" />
</exec>
<unzip src="${ant.build.directory}/solr4-config.zip" dest="${ant.build.directory}/solr4"/>
<unzip src="${ant.build.directory}/alfresco-repository.jar" dest="${ant.build.directory}/alfresco-repository"/>
<copy todir="${ant.build.directory}/solr4/keystore">
<fileset dir="${ant.build.directory}/alfresco-repository/alfresco/keystore" />
</copy>
<property name="solr.root.tmp" location="${basedir}/../../data/solr4" />
<pathconvert property="solr.root" targetos="unix">
<path location="${solr.root.tmp}"/>
</pathconvert>
<replace file="${ant.build.directory}/solr4/archive-SpacesStore/conf/solrcore.properties" summary="yes">
<replacefilter token="@@ALFRESCO_SOLR4_DATA_DIR@@" value="${solr.root}/index" />
</replace>
<replace file="${ant.build.directory}/solr4/workspace-SpacesStore/conf/solrcore.properties" summary="yes">
<replacefilter token="@@ALFRESCO_SOLR4_DATA_DIR@@" value="${solr.root}/index" />
</replace>
<replace file="${ant.build.directory}/solr4/context.xml" summary="yes">
<replacefilter token="@@ALFRESCO_SOLR4_DIR@@" value="${solr.root}" />
</replace>
<replace file="${ant.build.directory}/solr4/context.xml" summary="yes">
<replacefilter token="@@ALFRESCO_SOLR4_MODEL_DIR@@" value="${solr.root}/model" />
</replace>
<replace file="${ant.build.directory}/solr4/context.xml" summary="yes">
<replacefilter token="@@ALFRESCO_SOLR4_CONTENT_DIR@@" value="${solr.root}/content" />
</replace>
<replace file="${app.tomcat.folder}/conf/server.xml" summary="yes">
<replacetoken><![CDATA[<!-- Alfresco SSL Connector placeholder -->]]></replacetoken>
<replacevalue><![CDATA[
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
maxThreads="150" scheme="https" keystoreFile="../../data/solr4/keystore/ssl.keystore"
keystorePass="kT9X6oe68t" keystoreType="JCEKS"
secure="true" connectionTimeout="240000"
truststoreFile="../../data/solr4/keystore/ssl.truststore"
truststorePass="kT9X6oe68t" truststoreType="JCEKS"
clientAuth="want" sslProtocol="TLS" allowUnsafeLegacyRenegotiation="true" maxHttpHeaderSize="32768" />]]></replacevalue>
</replace>
<propertyfile file="${solr.root}/../repository.properties">
<entry key="dir.keystore" value="${solr.root}/keystore" />
<entry key="index.subsystem.name" value="solr4" />
<entry key="solr.port.ssl" value="8443" />
</propertyfile>
<copy file="${ant.build.directory}/solr4/context.xml"
tofile="${app.tomcat.folder}/conf/Catalina/localhost/solr4.xml" />
<copy todir="${solr.root}">
<fileset dir="${ant.build.directory}/solr4" />
</copy>
<copy todir="${app.tomcat.webapps}/">
<fileset file="${ant.build.directory}/solr4.war" />
</copy>
</target>
<target name="prepareEnv" depends="copyDBDriver, copyDevContextFile, configureSolr4" />
<target name="unitTest">
<exec executable="${mvn.exec}" failonerror="true">
@@ -32,72 +117,4 @@
<arg value="-Dtest=AllUnitTestSuite" />
</exec>
</target>
<target name="fetchSolr">
<xmlproperty file="../pom.xml" keepRoot="false"/>
<exec executable="${mvn.exec}" failonerror="true">
<arg value="dependency:get" />
<arg value="-DgroupId=${groupId}" />
<arg value="-DartifactId=${solr.artifactId}" />
<arg value="-Dversion=${properties.alfresco.base.version}" />
<arg value="-Dpackaging=${solr.packaging}" />
<arg value="-Ddest=${solr.directory}/${solr.package}" />
</exec>
<unzip src="${solr.directory}/${solr.package}" dest="${solr.directory}"/>
</target>
<target name="configureSolr" depends="fetchSolr"
description="Configures Tomcat and the Alfresco repository to use Solr">
<dirname property="temp.dir" file="${ant.file}"/>
<pathconvert property="base.dir" targetos="unix">
<path location="${temp.dir}"/>
</pathconvert>
<property name="data.root" value="${base.dir}/../../data" />
<property name="solr.root" value="${base.dir}/${solr.directory}" />
<mkdir dir="${data.root}/solr-index"/>
<!-- copy Solr config files -->
<copy file="${solr.directory}/context.xml"
tofile="${app.tomcat.folder}/conf/Catalina/localhost/solr.xml" />
<replace file="${app.tomcat.folder}/conf/Catalina/localhost/solr.xml" summary="yes">
<replacefilter token="@@ALFRESCO_SOLR_DIR@@" value="${solr.root}" />
</replace>
<replace file="${solr.directory}/archive-SpacesStore/conf/solrcore.properties" summary="yes">
<replacefilter token="@@ALFRESCO_SOLR_DIR@@" value="${data.root}/solr-index" />
</replace>
<replace file="${solr.directory}/workspace-SpacesStore/conf/solrcore.properties" summary="yes">
<replacefilter token="@@ALFRESCO_SOLR_DIR@@" value="${data.root}/solr-index" />
</replace>
<!-- copy keystore files -->
<copy todir="${data.root}/keystore">
<fileset dir="${solr.directory}/alf_data/keystore" />
</copy>
<!-- setup Tomcat SSL connector -->
<!-- NOTE: indentation of the replacevalue below is intentional, it matches formatting in destination file -->
<replace file="${app.tomcat.folder}/conf/server.xml" summary="yes">
<replacetoken><![CDATA[<!-- Alfresco SSL Connector placeholder -->]]></replacetoken>
<replacevalue><![CDATA[
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
maxThreads="150" scheme="https" keystoreFile="../../data/keystore/ssl.keystore"
keystorePass="kT9X6oe68t" keystoreType="JCEKS"
secure="true" connectionTimeout="240000"
truststoreFile="../../data/keystore/ssl.truststore"
truststorePass="kT9X6oe68t" truststoreType="JCEKS"
clientAuth="want" sslProtocol="TLS" allowUnsafeLegacyRenegotiation="true" maxHttpHeaderSize="32768" />]]></replacevalue>
</replace>
<!-- update project repository.properties file with Solr properties -->
<propertyfile file="${data.root}/repository.properties">
<entry key="dir.keystore" value="${data.root}/keystore" />
<entry key="index.subsystem.name" value="solr" />
</propertyfile>
</target>
</project>

View File

@@ -12,7 +12,8 @@
</property>
</bean>
<!-- Create record action -->
<!-- Declare as Record action -->
<!-- TODO rename -->
<bean id="create-record" parent="action-executer" class="org.alfresco.module.org_alfresco_module_rm.action.dm.CreateRecordAction">
<property name="recordService" ref="RecordService" />
<property name="nodeService" ref="NodeService" />
@@ -24,12 +25,25 @@
</list>
</property>
</bean>
<!-- Declare as Record Version action -->
<bean id="declare-as-version-record" parent="action-executer" class="org.alfresco.module.org_alfresco_module_rm.action.dm.DeclareAsVersionRecordAction">
<property name="versionService" ref="VersionService" />
<property name="nodeService" ref="NodeService" />
<property name="filePlanService" ref="FilePlanService" />
<property name="dictionaryService" ref="DictionaryService" />
<property name="applicableTypes">
<list>
<value>{http://www.alfresco.org/model/content/1.0}content</value>
</list>
</property>
</bean>
<!-- Hide record action -->
<bean id="hide-record" parent="action-executer" class="org.alfresco.module.org_alfresco_module_rm.action.dm.HideRecordAction">
<property name="nodeService" ref="NodeService" />
<property name="inplaceRecordService" ref="InplaceRecordService" />
<property name="publicAction" value="false"/>
<property name="publicAction" value="true"/>
</bean>
<!-- Move DM record action -->
@@ -40,4 +54,12 @@
<property name="adhocPropertiesAllowed" value="true" />
</bean>
<!-- Recordable version config action -->
<bean id="recordable-version-config" parent="action-executer" class="org.alfresco.module.org_alfresco_module_rm.action.dm.RecordableVersionConfigAction">
<property name="nodeService" ref="NodeService" />
<property name="dictionaryService" ref="DictionaryService" />
</bean>
<!-- Recordable version config constraint -->
<bean id="ac-versions" class="org.alfresco.module.org_alfresco_module_rm.action.constraint.VersionParameterConstraint" parent="action-constraint" />
</beans>

View File

@@ -47,3 +47,13 @@ rm.autocompletesuggestion.nodeParameterSuggester.aspectsAndTypes=rma:record,cm:c
# Global RM disposition lifecycle trigger cron job expression
#
rm.dispositionlifecycletrigger.cronexpression=0 0/5 * * * ?
#
# Records contributors group
#
# if false then record contributor check is ignored and all users can contribute records from
# a collaboration site, if true then a user must be a member of the records contributor group
# in order for them to contribute a record from a collaboration site. Default value 'false'.
rm.record.contributors.group.enabled=false
# record contributors group, default value 'RECORD_CONTRIBUTORS'
rm.record.contributors.group.name=RECORD_CONTRIBUTORS

View File

@@ -74,7 +74,7 @@
<associations>
<child-association name="rmc:supersedes">
<title>SupersededBy__Supersedes</title>
<title>Superseded By__Supersedes</title>
<source>
<mandatory>false</mandatory>
<many>true</many>
@@ -87,7 +87,7 @@
</child-association>
<child-association name="rmc:obsoletes">
<title>ObsoletedBy__Obsoletes</title>
<title>Obsoleted By__Obsoletes</title>
<source>
<mandatory>false</mandatory>
<many>true</many>
@@ -100,7 +100,7 @@
</child-association>
<child-association name="rmc:versions">
<title>VersionedBy__Versions</title>
<title>Next Version__Previous Version</title>
<source>
<mandatory>false</mandatory>
<many>true</many>

View File

@@ -26,6 +26,11 @@
"eventName" : "superseded",
"eventDisplayLabel" : "rmevent.superseded"
},
{
"eventType" : "rmEventType.versioned",
"eventName" : "versioned",
"eventDisplayLabel" : "rmevent.versioned"
},
{
"eventType" : "rmEventType.simple",
"eventName" : "study_complete",

View File

@@ -157,6 +157,30 @@
<property name="index" value="120" />
</bean>
<!-- End Rentention -->
<bean id="rmEndRetentionCapability"
parent="declarativeCapability">
<property name="name" value="EndRetention"/>
<property name="permission" value="EndRetention" />
<property name="kinds">
<list>
<value>RECORD_FOLDER</value>
<value>RECORD</value>
</list>
</property>
<property name="conditions">
<map>
<entry key="capabilityCondition.filling" value="true"/>
<entry key="capabilityCondition.frozenOrFrozenChildren" value="false"/>
<entry key="capabilityCondition.retentionIsScheduled" value="true" />
</map>
</property>
<property name="group"><ref bean="dispositionAndTransfersGroup"/></property>
<property name="index" value="70" />
</bean>
<!-- Non-assignable Capabilities -->
<bean id="rmInitiateAllTransfersCapability"
@@ -286,24 +310,5 @@
</property>
</bean>
<!-- End Rentention -->
<bean id="rmEndRetentionCapability"
parent="declarativeCapability">
<property name="name" value="EndRetention"/>
<property name="private" value="true"/>
<property name="kinds">
<list>
<value>RECORD_FOLDER</value>
<value>RECORD</value>
</list>
</property>
<property name="conditions">
<map>
<entry key="capabilityCondition.filling" value="true"/>
<entry key="capabilityCondition.frozenOrFrozenChildren" value="false"/>
<entry key="capabilityCondition.retentionIsScheduled" value="true" />
</map>
</property>
</bean>
</beans>

View File

@@ -108,6 +108,11 @@
parent="declarativeCapability">
<property name="name" value="LinkToRecords"/>
<property name="permission" value="LinkToRecords" />
<property name="kinds">
<list>
<value>RECORD</value>
</list>
</property>
<property name="conditions">
<map>
<entry key="capabilityCondition.filling" value="true"/>
@@ -119,6 +124,25 @@
<property name="group"><ref bean="recordsGroup"/></property>
<property name="index" value="45" />
</bean>
<bean id="rmDeleteLinksCapability"
parent="declarativeCapability">
<property name="name" value="DeleteLinks"/>
<property name="permission" value="DeleteLinks"/>
<property name="kinds">
<list>
<value>RECORD</value>
</list>
</property>
<property name="conditions">
<map>
<entry key="capabilityCondition.filling" value="true"/>
<entry key="capabilityCondition.frozen" value="false"/>
</map>
</property>
<property name="group"><ref bean="recordsGroup"/></property>
<property name="index" value="46" />
</bean>
<bean id="rmFileUnfiledRecordsCapability"
parent="declarativeCapability">

View File

@@ -20,26 +20,4 @@
<property name="index" value="10" />
</bean>
<!-- TODO .. is this in the right place?? Does link refer to a link to another file plan from a record? -->
<bean id="rmDeleteLinksCapability"
parent="rmBaseCapability"
class="org.alfresco.module.org_alfresco_module_rm.capability.impl.DeleteLinksCapability">
<property name="name" value="DeleteLinks"/>
<property name="permission" value="DeleteLinks"/>
<property name="conditions">
<map>
<entry key="capabilityCondition.filling" value="true"/>
<entry key="capabilityCondition.cutoff" value="false"/>
<entry key="capabilityCondition.frozen" value="false"/>
</map>
</property>
<property name="group"><ref bean="referencesGroup"/></property>
<property name="index" value="20" />
</bean>
<!-- Non-Assignable Capabilities -->
</beans>

View File

@@ -0,0 +1,98 @@
dod_dod5015.description=DOD5015-innholdsmodell
dod_dod5015.type.dod_site.title=DOD5015-omr\u00e5de
dod_dod5015.type.dod_site.description=DOD5015-omr\u00e5de
dod_dod5015.type.dod_filePlan.title=DOD5015-filplan
dod_dod5015.type.dod_filePlan.description=DOD5015-filplan
dod_dod5015.type.dod_recordSeries.title=Oppf\u00f8ringsserie (avskrevet)
dod_dod5015.type.dod_recordSeries.description=Oppf\u00f8ringsserie (avskrevet)
dod_dod5015.aspect.dod_dod5015record.title=DOD5015-oppf\u00f8ring
dod_dod5015.aspect.dod_dod5015record.description=DOD5015-oppf\u00f8ring
dod_dod5015.property.dod_publicationDate.title=Publikasjonsdato
dod_dod5015.property.dod_publicationDate.decription=Publikasjonsdato
dod_dod5015.property.dod_originator.title=Avsender
dod_dod5015.property.dod_originator.decription=Avsender
dod_dod5015.property.dod_originatingOrganization.title=Utgangsorganisasjon
dod_dod5015.property.dod_originatingOrganization.decription=Utgangsorganisasjon
dod_dod5015.property.dod_mediaType.title=Medietype
dod_dod5015.property.dod_mediaType.decription=Medietype
dod_dod5015.property.dod_format.title=Format
dod_dod5015.property.dod_format.decription=Format
dod_dod5015.property.dod_dateReceived.title=Dato mottatt
dod_dod5015.property.dod_dateReceived.decription=Dato mottatt
dod_dod5015.property.dod_address.title=Mottaker
dod_dod5015.property.dod_address.decription=Mottaker
dod_dod5015.property.dod_otherAddress.title=Andre mottakere
dod_dod5015.property.dod_otherAddress.decription=Andre mottakere
dod_dod5015.aspect.dod_scannedRecord.title=Skannet oppf\u00f8ring
dod_dod5015.aspect.dod_scannedRecord.description=Skannet oppf\u00f8ring
dod_dod5015.property.dod_scannedFormat.title=Bildeformat
dod_dod5015.property.dod_scannedFormat.description=Bildeformat
dod_dod5015.property.dod_scannedFormatVersion.title=Bildeformat og -versjon
dod_dod5015.property.dod_scannedFormatVersion.description=Bildeformat og -versjon
dod_dod5015.property.dod_resolutionX.title=Bildeoppl\u00f8sning X
dod_dod5015.property.dod_resolutionX.description=Bildeoppl\u00f8sning X
dod_dod5015.property.dod_resolutionY.title=Bildeoppl\u00f8sning Y
dod_dod5015.property.dod_resolutionY.description=Bildeoppl\u00f8sning Y
dod_dod5015.property.dod_scannedBitDepth.title=Skannet bitdybde
dod_dod5015.property.dod_scannedBitDepth.description=Skannet bitdybde
dod_dod5015.aspect.dod_pdfRecord.title=PDF-oppf\u00f8ring
dod_dod5015.aspect.dod_pdfRecord.description=PDF-oppf\u00f8ring
dod_dod5015.property.dod_producingApplication.title=Produserende program
dod_dod5015.property.dod_producingApplication.description=Produserende program
dod_dod5015.property.dod_producingApplicationVersion.title=Produserende programversjon
dod_dod5015.property.dod_producingApplicationVersion.description=Produserende programversjon
dod_dod5015.property.dod_pdfVersion.title=PDF-versjon
dod_dod5015.property.dod_pdfVersion.description=PDF-versjon
dod_dod5015.property.dod_creatingApplication.title=Opprette program
dod_dod5015.property.dod_creatingApplication.description=Opprette program
dod_dod5015.property.dod_documentSecuritySettings.title=Innstillinger ved dokumentsikkerhet
dod_dod5015.property.dod_documentSecuritySettings.description=Innstillinger ved dokumentsikkerhet
dod_dod5015.aspect.dod_digitalPhotographRecord.title=Digital bildeoppf\u00f8ring
dod_dod5015.aspect.dod_digitalPhotographRecord.description=Digital bildeoppf\u00f8ring
dod_dod5015.property.dod_caption.title=Tittel
dod_dod5015.property.dod_caption.description=Tittel
dod_dod5015.property.dod_photographer.title=Fotograf
dod_dod5015.property.dod_photographer.description=Fotograf
dod_dod5015.property.dod_copyright.title=Copyright
dod_dod5015.property.dod_copyright.description=Copyright
dod_dod5015.property.dod_bitDepth.title=Bitdybde
dod_dod5015.property.dod_bitDepth.description=Bitdybde
dod_dod5015.property.dod_imageSizeX.title=Bildest\u00f8rrelse X
dod_dod5015.property.dod_imageSizeX.description=Bildest\u00f8rrelse X
dod_dod5015.property.dod_imageSizeY.title=Bildest\u00f8rrelse Y
dod_dod5015.property.dod_imageSizeY.description=Bildest\u00f8rrelse Y
dod_dod5015.property.dod_imageSource.title=Bildekilde
dod_dod5015.property.dod_imageSource.description=Bildekilde
dod_dod5015.property.dod_compression.title=Komprimering
dod_dod5015.property.dod_compression.description=Komprimering
dod_dod5015.property.dod_iccIcmProfile.title=ICC/ICM-profil
dod_dod5015.property.dod_iccIcmProfile.description=ICC/ICM-profil
dod_dod5015.property.dod_exifInformation.title=EXIF-informasjon
dod_dod5015.property.dod_exifInformation.description=EXIF-informasjon
dod_dod5015.aspect.dod_webRecord.title=Nettoppf\u00f8ring
dod_dod5015.aspect.dod_webRecord.description=Nettoppf\u00f8ring
dod_dod5015.property.dod_webFileName.title=Nettfilnavn
dod_dod5015.property.dod_webFileName.description=Nettfilnavn
dod_dod5015.property.dod_webPlatform.title=Nettplattform
dod_dod5015.property.dod_webPlatform.description=Nettplattform
dod_dod5015.property.dod_webSiteName.title=Nettstedsnavn
dod_dod5015.property.dod_webSiteName.description=Nettstedsnavn
dod_dod5015.property.dod_webSiteURL.title=Nettstedsadresse
dod_dod5015.property.dod_webSiteURL.description=Nettstedsadresse
dod_dod5015.property.dod_captureMethod.title=Opptaksmetode
dod_dod5015.property.dod_captureMethod.description=Opptaksmetode
dod_dod5015.property.dod_captureDate.title=Opptaksdato
dod_dod5015.property.dod_captureDate.description=Opptaksdato
dod_dod5015.property.dod_contact.title=Kontakt
dod_dod5015.property.dod_contact.description=Kontakt
dod_dod5015.property.dod_contentManagementSystem.title=Innholdsforvaltningssystem
dod_dod5015.property.dod_contentManagementSystem.description= Innholdsforvaltningssystem

View File

@@ -0,0 +1,8 @@
# Classified Records Capabilities
capability.group.classifiedRecords.title=Klassifiserte oppf\u00f8ringer
capability.UpdateClassificationDates.title=Oppdater klassifiseringdatoer
capability.CreateModifyDestroyClassificationGuides.title=Opprett Endre Destruer klassifiseringeveiledninger
capability.UpgradeDowngradeAndDeclassifyRecords.title=Oppgrader, last ned og deklassifiser oppf\u00f8ringer
capability.UpdateExemptionCategories.title=Oppdater unntakskategorier
capability.MapClassificationGuideMetadata.title=Koble klassifiseringsveiledning metadata
capability.CreateModifyDestroyTimeframes.title=Opprett Endre Destruer tidsrammer

View File

@@ -134,6 +134,9 @@
<ref bean="extendedReaderDynamicAuthority" />
</list>
</property>
<property name="filePlanService">
<ref bean="filePlanService" />
</property>
</bean>
<bean id="extendedReaderDynamicAuthority" class="org.alfresco.module.org_alfresco_module_rm.security.ExtendedReaderDynamicAuthority" />
@@ -198,7 +201,7 @@
</bean>
<!-- Bootstrap node parameter processor -->
<bean id="nodeParameterSuggesterBootstrap" class="org.alfresco.repo.action.parameter.NodeParameterSuggesterBootstrap" init-method="init">
<bean id="nodeParameterSuggesterBootstrap" class="org.alfresco.repo.action.parameter.NodeParameterSuggesterBootstrap" >
<property name="namespaceService" ref="namespaceService"/>
<property name="nodeParameterProcessor" ref="nodeParameterProcessor"/>
<property name="nodeParameterProcessorAspects">
@@ -229,20 +232,17 @@
<property name="dictionaryService" ref="dictionaryService"/>
<property name="policyComponent" ref="policyComponent"/>
<property name="permissionService" ref="permissionService"/>
<property name="nodeRulesCache" ref="nodeRulesCache"/>
<property name="nodeRulesCache" ref="nodeRulesCache"/>
<property name="rulesDisabled">
<value>false</value>
</property>
<!-- Since RM 2.1 -->
<property name="filePlanService" ref="FilePlanService" />
<property name="runAsAdmin">
<value>${rm.rule.runasadmin}</value>
</property>
<!-- Since RM 2.1 -->
<property name="filePlanService" ref="FilePlanService" />
<property name="runAsAdmin">
<value>${rm.rule.runasadmin}</value>
</property>
<property name="recordService" ref="RecordService" />
</bean>
</bean>
<bean id="FormService_security" class="org.alfresco.module.org_alfresco_module_rm.security.RMMethodSecurityInterceptor">
<property name="authenticationManager"><ref bean="authenticationManager"/></property>

View File

@@ -16,7 +16,7 @@ log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info
log4j.logger.org.alfresco.module.org_alfresco_module_rm.security.RMMethodSecurityInterceptor=debug
#
# RM permission debug
# RM permission debug
#
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.capability.RMEntryVoter=debug
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.capability.RMAfterInvocationProvider=debug
@@ -46,4 +46,13 @@ log4j.logger.org.alfresco.module.org_alfresco_module_rm.behaviour.BaseBehaviourB
#
# Patch debug
#
log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info
log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info
#
# RM Audit service debug
#
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService=debug
#
# Job debug
#
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.job=debug

View File

@@ -0,0 +1,39 @@
rm.action.not-defined=Oppf\u00f8ringsh\u00e5ndteringshandlingen {0} er ikke definert.
rm.action.no-implicit-noderef=Oppf\u00f8ringsh\u00e5ndteringshandlingen {0} kunne ikke utf\u00f8res fordi implementering av handlingen ikke gir implisitt nodeRef.
rm.action.record-not-declared=Disposisjonshandlingen {0} kunne ikke utf\u00f8re fordi oppf\u00f8ringen ikke er fullf\u00f8rt. (actionedUponNodeRef={1})
rm.action.expected-record-level=Disposisjonshandlingen {0} kunne ikke utf\u00f8res fordi dette ikke er en oppf\u00f8ring. (actionedUponNodeRef={1})
rm.action.not-all-records-declared=Disposisjonshandlingen {0} kunne ikke utf\u00f8res fordi ikke alle oppf\u00f8ringsmappene var fullf\u00f8rt. (actionedUponNodeRef={1})
rm.action.not-eligible=Disposisjonshandlingen {0} kunne ikke utf\u00f8res fordi neste disposisjonshandling p\u00e5 oppf\u00f8ringen eller oppf\u00f8ringsmappen ikke er kvalifisert. (actionedUponNodeRef={1})
rm.action.no-disposition-instructions=Disposisjonsh\u00e5ndlingen {0} kunne ikke utf\u00f8res fordi ingen disposisjonsinstruksjoner ble funnet. (nodeRef={1})
rm.action.no-disposition-lisfecycle-set=Disposisjonshandlingen {0} kunne ikke utf\u00f8res fordi det ikke fantes noe tilgjengelig livssyklussett ved disposisjon. (nodeRef={1})
rm.action.next-disp-not-set=Disposisjonshandlingen {0} kunne ikke utf\u00f8res fordi neste disposisjonshandling ikker er et sett. (nodeRef={1})
rm.action.not-next-disp=Disposisjonshandlingen {0} kunne ikke utf\u00f8res fordi dette ikker er den neste disposisjonshandlingen til denne oppf\u00f8ringen eller oppf\u00f8ringsmappen. (nodeRef={1})
rm.action.not-record-folder=Disposisjonshandlingen {0} kunne ikke utf\u00f8res fordi dette ikke er en oppf\u00f8ringsmappe. (nodeRef={1})
rm.action.actioned-upon-not-record=Disposisjonshandlingen {0} kunne ikke utf\u00f8res fordi dette ikke er en oppf\u00f8ring. (filePlanComponet={1})
rm.action.custom-aspect-not-recognised=Den tilpassede typen kan ikke brukes fordi den ikke gjenkjennes. (customAspect={0})
rm.action.event-no-disp-lc=Hendelsen {0} kan ikke fullf\u00f8res fordi den ikke er definert p\u00e5 livssyklusen ved disposisjon.
rm.action.undeclared-only-records=Kun oppf\u00f8ringer kan fullf\u00f8res. (nodeRef={0})
rm.action.no-declare-mand-prop=Oppf\u00f8ringen kan ikke fullf\u00f8res fordi ikke alle de obligatoriske egenskapene til oppf\u00f8ringene er stilt inn.
rm.action.ghosted-prop-update=Innholdsegenskapen til en oppf\u00f8ring som er destruert tidligere, kan ikke oppdateres.
rm.action.valid-date-disp-asof=Disposisjonshandlingen per en dato m\u00e5 v\u00e6re en gyldig dato.
rm.action.disp-asof-lifecycle-applied=Disposisjonen per en dato til en oppf\u00f8ring eller oppf\u00f8ringsmappe der en livssyklus er p\u00e5f\u00f8rt, kan ikke redigeres.
rm.action.hold-edit-reason-none=Grunnen til holdet kan ikke redigeres fordi ingen grunn er oppgitt.
rm.action.hold-edit-type=Grunnen til holdet kan ikke redigeres fordi handlingen p\u00e5 noden ikke er en type {0}. (nodeRef={1})
rm.action.specify-avlid-date=Gjennomgangen per en dato m\u00e5 v\u00e6re en gyldig dato.
rm.action.review-details-only=Kun gjennomgangsdetaljene til sv\u00e6rt viktige oppf\u00f8ringer kan redigeres.
rm.action.freeze-no-reason=En oppf\u00f8ring kan ikke settes p\u00e5 hold uten grunn.
rm.action.freeze-only-records-folders=Kun oppf\u00f8ringer eller oppf\u00f8ringsmapper kan settes p\u00e5 hold.
rm.action.no-open-record-folder=Oppf\u00f8ringsmappen kan ikke \u00e5pnes fordi den ikke er definert som oppf\u00f8ringsmappe. (actionedUponNodeRef={0})
rm.action.not-hold-type=Hold kunne ikke oppheves fordi noden ikke er av typen {0}. (actionedUponNodeRef={1})
rm.action.no-read-mime-message=Mimetypemeldingen kunne ikke leses fordi {0}.
rm.action.email-declared=E-posten kunne ikke deles fordi oppf\u00f8ringen er fullf\u00f8rt. (actionedUponNodeRef={0})
rm.action.email-not-record=E-posten kunne ikke deles fordi noden ikke er en oppf\u00f8ring. (actionedUponNodeRef={0})
rm.action.email-create-child-assoc=Kunne ikke opprette en egendefinert barnassosiasjon.
rm.action.node-already-transfer=Noden overf\u00f8res allerede.
rm.action.node-not-transfer=Noden er ikke et overf\u00f8ringselement.
rm.action.undo-not-last=Cut off kan ikke angres fordi det ikke var cut off ved den siste disposisjonshandlingen.
rm.action.records_only_undeclared=Kun oppf\u00f8ringer kan fullf\u00f8res.
rm.action.event-not-undone=Hendelsen {0} kan ikke angres fordi den ikke er definert i livssyklusen ved disposisjon.
rm.action.node-not-record-category=Disposisjonsplanen kunne ikke opprettes fordi handlingen p\u00e5 noden ({0}) ikke var en oppf\u00f8ringskategori.
rm.action.parameter-not-supplied=Parameteren ''{0}'' er ikke satt opp.
rm.action.delete-not-hold-type=Hold kan ikke slettes fordi noden ikke er av typen {0}. (actionedUponNodeRef={1})

View File

@@ -35,5 +35,5 @@ rm.action.undo-not-last=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u
rm.action.records_only_undeclared=\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u043e\u0434\u043b\u0435\u0436\u0430\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044e.
rm.action.event-not-undone=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 {0}: \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e \u0432 \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u043e\u043c \u0446\u0438\u043a\u043b\u0435 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f.
rm.action.node-not-record-category=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0413\u0440\u0430\u0444\u0438\u043a \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 ({0}) \u043d\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0437\u0430\u043f\u0438\u0441\u0438.
rm.action.parameter-not-supplied=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u00ab{0}\u00bb \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d.
rm.action.parameter-not-supplied=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 ''{0}'' \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d.
rm.action.delete-not-hold-type=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u0431\u044a\u0435\u043a\u0442 \u043d\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043a \u0442\u0438\u043f\u0443 {0}. (actionedUponNodeRef={1})

View File

@@ -51,6 +51,10 @@ create-record.title=Declare as record
create-record.description=Declares document as a record.
create-record.file-plan.display-label=File plan
create-record.hide-record.display-label=Hide Record
# Declare As Version Record
declare-as-version-record.title=Declare as version record
declare-as-version-record.description=Declares new version of document as a version record.
declare-as-version-record.file-plan.display-label=File plan
# Complete record
declareRecord.title=Complete record
declareRecord.description=Completes a record.
@@ -181,6 +185,10 @@ fileReport.description=File report
# Delete Hold
deleteHold.title=Delete Hold
deleteHold.description=Delete hold
# Recordable version config
recordable-version-config.title=Recordable Version Config
recordable-version-config.description=Recordable Version Config
recordable-version-config.version.display-label=Recorded Versions
# Action parameter constraints
rm-ac-is-kind-kinds.record_category=Record Category
@@ -189,4 +197,8 @@ rm-ac-is-kind-kinds.record=Record
rm-ac-disposition-action-relative-positions.next=Next
rm-ac-disposition-action-relative-positions.previous=Previous
rm-ac-disposition-action-relative-positions.any=Any
rm-ac-disposition-action-relative-positions.any=Any
ac-versions.none=None
ac-versions.major_only=Major Revisions Only
ac-versions.all=All Revisions

View File

@@ -181,6 +181,10 @@ fileReport.description=Bericht ablegen
# Delete Hold
deleteHold.title=Sperrbereich l\u00f6schen
deleteHold.description=Sperrbereich l\u00f6schen
# Recordable version config
recordable-version-config.title=Konfiguration als Record deklarierbarer Versionen
recordable-version-config.description=Konfiguration als Record deklarierbarer Versionen
recordable-version-config.version.display-label=Als Record deklarierte Versionen
# Action parameter constraints
rm-ac-is-kind-kinds.record_category=Record-Kategorie
@@ -189,4 +193,8 @@ rm-ac-is-kind-kinds.record=Record
rm-ac-disposition-action-relative-positions.next=Weiter
rm-ac-disposition-action-relative-positions.previous=Vorherige
rm-ac-disposition-action-relative-positions.any=Jede
rm-ac-disposition-action-relative-positions.any=Jede
ac-versions.none=Keine
ac-versions.major_only=Nur Hauptrevisionen
ac-versions.all=Alle Revisionen

View File

@@ -181,6 +181,10 @@ fileReport.description=Archivar informe
# Delete Hold
deleteHold.title=Eliminar bloqueo
deleteHold.description=Eliminar bloqueo
# Recordable version config
recordable-version-config.title=Config. de versiones para guardar
recordable-version-config.description=Config. de versiones para guardar
recordable-version-config.version.display-label=Versiones guardadas como documento de archivo
# Action parameter constraints
rm-ac-is-kind-kinds.record_category=Categor\u00eda de documentos de archivo
@@ -189,4 +193,8 @@ rm-ac-is-kind-kinds.record=Documento de archivo
rm-ac-disposition-action-relative-positions.next=Siguiente
rm-ac-disposition-action-relative-positions.previous=Anterior
rm-ac-disposition-action-relative-positions.any=Cualquiera
rm-ac-disposition-action-relative-positions.any=Cualquiera
ac-versions.none=Ninguno
ac-versions.major_only=Solo revisiones mayores
ac-versions.all=Todas las revisiones

View File

@@ -181,6 +181,10 @@ fileReport.description=Archiver le rapport
# Delete Hold
deleteHold.title=\u5220\u9664\u4fdd\u5b58
deleteHold.description=\u5220\u9664\u4fdd\u5b58
# Recordable version config
recordable-version-config.title=Configuration de version enregistrable
recordable-version-config.description=Configuration de version enregistrable
recordable-version-config.version.display-label=Versions enregistr\u00e9es
# Action parameter constraints
rm-ac-is-kind-kinds.record_category=Cat\u00e9gorie de document d'archives
@@ -189,4 +193,8 @@ rm-ac-is-kind-kinds.record=Document d'archives
rm-ac-disposition-action-relative-positions.next=Suivant
rm-ac-disposition-action-relative-positions.previous=Pr\u00e9c\u00e9dent
rm-ac-disposition-action-relative-positions.any=N'importe lequel
rm-ac-disposition-action-relative-positions.any=N'importe lequel
ac-versions.none=Aucune
ac-versions.major_only=R\u00e9visions majeures uniquement
ac-versions.all=Toutes les r\u00e9visions

View File

@@ -181,6 +181,10 @@ fileReport.description=Archivia Report
# Delete Hold
deleteHold.title=Annulla sospensione
deleteHold.description=Annulla sospensione
# Recordable version config
recordable-version-config.title=Configurazione versione registrabile
recordable-version-config.description=Configurazione versione registrabile
recordable-version-config.version.display-label=Versioni registrate
# Action parameter constraints
rm-ac-is-kind-kinds.record_category=Categoria record
@@ -189,4 +193,8 @@ rm-ac-is-kind-kinds.record=Record
rm-ac-disposition-action-relative-positions.next=Successivo
rm-ac-disposition-action-relative-positions.previous=Precedente
rm-ac-disposition-action-relative-positions.any=Qualsiasi
rm-ac-disposition-action-relative-positions.any=Qualsiasi
ac-versions.none=Nessuna
ac-versions.major_only=Solo revisioni maggiori
ac-versions.all=Tutte le revisioni

View File

@@ -105,10 +105,6 @@ requestInfo.description=\u30ec\u30b3\u30fc\u30c9\u306e\u8a73\u7d30\u60c5\u5831\u
executeScript.title=\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5b9f\u884c
executeScript.description=\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002
executeScript.script-ref.display-label=\u30b9\u30af\u30ea\u30d7\u30c8
# Delete Hold
deleteHold.title=\u30db\u30fc\u30eb\u30c9\u306e\u524a\u9664
deleteHold.description=\u30db\u30fc\u30eb\u30c9\u306e\u524a\u9664
# Send Email
sendEmail.title=E\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3059\u308b
sendEmail.description=E\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3059\u308b
@@ -182,6 +178,13 @@ addRecordTypes.description=\u9078\u629e\u3057\u305f\u30bf\u30a4\u30d7\u3092\u30e
# File report
fileReport.title=\u30ec\u30dd\u30fc\u30c8\u306e\u6574\u7406\u4fdd\u7ba1
fileReport.description=\u30ec\u30dd\u30fc\u30c8\u306e\u6574\u7406\u4fdd\u7ba1
# Delete Hold
deleteHold.title=\u30db\u30fc\u30eb\u30c9\u306e\u524a\u9664
deleteHold.description=\u30db\u30fc\u30eb\u30c9\u306e\u524a\u9664
# Recordable version config
recordable-version-config.title=\u8a18\u9332\u53ef\u80fd\u306a\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u8a2d\u5b9a
recordable-version-config.description=\u8a18\u9332\u53ef\u80fd\u306a\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u8a2d\u5b9a
recordable-version-config.version.display-label=\u8a18\u9332\u3055\u308c\u305f\u30d0\u30fc\u30b8\u30e7\u30f3
# Action parameter constraints
rm-ac-is-kind-kinds.record_category=\u30ec\u30b3\u30fc\u30c9\u30ab\u30c6\u30b4\u30ea
@@ -190,4 +193,8 @@ rm-ac-is-kind-kinds.record=\u30ec\u30b3\u30fc\u30c9
rm-ac-disposition-action-relative-positions.next=\u6b21\u3078
rm-ac-disposition-action-relative-positions.previous=\u524d\u3078
rm-ac-disposition-action-relative-positions.any=\u4efb\u610f
rm-ac-disposition-action-relative-positions.any=\u4efb\u610f
ac-versions.none=\u306a\u3057
ac-versions.major_only=\u5927\u5e45\u306a\u6539\u8a02\u306e\u307f
ac-versions.all=\u3059\u3079\u3066\u306e\u6539\u8a02

View File

@@ -0,0 +1,200 @@
#
# i18n for Records Management Action Conditions
#
# Are classified
isClassified.title=Klassifisert etter disposisjonsplan
isClassified.description=Har oppf\u00f8ringene og oppf\u00f8ringsmappene blitt klassifisert etter en disposisjonsplan.
# Are cutoff
isCutoff.title=Cut off
isCutoff.description=Cut off av oppf\u00f8ringer og oppf\u00f8ringersmapper.
# Are declared
isDeclared.title=Oppf\u00f8ring fullf\u00f8rt
isDeclared.description=Er oppf\u00f8ringen fullf\u00f8rt.
# Is on hold
isFrozen.title=P\u00e5 hold
isFrozen.description=Er oppf\u00f8ringen eller oppf\u00f8ringsmappen p\u00e5 hold.
# Are filed
isRecordFiled.title=Oppf\u00f8ring registrert
isRecordFiled.description=Oppf\u00f8ringen er registrert.
# Are closed record folders
isRecordFolderClosed.title=Oppf\u00f8ringsmappe lukket.
isRecordFolderClosed.description=Er oppf\u00f8ringsmappen lukket.
# Are vital
isVital.title=Sv\u00e6rt viktig oppf\u00f8ring
isVital.description=Er oppf\u00f8ringen eller oppf\u00f8ringsmappen sv\u00e6rt viktig.
# Have Disposition Action
hasDispositionAction.title=Har disposisjonshandling
hasDispositionAction.description=Har nodene de spesifikke assosierte disposisjonshandlingen p\u00e5 den spesifiserte relative posisjonen.
# Are kind
isKind.title=Type element ved oppf\u00f8ringsh\u00e5ndtering
isKind.description=Er nodene av typen filplandel.
isKind.kind.display-label=Type
# Are Record Type
isRecordType.title=Har oppf\u00f8ringstype
isRecordType.description=Er oppf\u00f8ringene av den spesifikke typen.
#
# i18n for Records Management Actions
#
# Declare As Record
create-record.title=Erkl\u00e6r som oppf\u00f8ring
create-record.description=Erkl\u00e6rer dokumentet som oppf\u00f8ring.
create-record.file-plan.display-label=Filplan
create-record.hide-record.display-label=Skjul oppf\u00f8ring
# Complete record
declareRecord.title=Fullf\u00f8r oppf\u00f8ring
declareRecord.description=Fullf\u00f8rer en oppf\u00f8ring.
# Reopens record
undeclareRecord.title=\u00c5pne oppf\u00f8ring p\u00e5 nytt
undeclareRecord.description=\u00c5pner en oppf\u00f8ring p\u00e5 nytt.
# Open record folder
openRecordFolder.title=\u00c5pne oppf\u00f8ringsmappe
openRecordFolder.description=\u00c5pner en oppf\u00f8ringsmappe.
# Close record folder
closeRecordFolder.title=Lukk oppf\u00f8ringsmappe
closeRecordFolder.description=Lukker en oppf\u00f8ringsmappe.
# Complete event
completeEvent.title=Fullf\u00f8r hendelse
completeEvent.description=Fullf\u00f8rer en hendelse.
completeEvent.eventName.display-label=Hendelse
# Freeze
freeze.title=Frys
freeze.description=Fryser en oppf\u00f8ring.
freeze.reason.display-label=Grunn
# Unfreeze
unfreeze.title=T\u00f8 opp
unfreeze.description=T\u00f8r opp en oppf\u00f8ring.
# File to
fileTo.title=Arkiver i
fileTo.description=En oppf\u00f8ring arkiveres i en bestemt oppf\u00f8ringsmappe.
fileTo.path.display-label=Bane til oppf\u00f8ringsmappe
fileTo.createRecordPath.display-label=Opprett oppf\u00f8ringsbane
# Copy to
copyTo.title=Kopier til
copyTo.description=En oppf\u00f8ring kopieres i en bestemt oppf\u00f8ringsmappe.
copyTo.path.display-label=Bane til oppf\u00f8ringsmappe
copyTo.createRecordPath.display-label=Opprett oppf\u00f8ringsbane
# Move to
moveTo.title=Flytt til
moveTo.description=En oppf\u00f8ring flyttes til i en bestemt oppf\u00f8ringsmappe.
moveTo.path.display-label=Bane til oppf\u00f8ringsmappe
moveTo.createRecordPath.display-label=Opprett oppf\u00f8ringsbane
# Link to
linkTo.title=Koble til
linkTo.description=En oppf\u00f8ring kobles til i en bestemt oppf\u00f8ringsmappe.
linkTo.path.display-label=Bane til oppf\u00f8ringsmappe
linkTo.createRecordPath.display-label=Opprett oppf\u00f8ringsbane
# Reject
reject.title=Avvis
reject.description=En oppf\u00f8ring avvises, og dokumentet flyttes til det opprinnelige stedet
reject.reason.display-label=\u00c5rsak til avvisning
# Request Information
requestInfo.title=Be om informasjon
requestInfo.description=Starter en arbeidsflyt for \u00e5 be om mer informasjon om en oppf\u00f8ring
# Execute script
executeScript.title=Kj\u00f8r skript
executeScript.description=Kj\u00f8r et skript.
executeScript.script-ref.display-label=Skript
# Send Email
sendEmail.title=Send e-post
sendEmail.description=Send en e-post
# Set Property
setPropertyValue.title=Still inn egenskapsverdi
setPropertyValue.description=Still inn en egenskapsverdi
# Edit Hold Reason
editHoldReason.title=Rediger grunn til holdet
editHoldReason.description=Rediger grunn til holdet
# Relinquish Hold
relinquishHold.title=Avslutt hold
relinquishHold.description=Avslutt hold
# Edit Review As Of Date
editReviewAsOfDate.title=Rediger gjennomgang per datoen
editReviewAsOfDate.description=Rediger gjennomgang per datoen
# Edit Disposition Action As Of Date
editDispositionActionAsOfDate.title=Rediger disposisjonshandling per datoen
editDispositionActionAsOfDate.description=Rediger disposisjonshandling per datoen
# Broadcast Vital Record Definition
broadcastVitalRecordDefinition.title=Kringkast definisjonen til sv\u00e6rt viktig oppf\u00f8ring
broadcastVitalRecordDefinition.description=Kringkast definisjonen til sv\u00e6rt viktig oppf\u00f8ring
# Broadcast Disposition Action Definition Update
broadcastDispositionActionDefinitionUpdate.title=Kringkast oppdatering av definisjonen til disposisjonshandling
broadcastDispositionActionDefinitionUpdate.description=Kringkast oppdatering av definisjonen til disposisjonshandling
# Undo Event
undoEvent.title=Angre hendelse
undoEvent.description=Angre hendelse
# Transfer Complete
transferComplete.title=Overf\u00f8r fullf\u00f8rt
transferComplete.description=Overf\u00f8r fullf\u00f8rt
# Accession Complete
accessionComplete.title=Tilgang fullf\u00f8rt
accessionComplete.description=Tilgang fullf\u00f8rt
# Split Email
splitEmail.title=Delt e-post
splitEmail.description=Delt e-post
# Create Disposition Schedule
createDispositionSchedule.title=Opprett disposisjonsplan
createDispositionSchedule.description=Opprett disposisjonsplan
# File Destruction Report
fileDestructionReport.title=Fildestruksjonsrapport
fileDestructionReport.description=Fildestruksjonsrapport
# Cut off
cutoff.title=Cut off
cutoff.description=Cut off
# Destroy
destroy.title=Destruer
destroy.description=Destruer
# Reviewed
reviewed.title=Gjennomg\u00e5tt
reviewed.description=Gjennomg\u00e5tt
# Hide Record
hide-record.title=Skjul oppf\u00f8ring
hide-record.description=Skjul oppf\u00f8ring
# Transfer
transfer.title=Overf\u00f8r
transfer.description=Overf\u00f8r
# Uncut off
unCutoff.title=Angre cut off
unCutoff.description=Angre cut off
# Accession
accession.title=Tilgang
accession.description=Tilgang
# Retain
retain.title=Behold
retain.description=Behold
# Add Record Types
addRecordTypes.title=Legg til oppf\u00f8ringstyper
addRecordTypes.description=Legger valgt(e) type(r) til oppf\u00f8ringen
# File report
fileReport.title=Registrer rapport
fileReport.description=Registrer rapport
# Delete Hold
deleteHold.title=Slett hold
deleteHold.description=Slett hold
# Recordable version config
recordable-version-config.title=Oppf\u00f8rbar versjonskonfigurasjon
recordable-version-config.description=Oppf\u00f8rbar versjonskonfigurasjon
recordable-version-config.version.display-label=Oppf\u00f8rte versjoner
# Action parameter constraints
rm-ac-is-kind-kinds.record_category=Oppf\u00f8ringskategori
rm-ac-is-kind-kinds.record_folder=Oppf\u00f8ringsmappe
rm-ac-is-kind-kinds.record=Oppf\u00f8ring
rm-ac-disposition-action-relative-positions.next=Neste
rm-ac-disposition-action-relative-positions.previous=Forrige
rm-ac-disposition-action-relative-positions.any=Enhver
ac-versions.none=Ingen
ac-versions.major_only=Kun hovedrevisjoner
ac-versions.all=Alle revisjoner

View File

@@ -181,6 +181,10 @@ fileReport.description=Rapport archiveren
# Delete Hold
deleteHold.title=Wachtstand verwijderen
deleteHold.description=Wachtstand verwijderen
# Recordable version config
recordable-version-config.title=Config. vastlegbare versie
recordable-version-config.description=Config. vastlegbare versie
recordable-version-config.version.display-label=Vastgelegde versies
# Action parameter constraints
rm-ac-is-kind-kinds.record_category=Recordcategorie
@@ -189,4 +193,8 @@ rm-ac-is-kind-kinds.record=Record
rm-ac-disposition-action-relative-positions.next=Volgende
rm-ac-disposition-action-relative-positions.previous=Vorige
rm-ac-disposition-action-relative-positions.any=Willekeurig
rm-ac-disposition-action-relative-positions.any=Willekeurig
ac-versions.none=Geen
ac-versions.major_only=Alleen primaire revisies
ac-versions.all=Alle revisies

View File

@@ -14,8 +14,8 @@ isDeclared.title=\u0417\u0430\u043f\u0438\u0441\u044c \u0437\u0430\u0432\u0435\u
isDeclared.description=\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442, \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u044c.
# Is on hold
isFrozen.title=\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0430
isFrozen.description=\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442, \u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0430 \u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0438\u043b\u0438 \u043f\u0430\u043f\u043a\u0430 \u0437\u0430\u043f\u0438\u0441\u0435\u0439.
isFrozen.title=\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0430
isFrozen.description=\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442, \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0438\u043b\u0438 \u043f\u0430\u043f\u043a\u0430 \u0437\u0430\u043f\u0438\u0441\u0435\u0439.
# Are filed
isRecordFiled.title=\u0417\u0430\u043f\u0438\u0441\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430 \u0432 \u0444\u0430\u0439\u043b
@@ -179,8 +179,8 @@ addRecordTypes.description=\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043
fileReport.title=\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043e\u0442\u0447\u0435\u0442 \u0432 \u0444\u0430\u0439\u043b
fileReport.description=\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043e\u0442\u0447\u0435\u0442 \u0432 \u0444\u0430\u0439\u043b
# Delete Hold
deleteHold.title=\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0443
deleteHold.description=\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0443
deleteHold.title=\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443
deleteHold.description=\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443
# Action parameter constraints
rm-ac-is-kind-kinds.record_category=\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0435\u0439

View File

@@ -0,0 +1,16 @@
rm.admin.service-not-init=Tilpasningstjenesten er ikke staret.
rm.admin.not-customisable=Klassen {0} kan ikke tilpasses.
rm.admin.invalid-custom-aspect=Fant ikke tilpasningsapektet {0} til klassen {1} som kan tilpasses.
rm.admin.property-already-exists=Egenskapen {0} finnes allerede.
rm.admin.cannot-apply-constraint=Kan ikke p\u00e5f\u00f8re restriksjonen {0} p\u00e5 egenskapen {1} med datatype {2}. (forventet datatype = TEKST)
rm.admin.prop-exist=Fant ikke tilpasset egenskap {0}.
rm.admin.custom-prop-exist=Den tilpassede modellen kan ikke inneholde egenskapen {0}.
rm.admin.unknown-aspect=Ukjent aspekt {0}.
rm.admin.constraint-exists=Restriksjonen {0} finnes allerede.
rm.admin.contraint-cannot-find=Finner ikke definisjonen til restriksjonen {0}.
rm.admin.unexpected_type_constraint=Uventet type {0} ved restriksjonen {1}. {2} var forventet...
rm.admin.custom-model-not-found=Fant ikke den tilpassede modellen {0}.
rm.admin.custom-model-no-content=Den tilpassede modellen har ikke innhold. (nodeRef={0})
rm.admin.error-write-custom-model=Feil ved utskrift av innholdet til den tilpassende modellen. (nodeRef={0}).
rm.admin.error-client-id=Feil ved generering av klient-ID fordi den allerede er i bruk. (clientid={0})
rm.admin.error-split-id=Kan ikke dele ID {0} fordi skilletegnet {1} mangler.

View File

@@ -6,11 +6,6 @@ rm.admin.cannot-apply-constraint=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u043
rm.admin.prop-exist=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e {0}.
rm.admin.custom-prop-exist=\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e {0}.
rm.admin.unknown-aspect=\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0430\u0441\u043f\u0435\u043a\u0442 {0}.
rm.admin.ref-exist=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0441\u044b\u043b\u043a\u0443 {0}.
rm.admin.ref-label-in-use=\u041d\u0430\u0434\u043f\u0438\u0441\u044c \u0441\u043e \u0441\u0441\u044b\u043b\u043a\u043e\u0439 {0} \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f.
rm.admin.assoc-exists=\u0410\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u044f {0} \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.
rm.admin.child-assoc-exists=\u0414\u043e\u0447\u0435\u0440\u043d\u044f\u044f \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u044f {0} \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.
rm.admin.cannot-find-assoc-def=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u0438 {0}.
rm.admin.constraint-exists=\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 {0} \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.
rm.admin.contraint-cannot-find=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f {0}.
rm.admin.unexpected_type_constraint=\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u044b\u0439 \u0442\u0438\u043f {0} \u0434\u043b\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f {1}. \u041e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f: {2}.

View File

@@ -0,0 +1,16 @@
rm.audit.updated-metadata=Oppdatert metadata
rm.audit.created-object=Opprettet element
rm.audit.delete-object=Slett element
rm.audit.login-succeeded=Vellykket p\u00e5logging
rm.audit.login-failed=Mislykket p\u00e5logging
rm.audit.create-person=Opprett person
rm.audit.linkTo=Koble til
rm.audit.moveTo=Flytt til
rm.audit.copyTo=Kopier til
rm.audit.fileTo=Arkiver i
rm.audit.audit-start=Revisjonsstart
rm.audit.audit-stop=Revisjonsstopp
rm.audit.audit-clear=Slett revisjon
rm.audit.audit-view=Vis revisjon
rm.audit.trail-file-fail=Kan ikke generere revisjonsrapport.
rm.audit.audit-report=Revisjonsrapport

View File

@@ -8,6 +8,7 @@ capability.RequestRecordInformation.title=Request Record Information
capability.RejectRecords.title=Reject Records
capability.FileUnfiledRecords.title=File Unfiled Records
capability.LinkToRecords.title=Link Records
capability.DeleteLinks.title=Unlink Records
# Metadata Control
capability.group.metadataControl.title=Metadata Control
@@ -32,7 +33,6 @@ capability.PlanningReviewCycles.title=Planning Review Cycles
# References and Links
capability.group.references.title=References
capability.ChangeOrDeleteReferences.title=Change or Delete References
capability.DeleteLinks.title=Delete Links
# Events
capability.group.events.title=Events
@@ -56,6 +56,7 @@ capability.DeleteRecords.title=Delete Records
capability.TriggerAnEvent.title=Trigger An Event
capability.FileDestructionReport.title=File Destruction Report
capability.FileTransferReport.title=File Transfer Report
capability.EndRetention.title=End Retention
# Hold Controls
capability.group.holdControls.title=Hold Controls

View File

@@ -8,6 +8,7 @@ capability.RequestRecordInformation.title=Record-Informationen anfordern
capability.RejectRecords.title=Records ablehnen
capability.FileUnfiledRecords.title=Nicht abgelegte Records ablegen
capability.LinkToRecords.title=Records verkn\u00fcpfen
capability.DeleteLinks.title=Verkn\u00fcpfung zu Records aufheben
# Metadata Control
capability.group.metadataControl.title=Metadaten-Steuerung
@@ -32,7 +33,6 @@ capability.PlanningReviewCycles.title=\u00dcberpr\u00fcfungszyklen planen
# References and Links
capability.group.references.title=Referenzen
capability.ChangeOrDeleteReferences.title=Referenzen \u00e4ndern oder l\u00f6schen
capability.DeleteLinks.title=Links l\u00f6schen
# Events
capability.group.events.title=Ereignisse

View File

@@ -8,6 +8,7 @@ capability.RequestRecordInformation.title=Solicitar informaci\u00f3n sobre docum
capability.RejectRecords.title=Rechazar documentos de archivo
capability.FileUnfiledRecords.title=Archivar documentos de archivo no archivados
capability.LinkToRecords.title=Enlazar documentos de archivo
capability.DeleteLinks.title=Desvincular documentos de archivo
# Metadata Control
capability.group.metadataControl.title=Control de metadatos
@@ -32,7 +33,6 @@ capability.PlanningReviewCycles.title=Planificaci\u00f3n de ciclos de revisi\u00
# References and Links
capability.group.references.title=Referencias
capability.ChangeOrDeleteReferences.title=Cambiar o eliminar referencias
capability.DeleteLinks.title=Eliminar enlaces
# Events
capability.group.events.title=Eventos

View File

@@ -8,6 +8,7 @@ capability.RequestRecordInformation.title=Demander des informations sur un docum
capability.RejectRecords.title=Rejeter des documents d'archives
capability.FileUnfiledRecords.title=Classer des documents d'archives non class\u00e9s
capability.LinkToRecords.title=Lier des documents d'archives
capability.DeleteLinks.title=Supprimer le lien des enregistrements
# Metadata Control
capability.group.metadataControl.title=Contr\u00f4le des m\u00e9tadonn\u00e9es
@@ -32,7 +33,6 @@ capability.PlanningReviewCycles.title=Planifier les cycles de r\u00e9vision
# References and Links
capability.group.references.title=R\u00e9f\u00e9rences
capability.ChangeOrDeleteReferences.title=Modifier ou supprimer des r\u00e9f\u00e9rences
capability.DeleteLinks.title=Supprimer des liens
# Events
capability.group.events.title=\u00c9v\u00e9nements

View File

@@ -8,6 +8,7 @@ capability.RequestRecordInformation.title=Richiedi informazioni record
capability.RejectRecords.title=Respingi record
capability.FileUnfiledRecords.title=Archivia record non archiviati
capability.LinkToRecords.title=Collega record
capability.DeleteLinks.title=Scollega record
# Metadata Control
capability.group.metadataControl.title=Controllo metadati
@@ -32,7 +33,6 @@ capability.PlanningReviewCycles.title=Pianificazione cicli di revisione
# References and Links
capability.group.references.title=Riferimenti
capability.ChangeOrDeleteReferences.title=Cambia o elimina riferimenti
capability.DeleteLinks.title=Elimina collegamenti
# Events
capability.group.events.title=Eventi

View File

@@ -8,6 +8,7 @@ capability.RequestRecordInformation.title=\u30ec\u30b3\u30fc\u30c9\u60c5\u5831\u
capability.RejectRecords.title=\u30ec\u30b3\u30fc\u30c9\u306e\u5374\u4e0b
capability.FileUnfiledRecords.title=\u672a\u6574\u7406\u306e\u30ec\u30b3\u30fc\u30c9\u306e\u6574\u7406\u4fdd\u7ba1
capability.LinkToRecords.title=\u30ec\u30b3\u30fc\u30c9\u306e\u30ea\u30f3\u30af
capability.DeleteLinks.title=\u30ec\u30b3\u30fc\u30c9\u306e\u30ea\u30f3\u30af\u306e\u89e3\u9664
# Metadata Control
capability.group.metadataControl.title=\u30e1\u30bf\u30c7\u30fc\u30bf\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb
@@ -32,7 +33,6 @@ capability.PlanningReviewCycles.title=\u30ec\u30d3\u30e5\u30fc\u30b5\u30a4\u30af
# References and Links
capability.group.references.title=\u53c2\u7167
capability.ChangeOrDeleteReferences.title=\u53c2\u7167\u306e\u5909\u66f4\u307e\u305f\u306f\u524a\u9664
capability.DeleteLinks.title=\u30ea\u30f3\u30af\u306e\u524a\u9664
# Events
capability.group.events.title=\u30a4\u30d9\u30f3\u30c8

View File

@@ -0,0 +1,104 @@
# Records
capability.group.records.title=Oppf\u00f8ringer
capability.DeclareRecords.title=Fullf\u00f8r oppf\u00f8ringer
capability.ViewRecords.title=Vis oppf\u00f8ringer
capability.UndeclareRecords.title=\u00c5pne oppf\u00f8ringer p\u00e5 nytt
capability.CreateRecords.title=Opprett oppf\u00f8ringer
capability.RequestRecordInformation.title=Be om oppf\u00f8ringsinformasjon
capability.RejectRecords.title=Avvis oppf\u00f8ringer
capability.FileUnfiledRecords.title=Registrer oppf\u00f8ringer som ikke er registrert
capability.LinkToRecords.title=Koble oppf\u00f8ringer
# Metadata Control
capability.group.metadataControl.title=Metadatakontroll
capability.EditRecordMetadata.title=Rediger registrering av metadata
capability.EditDeclaredRecordMetadata.title=Rediger fullf\u00f8rte registrerte metadata
capability.EditNonRecordMetadata.title=Rediger metadata som ikke er registrert
capability.MoveRecords.title=Flytt oppf\u00f8ringer
# Folder Control
capability.group.folderControl.title=Mappekontroll
capability.CreateModifyDestroyFolders.title=Opprett Endre Destruer mapper
capability.CloseFolders.title=Lukk mapper
capability.ReOpenFolders.title=\u00c5pne mapper p\u00e5 nytt
capability.DeclareRecordsInClosedFolders.title=Fullf\u00f8r oppf\u00f8ringer i lukkede mapper
# Vital Records
capability.group.vitalRecords.title=Sv\u00e6t viktige oppf\u00f8ringer
capability.UpdateVitalRecordCycleInformation.title=Oppdater syklusinformasjon til de sv\u00e6rt viktige oppf\u00f8ringene
capability.CycleVitalRecords.title=Sirkuler sv\u00e6rt viktige oppf\u00f8ringer
capability.PlanningReviewCycles.title=Planlegge gjennomgangsykluser
# References and Links
capability.group.references.title=Referanser
capability.ChangeOrDeleteReferences.title=Endre eller slett referanser
capability.DeleteLinks.title=Slett koblinger
# Events
capability.group.events.title=Hendelser
capability.CreateModifyDestroyEvents.title=Opprett Endre Destruer hendelser
capability.AddModifyEventDates.title=Legg til Endre hendelsesdatoer
# Cutoff
capability.group.cutoff.title=Cut off
capability.ApproveRecordsScheduledForCutoff.title=Godkjenn oppf\u00f8ringer der planen er cut off
capability.CreateModifyRecordsInCutoffFolders.title=Opprett Endre oppf\u00f8ringer i cut off-mapper
# Disposition and Transfers
capability.group.dispositionAndTransfers.title=Disposisjoner og overf\u00f8ringer
capability.UpdateTriggerDates.title=Oppdater utl\u00f8serdatoer
capability.ManuallyChangeDispositionDates.title=Endre disposisjonsdatoer manuelt
capability.AuthorizeNominatedTransfers.title=Godkjenn nominerte overf\u00f8ringer
capability.AuthorizeAllTransfers.title=Godkjenn alle overf\u00f8ringer
capability.DestroyRecordsScheduledForDestruction.title=Destruer oppf\u00f8ring eller oppf\u00f8ringsmappe der planen er \u00e5 destruere den
capability.DestroyRecords.title=Destruer oppf\u00f8ringer
capability.DeleteRecords.title=Slett oppf\u00f8ringer
capability.TriggerAnEvent.title=Utl\u00f8s en hendelse
capability.FileDestructionReport.title=Fildestruksjonsrapport
capability.FileTransferReport.title=Filoverf\u00f8ringsrapport
# Hold Controls
capability.group.holdControls.title=Hold kontroller
capability.ExtendRetentionPeriodOrFreeze.title=Forleng oppbevaringstiden eller frys
capability.Unfreeze.title=T\u00f8 opp
capability.ViewUpdateReasonsForFreeze.title=Vis oppdatering av \u00e5rsaker til \u00e5 fryse
capability.CreateHold.title=Opprett hold
capability.AddToHold.title=Legg til hold
capability.RemoveFromHold.title=Fjern fra hold
capability.FileHoldReport.title=Filholdrapport
capability.DeleteHold.title=Slett hold
capability.EditHold.title=Rediger hold
# Audit
capability.group.audit.title=Revisjon
capability.DeclareAuditAsRecord.title=Erkl\u00e6r revisjon som oppf\u00f8ring
capability.EnableDisableAuditByTypes.title=Aktiver/Deaktiver revisjon etter typer
capability.DeleteAudit.title=Slett revisjon
capability.SelectAuditMetadata.title=Velg revisjon av metadata
capability.AccessAudit.title=G\u00e5 til revisjon
capability.ExportAudit.title=Eksporter revisjon
# Security
capability.group.security.title=Sikkerhet
capability.CreateModifyDestroyRoles.title=Opprett Endre Destruer roller
capability.CreateModifyDestroyUsersAndGroups.title=Opprett Endre Destruer brukere og grupper
capability.PasswordControl.title=Passordkontroll
capability.DisplayRightsReport.title=Vis rettighetsrapport
capability.ManageAccessControls.title=Administrer tilgangskontroller
capability.ManageAccessRights.title=Administrer tilgangsrettigheter
# Configuration
capability.group.config.title=Konfigurasjon
capability.CreateModifyDestroyFileplanMetadata.title=Opprett Endre Destruer filplanmetadata
capability.CreateModifyDestroyFileplanTypes.title=Opprett Endre Destruer filplantyper
capability.CreateModifyDestroyRecordTypes.title=Opprett Endre Destruer oppf\u00f8ringstyper
capability.CreateAndAssociateSelectionLists.title=Opprett og koble valglister
capability.EditSelectionLists.title=Rediger valglister
capability.CreateModifyDestroyReferenceTypes.title=Opprett Endre Destruer referansetyper
capability.AttachRulesToMetadataProperties.title=Legg ved regler til metadataegenskaper
capability.MakeOptionalParametersMandatory.title=P\u00e5legg valgfrie parametere
capability.MapEmailMetadata.title=Koble e-postmetadata
# Rules
capability.group.rules.title=Regler
capability.ManageRules.title=Administrer regler

View File

@@ -8,6 +8,7 @@ capability.RequestRecordInformation.title=Recordgegevens opvragen
capability.RejectRecords.title=Records afwijzen
capability.FileUnfiledRecords.title=Niet gearchiveerde records archiveren
capability.LinkToRecords.title=Records koppelen
capability.DeleteLinks.title=Recordkoppeling opheffen
# Metadata Control
capability.group.metadataControl.title=Metagegevensbeheer
@@ -32,7 +33,6 @@ capability.PlanningReviewCycles.title=Planning revisiecycli
# References and Links
capability.group.references.title=Verwijzingen
capability.ChangeOrDeleteReferences.title=Verwijzingen veranderen of verwijderen
capability.DeleteLinks.title=Koppelingen verwijderen
# Events
capability.group.events.title=Gebeurtenissen

View File

@@ -0,0 +1 @@
dataset.dod5015.label=DOD 5015 eksempel p\u00e5 data

View File

@@ -0,0 +1,3 @@
notification.dueforreview.subject=Oppf\u00f8ringer med melding der det skal v\u00e6re gjennomgang
notification.superseded.subject=Oppf\u00f8ring erstattet melding
notification.rejected.subject=Oppf\u00f8ring avviste melding

View File

@@ -16,4 +16,6 @@ rm.service.record-folder-type=Can't create record folder, because the provided t
rm.service.not-record=The node {0} is not a record.
rm.service.vital-def-missing=Vital record definition aspect is not present on node. (nodeRef={0})
rm.service.close-record-folder-not-folder=The record folder couldn't be closed because it's not defined as a record folder.(nodeRef={0})
rm.service.node-has-aspect=The node {0} has already the aspect {1}.
rm.service.node-has-aspect=The node {0} has already the aspect {1}.
rm.service.final-version=Final
rm.service.final-version-description=The final archived record version

View File

@@ -16,4 +16,6 @@ rm.service.record-folder-type=Record-Ordner kann nicht erstellt werden, da der a
rm.service.not-record=Knoten {0} ist kein Record.
rm.service.vital-def-missing=Definitionsaspekt von besonders relevantem Record ist auf dem Knoten nicht vorhanden. (nodeRef={0})
rm.service.close-record-folder-not-folder=Der Record-Ordner konnte nicht geschlossen werden, da er nicht als Record-Ordner definiert ist. (nodeRef={0})
rm.service.node-has-aspect=Der Knoten {0} hat bereits den Aspekt {1}.
rm.service.node-has-aspect=Der Knoten {0} hat bereits den Aspekt {1}.
rm.service.final-version=Endg\u00fcltig
rm.service.final-version-description=Die endg\u00fcltige archivierte Version des Records

View File

@@ -16,4 +16,6 @@ rm.service.record-folder-type=No se puede crear una carpeta de documentos de arc
rm.service.not-record=El nodo ''{0}'' no es un documento de archivo.
rm.service.vital-def-missing=El aspecto de definici\u00f3n de documento de archivo vital no est\u00e1 presenta en el nodo. (nodeRef={0})
rm.service.close-record-folder-not-folder=No se pudo cerrar la carpeta de documentos de archivo porque no est\u00e1 definida como una carpeta de documentos de archivo.(nodeRef={0})
rm.service.node-has-aspect=El nodo ''{0}'' ya tiene el aspecto {1}.
rm.service.node-has-aspect=El nodo ''{0}'' ya tiene el aspecto {1}.
rm.service.final-version=Final
rm.service.final-version-description=La versi\u00f3n final del documento de archivo archivado

View File

@@ -16,4 +16,6 @@ rm.service.record-folder-type=Impossible de cr\u00e9er un dossier d''archives ca
rm.service.not-record=Le n\u0153ud {0} n''est pas un document d''archives.
rm.service.vital-def-missing=L''aspect de d\u00e9finition de document d''archives essentiel n''est pas pr\u00e9sent sur le n\u0153ud. (nodeRef={0})
rm.service.close-record-folder-not-folder=Le dossier d''archives n''a pas pu \u00eatre ferm\u00e9, car il n''est pas d\u00e9fini comme dossier d''archives.(nodeRef={0})
rm.service.node-has-aspect=Le n\u0153ud {0} a d\u00e9j\u00e0 l''aspect {1}.
rm.service.node-has-aspect=Le n\u0153ud {0} a d\u00e9j\u00e0 l''aspect {1}.
rm.service.final-version=Finale
rm.service.final-version-description=Version finale du document archiv\u00e9

View File

@@ -16,4 +16,6 @@ rm.service.record-folder-type=Impossibile creare una cartella di record, poich\u
rm.service.not-record=Il nodo {0} non \u00e8 un record.
rm.service.vital-def-missing=L''aspetto di definizione di record fondamentale non \u00e8 presente su nodo. (nodeRef={0})
rm.service.close-record-folder-not-folder=Non \u00e8 stato possibile chiudere la cartella di record, poich\u00e9 non \u00e8 definita come cartella di record.(nodeRef={0})
rm.service.node-has-aspect=Il nodo {0} presenta gi\u00e0 l''aspetto {1}.
rm.service.node-has-aspect=Il nodo {0} presenta gi\u00e0 l''aspetto {1}.
rm.service.final-version=Finale
rm.service.final-version-description=Versione del record archiviata finale

View File

@@ -16,4 +16,6 @@ rm.service.record-folder-type=\u6307\u5b9a\u3055\u308c\u305f\u30bf\u30a4\u30d7\u
rm.service.not-record=\u30ce\u30fc\u30c9 {0} \u306f\u30ec\u30b3\u30fc\u30c9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
rm.service.vital-def-missing=\u30d0\u30a4\u30bf\u30eb\u30ec\u30b3\u30fc\u30c9\u306e\u5b9a\u7fa9\u30a2\u30b9\u30da\u30af\u30c8\u304c\u30ce\u30fc\u30c9\u306b\u5b58\u5728\u3057\u307e\u305b\u3093\u3002(nodeRef={0})
rm.service.close-record-folder-not-folder=\u30ec\u30b3\u30fc\u30c9\u30d5\u30a9\u30eb\u30c0\u3092\u9589\u3058\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30ec\u30b3\u30fc\u30c9\u30d5\u30a9\u30eb\u30c0\u3068\u3057\u3066\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\u305f\u3081\u3067\u3059\u3002(nodeRef={0})
rm.service.node-has-aspect=\u30ce\u30fc\u30c9{0}\u306b\u306f\u3059\u3067\u306b\u30a2\u30b9\u30da\u30af\u30c8{1}\u304c\u3042\u308a\u307e\u3059\u3002
rm.service.node-has-aspect=\u30ce\u30fc\u30c9{0}\u306b\u306f\u3059\u3067\u306b\u30a2\u30b9\u30da\u30af\u30c8{1}\u304c\u3042\u308a\u307e\u3059\u3002
rm.service.final-version=\u6700\u7d42\u7248
rm.service.final-version-description=\u30a2\u30fc\u30ab\u30a4\u30d6\u3055\u308c\u305f\u30ec\u30b3\u30fc\u30c9\u306e\u6700\u7d42\u30d0\u30fc\u30b8\u30e7\u30f3

View File

@@ -0,0 +1,21 @@
rm.service.error-add-content-container=Innhold kan ikke legges til en oppf\u00f8ringsbeholder. Bruk oppf\u00f8ringsmapper for \u00e5 arkivere innhold.
rm.service.update-disposition-action-def=Definisjonen til disposisjonshandlingen kan ikke oppdateres fordi en oppdatering er publisert.
rm.service.set-id=ID-egenskapsverdien til elementet {0} kan kun leses og ikke stilles inn.
rm.service.path-node=Klarer ikke \u00e5 f\u00e5 banen. (nodeRef={0})
rm.service.invalid-rm-node=Ugyldig oppf\u00f8ringsh\u00e5ndteringsnode fordi aspektet {0} finnes ikke.
rm.service.no-root=Finner ikke filplanen.
rm.service.dup-root=Kan ikke opprette filplanen fordi det finnes allerede en plan i dette hierarkiet.
rm.service.root-type=Kan ikke opprette filplanen fordi typen {0} ikke er en subtype av rm:recordsManagementRootContainer.
rm.service.container-parent-type=Kan ikke opprette filplanbeholderen fordi overordnede ikke var en subtype av rm:recordsManagement (parentType={0})
rm.service.container-type=Kan ikke opprette filplanbeholder fordi typen {0} ikke er en subtype av rm:recordsManagementContainer.
rm.service.container-expected=Nodereferanse til en rm:recordsManagementContainer-node utl\u00f8pt.
rm.service.record-folder-expected=Nodereferanse til en rm:recordFolder-node utl\u00f8pt.
rm.service.parent-record-folder-root=Kan ikke opprette en oppf\u00f8ringsmappe fordi den overordnede er en filplan.
rm.service.parent-record-folder-type=Kan ikke opprette en oppf\u00f8ringsmappe fordi den overordnede ikke er en subtype av rm:recordsManagementContainer. (parentType={0})
rm.service.record-folder-type=Kan ikke opprette oppf\u00f8ringsmappe for den oppgitte typen ikke er en subtype av rm:recordFolder. (type={0})
rm.service.not-record=Noden {0} er ikke en oppf\u00f8ring.
rm.service.vital-def-missing=Aspektet ved definisjonen til sv\u00e6rt viktige oppf\u00f8ringer finnes ikke p\u00e5 noden. (nodeRef={0})
rm.service.close-record-folder-not-folder=Oppf\u00f8ringsmappen kan ikke lukkes fordi den ikke er definert som en oppf\u00f8ringsmappe.(nodeRef={0})
rm.service.node-has-aspect=Noden {0} har allerede aspektet {1}.
rm.service.final-version=Endelig
rm.service.final-version-description=Den endelig arkiverte oppf\u00f8ringsversjonen

View File

@@ -16,4 +16,6 @@ rm.service.record-folder-type=Kan geen archiefmap maken omdat het geleverde type
rm.service.not-record=De node {0} is geen record.
rm.service.vital-def-missing=Definitie-aspect van vitale record is niet aanwezig op node. (nodeRef={0})
rm.service.close-record-folder-not-folder=De archiefmap kan niet worden gesloten omdat hij niet als een archiefmap is gedefinieerd.(nodeRef={0})
rm.service.node-has-aspect=De node {0} heeft al het aspect {1}.
rm.service.node-has-aspect=De node {0} heeft al het aspect {1}.
rm.service.final-version=Definitief
rm.service.final-version-description=De definitieve gearchiveerde recordversie

View File

@@ -0,0 +1,265 @@
rma_recordsmanagement.description=Oppf\u00f8ringsh\u00e5ndtering av innholdsmodell
rma_recordsmanagement.type.rma_rmsite.title=Sted til oppf\u00f8ringsh\u00e5ndtering
rma_recordsmanagement.type.rma_rmsite.description=Spesialisert omr\u00e5de til oppf\u00f8ringsh\u00e5ndtering
rma_recordsmanagement.type.rma_caveatConfig.title=Varselskonfigurasjon
rma_recordsmanagement.type.rma_caveatConfig.decription=Varselskonfigurasjon
rma_recordsmanagement.type.rma_emailConfig.title=E-postkonfigurasjon
rma_recordsmanagement.type.rma_emailConfig.decription=E-postkonfigurasjon
rma_recordsmanagement.type.rma_recordsManagementContainer.title=Oppf\u00f8ringsh\u00e5ndteringsbeholder
rma_recordsmanagement.type.rma_recordsManagementContainer.decription=Oppf\u00f8ringsh\u00e5ndteringsbeholder
rma_recordsmanagement.type.rma_recordsManagementRootContainer.title=Filplanbeholder
rma_recordsmanagement.type.rma_recordsManagementRootContainer.decription=Filplanbeholder
rma_recordsmanagement.type.rma_dispositionSchedule.title=Disposisjonsplan
rma_recordsmanagement.type.rma_dispositionSchedule.decription=Disposisjonsplan
rma_recordsmanagement.property.rma_dispositionAuthority.title=Disposisjonsrett
rma_recordsmanagement.property.rma_dispositionAuthority.decription=Disposisjonsrett
rma_recordsmanagement.property.rma_dispositionInstructions.title=Disposisjonsinstruksjoner
rma_recordsmanagement.property.rma_dispositionInstructions.decription=Disposisjonsinstruksjoner
rma_recordsmanagement.property.rma_recordLevelDisposition.title=Disposisjonsniv\u00e5 ved oppf\u00f8ringer
rma_recordsmanagement.property.rma_recordLevelDisposition.decription=Disposisjonsniv\u00e5 ved oppf\u00f8ringer
rma_recordsmanagement.association.rma_dispositionActionDefinitions.title=Disposisjonshandlinger
rma_recordsmanagement.association.rma_dispositionActionDefinitions.decription=Disposisjonshandlinger
rma_recordsmanagement.type.rma_dispositionActionDefinition.title=Definisjon av disposisjonshandling
rma_recordsmanagement.type.rma_dispositionActionDefinition.decription=Definisjon av disposisjonshandling
rma_recordsmanagement.property.rma_dispositionActionName.title=Navn p\u00e5 disposisjonshandling
rma_recordsmanagement.property.rma_dispositionActionName.decription=Navn p\u00e5 disposisjonshandling
rma_recordsmanagement.property.rma_dispositionDescription.title=Disposisjonsbeskrivelse
rma_recordsmanagement.property.rma_dispositionDescription.decription=Disposisjonsbeskrivelse
rma_recordsmanagement.property.rma_dispositionLocation.title=Disposisjonsplassering
rma_recordsmanagement.property.rma_dispositionLocation.decription=Disposisjonsplassering
rma_recordsmanagement.property.rma_dispositionPeriod.title=Disposisjonstid
rma_recordsmanagement.property.rma_dispositionPeriod.decription=Disposisjonstid
rma_recordsmanagement.property.rma_dispositionPeriodProperty.title=Egenskaper til disposisjonstiden
rma_recordsmanagement.property.rma_dispositionPeriodProperty.decription=Egenskaper til disposisjonstiden
rma_recordsmanagement.property.rma_dispositionEvent.title=Disposisjonshendelse
rma_recordsmanagement.property.rma_dispositionEvent.decription=Disposisjonshendelse
rma_recordsmanagement.property.rma_dispositionEventCombination.title=Kombinasjon av disposisjonshendelse
rma_recordsmanagement.property.rma_dispositionEventCombination.decription=Kombinasjon av disposisjonshendelse
rma_recordsmanagement.type.rma_recordFolder.title=Oppf\u00f8ringsmappe
rma_recordsmanagement.type.rma_recordFolder.decription=Oppf\u00f8ringsmappe
rma_recordsmanagement.property.rma_isClosed.title=Oppf\u00f8ring
rma_recordsmanagement.property.rma_isClosed.decription=Oppf\u00f8ring
rma_recordsmanagement.type.rma_recordCategory.title=Oppf\u00f8ringskategori
rma_recordsmanagement.type.rma_recordCategory.decription=Oppf\u00f8ringskategori
rma_recordsmanagement.type.rma_nonElectronicDocument.title=Ikke-elektronisk dokument
rma_recordsmanagement.type.rma_nonElectronicDocument.decription=Ikke-elektronisk dokument
rma_recordsmanagement.property.rma_physicalSize.title=Fysisk st\u00f8rrelse
rma_recordsmanagement.property.rma_physicalSize.decription=St\u00f8rrelsen p\u00e5 dokumentet m\u00e5lt i line\u00e6re meter.
rma_recordsmanagement.property.rma_numberOfCopies.title=Antall kopier
rma_recordsmanagement.property.rma_numberOfCopies.description=Antall kopier av dokumentet.
rma_recordsmanagement.property.rma_storageLocation.title=Lagringssted
rma_recordsmanagement.property.rma_storageLocation.decription=Det fysiske lagringsstedet til oppf\u00f8ringen.
rma_recordsmanagement.property.rma_shelf.title=Hylle
rma_recordsmanagement.property.rma_shelf.decription=Hyllen som oppf\u00f8ringen befinner seg p\u00e5.
rma_recordsmanagement.property.rma_box.title=Eske
rma_recordsmanagement.property.rma_box.description=Esken som oppf\u00f8ringen befinner seg i.
rma_recordsmanagement.property.rma_file.title=Fil
rma_recordsmanagement.property.rma_file.decription=Filen som oppf\u00f8ringen befinner seg i.
rma_recordsmanagement.type.rma_dispositionAction.title=Disposisjonshandling
rma_recordsmanagement.type.rma_dispositionAction.decription=Disposisjonshandling
rma_recordsmanagement.property.rma_dispositionActionId.title=ID til disposisjonshandling
rma_recordsmanagement.property.rma_dispositionActionId.decription=ID til disposisjonshandling
rma_recordsmanagement.property.rma_dispositionAction.title=Disposisjonshandling
rma_recordsmanagement.property.rma_dispositionAction.decription=Disposisjonshandling
rma_recordsmanagement.property.rma_dispositionAsOf.title=Disposisjonshandling
rma_recordsmanagement.property.rma_dispositionAsOf.decription=Disposisjonshandling
rma_recordsmanagement.property.rma_dispositionEventsEligible.title=Kvalifiserte disposisjonshendelser
rma_recordsmanagement.property.rma_dispositionEventsEligible.decription=Kvalifiserte disposisjonshendelser
rma_recordsmanagement.property.rma_dispositionActionStartedAt.title=Disposisjonshandling startet den
rma_recordsmanagement.property.rma_dispositionActionStartedAt.decription=Disposisjonshandling startet den
rma_recordsmanagement.property.rma_dispositionActionStartedBy.title=Disposisjonshandling startet av
rma_recordsmanagement.property.rma_dispositionActionStartedBy.decription=Disposisjonshandling startet av
rma_recordsmanagement.property.rma_dispositionActionCompletedAt.title=Disposisjonshandling fullf\u00f8rt p\u00e5
rma_recordsmanagement.property.rma_dispositionActionCompletedAt.decription=Disposisjonshandling fullf\u00f8rt p\u00e5
rma_recordsmanagement.property.rma_dispositionActionCompletedBy.title=Disposisjonshandling fullf\u00f8rt av
rma_recordsmanagement.property.rma_dispositionActionCompletedBy.decription=Disposisjonshandling fullf\u00f8rt av
rma_recordsmanagement.association.rma_eventExecutions.title=Utf\u00f8rte hendelser
rma_recordsmanagement.association.rma_eventExecutions.decription=Utf\u00f8rte hendelser
rma_recordsmanagement.type.rma_eventExecution.title=Utf\u00f8relse av hendelse
rma_recordsmanagement.type.rma_eventExecution.decription=Utf\u00f8relse av hendelse
rma_recordsmanagement.property.rma_eventExecutionName.title=Hendelsenavn
rma_recordsmanagement.property.rma_eventExecutionName.decription=Hendelsenavn
rma_recordsmanagement.property.rma_eventExecutionAutomatic.title=Automatisk hendelse
rma_recordsmanagement.property.rma_eventExecutionAutomatic.decription=Automatisk hendelse
rma_recordsmanagement.property.rma_eventExecutionComplete.title=Fullf\u00f8rt hendelse
rma_recordsmanagement.property.rma_eventExecutionComplete.decription=Fullf\u00f8rt hendelse
rma_recordsmanagement.property.rma_eventExecutionCompletedBy.title=Hendelse fullf\u00f8rt av
rma_recordsmanagement.property.rma_eventExecutionCompletedBy.decription=Hendelse fullf\u00f8rt av
rma_recordsmanagement.property.rma_eventExecutionCompletedAt.title=Hendelse fullf\u00f8rt den
rma_recordsmanagement.property.rma_eventExecutionCompletedAt.decription=Hendelse fullf\u00f8rt den
rma_recordsmanagement.type.rma_hold.title=Hold
rma_recordsmanagement.type.rma_hold.decription=Hold
rma_recordsmanagement.property.rma_holdReason.title=Grunn til holdet
rma_recordsmanagement.property.rma_holdReason.decription=Grunn til holdet
rma_recordsmanagement.association.rma_frozenRecords.title=Oppf\u00f8ringer p\u00e5 hold
rma_recordsmanagement.association.rma_frozenRecords.decription=Oppf\u00f8ringer p\u00e5 hold
rma_recordsmanagement.type.rma_transfer.title=Overf\u00f8r
rma_recordsmanagement.type.rma_transfer.decription=Overf\u00f8r
rma_recordsmanagement.property.rma_transferAccessionIndicator.title=Overf\u00f8r tilgangsindikator
rma_recordsmanagement.property.rma_transferAccessionIndicator.decription=Overf\u00f8r tilgangsindikator
rma_recordsmanagement.property.rma_transferPDFIndicator.title=Overf\u00f8r PDF-indikator
rma_recordsmanagement.property.rma_transferPDFIndicator.decription=Overf\u00f8r PDF-indikator
rma_recordsmanagement.property.rma_transferLocation.title=Overf\u00f8r PDF
rma_recordsmanagement.property.rma_transferLocation.decription=Overf\u00f8r PDF
rma_recordsmanagement.association.rma_transferred.title=Overf\u00f8rt
rma_recordsmanagement.association.rma_transferred.decription=Overf\u00f8rt
rma_recordsmanagement.aspect.rma_filePlanComponent.title=Filplandel
rma_recordsmanagement.aspect.rma_filePlanComponent.decription=Filplandel
rma_recordsmanagement.property.rma_rootNodeRef.title=Rotnode
rma_recordsmanagement.property.rma_rootNodeRef.decription=Rotnode
rma_recordsmanagement.aspect.rma_recordsManagementRoot.title=Filplan
rma_recordsmanagement.aspect.rma_recordsManagementRoot.decription=Filplan
rma_recordsmanagement.association.rma_holds.title=Hold
rma_recordsmanagement.association.rma_holds.decription=Hold
rma_recordsmanagement.association.rma_transfers.title=Overf\u00f8ringer
rma_recordsmanagement.association.rma_transfers.decription=Overf\u00f8ringer
rma_recordsmanagement.aspect.rma_declaredRecord.title=Fullf\u00f8rt oppf\u00f8ring
rma_recordsmanagement.aspect.rma_declaredRecord.decription=Fullf\u00f8rt oppf\u00f8ring
rma_recordsmanagement.property.rma_declaredAt.title=Dato fullf\u00f8rt
rma_recordsmanagement.property.rma_declaredAt.decription=Dato fullf\u00f8rt
rma_recordsmanagement.property.rma_declaredBy.title=Fullf\u00f8rt av
rma_recordsmanagement.property.rma_declaredBy.decription=Fullf\u00f8rt av
rma_recordsmanagement.aspect.rma_recordComponentIdentifier.title=Del-ID til oppf\u00f8ring
rma_recordsmanagement.aspect.rma_recordComponentIdentifier.decription=Del-ID til oppf\u00f8ring
rma_recordsmanagement.property.rma_identifier.title=Identifikator
rma_recordsmanagement.property.rma_identifier.decription=Unik oppf\u00f8rings-ID
rma_recordsmanagement.property.rma_dbUniquenessId.title=Unikt ved database
rma_recordsmanagement.property.rma_dbUniquenessId.decription=Unikt ved database
rma_recordsmanagement.aspect.rma_vitalRecordDefinition.title=Sv\u00e6rt viktig oppf\u00f8ringsdefinisjon
rma_recordsmanagement.aspect.rma_vitalRecordDefinition.decription=Sv\u00e6rt viktig oppf\u00f8ringsdefinisjon
rma_recordsmanagement.property.rma_reviewPeriod.title=Gjennomgangsperiode
rma_recordsmanagement.property.rma_reviewPeriod.decription=Gjennomgangsperiode
rma_recordsmanagement.property.rma_vitalRecordIndicator.title=Sv\u00e6rt viktig oppf\u00f8ringsindikator
rma_recordsmanagement.property.rma_vitalRecordIndicator.decription=Sv\u00e6rt viktig oppf\u00f8ringsindikator
rma_recordsmanagement.aspect.rma_record.title=Oppf\u00f8ring
rma_recordsmanagement.aspect.rma_record.decription=Oppf\u00f8ring
rma_recordsmanagement.property.rma_dateFiled.title=Dato registrert
rma_recordsmanagement.property.rma_dateFiled.decription=Dato registrert
rma_recordsmanagement.property.rma_origionalName=Opprinnelig navn
rma_recordsmanagement.aspect.rma_recordMetaData.title=Registrer metadata
rma_recordsmanagement.aspect.rma_recordMetaData.description=Mark\u00f8raspekt til registrerte metadata
rma_recordsmanagement.aspect.rma_commonRecordDetails.title=Felles oppf\u00f8ringsinformasjon
rma_recordsmanagement.aspect.rma_commonRecordDetails.description=Metadata som gjelder alle typer oppf\u00f8ringer
rma_recordsmanagement.property.rma_location.title=Sted
rma_recordsmanagement.property.rma_location.decription=Sted
rma_recordsmanagement.aspect.rma_vitalRecord.title=Sv\u00e6rt viktig oppf\u00f8ring
rma_recordsmanagement.aspect.rma_vitalRecord.decription=Sv\u00e6rt viktig oppf\u00f8ring
rma_recordsmanagement.property.rma_reviewAsOf.title=Neste gjennomgang
rma_recordsmanagement.property.rma_reviewAsOf.decription=Neste gjennomgang
rma_recordsmanagement.property.rma_notificationIssued.title=Indikerer at en melding om at denne oppf\u00f8ringen skal gjennomg\u00e5s, er blitt utstedt
rma_recordsmanagement.property.rma_notificationIssued.decription=Indikerer at en melding om at denne oppf\u00f8ringen skal gjennomg\u00e5s, er blitt utstedt
rma_recordsmanagement.aspect.rma_scheduled.title=Planlagt
rma_recordsmanagement.aspect.rma_scheduled.decription=Planlagt
rma_recordsmanagement.association.rma_dispositionSchedule.title=Disposisjonsplan
rma_recordsmanagement.association.rma_dispositionSchedule.decription=Disposisjonsplan
rma_recordsmanagement.aspect.rma_dispositionLifecycle.title=Livssyklus ved disposisjon
rma_recordsmanagement.aspect.rma_dispositionLifecycle.decription=Livssyklus ved disposisjon
rma_recordsmanagement.association.rma_nextDispositionAction.title=Neste disposisjonshandling
rma_recordsmanagement.association.rma_nextDispositionAction.decription=Neste disposisjonshandling
rma_recordsmanagement.association.rma_dispositionActionHistory.title=Historikk til disposisjonshandlinger
rma_recordsmanagement.association.rma_dispositionActionHistory.decription=Historikk til disposisjonshandlinger
rma_recordsmanagement.aspect.rma_cutOff.title=Cut off
rma_recordsmanagement.aspect.rma_cutOff.decription=Cut off
rma_recordsmanagement.property.rma_cutOffDate.title=Cut off-dato
rma_recordsmanagement.property.rma_cutOffDate.decription=Cut off-dato
rma_recordsmanagement.aspect.rma_transferred.title=Overf\u00f8rt
rma_recordsmanagement.aspect.rma_transferred.decription=Overf\u00f8rt
rma_recordsmanagement.aspect.rma_ascended.title=Stigende
rma_recordsmanagement.aspect.rma_ascended.decription=Stigende
rma_recordsmanagement.aspect.rma_frozen.title=P\u00e5 hold
rma_recordsmanagement.aspect.rma_frozen.decription=P\u00e5 hold
rma_recordsmanagement.property.rma_frozenAt.title=Holdes ved
rma_recordsmanagement.property.rma_frozenAt.decription=Holdes ved
rma_recordsmanagement.property.rma_frozenBy.title=Holdes av
rma_recordsmanagement.property.rma_frozenBy.decription=Holdes av
rma_recordsmanagement.aspect.rma_caveatConfigRoot.title=Varselskonfigurasjonsrot
rma_recordsmanagement.aspect.rma_caveatConfigRoot.decription=Varselskonfigurasjonsrot
rma_recordsmanagement.association.rma_caveatConfigAssoc.title=Varselskonfigurasjon
rma_recordsmanagement.association.rma_caveatConfigAssoc.description=Varselskonfigurasjon
rma_recordsmanagement.aspect.rma_emailConfigRoot.title=E-postkonfigurasjonsrot
rma_recordsmanagement.aspect.rma_emailConfigRoot.decription=E-postkonfigurasjonsrot
rma_recordsmanagement.association.rma_emailConfigAssoc.title=E-postkonfigurasjon
rma_recordsmanagement.association.rma_emailConfigAssoc.description=E-postkonfigurasjon
rma_recordsmanagement.aspect.rma_recordSearch.title=Oppf\u00f8ringss\u00f8k
rma_recordsmanagement.aspect.rma_recordSearch.decription=Rullet opp s\u00f8keinformasjonen for \u00e5 st\u00f8tte oppf\u00f8ringsh\u00e5ndteringss\u00f8ket
rma_recordsmanagement.property.rma_recordSearchHasDispositionSchedule.title=Har disposisjonsplan
rma_recordsmanagement.property.rma_recordSearchHasDispositionSchedule.description=Indikerer om elementet er forbundet med disposisjonsplanen
rma_recordsmanagement.property.rma_recordSearchDispositionActionName.title=Navn p\u00e5 disposisjonshandling
rma_recordsmanagement.property.rma_recordSearchDispositionActionName.description=Navnet p\u00e5 neste disposisjonshandling
rma_recordsmanagement.property.rma_recordSearchDispositionActionAsOf.title=Disposisjonshandling til
rma_recordsmanagement.property.rma_recordSearchDispositionActionAsOf.description=Datoen n\u00e5r neste disposisjonshandling blir kvalifisert
rma_recordsmanagement.property.rma_recordSearchDispositionPeriod.title=Disposisjonstid
rma_recordsmanagement.property.rma_recordSearchDispositionPeriod.description=Disposisjonstid
rma_recordsmanagement.property.rma_recordSearchDispositionPeriodExpression.title=Uttrykk av disposisjonstid
rma_recordsmanagement.property.rma_recordSearchDispositionPeriodExpression.description=Uttrykk av disposisjonstid
rma_recordsmanagement.property.rma_recordSearchDispositionEventsEligible.title=Kvalifiserte disposisjonshendelser
rma_recordsmanagement.property.rma_recordSearchDispositionEventsEligible.description=Kvalifiserte disposisjonshendelser
rma_recordsmanagement.property.rma_recordSearchDispositionEvents.title=Disposisjonshendelser
rma_recordsmanagement.property.rma_recordSearchDispositionEvents.description=Disposisjonshendelser
rma_recordsmanagement.property.rma_recordSearchDispositionAuthority.title=Disposisjonsrett
rma_recordsmanagement.property.rma_recordSearchDispositionAuthority.description=Disposisjonsrett
rma_recordsmanagement.property.rma_recordSearchDispositionInstructions.title=Disposisjonsinstruksjoner
rma_recordsmanagement.property.rma_recordSearchDispositionInstructions.description=Disposisjonsinstruksjoner
rma_recordsmanagement.property.rma_recordSearchHoldReason.title=Grunn til holdet
rma_recordsmanagement.property.rma_recordSearchHoldReason.description=Grunn til holdet
rma_recordsmanagement.property.rma_recordSearchVitalRecordReviewPeriod.title=Gjennomgangsperiode til den sv\u00e6rt viktige oppf\u00f8ringen
rma_recordsmanagement.property.rma_recordSearchVitalRecordReviewPeriod.description=Gjennomgangsperiode til den sv\u00e6rt viktige oppf\u00f8ringen
rma_recordsmanagement.property.rma_recordSearchVitalRecordReviewPeriodExpression.title=Uttrykk av gjennomgangsperioden
rma_recordsmanagement.property.rma_recordSearchVitalRecordReviewPeriodExpression.description=Uttrykk av gjennomgangsperioden
rma_recordsmanagement.aspect.rma_versionedRecord.title=Oppf\u00f8ring med versjon
rma_recordsmanagement.aspect.rma_versionedRecord.decription=Oppf\u00f8ring med versjon
rma_recordsmanagement.aspect.rma_unpublishedUpdate.title=Upublisert oppdatering
rma_recordsmanagement.aspect.rma_unpublishedUpdate.decription=Upublisert oppdatering
rma_recordsmanagement.property.rma_unpublishedUpdate.title=Upublisert oppdatering
rma_recordsmanagement.property.rma_unpublishedUpdate.description=Indikerer om det finnes en upublisert oppdatering
rma_recordsmanagement.property.rma_updateTo.title=Oppdater til
rma_recordsmanagement.property.rma_updateTo.description=M\u00e5let til oppdateringen
rma_recordsmanagement.property.rma_updatedProperties.title=Oppdaterte egenskaper
rma_recordsmanagement.property.rma_updatedProperties.description=De oppdaterte egenskapene
rma_recordsmanagement.property.rma_publishInProgress.title=Publisering p\u00e5g\u00e5r
rma_recordsmanagement.property.rma_publishInProgress.description=Indikerer om en publisering p\u00e5g\u00e5r for tiden
rma_recordsmanagement.aspect.dod_ghosted.title=Oppf\u00f8ring kun med metadata
rma_recordsmanagement.aspect.dod_ghosted.description=Oppf\u00f8ring kun med metadata
listconstraint.rmc_tlList.title=Overf\u00f8ringssteder
listconstraint.rmc_smList.title=Tilleggsmarkeringer

View File

@@ -104,11 +104,12 @@ rma_recordsmanagement.property.rma_eventExecutionCompletedBy.decription=\u041f\u
rma_recordsmanagement.property.rma_eventExecutionCompletedAt.title=\u0414\u0430\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f
rma_recordsmanagement.property.rma_eventExecutionCompletedAt.decription=\u0414\u0430\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f
rma_recordsmanagement.type.rma_hold.title=\u0411\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0430
rma_recordsmanagement.type.rma_hold.decription=\u0411\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0430
rma_recordsmanagement.property.rma_holdReason.decription=\u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0438
rma_recordsmanagement.association.rma_frozenRecords.title=\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043f\u0438\u0441\u0438
rma_recordsmanagement.association.rma_frozenRecords.decription=\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043f\u0438\u0441\u0438
rma_recordsmanagement.type.rma_hold.title=\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430
rma_recordsmanagement.type.rma_hold.decription=\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430
rma_recordsmanagement.property.rma_holdReason.title=\u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438
rma_recordsmanagement.property.rma_holdReason.decription=\u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438
rma_recordsmanagement.association.rma_frozenRecords.title=\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438
rma_recordsmanagement.association.rma_frozenRecords.decription=\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438
rma_recordsmanagement.type.rma_transfer.title=\u041f\u0435\u0440\u0435\u0434\u0430\u0442\u044c
rma_recordsmanagement.type.rma_transfer.decription=\u041f\u0435\u0440\u0435\u0434\u0430\u0442\u044c
@@ -128,8 +129,8 @@ rma_recordsmanagement.property.rma_rootNodeRef.decription=\u041a\u043e\u0440\u04
rma_recordsmanagement.aspect.rma_recordsManagementRoot.title=\u041a\u043e\u0440\u0435\u043d\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u044f\u043c\u0438
rma_recordsmanagement.aspect.rma_recordsManagementRoot.decription=\u041a\u043e\u0440\u0435\u043d\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u044f\u043c\u0438
rma_recordsmanagement.association.rma_holds.title=\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043F\u0438\u0441\u0438
rma_recordsmanagement.association.rma_holds.decription=\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043F\u0438\u0441\u0438
rma_recordsmanagement.association.rma_holds.title=\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438
rma_recordsmanagement.association.rma_holds.decription=\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438
rma_recordsmanagement.association.rma_transfers.title=\u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0438
rma_recordsmanagement.association.rma_transfers.decription=\u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0438

View File

@@ -0,0 +1,13 @@
rmr_recordsmanagementreport.description=Oppf\u00f8ringsh\u00e5ndtering til innholdsmodellen
rmr_recordsmanagementreport.type.rmr_report.title=Rapport
rmr_recordsmanagementreport.type.rmr_report.description=Oppf\u00f8ringsh\u00e5ndteringsrapport
rmr_recordsmanagementreport.type.rmr_destructionReport.title=Overf\u00f8ringsrapport
rmr_recordsmanagementreport.type.rmr_destructionReport.description=Oppf\u00f8ringsh\u00e5ndteringsrapport med overf\u00f8ringer.
rmr_recordsmanagementreport.type.rmr_destructionReport.title=Destruksjonsrapport
rmr_recordsmanagementreport.type.rmr_destructionReport.description=Oppf\u00f8ringsh\u00e5ndteringsrapport med destruksjoner.
rmr_recordsmanagementreport.type.rmr_holdReport.title=Holdrapport
rmr_recordsmanagementreport.type.rmr_holdReport.description=Oppf\u00f8ringsh\u00e5ndteringsrapport med hold.

View File

@@ -9,5 +9,5 @@ rmr_recordsmanagementreport.type.rmr_destructionReport.description=\u041e\u0442\
rmr_recordsmanagementreport.type.rmr_destructionReport.title=\u041e\u0442\u0447\u0435\u0442 \u043e\u0431 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0435\u043d\u0438\u0438
rmr_recordsmanagementreport.type.rmr_destructionReport.description=\u041e\u0442\u0447\u0435\u0442 \u043e\u0431 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0435\u043d\u0438\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u044f\u043c\u0438.
rmr_recordsmanagementreport.type.rmr_holdReport.title=\u041E\u0442\u0447\u0435\u0442 \u043E \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0430\u0445
rmr_recordsmanagementreport.type.rmr_holdReport.description=\u041E\u0442\u0447\u0435\u0442 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0437\u0430\u043F\u0438\u0441\u044F\u043C\u0438 \u043E \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0430\u0445.
rmr_recordsmanagementreport.type.rmr_holdReport.title=\u041e\u0442\u0447\u0435\u0442 \u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u0445
rmr_recordsmanagementreport.type.rmr_holdReport.description=\u041e\u0442\u0447\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u044f\u043c\u0438 \u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u0445.

View File

@@ -0,0 +1 @@
report.default=Rapport

View File

@@ -0,0 +1,8 @@
# Disposition Actions
cutoff.title=Cut off
cutoff.description=Cut off
retain.title=Behold
retain.description=Behold
destroy.title=Destruer
destroy.description=Destruer

View File

@@ -3,6 +3,7 @@ rmeventservice.rmEventType.simple=Simple Event
rmeventservice.rmEventType.obsolete=Obsoleted Event
rmeventservice.rmEventType.superseded=Superseded Event
rmeventservice.rmEventType.crossReferencedRecordTransfered=Cross Referenced Record Transferred
rmeventservice.rmEventType.versioned=Versioned Event
# Default events
rmevent.case_closed=Case Closed
@@ -10,6 +11,7 @@ rmevent.abolished=Abolished
rmevent.re_designated=Redesignated
rmevent.no_longer_needed=No longer needed
rmevent.superseded=Superseded
rmevent.versioned=Versioned
rmevent.study_complete=Study Complete
rmevent.training_complete=Training Complete
rmevent.related_record_trasfered_inactive_storage=Related Record Transferred To Inactive Storage

View File

@@ -0,0 +1,20 @@
# Event Types
rmeventservice.rmEventType.simple=Enkel hendelse
rmeventservice.rmEventType.obsolete=Utg\u00e5tt hendelse
rmeventservice.rmEventType.superseded=Erstattet hendelse
rmeventservice.rmEventType.crossReferencedRecordTransfered=Oppf\u00f8ring med krysshenvisninger er overf\u00f8rt
# Default events
rmevent.case_closed=Sak avslutt
rmevent.abolished=Avskaffet
rmevent.re_designated=Angitt p\u00e5 nytt
rmevent.no_longer_needed=Ikke lenger n\u00f8dvendig
rmevent.superseded=Erstattet
rmevent.study_complete=Studie fullf\u00f8rt
rmevent.training_complete=Oppl\u00e6ring fullf\u00f8rt
rmevent.related_record_trasfered_inactive_storage=Relatert oppf\u00f8ring overf\u00f8rt til inaktiv lagring
rmevent.obsolete=Utg\u00e5tt
rmevent.all_allowances_granted_are_terminated=Alle tillatelser som er gitt, er avsluttet
rmevent.WGI_action_complete=WGI-handling fullf\u00f8rt
rmevent.separation=Separasjon
rmevent.case_complete=Sak fullf\u00f8rt

View File

@@ -0,0 +1,25 @@
rm.hold.name=Hold
## Defaut roles
rm.role.extendedReaders=P\u00e5 plass lesere
rm.role.extendedWriters=P\u00e5 plass skribenter
rm.role.user=Bruker av oppf\u00f8ringsh\u00e5ndtering
rm.role.powerUser=Priviligert bruker av oppf\u00f8ringsh\u00e5ndtering
rm.role.securityOfficer=Sikkerhetsansvarlig ved oppf\u00f8ringsh\u00e5ndtering
rm.role.recordsManager=Ansvarlig ved oppf\u00f8ringsh\u00e5ndtering
rm.role.administrator=Administrator ved oppf\u00f8ringsh\u00e5ndtering
rm.role.all=Alle oppf\u00f8ringsh\u00e5ndteringsrollene
## Default searches
rm.savedsearch.vitalRecordsName=Sv\u00e6rt viktige oppf\u00f8ringer som skal gjennomg\u00e5s
rm.savedsearch.vitalRecordsDesc=Alle oppf\u00f8ringer som n\u00e5 skal gjennomg\u00e5s.
rm.savedsearch.incompleteRecordsName=Ufullstendige oppf\u00f8ringer
rm.savedsearch.incompleteRecordsDesc=Alle ufullstendige oppf\u00f8ringer.
rm.savedsearch.cutoffRecordsName=Oppf\u00f8ringer og oppf\u00f8ringsmapper som er kvalifisert til cut off
rm.savedsearch.cutoffRecordsDesc=Alle oppf\u00f8ringer og oppf\u00f8ringsmapper som for tiden er kvalifisert til cut off.
rm.savedsearch.transferRecordsName=Oppf\u00f8ringer og oppf\u00f8ringsmapper som er kvalifisert til overf\u00f8ring
rm.savedsearch.transferRecordsDesc=Alle oppf\u00f8ringmapper og oppf\u00f8ringer som for tiden er kvalifisert til overf\u00f8ring.
rm.savedsearch.destructionRecordsName=Oppf\u00f8ringer og oppf\u00f8ringsmapper som er kvalifisert til destruksjon
rm.savedsearch.destructionRecordsDesc=Alle oppf\u00f8ringer som for tiden er kvalifisert til destruksjon.
rm.savedsearch.frozenRecordsName= Oppf\u00f8ringer og oppf\u00f8ringsmapper p\u00e5 hold
rm.savedsearch.frozenRecordsDesc=Alle oppf\u00f8ringer og oppf\u00f8ringsmapper for tiden p\u00e5 hold.

View File

@@ -1,4 +1,4 @@
rm.hold.name=\u0411\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0430
rm.hold.name=\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430
## Defaut roles
rm.role.extendedReaders=\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438
@@ -21,5 +21,5 @@ rm.savedsearch.transferRecordsName=\u0417\u0430\u043f\u0438\u0441\u0438 \u0438 \
rm.savedsearch.transferRecordsDesc=\u0412\u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u043f\u0430\u043f\u043a\u0438 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442.
rm.savedsearch.destructionRecordsName=\u0417\u0430\u043f\u0438\u0441\u0438 \u0438 \u043f\u0430\u043f\u043a\u0438 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0434\u043b\u044f \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0435\u043d\u0438\u044f
rm.savedsearch.destructionRecordsDesc=\u0412\u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u043f\u0430\u043f\u043a\u0438 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0434\u043b\u044f \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442.
rm.savedsearch.frozenRecordsName=\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043F\u0438\u0441\u0438 \u0438 \u043F\u0430\u043F\u043A\u0438 \u0437\u0430\u043F\u0438\u0441\u0435\u0439
rm.savedsearch.frozenRecordsDesc=\u0412\u0441\u0435 \u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043F\u0438\u0441\u0438 \u0438 \u043F\u0430\u043F\u043A\u0438 \u0437\u0430\u043F\u0438\u0441\u0435\u0439.
rm.savedsearch.frozenRecordsName=\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u043f\u0430\u043f\u043a\u0438 \u0437\u0430\u043f\u0438\u0441\u0435\u0439
rm.savedsearch.frozenRecordsDesc=\u0412\u0441\u0435 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u043f\u0430\u043f\u043a\u0438 \u0437\u0430\u043f\u0438\u0441\u0435\u0439.

View File

@@ -0,0 +1,27 @@
# File Report Template
file.report.acession.report=Tilgangsrapport
file.report.date.format=EEE MMM dd TT:mm:ss zzz \u00e5\u00e5\u00e5\u00e5
file.report.declared.by=erkl\u00e6rt av
file.report.declared.on=p\u00e5
file.report.destroyed=Destruert
file.report.destroyed.records=Destruerte oppf\u00f8ringer
file.report.destruction.report=Destruksjonsrapport
file.report.disposition.authority=Disposisjonsrett
file.report.disposition.instructions=Disposisjonsinstruksjoner
file.report.nara=NARA
file.report.transfer.date=Overf\u00f8ringsdato
file.report.transfer.location=Overf\u00f8ringssted
file.report.transfer.report=Overf\u00f8ringsrapport
file.report.transferred.items=Overf\u00f8rte elementer
file.report.performed.by=Utf\u00f8rt av
file.report.record=Oppf\u00f8ring
file.report.record.folder=Oppf\u00f8ringsmappe
file.report.unique.folder.identifier=Unik mappe-ID
file.report.unique.record.identifier=Unik oppf\u00f8rings-ID
file.report.hold.report=Holdrapport
file.report.hold.name=Holdnavn
file.report.hold.description=Holdbeskrivelse
file.report.hold.reason=Grunn til holdet
file.report.hold.held=Hold
file.report.createdby=Opprettet av
file.report.createdon=Opprettet den

View File

@@ -18,10 +18,10 @@ file.report.record=\u0417\u0430\u043f\u0438\u0441\u044c
file.report.record.folder=\u041f\u0430\u043f\u043a\u0430 \u0437\u0430\u043f\u0438\u0441\u0435\u0439
file.report.unique.folder.identifier=\u0423\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0430\u043f\u043a\u0438
file.report.unique.record.identifier=\u0423\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0437\u0430\u043f\u0438\u0441\u0438
file.report.hold.report=\u041e\u0442\u0447\u0435\u0442 \u043e \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0435
file.report.hold.name=\u0418\u043c\u044f \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0438
file.report.hold.description=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0438
file.report.hold.reason=\u041F\u0440\u0438\u0447\u0438\u043D\u0430 \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0438
file.report.hold.held=\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043E
file.report.hold.report=\u041e\u0442\u0447\u0435\u0442 \u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0435
file.report.hold.name=\u0418\u043c\u044f \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438
file.report.hold.description=\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438
file.report.hold.reason=\u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438
file.report.hold.held=\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043e
file.report.createdby=\u0421\u043e\u0437\u0434\u0430\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c
file.report.createdon=\u0414\u0430\u0442\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f

View File

@@ -67,7 +67,7 @@
<property name="rmv:recordableVersionPolicy">
<title>Recordable Version Policy</title>
<type>d:text</type>
<default>disabled</default>
<default>NONE</default>
<index enabled="false"/>
<constraints>
<constraint ref="rmv:recordableVersionPolicyList" />

View File

@@ -95,6 +95,7 @@
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="FileHoldReport"/>
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="DeleteHold"/>
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="EditHold"/>
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="EndRetention"/>
</permissionGroup>
<permissionGroup name="Filing" allowFullControl="false" expose="true">
@@ -183,6 +184,7 @@
<permissionGroup name="FileHoldReport" expose="false" allowFullControl="false"/>
<permissionGroup name="DeleteHold" expose="false" allowFullControl="false"/>
<permissionGroup name="EditHold" expose="false" allowFullControl="false"/>
<permissionGroup name="EndRetention" expose="false" allowFullControl="false"/>
<!-- End -->
@@ -486,6 +488,10 @@
<grantedToGroup permissionGroup="EditHold"/>
</permission>
<permission name="_EndRetention" expose="false">
<grantedToGroup permissionGroup="EndRetention"/>
</permission>
</permissionSet>
</permissions>

View File

@@ -16,6 +16,7 @@
parent="module.baseComponent">
<property name="nodeService" ref="nodeService" />
<property name="modulePatchExecuter" ref="rm.modulePatchExecuter" />
<property name="recordContributorsGroupBootstrapComponent" ref="recordContributorsGroupBootstrapComponent"/>
<property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_bootstrapData"/>
<property name="description" value="Bootstrap records management data"/>
@@ -32,6 +33,13 @@
</property>
</bean>
<!-- Record contributors group bootstrap component -->
<bean id="recordContributorsGroupBootstrapComponent"
class="org.alfresco.module.org_alfresco_module_rm.bootstrap.RecordContributorsGroupBootstrapComponent">
<property name="authorityService" ref="AuthorityService" />
<property name="authenticationUtil" ref="rm.authenticationUtil"/>
</bean>
<!-- Bootstap the message property files -->
<bean id="org_alfresco_module_rm_resourceBundles" class="org.alfresco.i18n.ResourceBundleBootstrapComponent">
<property name="resourceBundles">
@@ -49,7 +57,8 @@
</list>
</property>
</bean>
<!-- Import RM model -->
<import resource="classpath:alfresco/module/org_alfresco_module_rm/rm-model-context.xml"/>
<!-- Import RM Audit -->
@@ -90,6 +99,41 @@
<!-- Import the deprecated beans -->
<import resource="classpath:alfresco/module/org_alfresco_module_rm/rm-deprecated-context.xml"/>
<!-- Event types -->
<bean id="rmEventType" init-method="init" abstract="true">
<property name="recordsManagementEventService" ref="recordsManagementEventService"/>
</bean>
<bean id="rmEventType.simple" class="org.alfresco.module.org_alfresco_module_rm.event.SimpleRecordsManagementEventTypeImpl" parent="rmEventType"/>
<bean id="rmEventType.superseded" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferenceCreateEventType" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}supersedes"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
</bean>
<bean id="rmEventType.obsolete" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferenceCreateEventType" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}obsoletes"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
</bean>
<bean id="rmEventType.versioned" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferenceCreateEventType" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}versions"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
</bean>
<bean id="rmEventType.crossReferencedRecordTransfered" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferencedRecordActionedUpon" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}crossreference"/>
<property name="actionName" value="transferComplete"/>
<property name="nodeService" ref="nodeService"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
<property name="recordService" ref="recordService" />
<property name="recordFolderService" ref="RecordFolderService"/>
</bean>
<!-- Import the RM module patches -->
<import resource="classpath:alfresco/module/org_alfresco_module_rm/patch/rm-patch-context.xml"/>
@@ -118,36 +162,7 @@
<property name="recordsManagementServiceRegistry" ref="RecordsManagementServiceRegistry"/>
<property name="notificationHelper" ref="recordsManagementNotificationHelper"/>
</bean>
<!-- Event types -->
<bean id="rmEventType" init-method="init" abstract="true">
<property name="recordsManagementEventService" ref="recordsManagementEventService"/>
</bean>
<bean id="rmEventType.simple" class="org.alfresco.module.org_alfresco_module_rm.event.SimpleRecordsManagementEventTypeImpl" parent="rmEventType"/>
<bean id="rmEventType.superseded" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferenceCreateEventType" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}supersedes"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
</bean>
<bean id="rmEventType.obsolete" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferenceCreateEventType" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}obsoletes"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
</bean>
<bean id="rmEventType.crossReferencedRecordTransfered" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferencedRecordActionedUpon" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}crossreference"/>
<property name="actionName" value="transferComplete"/>
<property name="nodeService" ref="nodeService"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
<property name="recordService" ref="recordService" />
<property name="recordFolderService" ref="RecordFolderService"/>
</bean>
<!-- Job context -->
<import resource="classpath:alfresco/module/org_alfresco_module_rm/rm-job-context.xml"/>
@@ -159,6 +174,7 @@
<property name="caveatConfigService" ref="caveatConfigService"/>
<property name="customEmailMappingService" ref="customEmailMappingService"/>
<property name="recordsManagementAdminService" ref="RecordsManagementAdminService"/>
<property name="suggesterBootstrap" ref="nodeParameterSuggesterBootstrap"/>
</bean>
<!-- Java script interface for rm caveat config-->

View File

@@ -9,7 +9,7 @@
<property name="description" value="RM patch executer"/>
<property name="sinceVersion" value="2.2"/>
<property name="executeOnceOnly" value="false"/>
<property name="moduleSchema" value="1009"/>
<property name="moduleSchema" value="1012"/>
<property name="attributeService" ref="AttributeService" />
<property name="dependsOn">
<list>
@@ -31,6 +31,7 @@
<import resource="classpath:alfresco/module/org_alfresco_module_rm/patch/rm-patch-v20-context.xml"/>
<import resource="classpath:alfresco/module/org_alfresco_module_rm/patch/rm-patch-v21-context.xml"/>
<import resource="classpath:alfresco/module/org_alfresco_module_rm/patch/rm-patch-v22-context.xml"/>
<import resource="classpath:alfresco/module/org_alfresco_module_rm/patch/rm-patch-v23-context.xml"/>
<!-- compatibility beans -->

View File

@@ -0,0 +1,37 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!-- RM v2.3 Patches -->
<bean id="rm.recordContributorsGroupPatch"
parent="rm.parentModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.v23.RMv23RecordContributorsGroupPatch">
<property name="description" value="Create record contributors group."/>
<property name="fixesToSchema" value="1009"/>
<property name="targetSchema" value="1010"/>
<property name="recordContributorsGroupBootstrapComponent" ref="recordContributorsGroupBootstrapComponent"/>
</bean>
<bean id="rm.versionsEventPatch"
parent="rm.parentModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.v23.RMv23VersionsEventPatch">
<property name="description" value="Create versions event."/>
<property name="fixesToSchema" value="1010"/>
<property name="targetSchema" value="1011"/>
<property name="recordsManagementEventService" ref="recordsManagementEventService"/>
</bean>
<bean id="rm.endRetenionCapabilityPatch"
parent="rm.parentModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.v23.RMv23EndRetentionCapabilityPatch">
<property name="description" value="Add EndRetenion capability."/>
<property name="fixesToSchema" value="1011"/>
<property name="targetSchema" value="1012"/>
<property name="filePlanService" ref="FilePlanService"/>
<property name="permissionService" ref="permissionService"/>
<property name="authorityService" ref="authorityService"/>
</bean>
</beans>

View File

@@ -817,7 +817,7 @@
<property name="allowParameterSubstitutions" value="true"/>
</bean>
<!-- Link To -->
<!-- Link Record -->
<bean id="linkTo_proxy" parent="rmProxyAction">
<property name="target" ref="linkTo"/>
@@ -844,6 +844,30 @@
<property name="publicAction" value="true"/>
<property name="allowParameterSubstitutions" value="true"/>
</bean>
<!-- Unlink Record -->
<bean id="unlinkFrom_proxy" parent="rmProxyAction">
<property name="target" ref="unlinkFrom"/>
<property name="interceptorNames">
<list>
<idref bean="unlinkFrom_security"/>
</list>
</property>
</bean>
<bean id="unlinkFrom_security" parent="actionSecurity">
<property name="objectDefinitionSource">
<value>
org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.execute=RM_CAP.0.rma:filePlanComponent.DeleteLinks
org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.*=RM_ALLOW
org.alfresco.repo.action.executer.ActionExecuter.*=RM_ALLOW
</value>
</property>
</bean>
<bean id="unlinkFrom" class="org.alfresco.module.org_alfresco_module_rm.action.impl.UnlinkFromAction" parent="rmAction">
</bean>
<!-- RequestInfo action -->

View File

@@ -45,7 +45,7 @@
<bean id="RMSecurityCommon" abstract="true">
<property name="nodeService" ref="nodeService"/>
<property name="permissionService" ref="permissionService"/>
<property name="permissionService" ref="permissionServiceImpl"/>
<property name="caveatConfigComponent" ref="caveatConfigComponent"/>
</bean>

View File

@@ -378,11 +378,12 @@
<!-- File Plan Service -->
<bean id="filePlanService"
parent="baseService"
<bean id="rootContainerCache" class="org.alfresco.repo.cache.DefaultSimpleCache" />
<bean id="filePlanService"
parent="baseService"
class="org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanServiceImpl">
<property name="nodeDAO" ref="nodeDAO"/>
<property name="filePlanPermissionService" ref="FilePlanPermissionService" />
<property name="rootContainerCache" ref="rootContainerCache" />
</bean>
<bean id="FilePlanService" class="org.springframework.aop.framework.ProxyFactoryBean">
@@ -444,6 +445,7 @@
<property name="permissionService" ref="PermissionService"/>
<property name="policyComponent" ref="policyComponent"/>
<property name="ownableService" ref="ownableService" />
<property name="authorityService" ref="AuthorityService" />
</bean>
<bean id="FilePlanPermissionService" class="org.springframework.aop.framework.ProxyFactoryBean">
@@ -1044,6 +1046,9 @@
<property name="recordFolderService" ref="RecordFolderService" />
<property name="filePlanRoleService" ref="FilePlanRoleService" />
<property name="permissionService" ref="permissionService" />
<property name="versionService" ref="VersionService" />
<property name="relationshipService" ref="RelationshipService" />
<property name="recordsManagementContainerType" ref="rma.recordsManagementContainer"/>
</bean>
<bean id="recordMetadataAspectBootstrap" class="org.alfresco.module.org_alfresco_module_rm.record.RecordMetadataBootstrap" init-method="init" abstract="true">
@@ -1097,7 +1102,8 @@
org.alfresco.module.org_alfresco_module_rm.record.RecordService.isDeclared=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.record.RecordService.isFiled=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.record.RecordService.createRecord=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.record.RecordService.createRecordFromContent=RM.Create.0
org.alfresco.module.org_alfresco_module_rm.record.RecordService.createRecordFromContent=RM.Create.0
org.alfresco.module.org_alfresco_module_rm.record.RecordService.createRecordFromCopy=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.record.RecordService.file=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.record.RecordService.isPropertyEditable=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.record.RecordService.isMetadataStub=RM.Read.0
@@ -1106,6 +1112,7 @@
org.alfresco.module.org_alfresco_module_rm.record.RecordService.addRecordType=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.record.RecordService.makeRecord=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.record.RecordService.link=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.record.RecordService.unlink=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.record.RecordService.*=RM_DENY
]]>
</value>
@@ -1579,4 +1586,49 @@
</value>
</property>
</bean>
<!-- Recordable Verison Config Service -->
<bean id="recordableVersionConfigService" class="org.alfresco.module.org_alfresco_module_rm.recordableversion.RecordableVersionConfigServiceImpl">
<property name="nodeService" ref="NodeService"/>
</bean>
<bean id="RecordableVersionConfigService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.module.org_alfresco_module_rm.recordableversion.RecordableVersionConfigService</value>
</property>
<property name="target">
<ref bean="recordableVersionConfigService"/>
</property>
<property name="interceptorNames">
<list>
<idref local="RecordableVersionConfigService_transaction"/>
<idref bean="exceptionTranslator"/>
<idref local="RecordableVersionConfigService_security"/>
</list>
</property>
</bean>
<bean id="RecordableVersionConfigService_transaction" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="*">${server.transaction.mode.default}</prop>
</props>
</property>
</bean>
<bean id="RecordableVersionConfigService_security" parent="baseSecurity">
<property name="objectDefinitionSource">
<value>
<![CDATA[
org.alfresco.module.org_alfresco_module_rm.recordableversion.RecordableVersionConfigService.getVersions=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.recordableversion.RecordableVersionConfigService.setVersion=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.recordableversion.RecordableVersionConfigService.*=RM_DENY
]]>
</value>
</property>
</bean>
</beans>

View File

@@ -3,13 +3,22 @@
<beans>
<bean id="jsonConversionComponentCache" class="org.alfresco.repo.cache.DefaultSimpleCache" />
<!-- extending bean definition -->
<bean id="rm.jsonConversionComponent" class="org.alfresco.module.org_alfresco_module_rm.jscript.app.JSONConversionComponent"
parent="baseJsonConversionComponent">
<bean id="rm.jsonConversionComponent"
class="org.alfresco.module.org_alfresco_module_rm.jscript.app.JSONConversionComponent"
parent="baseJsonConversionComponent"
init-method="init">
<property name="recordContributorsGroupEnabled" value="${rm.record.contributors.group.enabled}"/>
<property name="recordContributorsGroupName" value="${rm.record.contributors.group.name}"/>
<property name="recordService" ref="RecordService"/>
<property name="filePlanService" ref="FilePlanService"/>
<property name="capabilityService" ref="CapabilityService"/>
<property name="dictionaryService" ref="DictionaryService" />
<property name="siteService" ref="SiteService" />
<property name="policyComponent" ref="policyComponent" />
<property name="jsonConversionComponentCache" ref="jsonConversionComponentCache" />
</bean>
<!-- extends core bean with RM extensions -->
@@ -354,6 +363,17 @@
<property name="capability" value="LinkToRecords" />
</bean>
<bean id="jsonConversionComponent.unlinkFromAction"
parent="jsonConversionComponent.baseAction">
<property name="name" value="unlinkFrom"/>
<property name="kinds">
<set>
<value>RECORD</value>
</set>
</property>
<property name="capability" value="DeleteLinks" />
</bean>
<bean id="jsonConversionComponent.fileToAction"
parent="jsonConversionComponent.baseAction">
<property name="name" value="fileTo"/>
@@ -399,6 +419,7 @@
<property name="kinds">
<set>
<value>FILE_PLAN</value>
<value>RECORD</value>
<value>RECORD_CATEGORY</value>
<value>RECORD_FOLDER</value>
<value>UNFILED_RECORD_CONTAINER</value>

View File

@@ -15,12 +15,10 @@
<!-- extended version service bean definition -->
<bean id="rm.versionService" abstract="true" class="org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionServiceImpl">
<property name="filePlanService" ref="FilePlanService" />
<property name="fileFolderService" ref="fileFolderService" />
<property name="extendedPermissionService" ref="ExtendedPermissionService" />
<property name="ownableService" ref="OwnableService" />
<property name="extendedSecurityService" ref="ExtendedSecurityService" />
<property name="authenticationUtil" ref="rm.authenticationUtil" />
<property name="relationshipService" ref="RelationshipService" />
<property name="recordService" ref="RecordService" />
<property name="modelSecurityService" ref="ModelSecurityService" />
</bean>
<bean class="org.alfresco.util.BeanExtender">
<property name="beanName" value="versionService" />

View File

@@ -466,7 +466,6 @@
<property name="dictionaryService" ref="DictionaryService" />
<property name="permissionService" ref="PermissionService" />
<property name="personService" ref="PersonService" />
<property name="contentService" ref="ContentService" />
</bean>
<bean
@@ -618,11 +617,35 @@
<bean id="webscript.org.alfresco.slingshot.documentlibrary.action.recorded-version-config.post"
class="org.alfresco.module.org_alfresco_module_rm.script.slingshot.RecordedVersionConfigPost"
parent="rmBaseWebscript">
<property name="RecordableVersionConfigService" ref="RecordableVersionConfigService" />
</bean>
<!-- REST impl for GET recorded version config -->
<bean id="webscript.org.alfresco.slingshot.documentlibrary.action.recorded-version-config.get"
class="org.alfresco.module.org_alfresco_module_rm.script.slingshot.RecordedVersionConfigGet"
parent="rmBaseWebscript">
<property name="RecordableVersionConfigService" ref="RecordableVersionConfigService" />
</bean>
<!-- REST impl for GET Relationships -->
<bean id="webscript.org.alfresco.rma.relationships.get"
class="org.alfresco.module.org_alfresco_module_rm.script.RelationshipsGet"
parent="rmBaseWebscript">
<property name="relationshipService" ref="RelationshipService" />
<property name="jsonConversionComponent" ref="jsonConversionComponent" />
</bean>
<!-- REST impl for GET Relationship labels -->
<bean id="webscript.org.alfresco.rma.relationshiplabels.get"
class="org.alfresco.module.org_alfresco_module_rm.script.RelationshipLabelsGet"
parent="rmBaseWebscript">
<property name="relationshipService" ref="RelationshipService" />
</bean>
<!-- REST impl for DELETE Relationship -->
<bean id="webscript.org.alfresco.rma.relationship.delete"
class="org.alfresco.module.org_alfresco_module_rm.script.RelationshipDelete"
parent="rmBaseWebscript">
<property name="relationshipService" ref="RelationshipService" />
</bean>
</beans>

View File

@@ -143,7 +143,8 @@
"RemoveFromHold",
"FileHoldReport",
"DeleteHold",
"EditHold"
"EditHold",
"EndRetention"
]
},
{
@@ -215,7 +216,8 @@
"RemoveFromHold",
"FileHoldReport",
"DeleteHold",
"EditHold"
"EditHold",
"EndRetention"
]
}
]

View File

@@ -0,0 +1,228 @@
##
# RM Method security for Alfresco code services
#
# Note: add alfresco/extension/rm-method-security.properties to extend
##
## Node Service
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getStores=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.createStore=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.exists=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getNodeStatus=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getAllRootNodes=RM.Read.0,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getRootNode=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.createNode=RM.Create.0.3
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.moveNode=RM.Move.0.1
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.setChildAssociationIndex=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getType=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.setType=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.addAspect=RM.Update.0.1.2
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.removeAspect=RM.Update.0.1
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.hasAspect=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getAspects=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.deleteNode=RM.Delete.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.addChild=RM.Create.0.1.2
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.removeChild=RM.Delete.0.1
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.removeChildAssociation=RM.Delete.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getProperties=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getProperty=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.setProperties=RM.UpdateProperties.0.1
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.addProperties=RM.UpdateProperties.0.1
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.setProperty=RM.UpdateProperties.0.1.2
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.removeProperty=RM.UpdateProperties.0.1
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getParentAssocs=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getParentAssocs=RM.Read.0.1.2
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getChildAssocs=RM.Read.0,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getChildByName=RM.Read.0,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getChildrenByName=RM.Read.0,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getPrimaryParent=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.createAssociation=RM.Assoc.0.1
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.removeAssociation=Assoc.0.1
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getTargetAssocs=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getSourceAssocs=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getAssoc=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getPath=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getPaths=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getStoreArchiveNode=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.restoreNode=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getChildAssocsWithoutParentAssocsOfType=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getNodeRef=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getChildAssocsByPropertyValue=RM.Read.0,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.countChildAssocs=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.getNodeAclId=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.NodeService.*=RM_DENY
## File Folder Service
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.list=RM.Read.0,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.listFiles=RM.Read.0,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.listFolders=RM.Read.0,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.listDeepFolders=RM.Read.0,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.getLocalizedSibling=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.search=RM.Read.0,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.searchSimple=RM.Read.0,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.rename=RM.Update.0
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.move=RM.Move.0.1
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.moveFrom=RM.Move.0.2
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.copy=RM.Read.0,RM.Create.1.0
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.create=RM.Create.0
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.delete=RM.Delete.0
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.getNamePath=RM.Read.1
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.getNameOnlyPath=RM.Read.1
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.resolveNamePath=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.getFileInfo=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.getReader=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.getWriter=RM.WriteContent.0
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.exists=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.getType=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.isHidden=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.setHidden=RM.Update.0
rm.methodsecurity.org.alfresco.service.cmr.model.FileFolderService.*=RM_DENY
## Content Service
rm.methodsecurity.org.alfresco.service.cmr.repository.ContentService.getStoreTotalSpace=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.repository.ContentService.getStoreFreeSpace=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.repository.ContentService.getRawReader=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.repository.ContentService.getReader=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.repository.ContentService.getWriter=RM.WriteContent.0
rm.methodsecurity.org.alfresco.service.cmr.repository.ContentService.isTransformable=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.repository.ContentService.getTransformer=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.repository.ContentService.getMaxSourceSizeBytes=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.repository.ContentService.getImageTransformer=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.repository.ContentService.transform=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.repository.ContentService.getTempWriter=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.repository.ContentService.*=RM_DENY
## Search Service
rm.methodsecurity.org.alfresco.service.cmr.search.SearchService.query=RM_QUERY,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.search.SearchService.selectNodes=RM_QUERY,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.search.SearchService.selectProperties=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.search.SearchService.contains=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.search.SearchService.like=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.search.SearchService.*=RM_DENY
## Category Service
rm.methodsecurity.org.alfresco.service.cmr.search.CategoryService.getChildren=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.search.CategoryService.getCategories=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.search.CategoryService.getClassifications=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.search.CategoryService.getRootCategories=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.search.CategoryService.getClassificationAspects=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.search.CategoryService.createClassification=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.search.CategoryService.createRootCategory=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.search.CategoryService.createCategory=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.search.CategoryService.deleteClassification=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.search.CategoryService.deleteCategory=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.search.CategoryService.getTopCategories=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.search.CategoryService.*=RM_DENY
## Lock Service
rm.methodsecurity.org.alfresco.service.cmr.lock.LockService.lock=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.lock.LockService.unlock=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.lock.LockService.getLockStatus=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.lock.LockService.getLockType=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.lock.LockService.checkForLock=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.lock.LockService.getLocks=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.lock.LockService.*=RM_DENY
## Multilingual Content Service
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.getTranslationContainer=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.getTranslations=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.getTranslationForLocale=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.getMissingTranslations=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.getPivotTranslation=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.isTranslation=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.makeTranslation=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.unmakeTranslation=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.addTranslation=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.addEmptyTranslation=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.copyTranslationContainer=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.moveTranslationContainer=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.deleteTranslationContainer=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.MultilingualContentService.*=RM_DENY
## Edition Service
rm.methodsecurity.org.alfresco.service.cmr.ml.EditionService.createEdition=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.EditionService.getEditions=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.EditionService.getVersionedTranslations=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.EditionService.getVersionedMetadatas=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.ml.EditionService.*=RM_DENY
## Check Out Check In Service
rm.methodsecurity.org.alfresco.service.cmr.coci.CheckOutCheckInService.checkout=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.coci.CheckOutCheckInService.checkin=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.coci.CheckOutCheckInService.cancelCheckout=RM_ABSTAIN
rm.methodsecurity.org.alfresco.service.cmr.coci.CheckOutCheckInService.getWorkingCopy=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.coci.CheckOutCheckInService.getCheckedOut=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.coci.CheckOutCheckInService.isWorkingCopy=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.coci.CheckOutCheckInService.isCheckedOut=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.coci.CheckOutCheckInService.*=RM_DENY
## Permission Service
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.getOwnerAuthority=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.getAllAuthorities=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.getAllPermission=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.getPermissions=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.getAllSetPermissions=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.getSettablePermissions=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.hasPermission=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.deletePermissions=RM.Capability.0
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.deletePermission=RM.Capability.0
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.setPermission=RM.Capability.0
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.setInheritParentPermissions=RM.Capability.0
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.getInheritParentPermissions=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.clearPermission=RM.Capability.0
rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.*=RM_DENY
## Site service
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.cleanSitePermissions=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.createContainer=RM_ALLOW,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.createSite=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.deleteSite=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.findSites=RM_ALLOW,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.getContainer=RM_ALLOW,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.getMembersRole=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.getMembersRoleInfo=ACL_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.getSite=RM_ALLOW,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.getSiteGroup=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.getSiteRoleGroup=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.getSiteRoles=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.getSiteRoot=RM_ALLOW,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.hasContainer=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.hasCreateSitePermissions=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.isMember=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.listMembers=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.listMembersInfo=ACL_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.listSites=RM_ALLOW,AFTER_RM.FilterNode
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.removeMembership=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.setMembership=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.updateSite=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.listMembersPaged=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.listContainers=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.countAuthoritiesWithRole=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.resolveSite=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.hasSite=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.listSitesPaged=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.getSiteShortName=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.canAddMember=RM_ALLOW
rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.*=RM_ALLOW
## Form Service
rm.methodsecurity.org.alfresco.repo.forms.FormService.getForm=RM_ALLOW
rm.methodsecurity.org.alfresco.repo.forms.FormService.saveForm=RM_ALLOW
rm.methodsecurity.org.alfresco.repo.forms.FormService.*=RM_DENY
## Ownable Service
rm.methodsecurity.org.alfresco.service.cmr.security.OwnableService.getOwner=RM.Read.0
rm.methodsecurity.org.alfresco.service.cmr.security.OwnableService.*=RM_DENY

View File

@@ -0,0 +1 @@
rm.admin.list-already-exists=En liste med navnet ''{0}'' finnes allerede.

View File

@@ -1 +1 @@
rm.admin.list-already-exists=\u0421\u043f\u0438\u0441\u043e\u043a \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u00ab{0}\u00bb \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.
rm.admin.list-already-exists=\u0421\u043f\u0438\u0441\u043e\u043a \u0441 \u0438\u043c\u0435\u043d\u0435\u043c ''{0}'' \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.

View File

@@ -0,0 +1 @@
rm.admin.list-already-exists=En liste med navnet ''{0}'' finnes allerede.

View File

@@ -1 +1 @@
rm.admin.list-already-exists=\u0421\u043f\u0438\u0441\u043e\u043a \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u00ab{0}\u00bb \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.
rm.admin.list-already-exists=\u0421\u043f\u0438\u0441\u043e\u043a \u0441 \u0438\u043c\u0435\u043d\u0435\u043c ''{0}'' \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.

View File

@@ -8,7 +8,7 @@
"${eventtype.name}":
{
"eventTypeName" : "${eventtype.name}",
"eventTypeDisplayLabel" : "${eventtype.displayLabel}"
"eventTypeDisplayLabel" : "<#if eventtype.displayLabel??>${eventtype.displayLabel}<#else></#if>"
}<#if eventtype_has_next>,</#if>
</#list>
}

View File

@@ -0,0 +1,8 @@
<webscript>
<shortname>Delete records management relationship</shortname>
<description>Deletes the specified relationship.</description>
<url>/api/node/{store_type}/{store_id}/{id}/targetnode/{target_store_type}/{target_store_id}/{target_id}/uniqueName/{uniqueName}</url>
<format default="json"/>
<authentication>user</authentication>
<transaction>required</transaction>
</webscript>

View File

@@ -0,0 +1,3 @@
{
"success": ${success?string}
}

View File

@@ -0,0 +1,8 @@
<webscript>
<shortname>Records Management Relationship Labels</shortname>
<description>Gets the list of existing relationship labels.</description>
<url>/api/rma/admin/relationshiplabels</url>
<format default="json"/>
<authentication>user</authentication>
<transaction allow="readonly">required</transaction>
</webscript>

View File

@@ -0,0 +1,16 @@
<#escape x as jsonUtils.encodeJSONString(x)>
{
"data":
{
"relationshipLabels":
[
<#list relationshipLabels as relationshipLabel>
{
"label": "${relationshipLabel.label}",
"uniqueName": "${relationshipLabel.uniqueName}"
}<#if relationshipLabel_has_next>,</#if>
</#list>
]
}
}
</#escape>

View File

@@ -0,0 +1,8 @@
<webscript>
<shortname>Records Management Relationships</shortname>
<description>Gets the list of existing relationships on the specified node.</description>
<url>/api/node/{store_type}/{store_id}/{id}/relationships</url>
<format default="json"/>
<authentication>user</authentication>
<transaction allow="readonly">required</transaction>
</webscript>

View File

@@ -0,0 +1,15 @@
<#escape x as jsonUtils.encodeJSONString(x)>
{
"data":
{
"items":
[
<#list relationships as relationship>
{
"node": <#noescape>${relationship}</#noescape>
}<#if relationship_has_next>,</#if>
</#list>
]
}
}
</#escape>

View File

@@ -1,9 +0,0 @@
<webscript>
<shortname>Records Management Permissions</shortname>
<description>Retrieve the Permissions set against a Records Management node.</description>
<url>/api/node/{store_type}/{store_id}/{id}/rmpermissions</url>
<format default="json">argument</format>
<authentication>user</authentication>
<transaction allow="readonly">required</transaction>
<lifecycle>internal</lifecycle>
</webscript>

View File

@@ -1,86 +0,0 @@
/**
* Entry point for rmpermissions GET data webscript.
* Queries the permissions from an RM node and constructs the data-model for the template.
*
* @method main
*/
function main()
{
// Get the node from the URL
var pathSegments = url.match.split("/");
var reference = [ url.templateArgs.store_type, url.templateArgs.store_id ].concat(url.templateArgs.id.split("/"));
var node = search.findNode(pathSegments[2], reference);
// 404 if the node is not found
if (node == null)
{
status.setCode(status.STATUS_NOT_FOUND, "The node could not be found");
return;
}
// retrieve permissions applied to this node
var permissions = node.getFullPermissions();
// split tokens - results are in the format:
// [ALLOWED|DENIED];[USERNAME|GROUPNAME];PERMISSION;[INHERITED|DIRECT]
var result = [];
for (var i=0; i<permissions.length; i++)
{
var tokens = permissions[i].split(";");
if (tokens[0] == "ALLOWED")
{
// we are only interested in the RM specific object level permissions
// Filing and ReadRecords
var id = tokens[2];
switch (id)
{
case "Filing":
case "ReadRecords":
{
var auth = null;
var authId = tokens[1];
var displayName;
if (authId.indexOf("GROUP_") === 0)
{
auth = groups.getGroupForFullAuthorityName(authId);
if (auth != null)
{
displayName = auth.displayName;
}
}
else
{
auth = people.getPerson(authId);
if (auth != null)
{
displayName = auth.properties.firstName + " " + auth.properties.lastName;
}
}
// check for null authority - this could happen if a group is removed
// from the system or similar and should be handled here
if (auth != null)
{
result.push(
{
id: id,
authority:
{
id: authId,
label: displayName
},
inherited: (tokens[3] == "INHERITED")
}
);
}
}
}
}
}
// apply result data-model
model.permissions = result;
model.inherited = node.inheritsPermissions();
}
main();

View File

@@ -1,22 +0,0 @@
<#escape x as jsonUtils.encodeJSONString(x)>
{
"data":
{
"permissions":
[
<#list permissions as perm>
{
"id": "${perm.id}",
"authority":
{
"id": "${perm.authority.id}",
"label": "${perm.authority.label}"
},
"inherited": ${perm.inherited?string}
}<#if perm_has_next>,</#if>
</#list>
],
"inherited": ${inherited?string}
}
}
</#escape>

View File

@@ -1,7 +1,7 @@
/**
* Entry point for rmpermissions POST data webscript.
* Applies supplied RM permissions to an RM node.
*
*
* @method main
*/
function main()
@@ -10,41 +10,46 @@ function main()
var pathSegments = url.match.split("/");
var reference = [ url.templateArgs.store_type, url.templateArgs.store_id ].concat(url.templateArgs.id.split("/"));
var node = search.findNode(pathSegments[2], reference);
// 404 if the node is not found
if (node == null)
{
status.setCode(status.STATUS_NOT_FOUND, "The node could not be found");
return;
}
if (json.has("permissions") == false)
{
status.setCode(status.STATUS_BAD_REQUEST, "Permissions value missing from request.");
}
if (json.has("isInherited"))
{
node.setInheritsPermissions(json.getBoolean("isInherited"));
}
var permissions = json.getJSONArray("permissions");
for (var i=0; i<permissions.length(); i++)
{
var p = permissions.getJSONObject(i);
// collect values for the permission setting
var id = p.getString("id");
var role = p.getString("role");
var authority = p.getString("authority");
var remove = false;
if (p.has("remove"))
{
remove = p.getBoolean("remove");
}
// apply or remove permission
if (remove)
{
rmService.deletePermission(node, id, authority);
rmService.deletePermission(node, role, authority);
}
else
{
rmService.setPermission(node, id, authority);
rmService.setPermission(node, role, authority);
}
}
}

View File

@@ -0,0 +1,23 @@
activitiReviewPooled.workflow.info.requested=Forespurt informasjon til oppf\u00f8ring
activitiReviewPooled.workflow.info.provided=Informasjon som er s\u00f8rget for, til oppf\u00f8ring
activitiReviewPooled.workflow.email.subject=Informasjon som er s\u00f8rget for, til oppf\u00f8ringen
activitiReviewPooled.workflow.email.body1=Brukeren
activitiReviewPooled.workflow.email.body2=har s\u00f8rget for den n\u00f8dvendige informasjonen til oppf\u00f8ringen.
rmwf_workflowmodel.type.rmwf_workflowTask.title=Arbeidsflytoppgave
rmwf_workflowmodel.type.rmwf_workflowTask.decription=Arbeidsflytoppgave
rmwf_workflowmodel.property.rmwf_requestedInformation.title=Forespurt informasjon
rmwf_workflowmodel.property.rmwf_requestedInformation.decription=Forespurt informasjon
rmwf_workflowmodel.property.rmwf_message.title=Melding
rmwf_workflowmodel.property.rmwf_message.decription=Melding
rmwf_workflowmodel.type.rmwf_submitRequestInfoTask.title=Be om informasjonsoppgave
rmwf_workflowmodel.type.rmwf_submitRequestInfoTask.description=Be om informasjonsoppgave
rmwf_workflowmodel.association.rmwf_mixedAssignees.title=De som tilordnes
rmwf_workflowmodel.association.rmwf_mixedAssignees.description=De som tilordnes
rmwf_workflowmodel.type.rmwf_requestInfoTask.title=Be om informasjonsoppgave
rmwf_workflowmodel.type.rmwf_requestInfoTask.description=Be om informasjonsoppgave
rmwf_workflowmodel.type.rmwf_reviewRequestInfoTask.title=Be om informasjonsoppgave
rmwf_workflowmodel.type.rmwf_reviewRequestInfoTask.description=Be om informasjonsoppgave

View File

@@ -64,70 +64,86 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
BeanNameAware
{
/** Namespace service */
protected NamespaceService namespaceService;
private NamespaceService namespaceService;
/** Used to control transactional behaviour including post-commit auditing */
protected TransactionService transactionService;
private TransactionService transactionService;
/** Node service */
protected NodeService nodeService;
private NodeService nodeService;
/** Dictionary service */
protected DictionaryService dictionaryService;
private DictionaryService dictionaryService;
/** Content service */
protected ContentService contentService;
private ContentService contentService;
/** Action service */
protected ActionService actionService;
private ActionService actionService;
/** Records management action service */
protected RecordsManagementAuditService recordsManagementAuditService;
private RecordsManagementAuditService recordsManagementAuditService;
/** Records management action service */
protected RecordsManagementActionService recordsManagementActionService;
private RecordsManagementActionService recordsManagementActionService;
/** Record service */
protected RecordService recordService;
private RecordService recordService;
/** Disposition service */
protected DispositionService dispositionService;
private DispositionService dispositionService;
/** Vital record service */
protected VitalRecordService vitalRecordService;
private VitalRecordService vitalRecordService;
/** Records management event service */
protected RecordsManagementEventService recordsManagementEventService;
private RecordsManagementEventService recordsManagementEventService;
/** Records management action service */
protected RecordsManagementAdminService recordsManagementAdminService;
private RecordsManagementAdminService recordsManagementAdminService;
/** Ownable service **/
protected OwnableService ownableService;
private OwnableService ownableService;
/** Freeze service */
protected FreezeService freezeService;
private FreezeService freezeService;
/** Model security service */
protected ModelSecurityService modelSecurityService;
private ModelSecurityService modelSecurityService;
/** Record folder service */
protected RecordFolderService recordFolderService;
private RecordFolderService recordFolderService;
/** Hold service */
protected HoldService holdService;
private HoldService holdService;
/** List of kinds for which this action is applicable */
protected Set<FilePlanComponentKind> applicableKinds = new HashSet<FilePlanComponentKind>();
/**
* Set the namespace service
* Get the transaction service
*/
protected TransactionService getTransactionService()
{
return this.transactionService;
}
/**
* Set the transaction service
*/
public void setTransactionService(TransactionService transactionService)
{
this.transactionService = transactionService;
}
/**
* Gets the namespace service
*/
protected NamespaceService getNamespaceService()
{
return this.namespaceService;
}
/**
* Set the namespace service
*/
@@ -136,6 +152,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.namespaceService = namespaceService;
}
/**
* Gets the node service
*/
protected NodeService getNodeService()
{
return this.nodeService;
}
/**
* Set node service
*/
@@ -144,6 +168,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.nodeService = nodeService;
}
/**
* Gets the dictionary service
*/
protected DictionaryService getDictionaryService()
{
return this.dictionaryService;
}
/**
* Set the dictionary service
*/
@@ -152,6 +184,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.dictionaryService = dictionaryService;
}
/**
* Gets the content service
*/
protected ContentService getContentService()
{
return this.contentService;
}
/**
* Set the content service
*/
@@ -160,6 +200,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.contentService = contentService;
}
/**
* Gets the action service
*/
protected ActionService getActionService()
{
return this.actionService;
}
/**
* Set action service
*/
@@ -168,6 +216,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.actionService = actionService;
}
/**
* Gets the records management audit service
*/
protected RecordsManagementAuditService getRecordsManagementAuditService()
{
return this.recordsManagementAuditService;
}
/**
* Set the audit service that action details will be sent to
*/
@@ -176,6 +232,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.recordsManagementAuditService = recordsManagementAuditService;
}
/**
* Gets the records management action service
*/
protected RecordsManagementActionService getRecordsManagementActionService()
{
return this.recordsManagementActionService;
}
/**
* Set records management service
*/
@@ -184,6 +248,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.recordsManagementActionService = recordsManagementActionService;
}
/**
* Gets the disposition service
*/
protected DispositionService getDispositionService()
{
return this.dispositionService;
}
/**
* Set the disposition service
*/
@@ -192,6 +264,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.dispositionService = dispositionService;
}
/**
* Gets the vital record service
*/
protected VitalRecordService getVitalRecordService()
{
return this.vitalRecordService;
}
/**
* @param vitalRecordService vital record service
*/
@@ -200,6 +280,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.vitalRecordService = vitalRecordService;
}
/**
* Gets the records management event service
*/
protected RecordsManagementEventService getRecordsManagementEventService()
{
return this.recordsManagementEventService;
}
/**
* Set records management event service
*/
@@ -208,6 +296,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.recordsManagementEventService = recordsManagementEventService;
}
/**
* Gets the ownable service
*/
protected OwnableService getOwnableService()
{
return this.ownableService;
}
/**
* Set the ownable service
* @param ownableSerice
@@ -217,6 +313,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.ownableService = ownableService;
}
/**
* Gets the freeze service
*/
protected FreezeService getFreezeService()
{
return this.freezeService;
}
/**
* Set freeze service
*
@@ -227,6 +331,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.freezeService = freezeService;
}
/**
* Gets the record service
*/
protected RecordService getRecordService()
{
return this.recordService;
}
/**
* Set record service
*
@@ -237,6 +349,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.recordService = recordService;
}
/**
* @return records management admin service
*/
protected RecordsManagementAdminService getRecordsManagementAdminService()
{
return recordsManagementAdminService;
}
/**
* @param recordsManagementAdminService records management admin service
*/
@@ -246,11 +366,11 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
}
/**
* @return records management admin service
* Gets the model security service
*/
public RecordsManagementAdminService getRecordsManagementAdminService()
protected ModelSecurityService getModelSecurityService()
{
return recordsManagementAdminService;
return this.modelSecurityService;
}
/**
@@ -261,6 +381,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.modelSecurityService = modelSecurityService;
}
/**
* Gets the record folder service
*/
protected RecordFolderService getRecordFolderService()
{
return this.recordFolderService;
}
/**
* @param recordFolderService record folder service
*/
@@ -269,6 +397,14 @@ public abstract class RMActionExecuterAbstractBase extends PropertySubActionExe
this.recordFolderService = recordFolderService;
}
/**
* Gets the hold service
*/
protected HoldService getHoldService()
{
return this.holdService;
}
/**
* @param holdService hold service
*/

View File

@@ -117,28 +117,28 @@ public abstract class RMDispositionActionExecuterAbstractBase extends RMActionEx
{
// Check the eligibility of the action
if (!checkEligibility(actionedUponNodeRef) ||
dispositionService.isNextDispositionActionEligible(actionedUponNodeRef))
getDispositionService().isNextDispositionActionEligible(actionedUponNodeRef))
{
if (di.isRecordLevelDisposition())
{
// Check that we do indeed have a record
if (recordService.isRecord(actionedUponNodeRef))
if (getRecordService().isRecord(actionedUponNodeRef))
{
// Can only execute disposition action on record if declared
if (recordService.isDeclared(actionedUponNodeRef))
if (getRecordService().isDeclared(actionedUponNodeRef))
{
// Indicate that the disposition action is underway
nodeService.setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_STARTED_AT, new Date());
nodeService.setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_STARTED_BY, AuthenticationUtil.getRunAsUser());
getNodeService().setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_STARTED_AT, new Date());
getNodeService().setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_STARTED_BY, AuthenticationUtil.getRunAsUser());
// Execute record level disposition
executeRecordLevelDisposition(action, actionedUponNodeRef);
if (nodeService.exists(nextDispositionActionNodeRef) &&
if (getNodeService().exists(nextDispositionActionNodeRef) &&
getSetDispositionActionComplete())
{
nodeService.setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_COMPLETED_AT, new Date());
nodeService.setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_COMPLETED_BY, AuthenticationUtil.getRunAsUser());
getNodeService().setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_COMPLETED_AT, new Date());
getNodeService().setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_COMPLETED_BY, AuthenticationUtil.getRunAsUser());
}
}
else
@@ -153,22 +153,22 @@ public abstract class RMDispositionActionExecuterAbstractBase extends RMActionEx
}
else
{
if (recordFolderService.isRecordFolder(actionedUponNodeRef))
if (getRecordFolderService().isRecordFolder(actionedUponNodeRef))
{
if (recordFolderService.isRecordFolderDeclared(actionedUponNodeRef))
if (getRecordFolderService().isRecordFolderDeclared(actionedUponNodeRef))
{
// Indicate that the disposition action is underway
nodeService.setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_STARTED_AT, new Date());
nodeService.setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_STARTED_BY, AuthenticationUtil.getRunAsUser());
getNodeService().setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_STARTED_AT, new Date());
getNodeService().setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_STARTED_BY, AuthenticationUtil.getRunAsUser());
executeRecordFolderLevelDisposition(action, actionedUponNodeRef);
// Indicate that the disposition action is compelte
if (nodeService.exists(nextDispositionActionNodeRef) &&
if (getNodeService().exists(nextDispositionActionNodeRef) &&
getSetDispositionActionComplete())
{
nodeService.setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_COMPLETED_AT, new Date());
nodeService.setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_COMPLETED_BY, AuthenticationUtil.getRunAsUser());
getNodeService().setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_COMPLETED_AT, new Date());
getNodeService().setProperty(nextDispositionActionNodeRef, PROP_DISPOSITION_ACTION_COMPLETED_BY, AuthenticationUtil.getRunAsUser());
}
}
@@ -184,10 +184,10 @@ public abstract class RMDispositionActionExecuterAbstractBase extends RMActionEx
}
if (nodeService.exists(actionedUponNodeRef) && getSetDispositionActionComplete())
if (getNodeService().exists(actionedUponNodeRef) && getSetDispositionActionComplete())
{
// Update the disposition schedule
dispositionService.updateNextDispositionAction(actionedUponNodeRef);
getDispositionService().updateNextDispositionAction(actionedUponNodeRef);
}
}
else
@@ -225,7 +225,7 @@ public abstract class RMDispositionActionExecuterAbstractBase extends RMActionEx
protected DispositionSchedule checkDispositionActionExecutionValidity(NodeRef nodeRef, NodeRef nextDispositionActionNodeRef, boolean throwError)
{
// Check the node has associated disposition instructions
DispositionSchedule di = dispositionService.getDispositionSchedule(nodeRef);
DispositionSchedule di = getDispositionService().getDispositionSchedule(nodeRef);
if (di == null)
{
if (throwError)
@@ -239,7 +239,7 @@ public abstract class RMDispositionActionExecuterAbstractBase extends RMActionEx
}
// Check the node has the disposition schedule aspect applied
if (!nodeService.hasAspect(nodeRef, ASPECT_DISPOSITION_LIFECYCLE))
if (!getNodeService().hasAspect(nodeRef, ASPECT_DISPOSITION_LIFECYCLE))
{
if (throwError)
{
@@ -266,7 +266,7 @@ public abstract class RMDispositionActionExecuterAbstractBase extends RMActionEx
return null;
}
}
String actionName = (String) nodeService.getProperty(nextDispositionAction, PROP_DISPOSITION_ACTION);
String actionName = (String) getNodeService().getProperty(nextDispositionAction, PROP_DISPOSITION_ACTION);
if (actionName == null || !actionName.equals(getName()))
{
if (throwError)
@@ -293,7 +293,7 @@ public abstract class RMDispositionActionExecuterAbstractBase extends RMActionEx
private NodeRef getNextDispostionAction(NodeRef nodeRef)
{
NodeRef result = null;
List<ChildAssociationRef> assocs = nodeService.getChildAssocs(nodeRef, ASSOC_NEXT_DISPOSITION_ACTION, RegexQNamePattern.MATCH_ALL);
List<ChildAssociationRef> assocs = getNodeService().getChildAssocs(nodeRef, ASSOC_NEXT_DISPOSITION_ACTION, RegexQNamePattern.MATCH_ALL);
if (assocs.size() != 0)
{
result = assocs.get(0).getChildRef();

View File

@@ -84,7 +84,7 @@ public class ScheduledDispositionJob implements Job
String query = "+ASPECT:\"rma:record\" +ASPECT:\"rma:dispositionSchedule\" +@rma\\:dispositionAsOf:" + dateRange;
SearchService search = (SearchService)context.getJobDetail().getJobDataMap().get("searchService");
ResultSet results = search.query(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, SearchService.LANGUAGE_LUCENE, query);
ResultSet results = search.query(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, SearchService.LANGUAGE_FTS_ALFRESCO, query);
List<NodeRef> resultNodes = results.getNodeRefs();
results.close();

View File

@@ -0,0 +1,50 @@
/*
* Copyright (C) 2005-2014 Alfresco Software Limited.
*
* This file is part of Alfresco
*
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Alfresco 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
package org.alfresco.module.org_alfresco_module_rm.action.constraint;
import java.util.HashMap;
import java.util.Map;
import org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionPolicy;
import org.alfresco.repo.action.constraint.BaseParameterConstraint;
/**
* Recordable version config constraint
*
* @author Tuna Aksoy
* @since 2.3
*/
public class VersionParameterConstraint extends BaseParameterConstraint
{
/**
* @see org.alfresco.repo.action.constraint.BaseParameterConstraint#getAllowableValuesImpl()
*/
@Override
protected Map<String, String> getAllowableValuesImpl()
{
RecordableVersionPolicy[] recordableVersionPolicies = RecordableVersionPolicy.values();
Map<String, String> allowableValues = new HashMap<String, String>(recordableVersionPolicies.length);
for (RecordableVersionPolicy recordableVersionPolicy : recordableVersionPolicies)
{
String policy = recordableVersionPolicy.toString();
allowableValues.put(policy, getI18NLabel(policy));
}
return allowableValues;
}
}

View File

@@ -0,0 +1,239 @@
/*
* Copyright (C) 2005-2014 Alfresco Software Limited.
*
* This file is part of Alfresco
*
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Alfresco 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
package org.alfresco.module.org_alfresco_module_rm.action.dm;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.model.ContentModel;
import org.alfresco.module.org_alfresco_module_rm.action.AuditableActionExecuterAbstractBase;
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
import org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionServiceImpl;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
import org.alfresco.repo.version.VersionModel;
import org.alfresco.service.cmr.action.Action;
import org.alfresco.service.cmr.action.ParameterDefinition;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.version.Version;
import org.alfresco.service.cmr.version.VersionService;
import org.alfresco.service.cmr.version.VersionType;
import org.alfresco.service.namespace.QName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* Creates a new record from the 'current' document version.
*
* Note: This is a 'normal' dm action, rather than a records management action.
*
* @author Roy Wetherall
*/
public class DeclareAsVersionRecordAction extends AuditableActionExecuterAbstractBase
implements RecordsManagementModel
{
/** Logger */
private static Log logger = LogFactory.getLog(DeclareAsVersionRecordAction.class);
/** Action name */
public static final String NAME = "declare-version-record";
/** Parameter names */
public static final String PARAM_FILE_PLAN = "file-plan";
/** Sync Model URI */
static final String SYNC_MODEL_1_0_URI = "http://www.alfresco.org/model/sync/1.0";
/** Synced aspect */
static final QName ASPECT_SYNCED = QName.createQName(SYNC_MODEL_1_0_URI, "synced");
/** Node service */
private NodeService nodeService;
/** File plan service */
private FilePlanService filePlanService;
/** Dictionary service */
private DictionaryService dictionaryService;
/** version service */
private VersionService versionService;
/**
* @param nodeService node service
*/
public void setNodeService(NodeService nodeService)
{
this.nodeService = nodeService;
}
/**
* @param filePlanService file plan service
*/
public void setFilePlanService(FilePlanService filePlanService)
{
this.filePlanService = filePlanService;
}
/**
* @param dictionaryService dictionary service
*/
public void setDictionaryService(DictionaryService dictionaryService)
{
this.dictionaryService = dictionaryService;
}
/**
* @param versionService version service
*/
public void setVersionService(VersionService versionService)
{
this.versionService = versionService;
}
/**
* @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#executeImpl(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
*/
@Override
protected void executeImpl(final Action action, final NodeRef actionedUponNodeRef)
{
if (!nodeService.exists(actionedUponNodeRef))
{
// do not create record if the actioned upon node does not exist!
if (logger.isDebugEnabled())
{
logger.debug("Can not declare version as record, because " + actionedUponNodeRef.toString() + " does not exist.");
}
}
else if (!dictionaryService.isSubClass(nodeService.getType(actionedUponNodeRef), ContentModel.TYPE_CONTENT))
{
// TODO eventually we should support other types .. either as record folders or as composite records
if (logger.isDebugEnabled())
{
logger.debug("Can not declare version as record, because " + actionedUponNodeRef.toString() + " is not a supported type.");
}
}
else if (!nodeService.hasAspect(actionedUponNodeRef, ContentModel.ASPECT_VERSIONABLE))
{
if (logger.isDebugEnabled())
{
logger.debug("Can not declare version record, because " + actionedUponNodeRef.toString() + " does not have the versionable aspect applied.");
}
}
else if (nodeService.hasAspect(actionedUponNodeRef, ASPECT_RECORD))
{
// Do not declare version record if the actioned upon node is already a record!
if (logger.isDebugEnabled())
{
logger.debug("Can not declare version record, because " + actionedUponNodeRef.toString() + " is already a record.");
}
}
else if (nodeService.hasAspect(actionedUponNodeRef, ContentModel.ASPECT_WORKING_COPY))
{
// We can not create records from working copies
if (logger.isDebugEnabled())
{
logger.debug("Can not declare version record, because " + actionedUponNodeRef.toString() + " is a working copy.");
}
}
else if (nodeService.hasAspect(actionedUponNodeRef, ASPECT_RECORD_REJECTION_DETAILS))
{
// can not create a record from a previously rejected one
if (logger.isDebugEnabled())
{
logger.debug("Can not declare version record, because " + actionedUponNodeRef.toString() + " has previously been rejected.");
}
}
else if (nodeService.hasAspect(actionedUponNodeRef, ASPECT_SYNCED))
{
// can't declare the record if the node is sync'ed
if (logger.isDebugEnabled())
{
logger.debug("Can't declare version record, because " + actionedUponNodeRef.toString() + " is synched content.");
}
}
else
{
NodeRef filePlan = (NodeRef)action.getParameterValue(PARAM_FILE_PLAN);
if (filePlan == null)
{
// TODO .. eventually make the file plan parameter required
filePlan = AuthenticationUtil.runAs(new RunAsWork<NodeRef>()
{
@Override
public NodeRef doWork()
{
return filePlanService.getFilePlanBySiteId(FilePlanService.DEFAULT_RM_SITE_ID);
}
}, AuthenticationUtil.getAdminUserName());
// if the file plan is still null, raise an exception
if (filePlan == null)
{
if (logger.isDebugEnabled())
{
logger.debug("Can not declare version record, because the default file plan can not be determined. Make sure at least one file plan has been created.");
}
throw new AlfrescoRuntimeException("Can not declare version record, because the default file plan can not be determined.");
}
}
else
{
// verify that the provided file plan is actually a file plan
if (!filePlanService.isFilePlan(filePlan))
{
if (logger.isDebugEnabled())
{
logger.debug("Can not declare version record, because the provided file plan node reference is not a file plan.");
}
throw new AlfrescoRuntimeException("Can not declare version record, because the provided file plan node reference is not a file plan.");
}
}
// create version properties
Map<String, Serializable> versionProperties = new HashMap<String, Serializable>(4);
versionProperties.put(Version.PROP_DESCRIPTION, "Recorded version"); // TODO make this a configurable option of the action
versionProperties.put(VersionModel.PROP_VERSION_TYPE, VersionType.MINOR); // TODO make this a configurable option of the action
versionProperties.put(RecordableVersionServiceImpl.KEY_RECORDABLE_VERSION, true);
versionProperties.put(RecordableVersionServiceImpl.KEY_FILE_PLAN, filePlan);
// create recordable version
versionService.createVersion(actionedUponNodeRef, versionProperties);
}
}
/**
* @see org.alfresco.repo.action.ParameterizedItemAbstractBase#addParameterDefinitions(java.util.List)
*/
@Override
protected void addParameterDefinitions(List<ParameterDefinition> params)
{
// NOTE: commented out for now so that it doesn't appear in the UI ... enable later when multi-file plan support is added
//params.add(new ParameterDefinitionImpl(PARAM_FILE_PLAN, DataTypeDefinition.NODE_REF, false, getParamDisplayLabel(PARAM_FILE_PLAN)));
}
}

View File

@@ -0,0 +1,195 @@
/*
* Copyright (C) 2005-2014 Alfresco Software Limited.
*
* This file is part of Alfresco
*
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Alfresco 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
package org.alfresco.module.org_alfresco_module_rm.action.dm;
import static org.alfresco.model.ContentModel.ASPECT_VERSIONABLE;
import static org.alfresco.model.ContentModel.TYPE_CONTENT;
import static org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel.ASPECT_RECORD;
import static org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionModel.PROP_RECORDABLE_VERSION_POLICY;
import static org.alfresco.service.cmr.dictionary.DataTypeDefinition.TEXT;
import static org.apache.commons.logging.LogFactory.getLog;
import java.util.List;
import org.alfresco.module.org_alfresco_module_rm.action.AuditableActionExecuterAbstractBase;
import org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionPolicy;
import org.alfresco.repo.action.ParameterDefinitionImpl;
import org.alfresco.service.cmr.action.Action;
import org.alfresco.service.cmr.action.ParameterDefinition;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.namespace.QName;
import org.apache.commons.logging.Log;
/**
* Sets the recordable version config for a document within a collaboration site.
*
* Note: This is a 'normal' dm action, rather than a records management action.
*
* @author Tuna Aksoy
* @since 2.3
*/
public class RecordableVersionConfigAction extends AuditableActionExecuterAbstractBase
{
/** Logger */
private static Log LOGGER = getLog(RecordableVersionConfigAction.class);
/** Action name */
public static final String NAME = "recordable-version-config";
/** Parameter names */
public static final String PARAM_VERSION = "version";
/** Node service */
private NodeService nodeService;
/** Dictionary service */
private DictionaryService dictionaryService;
/**
* Gets the node service
*
* @return The node service
*/
protected NodeService getNodeService()
{
return this.nodeService;
}
/**
* Sets the node service
*
* @param nodeService The node service
*/
public void setNodeService(NodeService nodeService)
{
this.nodeService = nodeService;
}
/**
* Gets the dictionary service
*
* @return The dictionary service
*/
protected DictionaryService getDictionaryService()
{
return this.dictionaryService;
}
/**
* @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService)
*/
public void setDictionaryService(DictionaryService dictionaryService)
{
this.dictionaryService = dictionaryService;
}
/**
* @see org.alfresco.repo.action.executer.ActionExecuterAbstractBase#executeImpl(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
*/
@Override
protected void executeImpl(Action action, NodeRef actionedUponNodeRef)
{
if (passedChecks(actionedUponNodeRef))
{
String version = (String) action.getParameterValue(PARAM_VERSION);
getNodeService().setProperty(actionedUponNodeRef, PROP_RECORDABLE_VERSION_POLICY, RecordableVersionPolicy.valueOf(version));
}
}
/**
* @see org.alfresco.repo.action.ParameterizedItemAbstractBase#addParameterDefinitions(java.util.List)
*/
@Override
protected void addParameterDefinitions(List<ParameterDefinition> paramList)
{
paramList.add(new ParameterDefinitionImpl(PARAM_VERSION, TEXT, true, getParamDisplayLabel(PARAM_VERSION), false, "ac-versions"));
}
/**
* Helper method to do checks on the actioned upon node reference
*
* @param actionedUponNodeRef The actioned upon node reference
* @return <code>true</code> if the actioned upon node reference passes the checks, <code>false</code> otherwise
*/
private boolean passedChecks(NodeRef actionedUponNodeRef)
{
boolean passedChecks = true;
if (!getNodeService().exists(actionedUponNodeRef))
{
passedChecks = false;
if (LOGGER.isDebugEnabled())
{
String message = buildLogMessage(actionedUponNodeRef, "' because the node does not exist.");
LOGGER.debug(message);
}
}
QName type = getNodeService().getType(actionedUponNodeRef);
if (!getDictionaryService().isSubClass(type, TYPE_CONTENT))
{
passedChecks = false;
if (LOGGER.isDebugEnabled())
{
String message = buildLogMessage(actionedUponNodeRef, "' because the type of the node '" + type.getLocalName() + "' is not supported.");
LOGGER.debug(message);
}
}
if (getNodeService().hasAspect(actionedUponNodeRef, ASPECT_RECORD))
{
passedChecks = false;
if (LOGGER.isDebugEnabled())
{
String message = buildLogMessage(actionedUponNodeRef, "' because the rule cannot be applied to records.");
LOGGER.debug(message);
}
}
if (!getNodeService().hasAspect(actionedUponNodeRef, ASPECT_VERSIONABLE))
{
passedChecks = false;
if (LOGGER.isDebugEnabled())
{
String buildLogMessage = buildLogMessage(actionedUponNodeRef, "' because the rule cannot be applied to records.");
LOGGER.debug(buildLogMessage);
}
}
return passedChecks;
}
/**
* Helper method to construct log message
*
* @param actionedUponNodeRef The actioned upon node reference
* @param messagePart The message which should be appended.
* @return The constructed log message
*/
private String buildLogMessage(NodeRef actionedUponNodeRef, String messagePart)
{
StringBuilder sb = new StringBuilder();
sb.append("Cannot set recordable version config for '");
sb.append(actionedUponNodeRef.toString());
sb.append(messagePart);
return sb.toString();
}
}

View File

@@ -65,7 +65,7 @@ public class AddRecordTypeAction extends RMActionExecuterAbstractBase
{
for (String type : getRecordTypes(action))
{
recordService.addRecordType(actionedUponNodeRef, QName.createQName(type, namespaceService));
getRecordService().addRecordType(actionedUponNodeRef, QName.createQName(type, getNamespaceService()));
}
}
else if (logger.isWarnEnabled())
@@ -88,10 +88,10 @@ public class AddRecordTypeAction extends RMActionExecuterAbstractBase
private boolean eligibleForAction(NodeRef actionedUponNodeRef)
{
boolean result = false;
if (nodeService.exists(actionedUponNodeRef) &&
!freezeService.isFrozen(actionedUponNodeRef) &&
recordService.isRecord(actionedUponNodeRef) &&
!recordService.isDeclared(actionedUponNodeRef))
if (getNodeService().exists(actionedUponNodeRef) &&
!getFreezeService().isFrozen(actionedUponNodeRef) &&
getRecordService().isRecord(actionedUponNodeRef) &&
!getRecordService().isDeclared(actionedUponNodeRef))
{
result = true;
}

View File

@@ -55,7 +55,7 @@ public class ApplyCustomTypeAction extends RMActionExecuterAbstractBase
public void setCustomTypeAspect(String customTypeAspect)
{
this.customTypeAspect = QName.createQName(customTypeAspect, namespaceService);
this.customTypeAspect = QName.createQName(customTypeAspect, getNamespaceService());
}
/**
@@ -69,11 +69,11 @@ public class ApplyCustomTypeAction extends RMActionExecuterAbstractBase
logger.debug("Executing action [" + action.getActionDefinitionName() + "] on " + actionedUponNodeRef);
}
if (recordService.isRecord(actionedUponNodeRef))
if (getRecordService().isRecord(actionedUponNodeRef))
{
// Apply the appropriate aspect and set the properties.
Map<QName, Serializable> aspectProps = getPropertyValues(action);
this.nodeService.addAspect(actionedUponNodeRef, customTypeAspect, aspectProps);
this.getNodeService().addAspect(actionedUponNodeRef, customTypeAspect, aspectProps);
}
else if (logger.isWarnEnabled())
{
@@ -88,7 +88,7 @@ public class ApplyCustomTypeAction extends RMActionExecuterAbstractBase
@Override
protected final void addParameterDefinitions(List<ParameterDefinition> paramList)
{
AspectDefinition aspectDef = dictionaryService.getAspect(customTypeAspect);
AspectDefinition aspectDef = getDictionaryService().getAspect(customTypeAspect);
for (PropertyDefinition propDef : aspectDef.getProperties().values())
{
QName propName = propDef.getName();
@@ -109,7 +109,7 @@ public class ApplyCustomTypeAction extends RMActionExecuterAbstractBase
Map<QName, Serializable> result = new HashMap<QName, Serializable>(paramValues.size());
for (Map.Entry<String, Serializable> entry : paramValues.entrySet())
{
QName propQName = QName.createQName(entry.getKey(), this.namespaceService);
QName propQName = QName.createQName(entry.getKey(), this.getNamespaceService());
result.put(propQName, entry.getValue());
}
@@ -122,7 +122,7 @@ public class ApplyCustomTypeAction extends RMActionExecuterAbstractBase
// We can take these parameter definitions from the properties defined in the dod model.
if (this.parameterDefinitions == null)
{
AspectDefinition aspectDefinition = dictionaryService.getAspect(customTypeAspect);
AspectDefinition aspectDefinition = getDictionaryService().getAspect(customTypeAspect);
if (aspectDefinition == null)
{
throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_CUSTOM_ASPECT_NOT_RECOGNISED, customTypeAspect));
@@ -134,7 +134,7 @@ public class ApplyCustomTypeAction extends RMActionExecuterAbstractBase
for (Map.Entry<QName, PropertyDefinition> entry : props.entrySet())
{
String paramName = entry.getKey().toPrefixString(namespaceService);
String paramName = entry.getKey().toPrefixString(getNamespaceService());
PropertyDefinition value = entry.getValue();
QName paramType = value.getDataType().getName();
boolean paramIsMandatory = value.isMandatory();

View File

@@ -69,7 +69,7 @@ public class BroadcastDispositionActionDefinitionUpdateAction extends RMActionEx
@Override
protected void executeImpl(Action action, NodeRef actionedUponNodeRef)
{
if (!RecordsManagementModel.TYPE_DISPOSITION_ACTION_DEFINITION.equals(nodeService.getType(actionedUponNodeRef)))
if (!RecordsManagementModel.TYPE_DISPOSITION_ACTION_DEFINITION.equals(getNodeService().getType(actionedUponNodeRef)))
{
return;
}
@@ -77,14 +77,14 @@ public class BroadcastDispositionActionDefinitionUpdateAction extends RMActionEx
List<QName> changedProps = (List<QName>)action.getParameterValue(CHANGED_PROPERTIES);
// Navigate up the containment hierarchy to get the record category grandparent and schedule.
NodeRef dispositionScheduleNode = nodeService.getPrimaryParent(actionedUponNodeRef).getParentRef();
NodeRef rmContainer = nodeService.getPrimaryParent(dispositionScheduleNode).getParentRef();
DispositionSchedule dispositionSchedule = dispositionService.getAssociatedDispositionSchedule(rmContainer);
NodeRef dispositionScheduleNode = getNodeService().getPrimaryParent(actionedUponNodeRef).getParentRef();
NodeRef rmContainer = getNodeService().getPrimaryParent(dispositionScheduleNode).getParentRef();
DispositionSchedule dispositionSchedule = getDispositionService().getAssociatedDispositionSchedule(rmContainer);
behaviourFilter.disableBehaviour();
try
{
List<NodeRef> disposableItems = dispositionService.getDisposableItems(dispositionSchedule);
List<NodeRef> disposableItems = getDispositionService().getDisposableItems(dispositionSchedule);
for (NodeRef disposableItem : disposableItems)
{
updateDisposableItem(dispositionSchedule, disposableItem, actionedUponNodeRef, changedProps);
@@ -107,11 +107,11 @@ public class BroadcastDispositionActionDefinitionUpdateAction extends RMActionEx
{
// We need to check that this folder is under the management of the disposition schedule that
// has been updated
DispositionSchedule itemDs = dispositionService.getDispositionSchedule(disposableItem);
DispositionSchedule itemDs = getDispositionService().getDispositionSchedule(disposableItem);
if (itemDs != null &&
itemDs.getNodeRef().equals(ds.getNodeRef()))
{
if (nodeService.hasAspect(disposableItem, ASPECT_DISPOSITION_LIFECYCLE))
if (getNodeService().hasAspect(disposableItem, ASPECT_DISPOSITION_LIFECYCLE))
{
// disposition lifecycle already exists for node so process changes
processActionDefinitionChanges(dispositionActionDefinition, changedProps, disposableItem);
@@ -119,7 +119,7 @@ public class BroadcastDispositionActionDefinitionUpdateAction extends RMActionEx
else
{
// disposition lifecycle does not exist on the node so setup disposition
dispositionService.updateNextDispositionAction(disposableItem);
getDispositionService().updateNextDispositionAction(disposableItem);
}
// update rolled up search information
@@ -134,14 +134,14 @@ public class BroadcastDispositionActionDefinitionUpdateAction extends RMActionEx
*/
private void rollupSearchProperties(NodeRef disposableItem)
{
DispositionAction da = dispositionService.getNextDispositionAction(disposableItem);
DispositionAction da = getDispositionService().getNextDispositionAction(disposableItem);
if (da != null)
{
Map<QName, Serializable> props = nodeService.getProperties(disposableItem);
Map<QName, Serializable> props = getNodeService().getProperties(disposableItem);
props.put(PROP_RS_DISPOSITION_ACTION_NAME, da.getName());
props.put(PROP_RS_DISPOSITION_ACTION_AS_OF, da.getAsOfDate());
props.put(PROP_RS_DISPOSITION_EVENTS_ELIGIBLE, nodeService.getProperty(da.getNodeRef(), PROP_DISPOSITION_EVENTS_ELIGIBLE));
props.put(PROP_RS_DISPOSITION_EVENTS_ELIGIBLE, getNodeService().getProperty(da.getNodeRef(), PROP_DISPOSITION_EVENTS_ELIGIBLE));
DispositionActionDefinition daDefinition = da.getDispositionActionDefinition();
Period period = daDefinition.getPeriod();
@@ -164,7 +164,7 @@ public class BroadcastDispositionActionDefinitionUpdateAction extends RMActionEx
}
props.put(PROP_RS_DISPOSITION_EVENTS, (Serializable)list);
nodeService.setProperties(disposableItem, props);
getNodeService().setProperties(disposableItem, props);
}
}
@@ -180,7 +180,7 @@ public class BroadcastDispositionActionDefinitionUpdateAction extends RMActionEx
{
// check that the step being edited is the current step for the folder,
// if not, the change has no effect on the current step so ignore
DispositionAction nextAction = dispositionService.getNextDispositionAction(recordOrFolder);
DispositionAction nextAction = getDispositionService().getNextDispositionAction(recordOrFolder);
if (doesChangedStepAffectNextAction(dispositionActionDef, nextAction))
{
// the change does effect the nextAction for this node
@@ -197,8 +197,8 @@ public class BroadcastDispositionActionDefinitionUpdateAction extends RMActionEx
if (changedProps.contains(PROP_DISPOSITION_ACTION_NAME))
{
String action = (String)nodeService.getProperty(dispositionActionDef, PROP_DISPOSITION_ACTION_NAME);
nodeService.setProperty(nextAction.getNodeRef(), PROP_DISPOSITION_ACTION, action);
String action = (String)getNodeService().getProperty(dispositionActionDef, PROP_DISPOSITION_ACTION_NAME);
getNodeService().setProperty(nextAction.getNodeRef(), PROP_DISPOSITION_ACTION, action);
}
}
}
@@ -240,7 +240,7 @@ public class BroadcastDispositionActionDefinitionUpdateAction extends RMActionEx
private void persistPeriodChanges(NodeRef dispositionActionDef, DispositionAction nextAction)
{
Date newAsOfDate = null;
Period dispositionPeriod = (Period) nodeService.getProperty(dispositionActionDef, PROP_DISPOSITION_PERIOD);
Period dispositionPeriod = (Period) getNodeService().getProperty(dispositionActionDef, PROP_DISPOSITION_PERIOD);
if (dispositionPeriod != null)
{
@@ -255,7 +255,7 @@ public class BroadcastDispositionActionDefinitionUpdateAction extends RMActionEx
"' (" + nextAction.getNodeRef() + ") to: " + newAsOfDate);
}
nodeService.setProperty(nextAction.getNodeRef(), PROP_DISPOSITION_AS_OF, newAsOfDate);
getNodeService().setProperty(nextAction.getNodeRef(), PROP_DISPOSITION_AS_OF, newAsOfDate);
}
@Override

View File

@@ -49,7 +49,7 @@ public class CloseRecordFolderAction extends RMActionExecuterAbstractBase
@Override
public Void doWork()
{
recordFolderService.closeRecordFolder(actionedUponNodeRef);
getRecordFolderService().closeRecordFolder(actionedUponNodeRef);
return null;
}
@@ -69,9 +69,9 @@ public class CloseRecordFolderAction extends RMActionExecuterAbstractBase
private boolean eligibleForAction(NodeRef actionedUponNodeRef)
{
boolean result = false;
if (nodeService.exists(actionedUponNodeRef) &&
!freezeService.isFrozen(actionedUponNodeRef) &&
!TYPE_UNFILED_RECORD_FOLDER.equals(nodeService.getType(actionedUponNodeRef)))
if (getNodeService().exists(actionedUponNodeRef) &&
!getFreezeService().isFrozen(actionedUponNodeRef) &&
!TYPE_UNFILED_RECORD_FOLDER.equals(getNodeService().getType(actionedUponNodeRef)))
{
result = true;
}

View File

@@ -39,7 +39,7 @@ public class CompleteEventAction extends RMActionExecuterAbstractBase
{
/** action name */
public static final String NAME = "completeEvent";
/** action parameter names */
public static final String PARAM_EVENT_NAME = "eventName";
public static final String PARAM_EVENT_COMPLETED_BY = "eventCompletedBy";
@@ -51,11 +51,11 @@ public class CompleteEventAction extends RMActionExecuterAbstractBase
@Override
protected void addParameterDefinitions(List<ParameterDefinition> paramList)
{
paramList.add(new ParameterDefinitionImpl(PARAM_EVENT_NAME,
DataTypeDefinition.TEXT,
paramList.add(new ParameterDefinitionImpl(PARAM_EVENT_NAME,
DataTypeDefinition.TEXT,
true,
getParamDisplayLabel(PARAM_EVENT_NAME),
false,
getParamDisplayLabel(PARAM_EVENT_NAME),
false,
"rm-ac-manual-events"));
}
@@ -66,18 +66,18 @@ public class CompleteEventAction extends RMActionExecuterAbstractBase
@Override
protected void executeImpl(Action action, NodeRef actionedUponNodeRef)
{
if (nodeService.exists(actionedUponNodeRef) &&
!freezeService.isFrozen(actionedUponNodeRef))
if (getNodeService().exists(actionedUponNodeRef) &&
!getFreezeService().isFrozen(actionedUponNodeRef))
{
/** get parameter values */
String eventName = (String)action.getParameterValue(PARAM_EVENT_NAME);
String eventCompletedBy = (String)action.getParameterValue(PARAM_EVENT_COMPLETED_BY);
Date eventCompletedAt = (Date)action.getParameterValue(PARAM_EVENT_COMPLETED_AT);
if (this.nodeService.hasAspect(actionedUponNodeRef, ASPECT_DISPOSITION_LIFECYCLE))
if (this.getNodeService().hasAspect(actionedUponNodeRef, ASPECT_DISPOSITION_LIFECYCLE))
{
// Get the next disposition action
DispositionAction da = this.dispositionService.getNextDispositionAction(actionedUponNodeRef);
DispositionAction da = this.getDispositionService().getNextDispositionAction(actionedUponNodeRef);
if (da != null)
{
// complete event

Some files were not shown because too many files have changed in this diff Show More