[opencms-dev] static export 404 on Template Resources

Gerd Schrick mail at schrick-design.de
Mon Jun 11 03:52:42 CEST 2018


Hi Kai (and all),

success! ... with some (smaller) issues/questions.

A bit awkward to admit: the fix simply was to explicitly set the export property of /sites/mysite to true.
I ignored this most of the time, because of the feedback "... 404" (in contrast to "... ignored" at some other resources) in the output; so I thought that OpenCms really tries to export the resource but failed for some reason. (solution details and config below)

1. the exported site shall be used at www.somesite.de w/o "/sites/mysite/". With relative links to other pages this works, but then "../../" in links to the (template) module resources is too much (although it works in Apache or Tomcat locally).
Is there a way to config a "correct" export for that?
With additional <rfs-rule> element(s)?

2. what's the reason for the additional files "index_export.html" as they are the same as the corresponding "index.html"?

3. (and related to 1.) the docu says: "create a full static copy of a side that can [...] be stored on an USB stick or CD-Rom.".
That sounds to me that the site can then be browsed from the stick/CD-Rom ... but all the links to pages point to "somepage/" (instead of e.g "somepage/index.html") what does not work w/o a webserver.
Is my assumption wrong or how to do that?

4. as soon as I add a <rfs-rule> for "/sites/mysite/.*" in the config (see below), the styles in Administration/Database Management (and other) are broken: new_admin.css gets referenced someplace within "mysite".
Why this? (although the rule obviously does not match anything in "/system/workplace/commons")

Thanks for clarification.

Best regards,

Gerd


How the full static export works for me (Tomcat standalone on Linux):

1. all config is just the default (as it was after a fresh 10.5.3 install)

2. have a site "mysite" with root folder "/sites/mysite" that is published

3. set property "export" of the sites' root folder to true (this setting must also be published!)

4. in opencms-importexport.xml add this to <rendersettings> element (see doku):
<rfs-rules>
    <rfs-rule>
        <name>MySite</name>
        <description>rfs-rule for site mysite</description>
        <source>/sites/mysite/.*</source>
        <rfs-prefix></rfs-prefix>
        <exportpath>/home/gsuser/tomcat-8.5.11/webapps/ROOT</exportpath>
        <userelativelinks>true</userelativelinks>
        <related-system-res>
            <regex>/system/modules/mysite.template/.*</regex>
        </related-system-res>
    </rfs-rule>
    <rfs-rule>
        <!-- GS: fix for broken Workspace styles (old UI) -->
        <name>cmnsStyle</name>
        <description>Fix for 404 @ /system/workplace/commons/style/new_admin.css</description>
        <source>/.*</source>
        <rfs-prefix>${CONTEXT_NAME}/export</rfs-prefix>
        <exportpath>export</exportpath>
        <related-system-res>
            <regex>/system/workplace/commons/style/.*</regex>
        </related-system-res>
    </rfs-rule>
</rfs-rules>
NOTE: the 2nd rfs-rule is required to fix the broken styles in Administration (see above)
5. restart Tomcat required after the changes in 4.


"Schliemann, Kai" <K.Schliemann at comundus.com> hat am 8. Juni 2018 um 10:41 geschrieben: 

Hi Gerd,

ok here are some hints. Maybe they help.

Your setting in opencms-importexport.xml tells OpenCms to only export files with the file extensions mentioned in „defaultsuffixes“. If you want all resources (html, css, js, images…) to be exported, you have to either set „defaultpropertyvalue“ to „true“ (in opencms-importexport.xml) or set the property „export“ on e.g. the root folder of your site (e.g. on „sites/default/“)In order to make static export work properly, you have to add the cms:link-Tag to resources in your templates. Not just the elements (like a logo) which style your website, but all resources which reside in OpenCms. E.g. using a link element in one of your XSDs. No matter, if you link to pages, images or download files. One exception. If you use the cms:img tag, you must not use the cms:link tag with it. So never mix cms:img and cms:link tag.Check port of Tomcat (that‘s what I already told you)You may also check this thread: https://github.com/alkacon/opencms-core/issues/494

 

Hope one of these hints help you. Please let me know. I am curious.

 

Best regards

Kai         

 

 

 

Von: opencms-dev-bounces at opencms.org <opencms-dev-bounces at opencms.org> Im Auftrag von Gerd Schrick
Gesendet: Donnerstag, 7. Juni 2018 20:13
An: The OpenCms mailing list <opencms-dev at opencms.org>
Betreff: Re: [opencms-dev] static export 404 on Template Resources

 

Dear OpenCms Gurus,

pleeeeease help!!! ;-)
I guess I'm dearly overlooking some details.

I've created a relative simple site and now I want to do a full static export, so it can be hosted (w/o OpenCms).

 

To do this I use Database Management / Start Static Export.

Seems basically to work BUT:

1. (the main problem): all the "Non-Template Resources" are exported, but for all of the "Template Resources" it just says "... 404"

example:

( 9 / 706 ) Exporting /sites/mysite/material/press/ ... 404 
( 10 / 706 ) Exporting /sites/mysite/material/press/index.html ... 404

in Tomcat's localhost_access_log I see (for the above):

127.0.0.1 - - [07/Jun/2018:17:24:06 +0200] "GET /opencms/handle404/opencms/export/sites/mysite/material/press/index.html HTTP/1.1" 404 -
127.0.0.1 - - [07/Jun/2018:17:24:06 +0200] "GET /opencms/handle404/opencms/export/sites/mysite/material/press/ HTTP/1.1" 404 -
the "regular" urls are
localhost:8080/material/press/
localhost:8080/material/press/index.html

but I assume that the difference here is somehow related to the static export logic.

