I customized a site definition and create a couple site collection based on it.Now I have to change the definition a bit,but the existing site collectionsdon't reflect the changes, is there a easy way to force it.
Site definitions are used like blueprints when a new site collection isprovisioned. Once the site is provisioned there is no way to change thesite definition and have existing sites pick up the changes. One potentialworkaround does exist. If the changes you want to make to the sitedefinition can be added via a feature then you can write a feature and addthe feature to the existing site definition. Then you can manually activatethe feature in existing sites and get the same effect as re-applying the newsite definition.
I believe you are talking about Feature Stapling,right?
Not necessarily. Feature Stapling (Feature site Template Association) is away of adding a feature to an existing site definition. This is normallyused because you want to add something to one of the built-in sitedefinitions without breaking the rules by editing them. In this case theYang Li wants to add something to an existing custom site definition. Youcould use Feature stapling, or just add a reference to the Feature to theWebFeatures or SiteFeatures element of the site definition. With a customsite definition there is no reason not to edit it further, but the change tothe site definition won't do anything to an existing site. By packaging thechange as a Feature and adding the Feature to the existing site definitionyou have the change in a form where it can be activated on existing sitesalso. But in a custom site definition you can add the new feature either byreferencing it directly or through Feature Stapling.