Child pages
  • Change Log
Skip to end of metadata
Go to start of metadata
Release Notes:

4.2.0-C-0
------
-Updated to version Alfresco 4.2.e C

4.1.2-E-0
------
-Updated to version Alfresco 4.1.2 E

4.0.2-E-1
------
-Library is compatible with activiti workflow
-Added new methods to WorkflowService and update test cases
--workflowService.getStartTask

4.0.2-E-0
------
-Updated to version Alfresco 4.0.2 E
-Workflow Service calls use jbpm workflowService definitions and not the activiti definitions

4.0.d-C-0
------
-Updated to version Alfresco 4.0.d C
-Workflow Service calls use jbpm workflowService definitions and not the activiti definitions

4.0.0-E-0
------
-Updated to version Alfresco 4.0.0E
-Workflow Service calls use jbpm workflowService definitions and not the activiti definitions

3.4.2-E-0
------
-Updated to version Alfresco 3.4.2E

3.4.0-E-0
------
-Updated to version Alfresco 3.4.0E

3.4.0-C-0
------
-Updated to version Alfresco 3.4.0C

3.3.2-E-0
------
-Updated to version Alfresco 3.3.2E

3.3.1-E-0
------
-Updated to version Alfresco 3.3.1E

3.3.g-C-0
------
-Updated to version Alfresco 3.3.gC

3.3.0-E-0
------
-Updated to version Alfresco 3.3.0E
-Workaround for parsing association exception using new AssociationRef((String) value). Will be changed back once the fix is available.


3.3.0-C-0
------
-Updated to version Alfresco 3.3.0C
-Workaround for parsing association exception using new AssociationRef((String) value). Will be changed back once the fix is available.

3.2.2.1-E-1
------
- Fixed [CMA-53]

3.2.2.1-E-0
------
- Integrated with Alfresco 3.2.2.1 E

3.2.r-E-0
------
- Integrated with Alfresco 3.2R E

3.2.0-E-1
------
-Updated Cma Authentication Service to use MutableAuthenticationService

3.2.0-E-0
------
-Integrated with Alfresco 3.2.0 E
-[CMA-45] Made transition id paramter optional for WorkflowService.endTask
-[CMA-47] Fixed EOFException with WorkflowService.getAssignedTasks
-[CMA-41] Wrong spelling name on NoderService.removeSecondayChildAssociation


3.2.r-C-0
------
- Integrated with Alfresco 3.2R C

3.1.0-E-1
-------
- [CMA-51] Error Fix: Fixed Marshalling error with WorkflowService getAssignedTasks

3.1.0-E-0
-------
- Integrated with Alfresco 3.1.0 E
- [CMA-46] Error Fix: SearchService.query method returns null properties when requesting ALL properties
- Added writeContent and writeContentFromStream to ContentService that take the content length of file to be uploaded

1.11.0
------
- Added new methods to AuthenticationService
-- createAuthentication(Ticket ticket, String userName, char [] password)
-- deleteAuthentication(Ticket ticket, String userName)
-- getAuthenticationEnabled(Ticket ticket, String userName)
-- invalidateUserSession(Ticket ticket, String userName)
-- setAuthenticationEnabled(Ticket ticket, String userName, boolean enabled)
-- setPassword(Ticket ticket, String userName, char [] password)

1.10.0
------
- Added AuthenticationService.changePassword(Ticket ticket, String userName, char [] oldPassword, char [] newPassword)
- Added PeopleService.addAuthority(Ticket ticket, String parentGroupName, String authorityName) and PeopleService.addAuthorities(Ticket ticket, String parentGroupName, List<String> authorityNames)

1.9.0
-------
- Integrated with Alfresco 3.0.
-- Added getCurrentUserName() method to CmaAuthenticationService to be able to get the current user's nodeRef after authentication.

1.8.1
-------
- removed connection timeout, receive buffer size and send buffer size from HttpConnectionManager params (Those should use the system default)

1.8.0
-------
- changed the maximum number of connections per host, the total maximum number of connections, connection timeout, send buffer size, and receive buffer size to be configurable (cma-cfg.properties)

