Item14540: PublishPlugin: Not all resources published correctly
Priority: Normal
Current State: Closed
Released In: n/a
Target Release: n/a
In a recently published topic the following code is generated:
<link media="all" class="head JQUERYPLUGIN::COMMENT" type="text/css" href="../System/CommentPlugin.attachments/comment.css" rel="stylesheet"><!--JQUERYPLUGIN::COMMENT-->
<link href="../System/TwistyPlugin.attachments/twisty.css" rel="stylesheet" type="text/css" class="head JQUERYPLUGIN::TWISTY" media="all"><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
<link href="../System/SmiliesPlugin.attachments/smilies.css" rel="stylesheet" class="head SMILIESPLUGIN" type="text/css" media="all"><!--SMILIESPLUGIN-->
The file
../System/JavascriptFiles/foswikiPref.js
is neither transferred to the published directory nor referenced somewhere.
--
StefanH - 24 Nov 2017
Should be OK now
--
Main.CrawfordCurrie - 26 Jan 2018 - 19:17
I'm afraid I have to reopen this. I just tested it with the latest plugin version 3.4, but foswikiPref.js is still not published.
My parameters are:
./rest /PublishPlugin/publish "topics=MyWeb.TestPage" publishskin="myskin" format="file" outfile="publish-test" allattachments="1"
--
StefanH - 02 May 2018
After further analysis it seems the corresponding line is included by our "myskin" template in this case:
%ADDTOZONE{"script" id="JavascriptFiles/foswikiPref" text="<script type=\"text/javascript\" src=\"../System/JavascriptFiles/foswikiPref.js\"></script>" requires="JQUERYPLUGIN::FOSWIKI"}%
I don't know if the
PublishPlugin should handle this. If not I am fine to close this then.
--
StefanH - 02 May 2018
Tried the publication of a topic with the above
ADDTOZONE. The generated html is:
<script type="text/javascript" class="script JavascriptFiles/foswikiPref" src="../System/JavascriptFiles/foswikiPref.js"></script><!--JavascriptFiles/foswikiPref-->
which is NOT the expected reference. it should be
../System/JavascriptFiles.attachments/foswikiPref.js
. The file does not exists in that location or anywhere else in the published tree
Debug shows the file is treated as an external resource. And I do not copy external resources:
Processing URL ../System/JavascriptFiles/foswikiPref.js
- external resource
../System/JavascriptFiles/foswikiPref.js = ../System/JavascriptFiles/foswikiPref.js
Changing the reference to :
%ADDTOZONE{"script" id="JavascriptFiles/foswikiPref" text="<script type=\"text/javascript\" src=\"%PUBURLPATH{ "foswikiPref.js" web="System" topic="JavascriptFiles" }%\"></script>" requires="JQUERYPLUGIN::FOSWIKI"}%
helps the plugin recognise the reference as internal:
Processing URL /devwiki/pub/System/JavascriptFiles/foswikiPref.js
- matched pub_rel at System/JavascriptFiles/foswikiPref.js
Published System.JavascriptFiles:foswikiPref.js as System/JavascriptFiles.attachments/foswikiPref.js
-mapped /devwiki/pub/System/JavascriptFiles/foswikiPref.js to System/JavascriptFiles.attachments/foswikiPref.js
Rewrite System/JavascriptFiles.attachments/foswikiPref.js (rel to Sandbox/TestPublishFoswikiPrefJs.html)
as ../System/JavascriptFiles.attachments/foswikiPref.js
/devwiki/pub/System/JavascriptFiles/foswikiPref.js = ../System/JavascriptFiles.attachments/foswikiPref.js
And the file is now copied to the correct location:
$ ls publish/file/System/JavascriptFiles.attachments/
foswikiForm.js foswikiPref.js foswikiString.js
$
Moral of the story: PublishPlugin requires properly formed href
to do its magic.
Can I close this task?
--
BramVanOosterhout - 28 Jul 2022
Hi
BramVanOosterhout, thank you for this hint. I just tried it with PUBURLPATH and it works like a charm. The task can be closed.
--
StefanH - 28 Jul 2022