Tom Page 24780dc472 RM-2123 Create a new service for content classification.
Move methods to do with content from the ClassificationService and the
SecurityClearanceService into the ContentClassificationService.

Remove the dependency of SecurityClearanceService on ClassificationService
which will allow us to reverse this dependency in the next commit.  This is
needed in order to filter classifications by the current user's clearance.
Nb. This included adding a method in the SecurityClearanceService called
isClearedForClassification, which looks quite similar to a new API Roy
created hasClearance (see ContentClassificationService).  In the future we
should look to see if we can consolidate these.

Remove dependency of ClassificationServiceBootstrap on the services, so that
it can be passed into them. This allows us to provide access to the POJO
managers in the services (this is made harder as the POJO managers aren't
Spring beans).  In order to initialise these objects, change the POJO
managers to use setters rather than constructor arguments. This allows us
to store a reference to the manager before the data has been loaded.

Move the attribute service keys for classification levels and reasons into
the ClassifiedContentModel.

Expect NO_CLEARANCE to be passed into the ClearanceLevelManager, as
otherwise we have to have logic to exclude it (see initialise in the old
SecurityClearanceService) and then more logic to include it again (see the
old constructor for ClearanceLevelManager).

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104375 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-18 15:03:57 +00:00

== Alfresco Records Management - Development Environment Setup ==

Prerequisites

 - Maven 3.0.4 (or higher)
 - Eclipse Maven Plugin (m2e)
 - See Maven setup instructions https://ts.alfresco.com/share/page/site/eng/wiki-page?title=Maven_Setup


Initial Setup

 - Create a normal project using "create-project"
 - Check out RM code into the "code" directory (eg "checkout https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD")
 - Create the tomcat instances using "use-tomcat7" and "use-app-tomcat7"
 - If you've got SOLR config in your $DEV_HOME/projects/repository.properties file, then you'll need to remove it or fix it in the RM project level properties file.

Using Eclipse (or IntelliJ)

 - Import projects as Maven projects ("Import > Maven > Existing Maven Projects")
 - Browse to the code directory of your project and select "rm-server/pom.xml" and "rm-share/pom.xml". DO NOT select the parent "/pom.xml"
 - Open the Ant view and add the build files for both modules ("build.xml")
 - If you are not working on a Windows machine you need to change the value of a property called "mvn.exec".
   To do this create a file called "build.local.properties" under the code directory and change the value in that new file.
 - Run the "prepareEnv" target for rm-server which will prepare the development environment. This target must be run just once.
 - Now "fullBuildCommunity" or "fullBuildEnterprise" target (depending which version of Alfresco you want as dependency) can be run which will create the amp file, apply it to the war file and copy the war file to webapps folder.


Summary of Available Ant Targets

 - fullBuildCommunity           : Creates the amp file and applies it to the Community war file
 - fullBuildEnterprise          : Creates the amp file and applies it to the Enterprise war file
 - incrementalBuild             : Creates the jar file and copies the jar file with other files like css, js, ftl, etc. files


Summary of Available Internal Ant Targets

 - alfresco:amp                 : Creates the amp file using alfresco maven plugin
 - alfresco:install             : Installs the amp file to the Community war file
 - alfresco:installEnterprise   : Installs the amp file to the Enterprise war file
 - assembleIconPackage          : Assembles an icons package for the module
 - configureSolr4               : Configures Solr4 for Alfresco (creates two directories "solr4" and "solr4config" under the "data" directory)
 - copyDBDriver                 : Copies the DB driver
 - copyDevContextFile           : Copies the dev-context.xml file
 - copyWarFileToTomcat          : Copies the war file (amp applied) to the webapp folder
 - copyWebDirectory             : Copies the source/web folder
 - deleteExplodedWar            : Deletes the exploded war file
 - deleteWarFile                : Deletes the war file
 - fetchSolr                    : Gets the the Solr artifact
 - fetchWarFile                 : Gets the "original" Community war file
 - fetchEntpriseWarFile         : Gets the "original" Enterprise war file
 - package                      : Executes the "mvn package" command
 - prepareEnv                   : Prepares the development environment (must be run just once)
 - unitTest                     : Runs the unit tests
Description
Community Content Service Repository
Readme 435 MiB
Languages
Java 96.2%
Fluent 1.1%
JavaScript 1%
HTML 0.5%
FreeMarker 0.4%
Other 0.6%