When I click any of the rules or data elements that were using the Core extension now display :
Unable to display data element. The extension used by the data element was previously uninstalled.
I've installed the extension again - I can see its the same version: 1.0.2.
All my rules/elements have been affected. I assume this is a bug in the system? As they should just be using the same extension or, at the very least, I should be able edit them to re assign - otherwise this means any time I uninstall an extension all my work is lost?
Just noticed, the page is still pulling through the rules/data elements and firing the tags as usual.
Cheers for any further information/help on this.
When you uninstall an extension and reinstall, the new installation gets a new ID and is considered a new extension. So the data elements, etc not displaying is expected because this extension is a new one.
So yes, you shouldn't uninstall an extension unless you plan on getting rid of the extension and not using it anymore, because your work will be lost.
Page is implemented with rules because your web page has a link to a file that's hosted on Akamai. That file on Akamai is still hanging out and won't change until you do a new publish, so whatever you published most recently will continue to hang out and function on the page as it was before.
A suggested alternative to giving the user a warning and then allowing a user to proceed to F themselves...
Do not give some warning about how it will brick everything, and then allow for a user to proceed to brick everything. Make it impossible to uninstall an extension that is used in any data element, rule, etc., period.
If a user attempts to uninstall an extension that is used anywhere, Give a message saying they cannot uninstall it because it is in use; they need to remove all references to it before uninstalling it. The message would then provide a list of all data elements, rules, etc. (with links to navigate to) for every single reference of it.
Then, when the user removes reference of it in all places, the user can uninstall the extension.
My 2 cents, anyways.
That makes sense. And we'll be releasing a change soon so that when you try to build, if you haven't included the right extensions we'll detect that and offer to add them for you. Just saw that demoed on Wednesday.
@Jantzen, That's not what I'm saying.
Here's my repro steps:
1. Uninstalled Core
2. All old rules weren't working and build wasn't being built.
3. Reinstalled Core
4. Ran a new build for the new version of Core I installed. It failed.
5. **I then created all the replacement rules, adapters, environments, and clicked on build for dev, the Core Extension still wasn't automatically being added to the first dev build of the new rules, etc.
6. I then manually added the Core Extension into my dev build. And then all my new stuff was able to build a green build and I was able to finally see Adobe Analytics beacons.
I am saying I did have to make new rules, data elements, but when I went to build again, I was getting failed builds with error msgs like "core::domready::extension" because the Core Library was never included into the build.
As a user, I never saw how the "Core Extension" was added, so I made an assumption that it was maintained somehow within the tool without me having to do something.
You're saying you uninstalled your core extension and reinstalled it and your rules, data elements, etc that were using that extension are still working? This shouldn't be possible based not he current system so I'm just trying to clarify.
My Adobe Launch Developer build was hanging for a while and wasn't being built without an error after I deleted the Core Extension (I like to stress test).
Error message was "core::domready::extension" wasn't detected.
I chose the function manually added the the "Core Extension" into my Adobe Launch build and that fixed it
Just sharing in case that helps.
josh is 100% correct.
We made this 'mistake' on our client's UAT environment. But people WILL do this on a live account and there will be huge impacts.
Not being able to delete an extension until all its dependency's are removed seems the best idea to me.
Your suggested alternative is a good idea. It was discussed as part of the original development scope, but it's just a lot more work and we wanted to make delete available as quickly as possible (since so many people were asking for it). We may eventually do this as an enhancement to delete.
Sorry for the confusion, I'll try to explain a bit about how the system works.
Every resource (data element, rule component, etc) has an identifier for it's parent, meaning, it knows which Extension provided it. The extension providing the resource (in this case the Core Extension) is identified by a unique ID. When you uninstalled the Core Extension, there was a warning message that said once you uninstalled it, any data elements or rules that were provided by the Extension would no longer be viewable or editable. This is because when you uninstall the extension, that unique ID is gone. All your data elements and rules point to a parent that no longer exists.
Because the parent no longer exists, Launch doesn't know which screens it should use to display those resources (the data element points to an ID that no longer exists, and since that ID no longer exists, we don't know that it needs to look at the Cookie data element - for example - type in order to know what to show in the view).
There are a couple things we're doing in the short-term improve the situation:
In the future, I would also recommend disabling an extension rather than uninstalling it. Disabling it does not delete it's unique ID from the system, so all the data elements and rules that it is providing maintain their relationship to their parent. Uninstalling should only be used when you're planning on getting rid of the extension and all the things that rely on it.
So if I have 100+ live rules/elements, and someone accidentaly uninstalls an Extension - even though I reinstall it - all those elements are now gone? I have to remake them all?
Surely I should be able to click into any element - regardless if its extension is installed or not, and be able to change details - especially in this case where I'd like to reassign the extension.
'So yes, you shouldn't uninstall an extension unless you plan on getting rid of the extension and not using it anymore, because your work will be lost.'
We uninstalled the extension as we were suddenly getting an error on build: "could not find extension for token::element::name".
Uninstalling the extension and remaking the elements fixed this yesterday, however today we've added new elements, clicked build, and we're now getting this error again.
This means we now have a bunch of elements and rules assigned to the first instance of Core extension (now uninstalled), and a bunch of new ones assigned to the reinstalled Core extension.
In regards to the extension uninstall/reinstall: Others will make this mistake as its too easy to do - and not letting the user access to element because the same extension now has a different ID seems crazy and will put many in bad positions.