[opencms-dev] SOLVED Re: always publish resourceb.html when resourcea.html is published

a.westermann at alkacon.com a.westermann at alkacon.com
Wed Jul 22 12:55:58 CEST 2009


Hi Marc,

\(^_^)/


Kind Regards,
Achim.

-------------------
Achim Westermann

Alkacon Software GmbH  - The OpenCms Experts
http://www.alkacon.com - http://www.opencms.org


Marc Johnen wrote:
> Hi Achim,
> 
> actually I was quite happy about you as an Alkacon-employee answering
> a lot of questions, this is a big improvement. 
> Also the community is slowly doing more and there are more modules
> coming up (many don't seem to make an entry on the website, which
> is a pitty).
> I try to make it a habbit answering one or two questions before I
> ask one myself.
> 
> Greetings
> Marc
> 
> 
> Achim Westermann-2 wrote:
>> Hi Marc,
>>
>> good to see you were able to understand my cryptic keywords. Sometimes I 
>> feel sorry that I do not have the time to go into detail with more 
>> elaborated tips. Google, opencms-wiki, this list ... the community and 
>> last but not least the source code of OpenCms sometimes may provide 
>> details on how to customize OpenCms to a remarkable level.
>>
>>
>> Kind Regards,
>> Achim.
>>
>> -------------------
>> Achim Westermann
>>
>> Alkacon Software GmbH  - The OpenCms Experts
>> http://www.alkacon.com - http://www.opencms.org
>>
>>
>> Marc Johnen wrote:
>>> Thanks again Achim,
>>>
>>> in case anyone tries to do the same here is my (not quite finished) code.
>>>
>>> Greetings
>>> Marc
>>>
>>> public class EventListener implements I_CmsModuleAction {
>>> 	private CmsObject cmsObject;
>>> 	
>>> 	public EventListener() {
>>> 	// intentionally left blank
>>> 	}
>>> 	
>>> 	public void initialize(CmsObject adminCms, CmsConfigurationManager
>>> configurationManager, CmsModule module) {
>>> 		int[] eventTypes = {I_CmsEventListener.EVENT_PUBLISH_PROJECT,
>>> I_CmsEventListener.EVENT_BEFORE_PUBLISH_PROJECT,
>>> I_CmsEventListener.EVENT_RESOURCE_MODIFIED};
>>> 		OpenCms.addCmsEventListener(this, eventTypes);
>>> 		this.cmsObject = adminCms;
>>> 	}
>>> 	
>>> 	/**
>>> 	 * Implements the CmsEvent interface.
>>> 	 * <p>
>>> 	 * 
>>> 	 * @param event CmsEvent that has occurred
>>> 	 */
>>> 	public void cmsEvent(CmsEvent event) {
>>> 		
>>> 		// den Report holen, um etwas ausgeben zu koennen
>>> 		I_CmsReport report = (I_CmsReport) event.getData().get("report");
>>> 	
>>> 		Map m_eventData = event.getData();
>>> 		
>>> 		switch (event.getType()) { 
>>> 			
>>> 			
>>> 			// ****************************************************
>>> 			// a resource was changed
>>> 			// ****************************************************
>>> 			case I_CmsEventListener.EVENT_RESOURCE_MODIFIED:
>>> 				
>>> 				if (o_eventRes.getRootPath().equals("/sites/mysite/index.html")) {
>>> 					if (LOG.isInfoEnabled()) {LOG.info("Starting touching RSS-Feed");}
>>> 					try {
>>> 						CmsRequestContext context = cmsObject.getRequestContext();
>>> 				      	// Projekt setzen (muss Offline sein)
>>> 				      	CmsProject o_offlineProject =
>>> cmsObject.readProject("Offline"); 
>>> 				      	context.setCurrentProject(o_offlineProject);
>>> 						
>>> 						String folder = "/system/modules/mytemplate/resources/feed.rss";
>>> 						cmsObject.lockResource(folder);
>>> 					
>>> cmsObject.setDateLastModified(folder,System.currentTimeMillis(),true);
>>> 						cmsObject.unlockResource(folder);
>>> 						} catch (Exception e4) {
>>> 							LOG.warn("Error touching RSS-Feed" , e4);
>>> 						}				
>>> 				}
>>> 				
>>> 				break;
>>> 	
>>> 				
>>> 			// ****************************************************
>>> 			// something was published
>>> 			// ****************************************************
>>> 			case I_CmsEventListener.EVENT_PUBLISH_PROJECT:			
>>> ...
>>> 		
>>> cmsObject.publishResource("/system/modules/mytemplate/resources/feed.rss");
>>> ...
>>> 				break;
>>>
>>> 			default:
>>> 				// no operation
>>> 		} // end switch
>>> 	}
>>>
>>> 	public void moduleUninstall(CmsModule module) {
>>> 		// intentionally left blank
>>> 	}
>>>
>>> 	public void moduleUpdate(CmsModule module) {
>>> 		// intentionally left blank
>>> 	}
>>>
>>> 	public void publishProject(CmsObject cms, CmsPublishList publishList,
>>> int
>>> backupTagId, I_CmsReport report) {
>>> 		// intentionally left blank
>>> 	}
>>>
>>> 	public void shutDown(CmsModule module) {
>>> 		// intentionally left blank
>>> 	}
>>>
>>> }
>>>
>> _______________________________________________
>> This mail is sent to you from the opencms-dev mailing list
>> To change your list options, or to unsubscribe from the list, please visit
>> http://lists.opencms.org/mailman/listinfo/opencms-dev
>>
>>
> 



More information about the opencms-dev mailing list