Roy Wetherall a1dba70eb9 Merged DEV/INPLACE to HEAD :
41707: RM: Transparent records management prototype WIP
       * Create Record service and refactor
       * Add 'createRecord' method that preserves origional location(s) of the content
       * Add content readers information to record on extended security aspect
       * Experimental dynamic authority
       * DM action to 'create' record
       * Behaviour and methods to create and get new record container
   41708: RM: In-place filing prototype WIP
   42063: RM: Inplace filing prototype
       * extension of seciruty service to allow management of extended readers
       * extended reader maintained within file plan hierarchy
       * support ready for removal (ie move) and overlapping of readers in hirearchy (maintained in reference counting map)
       * general rename to "Unfiled Records" rather than "New Records"
       * File plan unfiled records filter
       * Unit tests
       * Correct permissions on created unfiled container (file for admin as per file plan root)
       * record readers dynamic authority applied to file plan components on bootstrap and creation
   42374: RM InPlace Prototype:

       * permission mapping improvements ... allows filling and declaration of unfiled records
       * actions of 'records' in doc lib are shown as restricted rm list
       * "Record" banner is shown in doc lib if content is a record (this differs from the normal record view where the undeclared status is shown, this isn't relevant for a content user)
       * linked to many record folders indicator not shown unless it really is linked to many record folders

   42700: RM Prototype:
       * stoppped hidden RM actions from appearing in UI
       * added file record action (TODO run-as RecordsManager and make applicable via aspect)
       * added hook points to allow customisation of Rule UI and customised for file record action
   43030: RM: In-place prototype
   43238: Rule editing fixed
   43332: Implemented a DeclareRecordAction so that a rule can be setup for a folder and a user can declare a record just uploading a file (in a collaboration site) into the folder.
   43348: DeclareRecordAction: The actioned upon node should be a record no need to create a record from the actioned node. If it is not a record an error should be thrown. If a user wants to create and declare a file as record a composite rule can be used.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@43934 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2012-11-26 05:45:48 +00:00
2012-04-04 02:47:07 +00:00
2012-11-26 05:45:48 +00:00
2012-04-04 02:47:07 +00:00
2012-04-04 02:47:07 +00:00

== Alfresco Records Management - Development Environment Setup == 

Prerequisites

 - Gradle 1.0 milestone 8a (optional unless native gradle support is required)
 - Alfresco Repository 4.0.1 (or higher).  Specifically you need the alfresco.war and share.war files.
 - Any prerequisties required for an Alfresco installation, including Java 1.5, Tomcat and a suitable database.
 
 NOTE:  throughout these instructions we will use the 'gradlew' wrapper command.  This wrapper command downloads the required Gradle libraries automatically.  Should you prefer to use the native 'gradle' command instead you will need to install Gradle manually.
 
Initial Setup

 - Checkout Records Management code from https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD
   Note:  the RM branch structure reflects the main repository branch structure, so HEAD is the current development branch and BRACHES contains the release branches.
 - Run "gradlew fetchWarFile".  This will use Maven to download the dependant Alfresco War's, currently version 4.0.1
 - Run "gradlew amp" in root directory.  This will unpack the dependancies, build the RM source and finally assemble the RM amps.
   Note:  the first execution of this task may take serveral minutes, because it will unpack the required build dependancies from the alfresco and share WAR.  It will also pull any external dependancies from Maven or 
 - You will not find rm-server\build\dist\alfresco-rm-2.0.amp and rm-share\build\dist\alfresco-rm-share-2.0.amp ahve been built.  
 
Using Eclipse

  - Run "gradlew eclipse".  This will generate the eclipse project files.
  - Start Eclipse in the usual way.
    Note: make sure the WAR dependancies have been exploded before opening Eclispe.
  - Import projects found in rm-server and rm-share directories.
  
Deploying the RM AMPs

  - Set the envoronment variables TOMCAT_HOME and APP_TOMCAT_HOME to the home directory of the repository and share Tomcat instances respectively.
    NOTE: these can be the same tomcat instance, but it is recommended that two are used.
  - Configure your repository Tomcat so that your repository.properties settings will be successfully picked up when Alfresco is started.
  - Run "gradlew deployAmp" in the root directory.  This will use the MMT to apply the RM AMPs to the Alfresco and Share WARs respectively.  The modified WARs will then be copied to the set Tomcat instances, cleaning any exisiting exploded WARs.
  - Start Tomcat(s). 
 
For users of the Alfresco DevEnv

 - Create a normal project using "create-project".
 - Check out RM code into the "code" directory (checkout https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD)
 - The devEnv will automatically set the TOMCAT_HOME and APP_TOMCAT_HOME environment variables to point to the Tomcat instances created by the use-tomcat6 and use-app-tomcat6 scipts.  Magic!
 - Copy the JDBC driver to <TOMCAT_HOME>/lib/
 - You can use the dev-context.xml generated for you to configure the repository. Place it in <TOMCAT_HOME>/shared/classes/alfresco/extension and <PROJECT_NAME>/code/rm-server/config/alfresco/extension.
 
Summary Of Available Gradle Tasks

  Note:  All these tasks can be executed in the root directory or in either of the sub-project directories.
  Note:  Use the command "gradle <taskName>" when executing.
  Note:  The RM Gradle scripts import the standard "Java" package so those associated standard tasks are available, for example "jar", "compileJava", "clean", etc
  
  - explodeDeps 	: checks for existance of the projects dependant WAR (either alfresco.war or share.war).  If not already exploded, unpacks the required depedancies from the WAR files.
  - cleanDeps 		: cleans the projects exploded dependancies.
  - amp 			: builds the projects AMP and places it in build/dist.
  - installAmp		: installs the AMP into a copy of the projects dependant WAR using the MMT.
					  NOTE: the installed WAR can be found in build/dist.
  - deployAmp       : depolys the project AMP to the configured Tomcat instance.
  - fetchWarFile    : fetches the dependant Alfresco WAR files
  - eclipse         : generates eclipse projects for repository and share projects
Description
Community Content Service Repository
Readme 440 MiB
Languages
Java 96.2%
Fluent 1.1%
JavaScript 1%
HTML 0.5%
FreeMarker 0.4%
Other 0.6%