the version being reverted to is created. This clone has the previous head version
as its ancestor and a wcm:reverted aspect applied. wcm:reverted contains
wcm:revertedid, the node id that the reversion is a clone of. Revert to version is
now a simple call to a new AVMService method, revert().
Propagated this to the remote API.
Modified the the AVMRevertToVersionAction to use this mechanism. Though really the
action isn't really needed now.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4824 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Added debug logging for various things in AVMSyncServiceImpl.
Fixed "from" path in workflow submits so that the ROOT directory
does not get wiped out in the originating sandbox.
Fixed avm.jsp so that it works again.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4771 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
fixing columns in create form wizard to not move around wildy once files are uploaded
fixing some bugs in repeats as a result of the chiba1.3 upgrade.
- xpaths were not being resolved for newly created instances (and shouldn't be)
- xpaths for nested repeats weren't behaving properly
fixed caching issue in edit which was causing the wrong form to be loaded for instance data
using alfresco namespace as defined in NamespaceService
passing namespace uris and prefixes to js to avoid errors if they should change
fixed a bug where the renditions property of forminstancedata was getting duplicate renditions (and thus regenerating way too much stuff when doing an edit)
using an italic 'description not set' when description isn't set in several screens.
using the avm service to set properties in renderingenginetemplateimpl.
upgrading to xalan-2.7.0 in order to be able to use bsf for extension functions.
adding the path that was not found to AVMNotFoundExceptions. very helpful when debugging.
substantial refactoring of rendering engines in preparation for integration with TemplateService.
- implementing a common model as a hash of QNames to objects. for method, providing a simple method wrapper called TemplateProcessorMethod which takes an array of Objects as a parameter, and returns an object. it is up to the template processors to properly convert arguments. a QName is used for the variable name rather than a string in order to include a namespace prefix (needed for xsl, and generally better looking).
- for xsl, using javascript bindings for formdatafunctions, which using liveconnect within rhino to call into the xsl rendering engine to evaluate the function. it ends up generating this js block into a xalan:component within the xsl tempalte:
// gets the handle to the backing java object which can invoke the function based on id
var _xsltp_invoke = java.lang.Class.forName('org.alfresco.web.forms.XSLTRenderingEngine$ProcessorMethodInvoker').newInstance();
// utility to convert js arrays into java
function _xsltp_to_java_array(js_array) {
var java_array = java.lang.reflect.Array.newInstance(java.lang.Object, js_array.length);
for (var i = 0; i < js_array.length; i++) { java_array[i] = js_array[i]; }
return java_array; }
// js handles to each of the form data functions which uses _xsltp_invoke to call the actual method
function _getAVMPath() { return _xsltp_invoke.invokeMethod('_getAVMPath8829055', _xsltp_to_java_array(arguments)); }
function parseXMLDocuments() { return _xsltp_invoke.invokeMethod('parseXMLDocuments12235190', _xsltp_to_java_array(arguments)); }
function parseXMLDocument() { return _xsltp_invoke.invokeMethod('parseXMLDocument15280968', _xsltp_to_java_array(arguments)); }
xml model data is inferred as a root namespace document within the model hash provided.
- for freemarker, things pretty much work as they did before, just i now need to convert values by hand to TemplateModels
fixed a bug with hidden iframe upload. seems like the complexity of actually cloning the file input element is unnecessary and that simply attaching the node in two places within the dom works just fine.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4764 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
this: mysite--guest--preview/HEAD/DATA/www/avm_webapps/ROOT/WEB-INF/...
and: mysite--guest--preview/VERSION/v1/DATA/www/avm_webapps/ROOT/WEB-INF/...
rather than: mysite--guest--preview/HEAD/DATA/appBase/avm_webapps/ROOT/WEB-INF/...
and: mysite--guest--preview/VERSION/v1/DATA/appBase/avm_webapps/ROOT/WEB-INF/...
The reason for this is that the actual "appliation base"
is and always has been "avm_webapps"; the original reason
for making the *parent* of this dir called appBase had do
do with the fact that you can have diffrent app bases
for different virtual hosts. However, in the end it causes
way more confusion than it was ever worth, so it's gone now.
The reason for all the modified files is that people were
hard-coding values in many different places, and/or defining
their own constants for something that was needed at a
higher level.
As a temporary measure (I hope), I've defined some rather ugly-looking
constants in JNDIConstants.java, and have used them everywhere:
DIR_DEFAULT_WWW = "www"
DIR_DEFAULT_APPBASE = "avm_webapps"
The reason for calling the parent of the new application base "www"
is that will be the default place that www-centric stuff happens
(therefore, it's also the level at which the overlays take place).
Ultimately, I'd like to turn these into spring configs,
and bring back support for multiple AVMHost nodes within
the same Tomcat... but it's not a priority at the moment.
Please don't hard-code any dirs named "appBase" as the
root level dir in a repo -- it's now "www", and will
change again to a function call later when/if virtual
AVMHosts come back. Keeping them as constants also
helps them to be easier to find when overhauling things.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4696 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- refactoring of generate and regenerate calls to take a FormInstanceData object
- adding in support for overriding step title and description properties in wizards so as to be able to format them with parameters
- making the step descriptions in create form wizard reiterate the form name so as to give the user better context
- displaying avm task resources in the manage task screen. still need to get actions working and clean this up a bit.
- making output path patterns sandbox relative
- refactored utility method for combining avm paths sensitive to webapp vs sandbox relative paths.
- adding a default description for generated renditions
todo:
- cleanup some usage of AVMNode from ManageTaskBean
- get actions to appear in manage task screen
- add a multi value property to the web project for all its webapps
- properly use overridden values for forms from the web project settings
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4687 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
go through DeletedNode implementation to make sure it's fully first class.
Adding some debugging code that throws exceptions if it detects certain kinds of races.
It can be turned off but I want to leave it on until GA. And, you'll need to start from a clean
database as the AVM schema have changed.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4683 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
read committed, more or less. It was read uncommitted before, and so this
makes me more comfortable. I hope it will also reduce optimistic locking failures
under concurrent load.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4600 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
executeInUserTransaction().
Changed the on close callback for write listeners to use a RetryingTransaction.
The point of this exercise is to make it possible for clients of the core server
to ignore transient resource contention failures. CIFS, for example, will be able
to take advantage of this, since a transient error condition currently results in a dead
share.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4597 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
1. Refines the semantics of ghost creation, so that they only appear when
warranted.
2. Implements a mechanism for filtering out files which should not appear in comparison
results or be pushed along by updates.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4525 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
directly from a node descriptor. It's a minor optimization for a few use
scenarios. It's also convenient for accessing content of historical file
versions directly.
Another CLT, to list the versions of a store.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4496 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
to using SSL when needed. Restructured exports of AVM specific apis to authenticate
remotely and pass the ticket with each remote service call. These required some changes
to jndi-client and even to the web-client which uses the AVM remote interface within
the Alfresco server. Oh, the point of this is that since I'm writing some CLTs, I might
as well do them correctly; we'll need the option of security sooner rather than later.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4489 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
authentication for CLTs. Until we use SSL transport for RMI this is subject
to authentication password and authentication ticket snooping, but that can
be fixed easily later.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4480 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261