[opencms-dev] static export 404 on Template Resources
Schliemann, Kai
K.Schliemann at comundus.com
Tue Jun 12 11:13:34 CEST 2018
Hi Gerd,
I am not quit sure. I guess it has to do with the flags which can be set in the OpenCms database export screen (in Administration view) (e.g. export user data…). In this class are some hints: https://documentation.opencms.org/javadoc/core/org/opencms/importexport/CmsVfsImportExportHandler.html
HTH.
Best regards
Kai
Von: opencms-dev-bounces at opencms.org <opencms-dev-bounces at opencms.org> Im Auftrag von Gerd Schrick
Gesendet: Dienstag, 12. Juni 2018 02:13
An: The OpenCms mailing list <opencms-dev at opencms.org>
Betreff: Re: [opencms-dev] static export 404 on Template Resources
Hi Kai,
again the perfect hint from you! :-)
"Everything from the root folder is omitted." and the example - this was eye-opening and should IMO be added to the docs!
I assumed the property can only be used to simply "rename" a folder ... but instead it's a powerful feature and I detected that even just "/" on my "/sites/mysite" folder works and exactly results in what I desired.
OpenCms is great!
Little off-topic question you could possibly answer:
In the manifest.xml of a site's database export I see <flags>0</flags>
What is this for? (just to get the idea/reason behind)
[ Background: I've created an "import tool" based on an Apache Ant build that can create such a "database export" to migrate/import content to OpenCms.
Works great for Apache Lenya repositories.
Currently I do some refinements to make it easier to customize for other (file based) sources e.g. a static website.
If this then is also of interest for others I'm happy to contribute/share it. ]
Best regards,
Gerd
Am 11. Juni 2018 09:04:54 MESZ schrieb "Schliemann, Kai" <K.Schliemann at comundus.com<mailto:K.Schliemann at comundus.com>>:
Hi Gerd,
I can give you an answer for question 1:
There is a property called „exportname“. You can define a foldername there. Everything from the root folder is omitted.
A common use case is, to set this on the resources folder of your module. If you define the exportname „res“ on the resources folder of a module you get something like this:
https://www.comundus.com/export/res/plugins/bootstrap-smartmenu/css/jquery.smartmenus.bootstrap.min.css
instead of
https://www.comundus.com/export/system/modules/com.comundus.internet.template/resources/plugins/bootstrap-smartmenu/css/jquery.smartmenus.bootstrap.min.css
You can do the same with resources in your site.
In most of our projects we use absolute links instead of relative links. But that’s just a matter of taste.
2.
I don’t know exactly, but I recognized, that it is always created, when the parent folder is a navigation folder.
HTH
Best regards
Kai
Von: opencms-dev-bounces at opencms.org<mailto:opencms-dev-bounces at opencms.org> <opencms-dev-bounces at opencms.org<mailto:opencms-dev-bounces at opencms.org>> Im Auftrag von Gerd Schrick
Gesendet: Montag, 11. Juni 2018 03:53
An: The OpenCms mailing list <opencms-dev at opencms.org<mailto:opencms-dev at opencms.org>>
Betreff: Re: [opencms-dev] static export 404 on Template Resources
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<http://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<mailto: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<mailto:opencms-dev-bounces at opencms.org> <opencms-dev-bounces at opencms.org<mailto: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<mailto: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<http://127.0.0.1:8080$%7bCONTEXT_NAME%7d/handle404%3c/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<mailto: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<mailto: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<mailto:opencms-dev-bounces at opencms.org> <opencms-dev-bounces at opencms.org<mailto: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<mailto: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<mailto: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<http://mymachine:8080$%7bCONTEXT_NAME%7d/handle404%3c/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/20180612/a2c55fa4/attachment.htm>
More information about the opencms-dev
mailing list