Comments (11)
@Piedone commented on Sep 3, 2014:
Hmm, it should. It works also on DotNest and all of the Lombiq sites (these use Azure Blob storage).
Do I understand correctly that the main change is that this now also checks for the port (as it only checks for the host now) to determine whether the URL of the stylesheets and the resources linked from inside it are under the same domain? Because I don't think it would be good practice to put css files under a different port then e.g. images linked from it if the host is the same.
from combinator.
rdobson commented on Sep 3, 2014:
Without this check comparing inline resources to the cache storage location references to resources under the website itself become broken as they do not exist in the relative blob storage location but actually exist as part of the orchard site itself.
from combinator.
rdobson commented on Sep 3, 2014:
The port number check is there for the azure emulator which is on the same host but the blob storage is on port 10000, without this it is impossible to test and debug a site in the emulator with combinator enabled.
from combinator.
@Piedone commented on Sep 5, 2014:
So you experience this when running the Azure Orchard solution, right?
from combinator.
rdobson commented on Sep 8, 2014:
Yes that's correct
from combinator.
@Piedone commented on Sep 8, 2014:
I'll need to think about this, I don't particularly like the usage of a dummy storage file. Wouldn't GetUri() be unneeded with the modification in #6 since then resource.AbsoluteUrl is already the correct URL of the resource?
from combinator.
rdobson commented on Sep 8, 2014:
I don't like the dummy storage file either (although it never actually ever exists), its the only way I could see of getting the base public uri for where the storage is (and thus where the combined content is served from), it would be cleaner is IStorageProvider exposed an extra method or maybe would work by passing null to GetPublicUrl.
In the azure solution everything stored using IStorageProvider is served directly from blob storage rather than the webrole itself which is were most of the problem occurs, the combinator does not seem to expect this to be the case, hence the additional check needed to check if it is, otherwise it wrongly maps resource urls breaking them.
from combinator.
@Piedone commented on Sep 8, 2014:
I see, but wouldn't resource.AbsoluteUrl contain the correct URL with the blob storage port already?
from combinator.
@Piedone commented on Sep 8, 2014:
With your modification from the other issue I mean?
from combinator.
rdobson commented on Sep 8, 2014:
Not for resources that are hosted in the webrole, without seeing where the cache files are hosted it tries to use uri.PathAndQuery for those which is not correct if the cache file is hosted outside of the webrole the urls become broken, its got nothing to do with ports at that point, the resources hosted on the webrole need to have absolute url's if the cache file is outside of the webrole, not relative ones.
from combinator.
rdobson commented on Sep 8, 2014:
To put it another way if there is a url quite legitimately of /Module/Styles/image.png it will stay as that in the blob cache file which would then be trying to reference http://storageaccount.blob.core.windows.net/Module/Styles/image.png rather than the correct url of http://www.website.com/Module/Styles/image.png.
from combinator.
Related Issues (20)
- Table "Piedone_Combinator_CombinedFileRecord" is locked in sql server HOT 5
- Combinator after clear cache freeze the server HOT 2
- Russian characters becomes "????" after compression HOT 3
- Combinator fails in Redis setup HOT 6
- Same js file gets included multiple times in the combined files HOT 19
- Extra phantom module listed in admin page HOT 4
- CDN configuration from the site general settings is ignored HOT 2
- Invalid URI: The hostname could not be parsed exception HOT 4
- Clustered sites behind load balancer HOT 1
- Project logo HOT 1
- Clear cache for a fresh deployment (COLI-1199) HOT 2
- File is being used by another process (COLI-1216) HOT 1
- Make sets of resources with shared-local mixed resource sets keep order
- Exclusion filters won't take effect with resource sharing if resource is already processed
- Convert relative URLs to absolute ones pointing to the site domain when processing font URLs
- Does not use the ToRootUrlString to ensure port numbers are correct HOT 8
- Bring back ExCSS
- Correctly handle font face sources
- [1.9.1] A tenant could not be started & null exception HOT 3
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 combinator.