How to create a managed package for use within a single organization? - salesforce

I need to create a reusable component that would only be used by other developers within a single SalesForce organization. The component is made up of VisualForce pages and Apex code. I believe this would normally be done as a managed package in ISVForce, but my understanding is that ISVForce requires additional reviews and this package is only for internal use - it shouldn't be listed on the App Exchange.
Is there a notion of managed packages for internal reuse? Or is there some other way to create distributable, closed-source packages?

You can simple create a managed package and install it to your org via install link, this way do not require security review because you do not need to publish your package in AppExchange. Just read a manual about creating managed package. I do believe that a creation of managed package without publishing in AppExchange is pretty simple and straightforward and that's what you really need

Related

How to migrate page versions from once CQ instance to another?

I am working on Adobe CQ. I created 2-3 versions(1.2,1.2,1.3) for a particular page in my author instance. Now I tried to package my content page and installed it in another instance. I couldn't see the versions of the page which I installed in another instance.
Can anyone help me out doing this?? I want to migrate my content pages along with their versions from one CQ instance to another??
We are in the same situation. You can extract prior version details using the packaging approach, but you will be precluded from reloading them in due to the new Oak security model. The next issue is that you would need to extract and transform the data, and then reinsert due to the node ID's potentially differing, especially if you are using partial data sets to extract.
Where we have gotten to, and are proving now, is to use the new migration tool to move content from instance to instance, which purportedly has a version extract tool. I will update details here when we get our results back.
UPDATE:
We have tested the CRX2OAK migration tool, and it indeed does move versions across. Using the tool, you can specify filters to only migrate a subset of content, which will then drag the version details across as well.
It seems this approach works quite well for both single tenancy and multi tenancy approaches as it used to using a package for content.
Unfortunately, it can't be used as a portable backup system, as it is an instance to instance solution. It does, however, work well for blue/green deployment strategies.
Versions are stored by path '/jcr:system/jcr:versionStorage' in AEM.
To transfer pages with their versions just create a package with filters for content which you want to move and the version storage path as well, download package and install in other AEM.
If anyone comes across this question like me, here is the summarised answer:
You can use crx2oak utility available from link below to migrate pages and page version across instances:
https://repo.adobe.com/nexus/content/groups/public/com/adobe/granite/crx2oak/
This is a powerful utility with multiple uses (especially in upgrades) as documented in links below:
https://docs.adobe.com/docs/en/aem/6-2/deploy/upgrade/using-crx2oak.html
https://jackrabbit.apache.org/oak/docs/migration.html
The source and destination repositories need to be offline while running this utility so best to plan ahead for this type of migration.
HTH

Oracle ADF: How to develop a adf web application with a team of 10 members

Hello we need to develop a web application using Oracle ADF and jdeveloper 12c. This is a big project so we need to develop this application with the help of a team of size 10 members. Our doubt is how we can develop a web application using a team.
Suppose that we have 10 modules. Each module has developed by each member(Each member is using different system with same environment. Jdeveloper 12c). Finally developing all the 10 modules how we can combine all the 10 modules as a single application. How we can modify bindings , page flows and connection details.
Please help.
Thanks in advance.
A comprehensive look at ADF team size and roles you can find on ADF Architecture TV channel.
In terms of architecture, I would suggest SUM of the Parts Pattern:
Simply put, every member can use their own workspace where they will create bounded task flows based on fragments. Then, each of those workspaces will be packaged as ADF Libraries and imported into a MASTER workspace, acting as a portal. One of the most common patterns for implementing Master portal is Dynamic Tabs UI Shell Template Functional UI Pattern
I suggest you watch this to understand ADF large project architecture better, and read this, this and this as well. This book may be of use.
The best approach will be using a version control tool like SVN. Initially, anyone member of the team need to migrate the blank project structure to SVN. later on others can checkout the code and implement their code and after that they can check in the code. The problem here is you have to assume that no 2 developers are working on same file at same time, or else code conflict may happen while committing the code.
Currently, I am also working on a project where some developers are from onshore and some from offshore. So, we use the SVN. Jdevloper itself comes with SVN Client. So no need of installing any SVN client like Tortoise SVN or Smart SVN.
If still you need more information you can reply back.

Is it possible to embed a package without to copy it?

Say there we have the package encoding/json. Can I just create a package mypackage and embed all the functions (at least the public functions) into my package without to copy them by hand and basically do calls back to the actual json package? I'm developing a cross platform (Google app engine / native ) solution and I would find a such solution quite useful.
No.
It sounds like you want some sort of package inheritance, this is not a supported feature.

Is PAA a good candidate for automating wcm library deployment and setup in portal?

I have created a Web Content Management library for use in WebSphere Portal. At the moment I'm using import-wcm-data to import the library, then I need to add some additional propeties to 2-3 files on the server under Resource Environment Providers and then restart particular services so those changes are detected.
Can anyone explain the benefits of using a paa over writing a simple bash (or similar) script to automate this process?
I don't understand if I get any advantages when using paa, or is paa even capable of updating properties files and restarting services?
I have been working intensively with PAA files and I must say that it is a very stable way of deploying a app requirering multiple depl steps and components.
It does need a startup process but is well worth it in a multi server environment.
You can do all the tasks that you can do in a Ant file as well as using the wsadmin script interface. I only update res env settings and the such in WAS and do not touch any props files for that reason since all settings are stored in WAS.
In my experience, a PAA is not a good method if you're merely importing a content library.
I don't think I understand why you are doing the import manually and not syndicating, but even if there's a good reason not to syndicate, the PAA process was too involved and required too many precursor actions (deleting libraries, remove PAA, deploy PAA and then activate the portliest) to be a viable option for something as simple as importing a WCM library.
Since activating the portlets I was importing with the PAA was an extra step, I don't believe you can restart applications either.

alfresco connect company database external

External database interface - Does Alfresco use point and click integration or is programming required to connect to the DB?
Can we use a 3rd party library like Google's zxing barcode reader to integrate with
Alfresco?
Regards
vish
What do you mean by external database interface? If we're talking about using external databases, then it's just a matter of configuration.
It's generally not a problem to integrate 3rd party libraries. You just have to decide how to do that, e.g. using a custom Java backed web script or a custom action.
No point and click integration. It's build on Java, so you can write a custom Java class. The java class can be run scheduled, via a webscript, via workflow.
Of course, it's open source and fully build on Java, so integrate any 3d party solution into it. But you need to write everything yourself.
already exists a component for Alfresco Share which allow feature #1 with "zero code", in easy and flexible way.
Is available in Alfresco Addons http://addons.alfresco.com/addons/alfresco-metadbconnector-component.
Developed and maintained by VenziaIT (http://venzia.es).
We hope this help to the community.
Greetings!

Resources