2

I have followed the instruction here https://doc.sitecore.com/developers/sxa/17/sitecore-experience-accelerator/en/copy-and-customize-a-rendering.html and through some you tube video with adding a module X. I have cloned a component and associated to Module X. Then i was able to add it to my site as a "site module". Which creates data folder with my cloned component

I have now clone another component but I can't seem to add it to my site beacuse i have already performed a "site module"

Any ideas?

0
4

The quick answer is: you cannot do it. Once you install a module you cannot re-add it.

There are several ways to deal with this. None is perfect but you might find the best for you and try to mitigate the issue.

Force module installation

You will trick SXA to think that module was not installed and then install it once again.

  1. Go to your site
  2. Find the Modules field
  3. Find your module and remove a reference from Treelist enter image description here

From now you should be able to install your module again on this site.

PROS

  • it's very easy and quick to perform, doesn't require tech knowledge

CONS

  • some of the steps might be performed multiple times - you have to deal with that and remove/merge duplicates manually. I think that Available Renderings node will be duplicated and Default Variant, Data folder for your first rendering (if you have it)

Manual update

You will have to manually perform steps which are new or were updated in the meantime.

I will describe steps based on your specific case. It will not apply to all other cases as number and type of steps may differ. The trick is to perform a manual update of steps that are new or updated comparing to a state before you cloned a rendering

Available Renderings

  1. Go to your site
  2. Find Available Renderings node: /sitecore/content/F/T/S/Presentation/Available Renderings/YOUR_MODULE
  3. Update Renderings field with your new rendering (notice that in Quick Info section you've got a Created From field. You can navigate to this item and copy raw values)

Rendering Variants

  1. Go to your site
  2. Find Rendering Variants node: /sitecore/content/F/T/S/Presentation/Rendering Variants
  3. Add default rendering variant for your rendering clone (if one was created). You will find it here: /sitecore/templates/Branches/Feature/YOUR_MODULE/Default RENDERING_NAME Variant

Data folder

  1. Go to your site
  2. Find Data node: /sitecore/content/F/T/S/Data/
  3. Add default data folder for your rendering clone (if one was created). You will find it here: /sitecore/templates/Feature/CustomModule/RENDERING_NAME Folder

PROS

  • you have full control, only you decide what and where should be added.

CONS

  • the most complicated as requires a good knowledge of scaffolding

Other approaches

There other ways to achieve that but they are hybrids of the presented above. If you think that some of them might be better than two above let me know I will describe it.

  1. Uninstall module manually (remove all items) and then go with Force module installation step (this one is cool because once you remove everything you will not have to deal with duplicates). This is improved Force module installation. You remove items to prevent duplicates,
  2. Identify steps (modules actions like add data folder, add renderings variants node) that were not invoked and run them with a script (I can give you assistance with that. There are cmdlets which will let you install selected module/module action for a tenant/site). This method is a second method but with some automation involved (in case you want to do it for many sites.)

Summary:

As you can see it might be pretty complicated but for now.

My pick would be:

Force module installation in a first or second form (you deal with duplicates after or you "uninstall" module before and then install it like it was never installed before)

1
  • That's enough for me to get tinkering - thanks for the info guys – Rumon Feb 15 '19 at 11:33
2

If you have already added a certain module to your site, there is no script which will "uninstall" it. There is a couple of things you can do:

  • remove it manually and re-add it - list of installed modules/features is stored here: enter image description here But! Keep in mind that removing module/feature form that list will not uninstall and revert all the changes your module did for your site
  • create a new feature/module so that you will be able to add it again
  • manually add new things to your site - probably the most complicated option

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.