Comments (11)
I am currently working on simplifying the 3D support and in turn reverting the changes regarding the internal proxy. It will take a few more weeks due to vacations, but this should fix this issue.
from kitodo-presentation.
The problem seems to be the following:
- Commit 2578e7a introduced a change to
setup.typoscript
enabling the use of the internal image proxy by default. - The image proxy uses the eID script
PageViewProxy.php
to access external files, which is registered inext_localconf.php
. - BUT: Registration of the eID script only happens when the extension configuration option
enableInternalProxy
is set inext_conf_template.txt
, which it is not by default.
So we have a mismatch of default configuration requiring the use of the internal proxy in the PageView plugin, but not enabling it in the first place. I suggest reverting the change to setup.typoscript
and thus restoring the old behavior. Furthermore the image proxy should only be used if necessary anyway while the default should be to rely on CORS headers.
What do you think, @csidirop and @beatrycze-volk?
from kitodo-presentation.
But I am not sure if I understand the meaning of
plugin.tx_dlf.settings.useInternalProxy
correctly. Maybe it's just a duplicate ofenableInternalProxy
and we should get rid of it?
I think we got here to some deeper misunderstanding. useInternalProxy
is not newly introduced. In general, we have already in code useInternalProxy
(PageView.xml) e.g.
<settings.useInternalProxy>
<TCEforms>
<exclude>1</exclude>
<label>LLL:EXT:dlf/Resources/Private/Language/locallang_be.xlf:plugins.pageview.flexform.useInternalProxy</label>
<config>
<type>check</type>
<default>0</default>
</config>
</TCEforms>
</settings.useInternalProxy>
Also in places in which we are using proxy we are querying for $this->settings['useInternalProxy']
. My idea by introducing it to the typo setup was to avoid double setting it in the both of plugins. (I didn't yet remove this setting from those plugins FlexForms). While I was doing it, I have missed existence of enableInternalProxy
. I see now, that enableInternalProxy
is used for activating eID script as @sebastian-meyer has mentioned.
We need to definitely consolidate those two settings into one. For now probably reversing of adding it to the global typo setup should solve the problem.
from kitodo-presentation.
An other way to reproduce this, is to use our docker images:
- Clone repo:
git clone https://github.com/UB-Mannheim/kitodo-presentation-docker
- Change dir:
cd kitodo-presentation-docker
- Change branch:
git checkout dfg-viewer-dev
- Start docker container:
docker compose up
- Wait till everything is up
- (you may need to re-save the page configuration: BE -> Site Management -> Site: edit and save)
- open: localhost and use any of the examples or use your own METS file, e.g.: http://localhost/viewer?tx_dlf[id]=https%3A%2F%2Fdigi.bib.uni-mannheim.de%2Ffileadmin%2Fvl%2Fubmaosi%2F59088%2F59088.xml
from kitodo-presentation.
If after that proxy for 3D models works, than I'm fine with your solution :)
from kitodo-presentation.
If after that proxy for 3D models works, than I'm fine with your solution :)
We would have to rework this a little bit: Currently there are two different configuration options effectively meaning the same thing: enableInternalProxy
is part of the (global) extension configuration while the newly introduced plugin.tx_dlf.settings.useInternalProxy
is a typoscript setting. Their differences are only marginal: the first option globally enables or disabled the image proxy while the second options makes its use mandatory.
Maybe we should combine both options into one? We could expend on enableInternalProxy
like this:
Instead of being a boolean switch, enableInternalProxy
should be of type options
(see Extension Configuration)
- If
enableInternalProxy = off
the behavior would be the same like currentlyenableInternalProxy = 0
: the use of the proxy script is completely turned off irrespective of any typoscript settings for individual plugins. This should also be the default. - If
enableInternalProxy = always
the behavior would be the same like currentlyenableInternalProxy = 1
ANDplugin.tx_dlf.settings.useInternalProxy = 1
. This would be the preferred setting for the DFG-Viewer 3D (but not the default for Kitodo.Presentation). - If
enableInternalProxy = on
the behavior would be the same like currentlyenableInternalProxy = 1
ANDplugin.tx_dlf.settings.useInternalProxy = 0
.
But I am not sure if I understand the meaning of plugin.tx_dlf.settings.useInternalProxy
correctly. Maybe it's just a duplicate of enableInternalProxy
and we should get rid of it?
from kitodo-presentation.
What do you think, @csidirop and @beatrycze-volk?
Yes I think we need a consistent way of doing it. I think the approach to leave it as it was by default and activate it as needed is good. But to be honest I haven't understood exactly what the internal image proxy does and what it's for.
I don't have any 3D models (nor do I know how) that I could test to see if it still works. @beatrycze-volk would have to test that.
from kitodo-presentation.
How should we proceed here?
from kitodo-presentation.
Okay thanks.
from kitodo-presentation.
It seams like with the version 4.x from 21 Jul 23 (38b64ca) the image is shown again.
Is this fixed or a workaround / temporally solution or even just a coincidence?
from kitodo-presentation.
Close the issue because it is probably fixed, even if it is not clear why.
from kitodo-presentation.
Related Issues (20)
- [Question] Trigger New Tenant Module functions via CLI HOT 1
- [BUG] Search word highlighting does not work (`tx_dlf[highlight_word]`) HOT 1
- [Question] How to use the 3D viewer?
- [BUG] Metadata and structure translation entries HOT 14
- [BUG] PR#1116 somehow broke my viewer. When opening a document with a fulltext it just shows "Volltext wird geladen" HOT 3
- [BUG] Memory leak in kitodo:reindex CLI job HOT 26
- Replace JPlayer HOT 4
- [FUND] Preconfigured, easy to install package for testing purposes HOT 1
- [FUND] Bundle default templates and design with Kitodo.Presentation HOT 1
- Update Documentation HOT 6
- [BUG] Metadata `index_name` still gets changed when moving metadata in list HOT 2
- [BUG] Metadata `sorting` value is `0` for every entry
- Activate GitHub Discussions for this repository HOT 2
- [BUG] Error when saving a Collection
- [BUG] Number of hits for facets incorrect HOT 1
- [Question] Use annotated tags for future releases HOT 2
- [BUG] Error message when using the new reindexing options --index-limit and --index-begin
- [FEATURE] Add feedback for future "unsupported" ALTO versions
- [REVERT] Use TYPO3 DataHandler in the backend HOT 1
- [BUG] Reindexing options -l and -b work not with -c (or long versions) or -a
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kitodo-presentation.