Packaging And Deploying Extensions (Talk)

Document created by resplin Employee on Mar 14, 2015
Version 1Show Document
  • View in full screen mode

Needs Work:
This page was written for version 3.4 of Alfresco, and didn't address the many important questions on this page. Most of the advice is still valid in version 5.0, but the new Alfresco SDK and Mavenization of the product means that the instructions should be re-examined.
Resplin (talk) 00:42, 14 March 2015 (UTC)

I think that 'last one wins policy for managed beans' is not true for 2.1.1.
I do not know what is responsible for this (JSF RI or MyFaces) but copy/pasting a managed-bean definition from faces-config-beans.xml to faces-config-custom.xml (for changing only the CLASS attribute) does not seem to work anymore.

Has anybody 'faced' :) this too ??

Lots of open questions

I created a support ticket to track these questions: 65739

[8:28] binduwavell: Is there a comprehensive reference, that is actionable, for the different packaging options for alfresco/explorer and share? Additionally something that talks about best practices for this topic and explains why certain options are best practices?

[8:31] resplin: Peter, Jeff, and I recently revamped the wiki page on it.

[8:31] resplin:

[8:31] resplin: I don't know if it is comprehensive, but it is the best we have right now.

[8:31] binduwavell: I've read that and a bunch of other stuff on the wiki and docs

[8:32] binduwavell: That particular page seems like a good overview but is not particularly actionable

[8:32] resplin: After reading that, what questions did you still have?

[8:32] binduwavell: I've also read the AMP and MMT pages

[8:34] binduwavell: I want to know what folder structures are associated with each of the packaging types

[8:34] binduwavell: I want to know what support files can be included in each packaging type, and have comprehensive references for these files (e.g. and

[8:34] binduwavell: I want to know how to structure packages such that multiple packages don't conflict with eachother

[8:34] resplin: Ah.

[8:35] resplin: So the AMP is overlayed on the WAR.

[8:35] binduwavell: Yeah

[8:35] resplin: So it's folder structure needs to match the WAR.

[8:35] binduwavell: But it's not a direct map (see

[8:35] resplin: To avoid conflicts, the suggestion is to put your files in the extensions sub directory.

[8:35] resplin: Or web-extensions.

[8:36] resplin: *takes note to make that more specific on the wiki page*

[8:37] binduwavell: and then to use the module/{module-name} sub-directory for alfresco/explorer in order to reduce module conflicts, but I don't see that documented

[8:37] binduwavell: I don't see any documentation on the alfresco/explorer ModuleComponents

[8:38] binduwavell: With respect to the module.proeprties file I don't see information on how the sinceVersion, appliesFromVersion and appliesToVersion are used.

[8:41] resplin: I always forget exactly how the mapping works and have to rediscover it by experimentation.

[8:41] resplin: Those are all excellent questions that I would have to research the answer to.

[8:41] binduwavell: I have not found any documentation on the differences for alfresco/explorer and share structures… how are site-webscripts, site-data folders used in share extensions packages?

[8:42] binduwavell: I have not seen any documentation on the share module extension xml format… quite a few examples of all of these things, but not documentation that calls out what is expected, and why

[8:43] binduwavell: I'm interested why alfresco so strongly recommends folks use amp packaging as opposed to jar packaging.

[8:43] resplin: Yeah, I don't think any of that is documented very well.

[8:43] resplin: I think Dave Draper might have a blog post about the Share module extensions.

[8:44] resplin: As for the AMP recommendation, that is in the best practices page.

[8:44] resplin: And Peter discussed it in the tech talk live.

[8:44] binduwavell: He has a bunch of blog posts but I didn't see one that comprehensively documented that format

[8:44] resplin: Probably true.

[8:44] resplin: The summary is that Peter's team can control the AMP format.

[8:44] resplin: They are working on adding the missing features.

[8:44] resplin: And it is easier to document a single approach.

[8:45] resplin: In the TTL he said 'I know it's awful right now, but we will make it better so you should use it.'

[8:45] resplin: That was about a year ago, and his team has made a lot of the small improvements needed.

[8:45] binduwavell: heh, is his team going to provide glue for Eclipse and IntelliJ so that this nasty (during development) thing works in IDEs?

[8:46] binduwavell: I really like AMPs as a delivery mechanism, I just dislike (a lot) them for development

[8:47] binduwavell: I also want to know what include.default=true does in for an amp? What happens if I set that to false?

[8:47] resplin: The most common approach I see is developing a JAR in the extensions folder, and then wrapping that in an AMP for delivery.

[8:48] binduwavell: For example when developing a jar should live under alfresc/module/{moduleid}/ however I think for an amp it should be in the root of the amp

[8:48] resplin: I took notes of your questions, and will hopefully research them later in the month. If you find the answers before I do, then I encourage you to add them to the wiki.

[8:48] resplin: I need to get ready for the Tech Talk Live (15 minutes!), and then head to the airport.

[8:48] binduwavell: np, thanks so much