231 Commits

Author SHA1 Message Date
Britt Park
bfeab49387 This loosens a constraint that caused Sybase to barf with a constraint violation. I think.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4834 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-01-15 15:46:44 +00:00
Britt Park
0adccaeca8 Made revert to version behave better. Now when a node is reverted a clone of
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
2007-01-14 00:56:55 +00:00
Britt Park
6d2dbe50e2 Changed flags to update to fix problem where workflow submits of a subset
of the changed set of assets ended up wiping out unsubmitted changes in that
sandbox.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4817 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-01-12 23:27:05 +00:00
Britt Park
a942a1ab1c Added aspect related calls to AVMRemote interface and friends.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4799 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-01-12 00:27:17 +00:00
Britt Park
d19fc0682e Added extra information in toString of AVMNodeDescriptor.
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
2007-01-09 21:18:21 +00:00
Ariel Backenroth
77a6217b8d adding pager to manage task resources list
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
2007-01-09 14:42:34 +00:00
Britt Park
9472d2f237 Fixed a wee bug.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4752 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-01-08 15:35:21 +00:00
Britt Park
4dca69be7a Various fiddlings with Stress test.
Cleaned up AVMRevertListActions. 
Added AVMRevertToVersionActions which reverts to a single node to a given previous version
of that node.  See class for use syntax.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4748 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-01-08 01:41:21 +00:00
Britt Park
0a76193084 AVM nodes get a useful version id.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4727 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-01-04 14:59:29 +00:00
Britt Park
bbfb3f7f22 Fixed test and RMI broken-ness. Switched from 'authenticationService' to
'AuthenticationService' in a couple of places.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4715 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-01-04 06:57:52 +00:00
Britt Park
60eadcf3ff Fixed test failure.
Slightly tuned version of another test.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4709 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-01-03 01:35:03 +00:00
Derek Hulley
61c2f1a614 Added removeChildAssociation method to NodeService
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4706 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-01-02 14:25:16 +00:00
Jon Cox
f55c3091ea Fixed up paths a bit more so that now you get files paths like
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
2006-12-25 02:07:46 +00:00
Britt Park
a9461fe53b I think this fixes the race under load that I discovered. More testing is
needed.  Once again this will require a new database as I've changed the AVM schema
back.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4693 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-23 21:33:08 +00:00
Ariel Backenroth
037e5be984 - adding aspect to webapp nodes to differentiate them from ordinary folders in the avm_webapps directory
- 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
2006-12-21 20:34:00 +00:00
Britt Park
c4ae3bd5fa Clears up problems submitting deleted files via workflow. Still need to systematically
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
2006-12-21 18:19:54 +00:00
Britt Park
b3933922b2 Deleted nodes can now have aspects, properties, acls added, queried. Kind of
dumb that they couldn't before.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4646 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-18 20:25:31 +00:00
Britt Park
87b5690fc2 Some cleaning up of the AVMService and derived interfaces.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4624 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-16 18:17:18 +00:00
David Caruana
51f300cfbe Addition of "submitted" aspect to items submitted for web site review.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4620 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-15 16:42:38 +00:00
Britt Park
d9a20c4e55 More fussing with lookup cache. It seems a hair faster.
Some cleanup of the retrying transaction stuff.
Minor mods to one stress test to account for changes to retrying
transactions.  


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4616 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-15 06:42:50 +00:00
Britt Park
e70798e59f This makes the lookup cache for the AVM have a transaction isolation level of
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
2006-12-14 03:23:20 +00:00
Britt Park
e76fc329b6 Refinements to RetryingTransactionHelper to make it equivalent to
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
2006-12-13 17:03:44 +00:00
Britt Park
7f8c678bd5 Adjusted AVMCrawlTestPP to be more stringent now that we have retryin
transactions.
History is noww correctly maintained for cases of deletes followed by renames
or creates.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4587 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-12 21:09:07 +00:00
Britt Park
b4d49c2c3c Checkpoint: RetryingTransactionHelper, which executes a unit of work in a UserTransaction
with retries for transient failures.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4573 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-11 19:57:20 +00:00
Britt Park
f80dcdd7e4 AVMNodeDescriptor now can be asked what type of deleted node it is via isDeletedFile() and
isDeletedDirectory().


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4571 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-11 17:45:36 +00:00
Britt Park
df81a1e14a Fix for concurrency bug found last night, as best as I can tell so far.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4558 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-08 03:48:08 +00:00
David Caruana
31db00d0e9 - fix avm submit flags (conflicts, older are ignored and overwritten)
- fix cosmetic issue in parallel review task (use to say it was a serial review)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4555 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-07 19:35:33 +00:00
Britt Park
c012545bfa Callback mechanism for notifying CIFS when Stores are
created or purged, and when versions are created or purged.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4541 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-07 01:02:40 +00:00
David Caruana
1ee6547fc4 WCM submit (for approval) workflow.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4540 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-07 00:05:28 +00:00
Britt Park
769fe808fc Forgot to make the matchers Serializable.
Build fix.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4535 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-06 19:23:38 +00:00
Britt Park
8b65510d6f This checkin does two things:
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
2006-12-05 22:26:02 +00:00
Britt Park
331bba1249 Cleaned up and generalized purported EnhancerByCGLIB workaround.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4523 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-05 16:28:58 +00:00
Britt Park
e8b37eb880 Attempt to at working around CGLIB bug.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4517 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-05 03:37:39 +00:00
Britt Park
c33dcb6412 Possible workaraound for charming new EnhancerByCGLIB bug.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4516 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-05 03:21:56 +00:00
Britt Park
dd4722ab17 Fixed broken test.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4515 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-05 02:25:13 +00:00
Britt Park
b8595831c8 Moved a bunch of things to more logical locations.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4497 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-03 15:43:16 +00:00
Britt Park
03a93a3cf7 Added a method to AVMService and its dependent services to get an InputStream
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
2006-12-03 03:55:49 +00:00
Britt Park
b947cfc864 Another CLT plus some tweaks.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4495 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-03 01:46:46 +00:00
Britt Park
b19c40939f Added a primitive but seemingly effective store name cache. Switching the
stores table to a synthetic primary key caused a 15% performance drop. This gets
that performance back, plus or minus.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4493 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-02 20:53:33 +00:00
Britt Park
b8ff632f15 AVM stores are renamable. Beware. Database schema has changed since I needed to
introduce a synthetic primary key into the stores table.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4492 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-02 20:03:20 +00:00
Britt Park
57424368b7 Odds and ends. Another CLT. Renamed an AVM stress test so that it won't run
during builds but is available for periodic checks. A sort-of-experimental
optimization of the AVM lookup cache. Minor config change for remote 
authentication.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4491 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-02 06:32:30 +00:00
Britt Park
b209f4c073 Exported AuthenticationService via RMI. Insecure for now but we can switch over
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
2006-12-02 00:54:41 +00:00
Britt Park
7ff8eaef28 Export AuthenticationService via RMI, in preparation for adding over the wire
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
2006-12-01 01:40:12 +00:00
Britt Park
bbd8db7b69 Added some more CLTs: AVMRm, removes nodes, AVMSnapshot, takes a snapshot of a store,
AVMCopyIn, copies a file or a directory recursively local filesystem to a store, AVMMkDir,
creates a directory.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4478 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-11-30 21:03:19 +00:00
Britt Park
e54464bf08 First three AVM CLTs.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4467 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-11-30 05:07:54 +00:00
Britt Park
23a1a5657d Brought javadocs up to date with current api behavior in AVMService.
Got rid of a redundant and mostly unused method, the createSnapshot()
that takes a List of names.  Adjusted to fit.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4453 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-11-29 03:04:53 +00:00
Britt Park
99e428afaa Added getLatestSnapshotID() to Remote interface.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4449 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-11-27 20:58:12 +00:00
Britt Park
ef669bec2a Odds and ends. Started infrastructure for AVM command line utilities.
Loosened cache invalidation for write operations so that layered/write 
lookups are not discarded.  Changed direct buffer copies to use 
System.arraycopy.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4447 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-11-27 14:42:46 +00:00
David Caruana
f721bc3e07 Working implementation of basic WCM submit workflow.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4444 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-11-27 11:47:20 +00:00
Britt Park
65ba5f5024 Repaired stand alone version of the interpreter. Make sure .../repository/config is in
the classpath.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4436 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-11-23 18:12:49 +00:00