[opencms-dev] Problems and scheduled static export

Jörg Herbst herbst at getit.de
Wed Jan 7 18:53:01 CET 2004


Hi Niklas,

it seems, as I've solved the problem. You have to install a proper 
CmsLaunchManager to get a correct export for HTML files.

I've added the following lines and now the whole thing works fine:
        String propsPath = CmsBase.getPropertiesPath(true);
        Configurations conf = new Configurations(new 
ExtendedProperties(propsPath));
        cmsForStaticExport.setLauncherManager(new CmsLauncherManager(new 
OpenCms(conf)));

I guess, it's a pretty dirty workaround to create a complete new CMS 
Object, but I haven't found a better way yet.

Thanks for your help
Jörg

> Hi Jörg,
>
> I haven't tried this with jsp, only with (customized) xml-templates so 
> I don't know. Could it be that jsp pages/templates need a proper 
> CmsLauncherManager? Maybe you also have to set some properties on the 
> jsp templates to allow export..?
> One thing to remember is also that all parts of a page must be 
> published at least once for it to be exported, ie visible (and 
> working) in the online project.
>
> Regards,
>
>  Niklas
>
> Jörg Herbst wrote:
>
>> Hi Niklas,
>>
>> thanks a log, your code helped to get the whole thing working at all. 
>> All files are now exported or skipped as I want to, but there is 
>> still a problem. All files just contain one single line:
>> [jsptemplate] ???
>> Seems as if there is still something missing to get to correct 
>> templates. I get this error on all exported html Pages.Images and 
>> other none text resources work fine. Any idea, where I've got to to 
>> look for the error?
>>
>> Greetings
>> Joerg
>>
>>> Hello,
>>>
>>> This is two snippets of the hack in the cron job I used to get it 
>>> working:
>>>
>>>         String webappURL = null;
>>>         String servletURL = null;
>>>         try {
>>>             String context = A_OpenCms.getOpenCmsContext();
>>>             webappURL = context.substring(0, context.indexOf('/', 1));
>>>             servletURL =
>>>                 context.endsWith("/")
>>>                     ? context.substring(0, context.length() - 1)
>>>                     : context;
>>>         } catch (RuntimeException e) {
>>>             return "Context not set up yet, cannot continue";
>>>         }
>>>
>>> ...
>>> ...
>>> ...
>>>
>>>                 // set up the necessary env
>>>                 CmsExportRequest dReq =
>>>                     new CmsExportRequest(webappURL, servletURL);
>>>                 CmsExportResponse dRes = new CmsExportResponse();
>>>                 CmsObject cmsForStaticExport =
>>>                     cms.getCmsObjectForStaticExport(dReq, dRes);
>>>                 // hmm, seems to work
>>>                 cmsForStaticExport.setLauncherManager(
>>>                     new CmsLauncherManager(null));
>>>
>>>          
>>> cms.getRequestContext().setCurrentProject(I_CmsConstants.C_PROJECT_ONLINE_ID); 
>>>
>>>
>>>                 CmsStaticExport staticExport =
>>>                     new CmsStaticExport(
>>>                         cmsForStaticExport,
>>>                         exportResources,
>>>                         true,
>>>                         new Vector(),
>>>                         new Vector(),
>>>                         null,
>>>                         new CmsShellReport());
>>>             }
>>>
>>> exportResources is a Vector with the absolute paths (String) to the 
>>> resources you want to export. You will get a warning/error about 
>>> something (can't remember about what, but it should work). Good luck!
>>>
>>> Regards,
>>>
>>>  Niklas
>>>
>>> Jörg Herbst wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm trying to implement a scheduled publishing of my project. I've 
>>>> implemented a I_CmsCronJob Object for calling cms.publishProject. 
>>>> This works fine and the project is published as I want.
>>>> My problem is, the static export is not triggered. I guess there is 
>>>> no RequestContext in CmsStaticExport  [Line 229] 
>>>> (cms.getRequestContext().getRequest() != null), so the static 
>>>> export branch is never processed.
>>>> So I've tried to change the source, removing the if condition. Now 
>>>> I'm running in problems of a missing Launcher object 
>>>> (NullPointerException).
>>>> Has anybody successfully implemented a scheduled publishing 
>>>> including a static file export yet and can give me some help?
>>>>
>>>> Thanks
>>>> Joerg
>>>





More information about the opencms-dev mailing list