CQ doesn't pick up nodetypes.cnd changes using Package Manager

Hi,
CQ doesn't seem to pick up the changes in custom nodetype definitions in nodetypes.cnd when I install the package containing the updated nodetypes.cnd using Package Manager, how do I get around this?
Steps
1) fire up a fresh installation of CQ
2) In Package Manager, upload a CQ package containing custom nodetypes.cnd
3) check that the custom nodetypes are registered in Node Type Administration console
4) change nodetypes.cnd by adding a new property in a custom nodetype inside nodetypes.cnd file
5) make a new package with updated nodetypes.cnd file
6) In Package Manager, upload the new CQ package and install
7) check that the new property has been added in Node Type Administration console <-- ***FAIL***
Thanks!

You can only install new node types this way - but you cannot change existing node types with cnd files in a package. The package manager simply skips all existing namespace & node types in a cnd file.
This is because updating an existing node type might fail, depending on whether it is used in content and the change is conflicting. It's a schema change and that can be non-trivial. Therefore package manager does not try to tackle this at all.
You can use this tool that guides through the process: http://localhost:4502/libs/cq/compat/components/ntupgrade.html
You can do it yourself programmatically using the JCR API - take a look at the implementation of the above tool: /libs/cq/compat/components/ntupgrade/ntupgrade.jsp
But only do this during development - you should not plan for schema updates to production systems. In general, you want to minimize the use of schemas / node types with JCR. Use nt:unstructured, cq:Page, sling:Folder and co, and use properties (mostly sling:resourceType) to mark types. These can be much easier migrated.
HTH,
Alex