1.7.1
-------
- fixed the NodeService.getProperty method bug which it fails to return the result when property value is null

1.7.0
-------
- updated SearchService.query and NodeService.getNode to take an extra parameter to check low level permissions for the current user
- removed deprecated methods from SearchService (query) and NodeService (getNode)

	public List<Node> query(Ticket ticket, StoreRef store,
			QueryLanguage queryLanguage, String query,
			List<QName> requiredProperties, boolean returnPeerAssocs,
			boolean returnChildAssocs, boolean returnAspects, int maxResults,
			List<SortDefinition> sortDefinitions)
			throws InvalidTicketException, CmaRuntimeException;

	public List<Node> query(Ticket ticket, StoreRef store,
			QueryLanguage queryLanguage, String query,
			List<QName> requiredProperties, boolean returnPeerAssocs,
			boolean returnChildAssocs, boolean returnAspects, int startResult,
			int endResult, List<SortDefinition> sortDefinitions)
			throws InvalidTicketException, CmaRuntimeException;

	public List<Node> query(Ticket ticket, StoreRef store,
			QueryLanguage queryLanguage, String query,
			boolean returnAllProperties, boolean returnPeerAssocs,
			boolean returnChildAssocs, boolean returnAspects, int maxResults,
			List<SortDefinition> sortDefinitions)
			throws InvalidTicketException, CmaRuntimeException;

	public List<Node> query(Ticket ticket, StoreRef store,
			QueryLanguage queryLanguage, String query,
			boolean returnAllProperties, boolean returnPeerAssocs,
			boolean returnChildAssocs, boolean returnAspects, int startResult,
			int endResult, List<SortDefinition> sortDefinitions)
			throws InvalidTicketException, CmaRuntimeException;

	public List<Node> query(Ticket ticket, StoreRef store,
			QueryLanguage queryLanguage, String query,
			List<QName> requiredProperties, boolean returnPeerAssocs,
			boolean returnChildAssocs, boolean returnAspects, int maxResults)
			throws InvalidTicketException, CmaRuntimeException;

	public List<Node> query(Ticket ticket, StoreRef store,
			QueryLanguage queryLanguage, String query,
			List<QName> requiredProperties, boolean returnPeerAssocs,
			boolean returnChildAssocs, boolean returnAspects, int startResult,
			int endResult) throws InvalidTicketException, CmaRuntimeException;

	public List<Node> query(Ticket ticket, StoreRef store,
			QueryLanguage queryLanguage, String query,
			boolean returnAllProperties, boolean returnPeerAssocs,
			boolean returnChildAssocs, boolean returnAspects, int maxResults)
			throws InvalidTicketException, CmaRuntimeException;

	public List<Node> query(Ticket ticket, StoreRef store,
			QueryLanguage queryLanguage, String query,
			boolean returnAllProperties, boolean returnPeerAssocs,
			boolean returnChildAssocs, boolean returnAspects, int startResult,
			int endResult) throws InvalidTicketException, CmaRuntimeException;

	public Node getNode(Ticket ticket, NodeRef nodeRef,
			List<QName> requiredProperties, boolean returnPeerAssocs,
			boolean returnChildAssocs, boolean returnAspects)
			throws InvalidTicketException, CmaRuntimeException;

1.6.1
-------
- changed the dependency on spring-2.5.2.jar to spring-2.0.2.jar

1.6.0
-------
- Integrated with Alfresco 2.2.1

