Alfresco folder layout between versions 3, 4, community, and enterprise - alfresco

This is kind of a simple question really. I am new to alfresco, so when I read articles like this I realize it is old, but it addresses something similar I need to try. However, I stumble almost right away! It says:
In the 'config/alfresco/site-webscripts' source folder in package 'com.orbitz.components.documentlibrary', add ....
How do I map that to Alfresco 4.2? I have ./tomcat/webapps/share/WEB-INF/classes/site-webscripts, but that is NOT in config/alfresco. Also, all the directories under there are org/alfresco/something.
Is this something anyone can explain or are such articles simple too out of date to be of use?

These articles work with projects with ANT tasks.
If you check the addons google code or github and checkout a project, you'll see a similar config folder or resource folder.
If you execute the deploy tasks (with the right settings) it will deploy it to the right Tomcat folders.

Related

How do I setup/edit Alfresco Source Code from the Github Repo

im completely new to working with open-source software and at the moment I am very lost. I understand that the source code is located in the Alfresco repo on Github(https://github.com/Alfresco). What I'm trying to do is aquring Alfresco Community source code and modify it for a project im working on. Do i download each repo from the links below, import it into an ide like eclipse and connect eclipse to the tomcat server? Also is this the correct repo(https://github.com/Alfresco/share)for Alfresco Share that will open in the browser when i connect it to the Tomcat server?
alfresco-remote-api https://github.com/Alfresco/alfresco-remote-api
alfresco-greenmail https://github.com/Alfresco/alfresco-greenmail
alfresco-file-transfer-receiver https://github.com/Alfresco/alfresco-file-transfer-receiver
alfresco-mbeans https://github.com/Alfresco/alfresco-mbeans
alfresco-mmt https://github.com/Alfresco/alfresco-mmt
alfresco-server-root https://github.com/Alfresco/alfresco-server-root
alfresco-data-model https://github.com/Alfresco/alfresco-data-model
alfresco-core https://github.com/Alfresco/alfresco-core
alfresco-xml-factory https://github.com/Alfresco/alfresco-xml-factory
alfresco-legacy-lucene https://github.com/Alfresco/alfresco-legacy-lucene
Any help would be appreciated.
Jimmy, welcome to the world of open source software, we're glad you're here.
These days, it is exceedingly rare to need to compile Alfresco or Alfresco Share from source.
Instead, the right thing to do is use a public extension point and simply extend the platform to meet your requirements. This will greatly simplify things when it comes time to upgrade, and you won't be forking a massive codebase (and maintaining that fork going forward).
You didn't mention what you are trying to change, but most common scenarios are covered by one or more of my tutorials so hopefully those will help.
If you look at those tutorials, you ask around the community a bit, and you still think you need to change a file that is distributed with the Alfresco source, please file an issue at https://issues.alfresco.com/ so that Alfresco knows about the needed improvement.

Adobe CQ5 Setup in production

I am not a CQ guy. I have to use CQ5 for one of my project. I have a CAT and a production environment. I have following doubts-
I want to use author instance of my CAT only. Once I publish the content in CAT it should publish in Production also. Is it possible ?
Once I update the build of AdobeCQ in my production say new build, code changes etc- will my content be lost ?
I read somewhere about Content package in cq5. Can I separate content changes and code changes in one CQ5 environment ?
Thanks in advance.
To answer question 1...
This is not a recommended setup, but a common misconception for someone unfamiliar with AEM/CQ5. The "author" and "publish" instances should be part of the same environment. For example you should have a production author, probably behind your firewall, and production publish to serve pages to the public.
Your CAT environment should have the same thing. You want your testing environment to match as closely as possible to your production environment, including web server and dispatcher setup, to ensure quality.
Consider this. You can use one production publish instance, but it's a single point of failure. It's a general best practice to load balance across at least two. Two is sufficient for most websites. If you do this, you'd want to mimic the architecture in CAT.
To answer question 2...
If your code is written, built, and deployed correctly, it should not delete your content. Just make sure you are never deploying anything to /content (to avoid deleting content) and to /libs and most of /etc to avoid overriding platform functionality. AEM/CQ5 is a very open product, so you can do very bad things. But, if you know what not to do you are safe.
Code deployments should typically be done as part of a CRX Content Package, which brings me to...
To answer question 3...
The way we build and deploy code is to have Maven compile the Java, package everything up in a CRX Package, then deploy to the instance using the Package Manager REST API. Adobe provides a Maven Archetype that will facilitate this.
A CRX Package is a file system representation of your content repository, wrapped in what is effectively an annotated Zip file. Your compiled Java code is included in that file system representation, in a folder (to become node) named "config". That compiled Java is an OSGi bundle, which is an annotated JAR. When CRX Package Manager deploys all those nodes to the system, OSGi accepts the bundle, assuming it's valid. This is why you can do "hot" deployments of live, production AEM/CQ5 instances, with very little risk.
So...
This is a very high level answer to some very big topics. I encourage you to do a lot more research before you set this up. There are many good blog posts and documentation pages out there to help you get this set up according to best practice. Good luck!

I need a sensible and simple Plone project directory structure

I've been asked to build a website with Plone. I would also like to use git version control for this project. Ideally, I would have all the work I do stored in one directory -- my project directory -- which will also make version control simple. Can anyone point me to a resource that explains how to do this?
We keep our company project skeleton at https://github.com/niteoweb/niteoweb.skel.plone.
It has some of our internal specifics, but should be usable. At least as a point of reference.

PHPStorm - Link external SFTP-folders into project

the issue i am fighting through is a bit complicated. Ill explain the setup envoironment to you first.
I am using PHPStorm to work on a Symony2 Project.
My Apache is hosted on a Debian-VM connected to PHPStorm via "Deployment Tool".
/* So far: I can edit code and update the server automaticaly on save. Works*/
My problem now is, that i am using the composer, which is ment do get me the right bundles into the vendor folder.
I WANT to create kind of a symlink from the server directly into the project.
I DONT WANT to download the vendor folder from the server hard into the project.
COMPACT:
I want to create a symbolic link within a PHPStorm project. Linking a folder from a server into the Project. The linked in folder should be unidirectional updated on source change. The Classes and Namespaces should be known to the Project.
Is there any native way to get this done?
Or does anyone know a plugin which could handle such affairs?
I hope i expressed my point clearly :/ Please ask, if anything is unclear.
Greetings and thanks upfront.
It's not possible to do directly from PhpStorm, see the related issue. You can use some third-party tool like ExpanDrive to map a server directory to the drive letter by SFTP and then add this local directory as a content root to your PhpStorm project. Note that it may affect the performance dramatically.

Creating multiple dlls for each web page in asp.net

The way we have to update our site now is to create a copy of the website project locally. Make changes. Then take the dll and any other new files and copy them to the project on the server. Sometimes they want us to work on something they need uploaded right away and other times work on something that needs to be uploaded in the future. So I have to do silly things to give them what they want now and exclude what I am working on for later. What is the best way to resolve this? I just wanna have to upload a piece of the project and certainly not the a whole new dll everytime.
source control w/ branching. Then you can keep the production branch clean while you work on your future enhancements. There are plenty of great free source control tools, see below.
Git
Subversion
Mercurial

Resources