Commit Graph

26 Commits

Author SHA1 Message Date
Jon Cox
21a73db5bd 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
Ariel Backenroth
df84dcde28 fixing the query for number of main user stores for display in the staging summary (number of users in the project). this got broken in yesterday's checkin.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4694 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-23 22:55:53 +00:00
Ariel Backenroth
15733b9771 putting jon's change from last night back in and fixing mostly everything (i know of) that it broke
- added utility methods to AVMConstants to extract information about stores from their names.  this has to be reimplemented to look at store properties rather than inferring things from their names - but it works for now.  this also centralizes all the usage of the store name to infer data about it so it'll make it easier later.
- made the problematic constants jon changed private to avoid having this problem happen again
- checked pretty much every usage of buildAVM<bla> to ensure that nothing else was broken.  in the process removed the AVM part from the buildAVM<bla> part of the method to shorten it and since it's redundant with the classname AVMConstants in which their contained.

creating workflow sandboxes in a manner consistent with user sandboxes
- added a method to SandboxFactory to create workflow sandboxes. they're created with the name <storeId>--workflow-<guid>
- centralized workflow package creation code in AVMWorkflowUtil.
- refactored sandbox creation code to use new utility methods in AVMConstants and so that at some point it can be further refactored.
 
getting avm actions to show up in manage task screen for avm workflows
- modified the model to use different packageItemActionGroups for wcm workflows
- modified the AVMWorkflowEvaluator to allow all actions for items in a workflow package
- added some debug output to various classes
- made wcm navigation ids exposed throughout the app since they are now called from workflow jsps.

things that now work that didn't before:
- virtualization now works again with jon's new naming scheme
- some actions from the manage task screen.

