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
- 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
- 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
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
- 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
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
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
- 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
- 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
- "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