Why are Spring context files locked inside of jar files instead of appearing in WEB-INF/classes structure?

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
jamen
Active Member II

Why are Spring context files locked inside of jar files instead of appearing in WEB-INF/classes structure?

As an experienced Alfresco CS developer customisation is a last resort.  I've discovered that there are more and more NON-Java resources (such as Spring context files, properties) that are being packaged within the jar files of the war.  Is this deliberate or an unforeseen side-effect of SDK refactoring that happened with SDK updates from version 5.x onwards?

This is causing significant issues in my environment and for how my organisation and I can support Alfresco applications.  Embedding within the jar also prevents developers from fully being able to exploit the open source nature of the product.

I will note that there are some additional organisational constraints that my team and I have as well that prevent us from using Maven on a day to day basis.  This means that we are tied more to the resultant application package Alfresco provide with a separate process for us to fetch source/SDK resources and conduct any changes we need.

3 Replies
afaust
Master

Re: Why are Spring context files locked inside of jar files instead of appearing in WEB-INF/classes structure?

It was a deliberate decision by Alfresco to put more and more of their static resources inside of JAR files to prevent (inexperienced) people from messing with these files and causing support issues because they would get things wrong. It is recommended to customize Alfresco only via extension / configuration points provided by Alfresco or add-on modules that can hook inside the application without overriding any static files / Spring beans shipping with Alfresco.

The open source nature of Alfresco is in no way limited by packaging static resources in JARs, because the source remains open and available in the public GitHub repositories (or public SVN mirror for older versions).

What kind of organisational constraints keep you from using Maven? If that is the case then I would highly recommend removing these constraints because they are unnecessary / excessive / out of touch with the realities of standard Java development practices at this time...

jamen
Active Member II

Re: Why are Spring context files locked inside of jar files instead of appearing in WEB-INF/classes structure?

As I had said previously that customisation is often a last resort.  I've been speaking to support and it wouldn't be appropriate to comment further on specific organisation constraints here on the public forum.  Suffice it to say that there are large Enterprise organisations that unfortunately cannot consume certain technologies/products.  Before one rushes to judgement about organisations doing 'unnecessary / excessive /out of touch' actions, I'd suggest you reach out for more information.

I have raised a ticket with support at this time on this precise topic, but given you don't work for Alfresco I'd say to you that not everyone works in a open free environment free of constraints seen in large organisations with standards moderating requirements that go beyond one line of business.

I will add that the migration to github has happened slowly from SVN.  I am not specifically aware of whether Enterprise code is available on the github.

afaust
Master

Re: Why are Spring context files locked inside of jar files instead of appearing in WEB-INF/classes structure?

I am sorry if my remarks about the excessive / "out of touch" extent of these restrictions offended you - I should probably not have transitioned from to that comment so directly from my request for more information.

In my previous employment with an Alfresco partner, one of our customers was in one of the most - if no the most - security-focused industries (aerospace + defence), and even in that tightly controlled environment (requiring all personal devices to be dropped of when entering the premises), using Maven was not an issue. Of course setting up a new project was a bit more of an effort, requiring a pass through a network separated Maven proxy server and secure scanning+transfer process to the internal network, but that was done in a few days.

Too bad you can't go into details, though even an abstract might have been interesting.

Yes, the migration to GitHub did take a long time. Enterprise is not available in GitHub or any other service, and as far as I know, there are currently no plans / efforts underway to do so. In the context of several Enterprise customers I have already inquired multiple times (i.e. with Support and Richard Esplin), and the most that can currently be done appears to be either a) source attachments in Nexus or b) Support providing a ZIP download.