2. the exported files are first created in webapps/opencms/temp and when finished moved to folder "backup2" (! instead of "export", where I suspect them to go)

 

And it doesn't seem to make any difference what is selected in Site/Project.

 

My setup is OpenCms 10.5.3 on Tomcat 8 (standalone), both with the deafult settings from the installation.

The excerpt of the opencms-importexport.xml is below.

 

Would be really great if someone can point me in the right direction.

 

Best regards,

Gerd

 

 

opencms-importexport.xml:

    <staticexport enabled="true">
      <staticexporthandler>org.opencms.staticexport.CmsOnDemandStaticExportHandler</staticexporthandler>
       <linksubstitutionhandler>org.opencms.staticexport.CmsDefaultLinkSubstitutionHandler</linksubstitutionhandler>
        <exportpath>export</exportpath>
        <exportworkpath>temp</exportworkpath>
        <exportbackups>2</exportbackups>
        <defaultpropertyvalue>false</defaultpropertyvalue>
        <defaultsuffixes>
            <suffix key=".jpg" />
            <suffix key=".gif" />
            <suffix key=".png" />
            <suffix key=".doc" />
            <suffix key=".xls" />
            <suffix key=".ppt" />
            <suffix key=".docx" />
            <suffix key=".xlsx" />
            <suffix key=".pptx" />
            <suffix key=".pdf" />
            <suffix key=".txt" />
            <suffix key=".css" />
            <suffix key=".js" />
            <suffix key=".zip" />
            <suffix key=".swf" />
        </defaultsuffixes>
        <rendersettings>
            <rfs-prefix>${CONTEXT_NAME}/export</rfs-prefix>
            <vfs-prefix>${CONTEXT_NAME}</vfs-prefix>
            <userelativelinks>true</userelativelinks>
            <exporturl>http://127.0.0.1:8080${CONTEXT_NAME}/handle404</exporturl>
            <plainoptimization>true</plainoptimization>
            <testresource uri="/system/shared/page.dtd" />
            <resourcestorender>
                <regex>/sites/.*</regex>
                <regex>/system/workplace/commons/style/.*</regex>
                <regex>/system/galleries/.*</regex>
                <regex>/system/modules/.*/resources/.*</regex>
            </resourcestorender>
        </rendersettings>
    </staticexport>



Gerd Schrick <mail at schrick-design.de> hat am 15. Mai 2018 um 19:14 geschrieben: 

Hi Kai, 

the port already was set correctly. 

As only resources/requests to 
/sites/default/... result in a 404 
but the ones to 
/system/... work 
it looks like there's somewhere kind of a (not working) url rewrite. 
As mentioned I didn't any Tomcat (standalone) nor OCMS config changes that may do that. 

I've still no idea what's going wrong here or where/what to look for. 

Maybe noone out there doing a full static export out-of-the-box? 

Best regards, 
Gerd

Am 15. Mai 2018 08:42:33 MESZ schrieb "Schliemann, Kai" <K.Schliemann at comundus.com>:

Hi Gerd,

a common mistake is to not set the correct Tomcat port in opencms-importexport.xml. So if your Tomcat rums on port 8080, please make sure to set that port in opencms-importexport.xml.

Best regards

Kai

 

Von: opencms-dev-bounces at opencms.org <opencms-dev-bounces at opencms.org> Im Auftrag von Gerd Schrick
Gesendet: Dienstag, 15. Mai 2018 03:27
An: The OpenCms mailing list <opencms-dev at opencms.org>
Betreff: Re: [opencms-dev] static export 404 on Template Resources

 

Anyone out there to help with this?

Am 6. Mai 2018 01:25:43 MESZ schrieb Gerd Schrick <mail at schrick-design.de>:

Dear List,

I'm on a fresh local install of 10.5.3 in Tomcat (8.5.11) including the example site (Apollo Demo).
All configs/settings are unchanged.

When I do a Static Export (Database Management -> Static export) there's no Error/Exception shown in the output but any resource below /sites shows ... 404 instead of ... o.k. and (as expected) none of them are exported.

Excerpt from the output:
::
( 441 / 441 ) Exporting /system/workplace/commons/style/template.css ... o.k.
... exporting Non-Template Resources is finished.
Exporting Template Resources ...
::
( 6 / 563 ) Exporting /system/workplace/commons/style/diff.css ... o.k.
( 7 / 563 ) Exporting /sites/default/tutorial/step-6-publish-your-changes/index.html ... 404 
( 8 / 563 ) Exporting /sites/default/tutorial/step-6-publish-your-changes/ ... 404
::

It somehow makes sense to me as I get a 404 in the browser when I request the reported URLs
example: /sites/default/tutorial/step-6-publish-your-changes/index.html
404 when: http://mymachine:8080/sites/default/tutorial/step-6-publish-your-changes/index.html
404 when: http://mymachine:8080/opencms/sites/default/tutorial/step-6-publish-your-changes/index.html
correct when: http://mymachine:8080/opencms/tutorial/step-6-publish-your-changes/index.html

in opencms_importexport.xml is
<exporturl>http://mymachine:8080${CONTEXT_NAME}/handle404</exporturl>
to omit "/handle404" (as suggested here: https://github.com/alkacon/opencms-core/issues/494) did not change anything.

I already found similar/same issues reported for older versions but all w/o a working solution.

Thanks for your helpful hints!
Gerd


 

_______________________________________________ 
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/cgi-bin/mailman/listinfo/opencms-dev 



 


 

_______________________________________________ 
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/cgi-bin/mailman/listinfo/opencms-dev 




 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://webmail.opencms.org/pipermail/opencms-dev/attachments/20180611/925f0acc/attachment.htm>


More information about the opencms-dev mailing list