How to move selected Structures, Templates and articles from one liferay instance to another instance? - portlet

I have 2 separate Liferay Instances, say Instance A which I was running from past 1 year, it has lot of articles, templates and structures, there are 3 different portals running on this same instance.
Now I have a new instance B, I want to move some of the selected articles, structures and templates from Instace A to Instance B. I am not able to find any method to do selected migration.
I can export the articles, structures and templates as a LAR file and import it in Instance B. But the problem is it by default imports all the articles, structures and templates. Is there any way to do selected Import???

The answer is no. Atleast there is no OOTB way to import selected articles. One option can be, to export the webcontent as lar from the the page itself. For example consider your Page PA on Server SA has a webcontent in webcontent display portlet called WA. Just export the webcontent as lar from the webcontent display portlet itself and then got to the page PB on server SB to import the lar in a webcontent display portlet called WB.

Related

Copy and paste Typo3 Sites between 2 backends

I am managing around 12 TYPO3 backends with almost similar content. Is it possible to copy and paste a created site between independent backends? Right now I'm creating by hand 12 sites with the same content. There has to be an easier way.
Well, there is not much I could try. Within TYPO3 I don't see any option to export/import sites from other backends.
First of all you should merge those 12 sites into one backend with multiple root sites and trees. Then you can easily handle different domains and/or languages via the site configurations for those roots.
Of course you can then make use of shared sys_folder pages that contain the content elements, that should be available for multiple sites. To make them available for a specific site, you can use references then.
You can export a page tree and import it into another instance.
On the other hand you can duplicate an instance by copying the complete database and original files.
That includes necessarily the fileadmin/ and uploads/ folders.
typo3conf/ should be duplicated by deployment but might differ in the files typo3conf/LocalConfiguration.php and typo3conf/AdditionalConfiguration.php (e.g. each instance should have other databases).
You can use the core extension impexp to import/export content parts. There is even a context menu entry
Be aware of some drawbacks:
if assets are exported, those are exported & imported you can hit the limit of your memory_limit
take extra care about which uids should be used, e.g. forcing uids can lead to drawbacks
Of course there are other options as well like:
create a custom extension which exports/imports the content on the fly using either something like a custom endpoint or fetching directly the DB if possible
use 1 installation as discussed already
if e.g. using ext:news use something like rss feeds for a poor man import/export with ext:news_importicsxml

Whats the difference between content and structure folders in AEM

I am using Adobe Experience Manager (AEM) 6.3. In the basic structure, components folder contains content and structure folders.
In both the folders we put components. What is the difference in both the folders?
In simple terms, Components which are responsible for rendering the skeleton or the outermost part of the page are placed in the structure folder where as components which render only parts of the page are placed in content folder.
Note that this is just a best practice recommendation from Adobe, you can maintain folders with custom names as well.
In older versions of AEM, components in structure folder were placed in page folder and were called page components.
High-level flow of how structure and content components integrate in a page -
To create a page in AEM, you'll have to select a template.
A template is first created in /conf folder. Templates are usually backed up(sling:resourceType of the template points to structure component) by a structure component to render the initial view. Common structure components includes header, footer, body which usually contains container components like parsys or responsivegrid.
A page is then created using the template created above and the content author uses functional components (components in content) to design the page - drag and drop from components side rail or sidekick in previous versions.

AEM - import static pages?

We're considering using Adobe Experience Manager for an upcoming project. But we have a number of pre-made static pages we'd like to import into this project. What would be the best way to 'import' these pages into an AEM project?
Note: these pages are HTML that may contain some CSS and JS.
You can serve static HTML, CSS and JS files from AEM. There are multiple ways of getting your files in AEM including but not limited to:
1) Through CRXDE, goto Create > Create File... name your HTML file and save. On the jcr:content subnode, double click on the jcr:data binary property, upload your HTML file and click save.
2) cURL your files into AEM. See the documentation on the SlingPostServlet. You can write a script in Bash, Python or your language of choice to loop over your files and POST to the AEM instance.
3) Go to CRXDE Package Manager, create a simple package, download it and unzip the file. Examine the contents of the zip including the .content.xml files and the /META-INF/vault/filter.xml file. Add your HTML files and update the package filters, zip up the files, upload the package to AEM through the CRXDE Package Manager and install.
Adding to what "nateyolles" has already mentioned,
Adobe Experience Manager provides several options (direct/Indirect) for either importing or exporting data (within the AEM tool they are labeled importers and are found under the tools area). Lets look at each option so you can decide which one will best service your current needs.
1) Site Importer – Allows you to import either a web page or an entire website into AEM. For site imports, you will need to need to specify the project title, site URL (of page or site to import), thumbnail image for the template, the sitemap (for the pages in CQ using the template) and whether or not you want to overwrite (if page or site exist in AEM)
"Use of Site Importer tool"
Link:- https://docs.adobe.com/docs/en/aem/6-2/develop/dev-tools/site-importer.html
2) Feed Importer – The feed import option within Adobe Experience Manager provides the ability to import content via a feed (whether that be an RSS feed or an Atom feed). This can be extremely beneficial to blog creators, like myself, who might want to bring in the content of their blog (from say WordPress, Drupal or another CMS) into an AEM environment.
3) Offline Importer – This functionality, within Adobe Experience Manager, provides the ability to import content from Microsoft Office Word document files into AEM templates (ending with the file extension of .doc). Please note that you should reach out to Adobe’s consulting team for asssistance on this so that they can set up the inputs in the most optimal way to receive your offline data.
4) Import from older version of CQ – This is a pretty straightforward way to import or upgrade from an older version of CQ. If you are familar with AEM, you can stop existing instance, if you have a stand alone instance of AEM replace the jar file, and restart
If you have an application server instance, you will follow these steps:
Stop existing instance, replace the war file and restart.
5) Bulk Editor – This feature provides a multitude of functionality within AEM. For starters, you can make large changes to content at once. Secondly, you can export content to CSV (Microsoft Excel) files.
Kautuk Sahni
(Adobe AEM Community)