known bugs introduced or remaining as a consequence of this change (i'll filed jira issues for these as soon as i commit this):
- i'm inaccurately counting the number of users in a sandbox since it's harder now to differentiate between user main sandboxes and all the other ones that are being created
- preview does not work on assets within the workflow sandboxes
- review and approve workflow does not appear to actually submit once approved.  not sure if it did before
- lots of actions still do not work from manage tasks, though edit does appear to.
- i commented out the location column in the manage task screen since the path link was causing me troubles - need to put that back in.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4692 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-23 01:44:19 +00:00
Kevin Roast
86f31616ba . Confirmation screens for Undo All and Undo Selected items for a sandbox
- refactoring of revert functionality into Undo All and Undo Selected dialogs
. Performance enhancement to Node class - to cache Path value from NodeService and changed appropriate class to use this
. Fix to horribly broken values in AVMConstants

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4690 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-22 16:40:45 +00:00
Jon Cox
edfc87cc55 Modified DNS hostname mangling scheme, URL generator logic,
and automatic virtualization server registration so that
  now we virtualize on URLs like this:

     http://mysite.www--sandbox.ip.localdomain.lan:8180/
     http://alice.mysite.www--sandbox.ip.localdomain.lan:8180/
     http://preview.alice.mysite.www--sandbox.ip.localdomain.lan:8180/

  Or if you're using EchDNS at ip.alfrescodemo.net (the default):

     http://mysite.www--sandbox.127-0-0-1.ip.alfrescodemo.net:8180/
     http://alice.mysite.www--sandbox.127-0-0-1.ip.alfrescodemo.net:8180/
     http://preview.alice.mysite.www--sandbox.127-0-0-1.ip.alfrescodemo.net:8180/

  The reasons behind this change have to do with:
  
    [1] Allowing wildcard cookies to be shared with subdomains, if desired.
        The scenario is that if you have an elaborate webapp that
        needs a cookie to function (or some auth), the user "alice"
        does not want to have to re-log in to the app just to get
        preview functions to work. 

    [2] Making the mangling scheme compatible with I18N-encoded URLs
        See:  IDNA  (Internationalizing Domain Names In Applications)
        RFCs: 3490,3492.   The problem with the old scheme was that
        relied on the string "--" as a delimiter within host labels,
        but IDNA uses "xn--" as a prefix to indicate that a label
        was I18N-encoded (and that the app should un-mangle in the
        presentation layer).  Ugh.

   The names of the stores was also rationalized to match the new URL 
   scheme.   The "." delimiting host lables becomes "--" in the
   repo's dir name, and the ordering of labels is reversed.

   Reasons:

    [1]  It's nicer to see project-first ordering in the 
         file system because it's more tab-complete friendly.
         It's also prettier visually with "ls -l" because
         logically related dirs line-up visually.

    [2]  It's dangerous to use "." as a character in directory names
         because a fully-patched version of IIS might refuse to
         serve content off such a path.  Weird, huh?
   
   It's too bad that the repo's dir name can't just be exactly
   the same as the fqdn (or a portion of it), but this reverse
   ordering ended up being the lesser of the available evils,
   because it optimizes the user's experience in each relm at 
   the expense of a small amont of URL <--> file system funkines.
   Note that they can't be the same in any case because of the
   "--" vs "." issue... so the "identity" mapping was already
   a lost cause.




git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4688 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-22 03:07:43 +00:00
Ariel Backenroth
2190c4f29d - 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
Jon Cox
50edc8427a Updated API for webappUpdated and webappRemoved
so that they now include an "isRecursive" flag.

 Modified code in AVMConstants to pass along the
 extra arg (hard-coding it to "true", for now,
 just as version "-1" is hardcoded).

 Later, when we expose the ability to make archived
 versions of repositories browsable via the virtualization
 server, the updateVServerWebapp and removeVServerWebapp APIs
 within AVMConstants.java will need to tunnel along the
 version number & recursion flag.

 For this to be useful, there will also need to be GUI 
 support for bringing old versions on/off line.




git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4648 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-18 21:01:41 +00:00
Kevin Roast
35f25777de . Hooks to notify virtualisation server when the following cases occur to a web project:
- Import of website content
 - Edits/uploads to WEB-INF/web.xml, WEB-INF/lib/*, WEB-INF/classes/*
 - Addition of new user sandbox
 - Removal of a user sandbox
. Fix to generation of website preview url in sandbox display when switching between root webapp folders
. Fix to issue when swapping between web projects that did not contain the same webapp context

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4611 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-14 16:18:32 +00:00
Kevin Roast
e8faec44c8 . Fix to a couple of issues with virtualisation server URL and Port retrieval
. Fix to issue with current sandbox context AVMBrowseBean (when editing non-form content directly from modified files list)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4605 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-14 13:34:35 +00:00
Kevin Roast
2ebb1a5e08 . Website virtualisation server URL and Port are no longer managed by the web-client-config.xml - instead the values are retrieved dynamically from the VirtServerRegistryMBean.
- Fall back values are used if no virtualisation server is running (with a warning output to the log)
 - Values are retrieved and cached for 10 seconds - so if the virtualisation server is started after the main Alfresco server then it will take up to 10 seconds for those values to be updated
. Adding missing NameMatcher impl to compare() call in AVMBrowseBean

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4602 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-14 11:19:34 +00:00
Kevin Roast
0f63f02fd5 Preview and Staging area Preview URLs generated for the website view now respect current webapp
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4596 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-13 16:28:37 +00:00
Ariel Backenroth
43b533cd3f - cleanup of the way in which xform:items are created in the schema form builder (reduces some code)
- emitting xform:upload in schemaformbuilder if an xs:anyURI is encountered
- generating a file picker for xforms:upload


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4539 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-12-06 23:55:57 +00:00
Kevin Roast
6027f1c17d . Big and juicy application/WCM model refactoring
- WARNING: this change requires a new DB as the WCM model has changed significantly, yes I have probably broken a few WCM things :)

Previously the following statements were true:
 - Most of the model constants were defined in the ContentModel class - including web-client Application specific model items
 - WCMModel class was a mix of WCM repository and WCM application model constants
 - The applicationModel.xml definition file contained both web-client Application and WCM application model definitions
 - The wcmModel.xml definition file contained both WCM repository and WCM application model definitions

The following statements are now true:
 - All web-client application specific model constants have been moved from ContentModel to a new model constants class ApplicationModel
 - A new WCM application model has been defined with the prefix "wca" and URI: http://www.alfresco.org/model/wcmappmodel/1.0
 - All WCM application specific model constants have been renamed/moved from ContentModel/WCMModel to a new model constants class WCMAppModel
 - The mix of WCM application specific model definitions in contentModel.xml and applicationModel.xml has been moved to a new definition file wcmAppModel.xml
 - A patch is not required for standard Alfresco as only WCM definitions have actually changed

. Fix to issue created during workflow id/name refactor
. Fix to allow forms in the Available Content Forms panel to have correct sandbox/username context for action dialog

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4448 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-11-27 15:03:12 +00:00
Kevin Roast
3fb9505fe0 . Single web-app per Web Project changes implemented in Sandbox browsing view
- the web-app folder name specified at Web Project creation time is created by default and is the root folder for all sandbox operations
 - a mechanism for selecting a different root webapp (or creating new root folders) can be easily added later (when there is time…!)
. Removal of two public workflow actions that have no params and therefore don't work as public actions in the UI
. Fix to user sandboxes component to allow any user to always have action to delete a user sandbox

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4445 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-11-27 12:07:36 +00:00
Ariel Backenroth
cb5a882837 - model changes
- adding freemarker expression for output path patterns
- enabling using the same rendering engine template with multiple mime types
- extracting rendering engine template from rendering engine to make moving to templateservice easier eventually

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4351 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-11-14 08:49:18 +00:00
Kevin Roast
346bfe2c33 . Removed implicit servlet ROOT folder if present from Preview URLs
. Refactored preview generating code to use same entry point from all relevant classes

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4214 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-10-24 16:33:37 +00:00
Kevin Roast
842729f1bc - Fix to some issues created after recent changes to preview url generation code
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3959 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-28 09:49:59 +00:00
Ariel Backenroth
0f2bf9a3e0 - preliminary support for callouts using xsd:include. rewriting links in the schema now to point at the virtualization server. not the best solution. but i couldn't get LSResourceResolver to work (would have been the elegant solution) since i don't have access to the DOMConfiguration object within chiba - works great in the schemaformbuilder.
- sample implementation of a callout in the alfresco sample website; using a jsp to produce an included xsd that lists all available company_footer.xmls
- moving stuff around.  XFormsbean is now in the xforms package rather than ajax package - more relevant to that codebase.
- consolidating SchemaFormBuilder into one class since the inheritance hierarchy made very little sense. 
- refactored some of the sample website to reduce java code in the jsps and begining to think about a generic utility library for callouts and jsps that want to access templating generated data.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3957 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-28 04:06:01 +00:00
Kevin Roast
1c87282333 . WCM UI
- Added Preview action for individual folders and files to the website browse page
 - Added Preview action for files/folders in the Modified Files list for a user sandbox
   - these changes allow the user to preview any sub-section (folder/weapp) or individual file in the website

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3923 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-25 16:52:53 +00:00
Kevin Roast
c9f6f17756 . WCM UI
- Preview Staging area action added
 - Preview User Sandbox action added
   - Generates the virtualisation server URLs to an AVM sandboxes for the - possible to preview the entire website with transparent overlays for each user.
 - Fix to generation of mangled DNS name for a user store to remove the "main" part (implicit)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3918 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-25 12:57:19 +00:00
Britt Park
966746b294 Added .sandbox.store.foo-bar-baz tag during user sandbox store creation.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3878 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-21 22:54:58 +00:00
Britt Park
ef5ac5991f Here's a skeletal workflow for the Gartner demo. Doesn't do anything besides
printing a log message and showing up appropriately in task lists.  The task 
screens aren't quite delectable but they show up.  
Fixed a misplaced store level property and added a new one ".website.name" to
user sandbox stores so that the corresponding staging sandbox can be determined
efficiently from a user sandbox.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3870 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-20 22:01:37 +00:00
Kevin Roast
61175d2192 . Checkpoint of WCM UI
- Browsing of AVM files and folders within a sandbox
  - Navigation into sub-folders and viewing of file content

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3827 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-18 13:56:37 +00:00
Kevin Roast
be0bc389cc . Checkpoint of WCM UI
- Multi file/folder import via ZIP file into an AVM website store, through the Import Website Content action on the main page for a Website.
  - The folder structure and file content from the ZIP file is unpacked into an AVM store
  - Folder and file structure visible to user sandboxes through the layer directories in their respective stores
 - Browse action added to staging sandbox and user sandbox panels
 - Icon images from Linton added

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3807 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-15 17:10:02 +00:00
Kevin Roast
cac41478d2 . Checkpoint of WCM UI
- Create Website Wizard now creates the appropriate structure of stores and layers for a website
   - A website has a sandbox comprising of a staging area and a preview area layered ontop of that
   - Each user has a sandbox comprising of a main area (layered ontop of the staging area) and a preview area layered ontop of that
 - Added store level meta-data to tag the website stores with appropriate DNS names and markers for sandbox-id and sandbox types
. AVM "reallybad.jsp" demo page renamed to avm.jsp with a few UI tweaks for easier command input etc.
 - removed the terrible.html as no longer required - just launch avm.jsp directly

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3772 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-12 17:23:38 +00:00
Kevin Roast
55ab249512 . Checkpoint of WCM ui work (nothing to see here, move along please, move along)
- "Websites" folder created under root of Company Home during bootstrap
 - Bootstrap properties and getter helper added to import-export-context & web-client
 - Beginnings of the Create Website wizard
 - Action definition added for Create Website action
 - Beginings of the model for avm webfolders and associated sub-structures

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3762 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-11 16:56:43 +00:00