CQ already comes with predefined configuration that you can find using following Xpath queries
Or using query builder predicate (http://HOST:PORT/libs/cq/search/content/querydebug.html)
From front end you can find all configurations under config tab in felix console
You can also download all configurations using felix console
You can also go to configuration through Component tab
On file systems you can find configuration under /crx-quickstart/launchpad/config folder.
Configuration can be at any of above location but order of precedence of selecting a configuration is,
3) File system
For more information please see http://dev.day.com/content/kb/home/cq5/CQ5SystemAdministration/LoadingOrderFelixConfig.html
How to Create a felix Configuration:
1) By creating a sling:OsgiConfig node using CRXDE
2) Using xml
3) By Code
How to Read Property:
Cool part about configuration that I like most is, You can create environment specific configurations and based on your environment particular configuration will get selected. You can set configurations as given in http://www.wemblog.com/2012/01/how-to-set-up-run-mode-in-cq-wem.html
Q: Where does my configuration get stored when I change it through felix console directly
Ans: In CQ5.5 it get stored in repository under /apps/system/config thus get replicated across all cluster. But in CQ5.4 and before it get stored in file system under /crx-quickstart/launchpad/config/<Name of config>.config thus requires changes in all cluster instance.
Q: What if I just want configuration for particular environment
Ans: In that case you have to set up your config for that environment and then create configuration under that node. See example above.
Q: What is recommended way to create configuration
Ans: It is recommended to change configuration through repository and not through felix console if possible. That way you can track configuration in SVN as well.
Q: I see that there is already a configuration under felix console, How can I create one under repository to override that.
Ans: To do that first go to felix console -> configuration -> open configuration and look for pid
Then create exactly same node under /apps/config<Any enviornment> of type osgiconfig
Q. How to create configuration that has drop down of selected value
A. You can do something like,
How to create Configuration factory to locate services
Some time we want to create configuration factories to create factory of configuration (For example Logger configuration)
In order to create such configuration you could use annotation
To read such configuration though supporting class you can use,
How to locate configurations in configuration factory (Note that you might not need to do this if you are using independent configuration factories, for example configuration factories of scheduler)
Please ask any other question that you want me to add here.