Similar Messages

  • Change Account Workflow in CUP - Doesn't pick up existing values for an Acc

    Hi,
    When using the change account option available in the CUP(5.3 SP 7), I expected the system to populate the user details as they exist in the provisioning system once I enter the account details that need a change. We have the 'Search' and 'User Details' Data source configured to the same SAP R/3 system.
    For eg, when requesting for a new account, I've chosen an Employee Type attribute as 'Non-Employee' (SAP delivered request attribute) and entered some values for my custom attributes .
    And when I chose to change the same user account, I notice that the system doesn't pick up the existing values for any of the attributes and render them. For the Employee Type attribute, it shows the default value and for the custom fields, they are shown blank!!!!
    It does seem like the user attribute values from R/3 are being picked up and displayed correctly, but the ones from GRC Database are left out.
    I believe this to be a bug and does anyone experienced  this issue and found a fix????
    Thanks,
    Anil

    Hi Alpesh,
    Thanks for your response.
    This brings up a basic question on the repository for saving user attribs...ie. does all these need to be saved on R/3? Assuming yes depending on our current configuration(We have the 'Search' and 'User Details' Data source configured to the same SAP R/3 system), do we have a standard field for saving the 'Employee Type' attrib in SAP?. I did perform a field mapping of a custom attirb to one of the SAP fields in the user master, and get it saved during user provisioning. But it doesn't pick it up from there when I perform a change account. Seems it's missing that reverse mapping. And I've chosen the 'Field Type' of the custom filed to Text as to enable free text during new account request.
    Hope you may find something more.
    Regards,
    Anil

  • Java doesn't pick up system's DNS settings change until restarted

    Hello,
    I have a service running on a few Linux computers. Those computers have a NIC, which is configured with a fixed IP address. So /etc/resolv.conf contains the IP address of the LAN's DNS server. But most of the time, the computers are not plugged into the LAN at all. Instead, they connect themselves periodically to the Internet by establishing a ppp connection. When it happens, the ISP's DHCP server assign them new IP parameters, including their DNS server's IP address. And /etc/resolv.conf gets updated with this address.
    But it seems that java doesn't take care of DNS change taking place during a run. Which means that my program (started at boot with no connectivity at all) tries to connect to some host, and obviously trigger an "UnknownHostException" (at that point it does try to contact the LAN's DNS server). Quite logical. Later, the ppp link become active. But my program still try to contact the LAN's DNS server, despite the new configuration in /etc/resolv.conf. As such, it will forever trigger UnknowHostExceptions, until it gets restarted (it will then pick up the new settings) or it is plugged back into the LAN (it will finally reach the LAN's DNS server).
    This is quite a problem as during one single execution, the machine may encounter several DNS configuration changes, and this problem basically means that it will be impossible for my application to resolve any name at all.
    So is there a way to tell Java to re-read the system wide DNS configuration? Or is there some option to prevent Java to "cache" the DNS server to use?
    To demonstrate my problem, I've written a simple test case, see below.
    To get the problem:
    1) Put a bogus DNS server into your /etc/resolv.conf
    2) Start the test program. Wait for some time: it will trigger UnknownHostExceptions.
    3) Fix the entry in /etc/resolv.conf, and check it actually works (eg ping www.google.be)
    4) Test program will continue to trigger UnknownHostExceptions forever.
    One interesting fact is that someone tried this test on Windows, and didn't suffer from this behaviour, eg the application reacts to DNS system settings changes dynamically. So it looks like a Linux-only problem.
    Thanks in advance for your insight.
    Pierre-Yves
    package com.test.dnsresolver;
    import java.net.InetAddress;
    import java.net.UnknownHostException;
    public class DnsResolver {
        private static String urlString = "www.google.com";
        public static void main(String[] args) {
             * Specified in java.security to indicate the caching policy for successful
             * name lookups from the name service. The value is specified as as integer
             * to indicate the number of seconds to cache the successful lookup.
            java.security.Security.setProperty("networkaddress.cache.ttl" , "10");
             * Specified in java.security to indicate the caching policy for un-successful
             * name lookups from the name service. The value is specified as as integer to
             * indicate the number of seconds to cache the failure for un-successful lookups.
             * A value of 0 indicates "never cache". A value of -1 indicates "cache forever".
            java.security.Security.setProperty("networkaddress.cache.negative.ttl", "0");
            int loopCounter = 0;
            while (true) {
                InetAddress resolved;
                try {
                    resolved = InetAddress.getByName(urlString);
                    System.out.println("Loop " + loopCounter + ": resolved IP address: " + resolved);
                } catch (UnknownHostException e) {
                    System.out.println("Loop " + loopCounter + ": UnknownHostException");
                    e.printStackTrace();
                loopCounter++;
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {}
    }

    Well, the nameservice property allowing to specify my DNS server of choice is interesting (I didn't know about those), but not very usable, as the DNS server to use is not known in advance (it may be whatever the ISP tells me to use at the time where the ppp link gets established). So no real solution there.
    The fact that it caches /etc/resolv.conf content for 300s is very interesting, but having no possibility to impact on this duration really is a pity. There should be some kind of property to fix this behaviour. So as you say, a custom provider may be the only solution.
    So far, the hack I use to get this working is based on code similar to this one (it is presented here in a similar form than my test case above). Obviously, reading the /etc/resolv.conf for each dns resolution is not an option in a real environment, but you get the idea.
    package com.test.dnsresolver;
    import java.io.BufferedReader;
    public class DnsResolver {
         private static final String urlString = "www.google.com";
         private static final String resolvConf = "/etc/resolv.conf";
         public static void main(String[] args) {
              int loopCounter = 0;
              while (true) {
                   loopCounter++;
                   try {
                        Thread.sleep(1000);
                   } catch (InterruptedException e) {}
                   // Parse the current DNS server to be used in the config
                   String nameserver = null;
                   try {
                        BufferedReader input =  new BufferedReader(new FileReader(new File(resolvConf)));
                        String currentLine = null;
                        while (( currentLine = input.readLine()) != null){
                             // Take care of potential comments
                             currentLine = currentLine.substring(0, currentLine.indexOf("#") == -1
                                       ? currentLine.length() : currentLine.indexOf("#") );
                             if (currentLine.contains("nameserver")) {
                                  // It is the line we are looking for
                                  nameserver = currentLine;
                                  break;
                   } catch (FileNotFoundException e) {
                        System.out.println("Loop " + loopCounter + ": FileNotFoundException");
                   } catch (IOException e) {
                        System.out.println("Loop " + loopCounter + ": IOException");
                   if (nameserver == null) {
                        // No "nameserver" line found
                        System.out.println("Loop " + loopCounter + ": No nameserver found in configration file!");
                        continue;
                   // Trim it to just contain the IP address
                   nameserver = (nameserver.replace("nameserver", "")).trim();
                   System.out.println("Loop " + loopCounter + ": Going to use DNS server " + nameserver);
                   // At this point, we know which server to use, now perform the resolution
                   Hashtable<String, String> env = new Hashtable<String, String>();
                   env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
                   env.put("java.naming.provider.url",    "dns://" + nameserver);
                   DirContext ictx;
                   try {
                        ictx = new InitialDirContext(env);
                        Attributes attrs1 = ictx.getAttributes(urlString, new String[] {"A"});
                        System.out.println("Loop " + loopCounter + ": Manual resolution: +" + attrs1.get("a").get() + "+");
                   } catch (NamingException e) {
                        System.out.println("Loop " + loopCounter + ": NamingException");
    }So maybe I should adapt and package this into a proper provider and specify it for sun.net.spi.nameservice.provider. Any link, info or example about how a proper provider should look like?
    Thanks for your advices!

  • Tomcat doesn't pick up the changes to jsp files

    My original problem was JAR locking. I changed context.xml files both in conf\ and my application.
    jakarta-tomcat-5.5.9\conf\context.xml
    <Context  reloadable="true" antiResourceLocking="true" antiJARLocking="true">
           <WatchedResource>WEB-INF/web.xml</WatchedResource>     
    </Context>myApplication\META-INF\context.xml
    <Context  reloadable="true" antiResourceLocking="true" antiJARLocking="true">        
        <WatchedResource>WEB-INF/web.xml</WatchedResource>
    </Context>Now I can undeploy without having jarLocking problem.
    But now tomcat doesn't pick up the changes to jsp files automatically!!!
    I have to undeploy/deploy even I just change jsp files!
    What's wrong?

    You can't do anything except speak in a different accent. Apple would have to add specific support for different accents in a future iOS update.

  • File(FTP) Adapter doesn't pick any file from FTP server

    Hi All,
    This is a strange problem. I am trying to pick all the file from a FTP server using File Name: . . But the file adapter doesn't pick any file from the directory. When  I change it to a specific file name eg. ABC.txt then it picks up the file ABC.txt only.
    My requirement is to pick up all files in the directory and I just do not seem to understand what is wrong. I have used this wildcard option several times earlier and it always worked fine. But in this case, this does not work.
    I changed the FTP server to point to an internal FTP server and it works fine.
    I have checked all my parameters and everything looks okay. Like I mentioned earlier, if you specify exact file name, it picks up the file.
    Any guess as to what is going on here?

    Transport Protocol: FTP
    Message Protocol: File
    source directory: /test or test ( <b>either one works</b>)
    file name: * or . or *.txt <b>nothing works</b>
    server: ftp server name
    port: 21
    data connection: passive
    user: ******
    pass: ******
    connect mode: permanently
    transfer mode: text
    QOS: exactly once
    poll: 10 secs
    processing mode: archive ( <b>changed to test and delete as well, but made no difference</b>.)
    archive dir: dir path
    file type: text
    adapter specific attributes:
    checked: set adapter specific attributes
    and file name.
    status: active.

  • How to import Nodetypes using nodetypes.cnd file

    Hi,
    I found at page: http://wem.help.adobe.com/enterprise/en_US/10-0/core/using_crx/content_import_and.html
    that it is possible to import nodetypes.cnd file. Is was located in the META-INF directory in the example.
    Unfortunately when I try to import additional nodetypes using nodetypes.cnd no changes are visible in my Adobe CQ enviroment (CRXDE Lite, NodeType administration). 
    Does anybody know how to deal with such problem?
    BR
    Pawos

    There are two options available to you,
    1. Goto main console of crx, select node type administration, select "Import Node Types", copy/paste the cnd file in the textarea, keep "Automatically register nodetype" checkbox checked, and click "Submit" button, your node types will be available under "Custom Node Types" section
    2. If you want to create custom node types programatically, then check the code in import.jsp of crx-explorer_crx.war under nodetypes folder, in this jsp CustomNodeTypeMgr is used to create and register the custom node types.

  • I scanned an image and want to use the image trace tool, but it doesn't pick up all the lines.  Is there a way to darken the lines before using the image trace tool?

    I scanned an image and want to use the image trace tool, but it doesn't pick up all the lines.  Is there a way to darken the lines before using the image trace tool?  Help!

    If the scan is in B&W, then play with the Threshold setting here
    If it's in Color, then you will have to open the scan in a Raster editing software (like Photoshop) and play with the Brightness/Contrast settings to make the lines bolder.

  • I have 2 Apple ID's. I bought all my music on first one. Now, update/sync doesn't pick up musiuc bc using a new Apple ID.... can i merge them onto my iPhone?

    I have 2 Apple ID's (the old one and my newer one - attached to a new email address).
    I bought all my music on first one.
    Update/sync doesn't pick up music bc using a new Apple ID.... can I merge them onto my iPhone?

    No.
    Content bought using one Apple ID cannot be merged or transferred to another Apple ID.
    All content is forever tied to the Apple ID used to obtain them.

  • I tried to launch iCloud on iMac.  I Changed my e-mail address recently, and iMac  doesn't  seem to know it.  Even worse, it doesn't know any password I've used with Apple ID.  Can anyone help me?

    I tried to launch iCloud on iMac.  I Changed my e-mail address recently, and iMac  doesn't  seem to know it.  Even worse, it doesn't know any password I've used with Apple ID.  Can anyone help me?

    No, i don't. if i did i would have tried it. do you have to sign up an appled ID for iCloud? If the answer is yes then they should mention that in the set-up instructions.

  • Why doesn't siri know how to change the time of a reminder? When asked, "Do you want to confirm or cancel your reminder?" Reply, "Can I change the time to a half hour later?" Siri doesn't know how to respond.

    Why doesn't siri know how to change the time of a reminder? When asked, "Do you want to confirm or cancel your reminder?" Reply, "Can I change the time to a half hour later?" Siri doesn't know how to respond.

    Hi
    In iMovie'11 (version 9.0.x)
    on top menu row - Apple/iMovie/File/Edit/Cut (Can vary dep. on language - in Swedish Apple/iMovie/Arkiv/Redigera/Klipp . . . )
    down Cut menu - Slow playback/Raspid Playback/Re-play in Slow Motion and onvards
    Here one can select the Pre-Set speeds
    Are you familiar with getting 'inspector' to run?
    No - but I guess that Double Click on clip/sequense or ctrl-Click on it might open it.
    Yours Bengt W

  • When I plug my iPad into my laptop it doesn't pick it up on iTunes?

    When I plug my iPad into my laptop it doesn't pick it up on iTunes?

    You did not state what OS you are running ... so for Windows
    iOS: Device not recognized in iTunes for Windows - Support - Apple
    For Mac OS X
    iOS: Device not recognized in iTunes for Mac OS X - Support - Apple
    Only for Mac OSX 10.6
    Mac OS X v10.6: iOS device not recognized in iTunes after restart

  • Changing a structure doesn't ask me for a change request

    Hi all,
    i have a small issue, i'm trying to change the source structure of an infospoke but it doesn't ask me for any change request, it should because we never do this kind of changes directly in production environment but i do not know how to fix this now.
    When i try to change it the only message i get is this:
    R3TR generated, changes possible
    Then i can add new fields but when i save i don't get the chance to assign the object to any cr.
    Any idea?
    Thank you

    Hi Stefano,
    As you have checked, the transport request never had the InfoProvider in it, $TMP suggests that the Infoset was never transported, because if it was transported, you would have had a Z<package> name and it would have asked you for a TR request before changing.
    You now need to again go to the Transport connection and collect the InfoSource in a transport request. It will also ask you to change its package from $TMP to some Z<package> before creating a TR.
    Please let me know if you need any more help.
    Regards,
    Pankaj

  • HT2341 why does my sound icon grey out and doesn't allow me to make changes on the system settings

    why does my sound icon grey out and doesn't allow me to make changes on the system settings

    When you go to System Preferences > Sound what does it say for Output? Have you had headphones plugged in? Sometimes the headphone jack gets stuck thinking it has something plugged in when there isn't anaything there. SMC also has something to do with Sound:
    SMC RESET
    http://support.apple.com/kb/HT3964
    Shut down the computer.
    Unplug the computer's power cord and ALL peripherals.
    Wait 15 seconds.
    Attach the computers power cable.
    Wait another 5 seconds and press the power button to turn on the computer.
    The 5 second timing is important to a successful reset.

  • I bought few years ago a Creative Suite Design Premium  and when I want to register my series number, yours services say that the number is invalid. I very surprise because I used it before on a PC computer that doesn't work anymore. I change my computer

    I bought few years ago a Creative Suite Design Premium  and when I want to register my series number, yours services say that the number is invalid. I very surprise because I used it before on a PC computer that doesn't work anymore. I change my computer with a Mac.  Can You verify the number you customer services gave me, L. Fernandes : <serial num removed-kglad>. I give you my phone number in Paris : <phone num removed - kglad>. Best regard. Chantal

    http://helpx.adobe.com/creative-suite/kb/error-serial-number-valid-product.html
    p.s. this is a public forum.  posting your phone number is a bad idea and posting your serial number will get it banned (or used by someone else and unavailable to you).

  • When I try to record videos, the camera doesn't pick up my voice. Is it because I have over 1000 pics/vids?? Because Siri can hear me when I talk to her.... It only doesn't work on videos

    When I try to record videos, the camera doesn't pick up my voice. Is it because I have over 1000 pics/vids?? Because Siri can hear me when I talk to her.... It only doesn't work on videos

    Hi colin3!
    It sounds like you could be having an issue with one of the microphones on your iPhone 5. Your iPhone 5 has three microphones that function together and separately, depending on what is using them.
    Apple - iPhone 5 - It’s so much more. And so much less, too.
    http://www.apple.com/iphone/features/
    Enhanced audio on iPhone 5.
    Apple EarPods are just the beginning of the improved audio experience on iPhone 5. It’s designed with three microphones: one on the front, one on the back, and one on the bottom. The front and back mics work together to achieve beamforming — a technique that helps iPhone focus on sound from the desired location for clearer audio. New noise-canceling technology reduces background noise. So when you hold iPhone up to your ear in a loud room, you hear what matters most: the voice on the other end.
    There is an article available that can help you troubleshoot the issue a little further and can guide you to some next steps. That article can be found here:
    iPhone: Hardware troubleshooting
    http://support.apple.com/kb/ts2802
    Thanks for being a part of the Apple Support Communities!
    Regards,
    Braden

Maybe you are looking for