Upload in Alfresco Repository

I'm new to Alfresco. What i'm trying to do is to upload a file through REST API in a folder that i have created using Alfresco Web Administration Interface. I have a few problems:
1) I can see a set of folders, but how are them managed by Alfresco? As far as i know, those folders doesn't really exists physically, they are virtual. How does Alfresco manage the folders structure and files?
2) I have seen many examples on the _REST API use to upload a file. Anyway, the destination is set by something like this
workspace://SpacesStore/aae3b33fd-23d4-4091-ae64-44a8e332091341
I can't understand: What exactly is a SpaceStore? And, does the last-part-code refers to a specific folder? How can i get those codes relative to the folder i see in the Alfresco Web Admin Interface?
1) I can see a set of folders, but how are them managed by Alfresco?
As far as i know, those folders doesn't really exists physically, they
are virtual. How does Alfresco manage the folders structure and files?
Alfresco is an implementation of the Java Content Repository (JCR), this means that all the contents are managed using a logic structure similar to a graph of nodes. Storing and manipolating content must be done using the repository API, that's why you don't see anything at a storage level.
Each content in Alfresco is a node connected to at least another node: the parent.
The storage of Alfresco is based on two components:
File system for storing binaries and search indexes
Database for storing the backup of metadata and associations
The way how Alfresco stores contents is not important for you because you typically want to access using the Alfresco API. You can create your own logic structure in the repository using any type of folders tree and content associations.
2) I have seen many examples on the _REST API use to upload a file.
Anyway, the destination is set by something like this
workspace://SpacesStore/aae3b33fd-23d4-4091-ae64-44a8e332091341 I
can't understand: What exactly is a SpaceStore? And, does the
last-part-code refers to a specific folder?
A repository typically consists of a set of JCR workspaces, the SpacesStore is one of the workspaces in Alfresco and it is the logic partition of contents in their latest version.
Alfresco also contains other workspaces:
userStore: contains person nodes
archiveStore: contains removed nodes
version2Store: contains the version history of nodes
How can i get those codes relative to the folder i see in the Alfresco
Web Admin Interface?
That code is the node reference that is the unique identifier for each node in the repository and as you can see it consists of three parts:
workspace: the store protocol
SpacesStore: the store identifier
uuid: the UUID related to the node
The store reference consists of the store protocol appended with the store identifier and it is the identifier of the workspace where the node lives. The UUID specify the content inside the workspace.
These node references are the ID for nodes and you can see all these informations using the Node Browser inside the Alfresco Explorer | Administration Console trying to navigate your repository starting from the Company Home.
Hope this helps.

How to create customized dockbar portlet in liferay6.2?

I am creating a page using Liferay6.2 where i need to have left side menus respective to my page. For that i need something similar to dockbar present in Liferay 6.2. Is it possible to create something like that ? And is it possible to place them so that it is visible irrespective of the page we are in. Please help me with some solution.
The best thing to do is create a hook and modify the portlet this way. In your liferay-hook.xml use the following:
<hook>
<custom-jsp-dir>/WEB-INF/jsp</custom-jsp-dir>
</hook>
Then download the Liferay source code for reference and put the original JSP you want to modify into the /WEB-INF/jsp folder following the same directory structure as the original file. Edit the JSP, and it will override the original ones. The original files will be automatically renamed with a .portal.jsp extension.
For instance, if you want to modify view_user_account.jspf of the dockbar, then use the structure /WEB-INF/jsp/html/portlet/dockbar/view_user_account.jspf. After you deploy the hook, Liferay will rename the original view_user_account.jspf to view_user_account.portal.jspf.