1.5.0
-------
- updated following methods to serialize return values directly into the response stream to bypass castor xml mapping
-- AuthenticationService.authenticate
-- SearchService.query (all query methods)
-- NodeService.getNode
-- NodeService.getProperty
-- NodeService.getProperties
-- NodeService.createFolder
-- NodeService.createFile
-- NodeService.createFileFromStream
-- NodeService.createNode
- updated RestExecutorImpl to establish HttpClient only once with MultiThreadedHttpConnectionManager (you must call the init method of RestExecutorImpl if you're not using cma-core-context.xml)
- added execute methods to RestExectuter that do not take mapping files
- deprecated Node.setAspects(Vector<QName> aspects)
- added Node.setAspects(Set<QName> aspects)
- changed the return type of Node.getAspects to Set<QName>

1.4.2
-------
- fixed NodeService.getNode failure when the node property map contains collections

1.4.1
-------
- fixed SearchService.query memory leak

1.4.0
-------
- fixed SecurityService deletePermission/clearPermission read-only mode bugs
- fixed NodeService restoreNode throwing IllegalArgumentException when the destinationNodeRef is null bug
- added Add moveNodes and copyNodes APIs to allow for moving/copying a list of NodeRefs to a destination NodeRef

1.3.0
-------
- added MimetypeService

1.2.1
-------
- fixed SearchService query methods bugs where query methods that are not taking sort definitions as a parameter did not return current user's permissions
- added a NodeService getNode method that an additional boolean parameter to indicate whether to return current user's permissions or not. The existing getNode method has been deprecated.

1.2.0
-------
- updated alfresco dependency to version 2.2.0
- fixed transaction bugs
- fixed NodeService.getNode method bug where it did not de-serialize node properties
- updated AuthenticationService authenticate method to return user noderef upon login
- added new SearchService query methods to take an indicator whether to get permissoins assigned to each node or not. Old query methods are deprecated
- deprecated SecurityService findNodesByAssignedPermission, findNodesByAssignedPermission, getAllSetPermissionsForAuthority, and getAllSetPermissionsForCurrentUser methods due to Alfresco permission service interface changes
- improved search speed
- removed versioned mapping


1.1.2
-------
- updated PeopleService.createPerson method to take username, password, and a map of properties
- updated WorkflowService, NodeService, and SearchService to serialize property values before mapping in order to avoid castor's auto-mapping behavior
- fixed executeAction bugs

1.1.1
-------
- updated the executeAction methods in ActionService to return a result

1.1.0
-------
- completed DictionaryService

1.0.0
-------
- added ClassificationService
- added TransformationService
- added sorting to SearchService
- added createFileFromStream, getMimeType, and getEncoding to NodeService

0.3.0
-------
- added WorkflowService
- completed NodeService
- Pluggable SSO support
- Refactored transaction/authentication implementation and streamline it

0.2.0
-------
- updated ContentService to support content streaming
- resolved Alfresco transaction issues with NodeService, PeopleService and LibraryService
- updated SearchService to return a CmaResultSet that contains the total number of hits and a list of nodes
- added ActionService
- added SecurityService
- added VersionService

0.1.0
--------
- Moved to Alfresco's data structures instead of our own
- Exception handling propagation (now you get Alfie's exceptions as is from the server)
- Complex property setting/getting

0.0.1
--------
- First release of CMA supporting:
  - authentication (AuthenticationService)
  - search (SearchService)
  - check-in/out (LibraryService)
  - user/group management (PeopleService)
  - node manipulation (NodeService)
  - basic dictionary functionality (DictionaryService)
  - basic content upload/download (ContentService)

*********************************************
Known Issues
*********************************************
- All unknown parameter types and return types must be Serializable, otherwise CMA calls will fail upon passing parameters to Alfresco or returning values from Alfresco.
- Since exceptions from Alfresco are serialized and sent to the CMA client side, CMA will fail to propagate some exceptions that are unknown to CMA or not serializable. CMA will throw ClassNotFoundException or NotSerializableException in these cases.
- The ClassDefinitions of sourceClass and targetClass from AssociationDefinition will only have QName available. Refer to CMA documentation (http://wiki.rivetlogic.com/display/CMA/Documentation) to check unsupported methods.
- When issuing a query where the result set is greater than 1000 matches, Service Service will return a number of hits that increases upto a maximum 1000 with repetitive querying. This seems to be an issue with Alfresco, should be resolved when SQL support is implemented.
- Removal of a restored node fails due to a bug existing in Alfresco 2.2.1 where the node is not removed from the archive store when it is restored.
  • No labels