Handles persisting this action data for sucessful actions
(Failure information persistance still to follow)
Includes lots of unit tests for working and failing sync and async actions
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21175 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
21132: ALF-3855: Refactored repository authentication filters so that same code is re-used for Web Client, Web Script, Web DAV and Sharepoint authentication
- 'Uber Filter' part 3
- Means we now support Kerberos Authentication for Sharepoint
- Threw away a lot of duplicated code
- New common AuthenticationDriver interface created and now implemented by core authentication code
- Sharepoint and BaseSSOAuthenticationFilter now both use AuthenticationDrivers
- Needs regression testing
21137: ALF-3841: Alfresco Explorer SSO Authentication Filters now accept ticket parameters too
- Can be turned back off with ntlm.authentication.browser.ticketLogons=false or kerberos.authentication.browser.ticketLogons=false
- Wiki updated
21141: ALF-3855: Fixed wiring
21146: ALF-2879: 'xamconnector' module behaviour for xam:archived
- Application of xam:archived recurses and locks both files and folders
- cm:content nodes also have the store selector applied for the XAMContentStore
- TODO: Archive properties
21165: Fixed ALF-3867: SQL format error when re-instating orphaned content URL
- Parameter was not bounded with #
- Added unit test to ensure SQL generated is correct
21169: Merged V3.3 to V3.3-BUG-FIX
21168: (RECORD ONLY Merged PATCHES/V3.2.1 to V3.3
21166: Merged V3.3-BUG-FIX to PATCHES/V3.2.1
21165: Fixed ALF-3867: SQL format error when re-instating orphaned content URL
- Parameter was not bounded with #
- Added unit test to ensure SQL generated is correct
21118: Latest SpringSurf libs:
- Fix for missing read of "keystore" in Remote config
- Session Fixation attack mitigation improvements:
- A Surf application no longer generates a Session (and therefore no JSESSIONID) until a user is authenticated - simply visiting a login page or similar will no longer generate a Session
- Existing Sessions are always invalidated and destroyed if found when a user is authenticated via the LoginController (i.e. due to a JSESSIONID captured via an XSS attack)
Merged HEAD to V3.3
21111: Fix to encode form parameter on Share login template - prevents its potential use as an reflected XSS attack vector
21117: Session Fixation mitigation:
- Removed Session creation from Share index.jsp
Merged V3.3-BUG-FIX-2010_06_24 to V3.3
21096: Fix for ALF-3718 - JSF client login page input validator is too aggressive ("Login" button is disabled if username contains forward slash)
21088: Latest SpringSurf libs
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21170 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This is a preliminary JavaScript API for the RatingService.
The intention is to get something committed to enable possible feedback and to lay the basis for any improvements that be needed later.
It's the normal Alfresco JS API changes. The root object is 'ratingService' and all the methods are on that object.
Highly non-OO.
But it is tested.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21145 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
20935: Branch for form processor refactor merge
21075: Utility class to help with writing tests which require creation/management of a person.
21076: Forms Processor Refactor. Refactored the FilteredFormProcessor and ContentModelFormProcessor classes to be more concise. Also introduced the notion of a Field, FieldProcessors and the FieldProcessorRegistry. These are currently responsible for generating different types of fields such as Association fields, Property fields and the various transient fields.
21083: Moved some utility classes into the correct packages for Forms.
21084: Created
21087: Created TaskFormProcessor
21101: Added test for fdk:period property, in particular the retrieval of it's data type parameters
21109: Fixed some issues witht he field processor logging. Also fixed an issue where data type properties were not being set correctly for Period property fields.
21121: Changed AssociationFieldProcessor so that it now adds an empty list as a value instead of null.
21124: Formatting updates and disabled FDK test ready for merge to HEAD
This commit contains all the re-factoring Nick has been doing to make the form processor mechansim more flexible for form filter developers and more importantly to make it easier to add additional form processor implementations, in particular the TaskFormProcessor and WorkflowFormProcessor.
A field processor mechanism has also been introduced, this allows the processing of fields to be handled outside of the form processor and means common field handling code can be reused across different form processors. The field processors are also pluggable via Spring config so it's easy for customers to add their own or replace/override ours.
We have run numerous tests (unit and manual UI) and all seems well but as with any change of this size there maybe some edge cases that get missed so please let one of us know if you see any strange behaviour.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21134 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
I've changed the ratings 'score' from an integer to a float as fractional ratings seems like a reasonable idea to me.
This had impact all through the Java layer, the REST layer, the model and the test code.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21128 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Added node rating stats to the ratings.get webscript (for each scheme):
average (mean) of all ratings for this node.
total (sum) of all ratings for this node.
count of all ratings for this node.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21108 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Added some of the REST API for the rating service. (Work in progress)
GET ratingdefinitions url=/api/rating/schemedefinitions
GET ratings url=/api/node/{store_type}/{store_id}/{id}/ratings
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21068 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
20954: Calendar Dashlet updates. Fixes: ALF-2907 (meeting workspace issue)
20968: Minor VersionableAspect fix to onDeleteNode policy firing (follow-on for r19507)
20981: Removed Install Jammer installers from V3.3.3
20982: AVMTestSuite - run PurgeTestP after AVMServiceTest (investigating ALF-3611)
20997: Fix for ALF-2605 - updated share-config-custom.xml.sample and removed obsolete extension files
21030: Pulled XAMConnector AMP into main 3.3SP3 codeline. Apart from build changes (incl. EOL), there are no repo changes.
21032: StoreSelector passes through NodeContentContext allowing stores access to node information
21036: Fix ALF-245: Can't delete space that contains "translation without content"
- Delete triggers 'unmakeTranslation'
- Empty translations are marked with sys:temporary before being deleted
21051: More on fix ALF-245. Reduced complexity by not deleting empty translations twice
21064: Merged V3.3 to V3.3-BUG_FIX
20898: Merged HEAD to V3.3
20724: AVMTestSuite - temporarily comment out PurgeTestP
- TODO: investigate intermittent test failure
20903: Incremented version revision
20921: AVM - fix purge store so that vr nodes are actually orphaned (ALF-3627)
20952: Fix for ALF-3704: Module conflict - Alfresco web client config property page missing metadata.
This is application of a fix made to the config service in a hotfix. The change provides a deterministic load order for config files loaded via the ConfigBootstrap spring bean. More importantly it means that config files loaded by modules on different machines in a cluster load in the same order.
The forms client and AWE config files have been updated to take advantage of the new loading order.
21061: Merged PATCHES/V3.1.2 to V3.3 (RECORD ONLY)
20890: ALF-3687: Apply LUCENE-1383 patch to Lucene 2.1.0 to reduce memory leaks from ThreadLocals
20891: ALF-3687: Build classpath fix
20892: Incremented version label
21062: Merged PATCHES/V3.2.1 to V3.3
20897: (RECORD ONLY) Incremented version label
20901: (RECORD ONLY) ALF-3740: Merged V3.3 to PATCHES/V3.2.1
20524: VersionMigrator - option to run as scheduled job (ALF-1000)
20904: (RECORD ONLY) ALF-3732: Merged PATCHES/V3.2.r to PATCHES/V3.2.1
19803: ALF-558: File servers (CIFS / FTP / NFS) can now handle concurrent write operations on Alfresco repository
- ContentDiskDriver / AVMDiskDriver now use retrying transactions for write operations
- Disable EagerContentStoreCleaner on ContentDiskDriver / AVMDiskDriver closeFile() operations so that they may be retried after rollback (Sony zero byte problem)
- Allow manual association of AVM ContentData with nodes so that closeFile() may be retried
- Propagation of new argument through AVM interfaces
20905: (RECORD ONLY) ALF-3732: Rolled back the now unnecessary reference()/dereference() stuff from ALF-558
20906: (RECORD ONLY) ALF-3732: Merged DEV/V3.3-BUG-FIX to PATCHES/V3.2.1
20623: Fix for ALF-3188 : Access Denied when updating doc via CIFS
20907: (RECORD ONLY) ALF-3732: Merged V3.3 to PATCHES/V3.2.1
20173: Propagate IOExceptions from retryable write transactions in AlfrescoDiskDriver
20950: ALF-3779: Upgrades on large repositories from v2.1 and v2.2 were failing on MySQL due to "The total number of locks exceeds the lock table size" errors
- Solution was to add support for new --BEGIN TXN and --END TXN comments and execute LOCK TABLES statements in the same transaction as large INSERT - SELECT statements.
20990: ALF-3789: Concurrency issues with InMemoryTicketComponentImpl
- Previous ETHREEOH-1842 method of caching web session 'ref counts' against tickets could cause tickets to unpredictably fall out of the transactional cache
- Rolled back original ETHREEOH-1842 fix. Would be too much overhead to keep these ref counts consistent across a cluster.
- Instead, avoid invalidating tickets on web session timeout and only do it on explicit log out.
- Now tickets maintained in non-transactional shared cache so they can't drop out unpredictably
- Logic for ticket inactivity timeout caching improved so that it should work across a cluster
20991: (RECORD ONLY) Incremented version label
20993: ALF-3789: Fixed Spring configuration backward compatibily issue with previous fix
- Ticket cache bean name restored to ticketsCache. This is actually now a non-transactional cache.
- Also externalized parameters so that they can now be controlled by alfresco-global.properties without any bean overrides
authentication.ticket.ticketsExpire=false
authentication.ticket.expiryMode=AFTER_FIXED_TIME
authentication.ticket.validDuration=PT1H
20994: Eclipse classpath fixes for unit testing after ant build
21057: ALF-3592: PassthruCifsAuthenticator now auto-creates / imports users who do not already exist in Alfresco
- At least one of the following properties must be true for this to happen
synchronization.autoCreatePeopleOnLogin
synchronization.syncWhenMissingPeopleLogIn
- Also improved debug logging of unknown passthru domains
21063: Merged PATCHES/V3.2.r to V3.3
21037: ALF-3793: Final attempt at realigning saved XForm data with a modified Schema
- removeRemovedNodes / insertUpdatedNodes / insertPrototypeNodes replaced by a one stop recursive process that builds a new instance tree from scratch
- Nodes copied over in correct order
- Missing nodes added in and extra nodes discarded
- Prototype nodes appended at appropriate points
21038: (RECORD ONLY) Incremented version label
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21065 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
WorkflowFormProcessor now also accepts 'package items' and starts the workflow with them, still limited in functionality (only description is read) as this implementation will be replaced shortly with an implementation based on the new re-factored form processors.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21031 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
An item kind of "workflow" and itemId of "<workflow-def-name>" are now supported (only "jbpm$wf:adhoc" works though at the moment). Showing the form, selecting an assignee and submitting the form will start the ad hoc workflow and create a task for the selected assignee.
NOTE: Support for 'packageItems' is not present yet.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21021 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Users can't rate their own content any more.
Added a RunAs(System) so that users can rate content they don't own, which is all they can rate!
First stab at adding rating totals, means and counts - to be tidied tomorrow.
Miscellaneous improvements & doc'ing.
Tests for the above. Refactored existing tests to run as different users (all were running as admin previously).
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21013 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
The RatingService will allow users to apply ratings to content nodes in the repository.
There will be a number of built-in Rating Schemes and support to add more by the usual extension mechanism.
Out of the box, we envision a 'likes' scheme (user X likes this document) and a 'star' rating
(user X gave this document 3 out of 5 stars).
Content model for ratings.
Spring config includes two out-of-the-box rating schemes
Various basic infrastructure classes for Ratings, RatingSchemes and the service itself.
Basic CRUD for ratings in a Java foundation layer.
Associated JUnit tests.
The next contribution will add support for per-node average and total ratings and associated tests.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21000 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This will be re-factored to use the new FormProcessor infrastructure Nick is currently merging, this reason for adding now is unblock Erik and allow work to begin on the 'packageItems' transient property and UI support.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@20992 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Now handles locking the replication job, deciding what to replicate for a given payload, and refreshing the lock as the transfer progresses, plus tests. Still needs to call the transfer service though.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@20989 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This covers most of the key interfaces, some initial definition load/save, along with the bootstrap+patch to create the new definition storage area in the data dictionary. No action logic is included yet.
Most things are based on the best practices from the Rendition Service.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@20947 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- PerformRenditionActionExecuter class and perform-rendition bean have been deprecated.
These constituted a containing action which the RenditionService wrapped around every rendition definition.
Their internals have been pushed down into AbstractRenderingEngine which should allow rendition definitions
(which are actions) to be used as first-class action beans. What remains should be backwards compatible, but is
now unnecessary.
- Temporarily switched off some Mockito-based unit tests which need updating. Will chat to Nick tomorrow.
- New action param: is-component-rendition : used to identify components renditions within a composite.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@20945 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261