Skip to content

Latest commit

 

History

History

archive

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
IN PROGRESS

Notes for: archive-impl/impl2

There is a new implementation of the ArchiveService in the impl2 module. The original 
implementation still exists, and can be enabled in place of the newer version.

ArchiveService2Impl allows you to customize which entities are imported during the merge
process. Previously, the list of allowable services was Hardcoded in the Service itself.
All other behaviour, as well as the API, are the same.

Configuration: 
All configuration is in archive/archive-impl/pack/src/webapp/WEB-INF/components.xml

1. Switching to the old ArchiveService Implementation

	a. Comment out the bean with header: 
		<bean id="org.sakaiproject.archive.api.ArchiveService"
			class="org.sakaiproject.archive.impl.BasicArchiveService"

	b. Remove, or comment out the bean with header:
		<bean id="org.sakaiproject.archive.api.ArchiveService"
			class="org.sakaiproject.archive.impl.ArchiveService2Impl"

2. Changing the path for archived files
	Change the "storagePath" property on the "org.sakaiproject.archive.api.ArchiveService" bean.

3. Changing Services whose entities are merged
	A. You have the option of merging any and all entities from all Services
		Bean: org.sakaiproject.archive.api.ArchiveService
		Property: mergeFilterSakaiServices
		Possible Values: 
			False - All Services are merged
			True  - Services that are merged are taken from the mergeFilteredSakaiServices property
	B. To specify which services are merged in use the mergeFilteredSakaiServices property
	   This is only used is 'mergeFilterSakaiServices' is set to true.
		Bean: org.sakaiproject.archive.api.ArchiveService
		Property: mergeFilteredSakaiServices  
		Values: Takes a list of Strings. Each value should be the unqualified name of the Service.
			For example, org.sakaiproject.announcement.api.AnnouncementService, would just be
			AnnouncementService.

4. Changing Roles for which entities are merged
	Bean: org.sakaiproject.archive.api.ArchiveService
	Properties: mergeFilterSakaiRoles, mergeFilteredSakaiRoles
	These properties mimic the properties in 3, in that they control that only merges created by XYZ Roles
	are merged. Note: Some testing needs to be done to make sure this is really observed in all Services. 

TODO: describe the import architecture