DNN Forums

Ask questions about your website to get help learning DNN and help resolve issues.

File references 404 unless uploaded through Site Assets

 47 Replies
 2 Subscribed to this topic
 40 Subscribed to this forum
Sort:
Page 3 of 5 << < 12345 > >>
Author
Messages
Veteran Member
Posts: 1246
Veteran Member
MVP
MVP
You're an MVP!
Are files like that part of a module that you've created? Tell me more about how they loaded/ignored?

Also can you verify that the files are there? You shouldn't be able to see them in the DesktopModules folder, as Global Assets only shows /portals/_default.

Have you created a /portals/_default/DesktopModules folder and placed files there. If they are part of a module, those files should live in /DesktopModules in the folder appropriate to the module in question.
Growing Member
Posts: 39
Growing Member

I first discovered the issue when updating a module, then realized it affected any file uploaded outside of Site Assets.

The files I was able to sync were not part of modules I created, they were some other supporting files affected by the issue after its discovery. For example, a few jpg files used by DNN's default CKEdit HTML module.

For loading, there are two methods: I either drop them into the directory with FileZilla if they are not part of a module, or if they are part of a module they're added automatically by installing the .zip through Extensions. In all cases they are 404'd when referenced or, if they are an update to an existing file, the old version stays loaded. I think in all cases these are html references using < script > or < img >. One case of using a third party module called HTML direct to load and render an .html file directly by providing its path and that had the same behavior: ignored updates to the currently used file, 404'd newly added files.

I can verify the files are there, I've checked on them with FileZilla and the azure scm. Currently modules are installing to /site/wwwroot/DesktopModules/ and their scripts go one more down into /Scripts.

I don't have a /portals/_default/DesktopModules folder, the extension installation process has always dropped them into /site/wwwroot/DesktopModules instead.

Veteran Member
Posts: 1246
Veteran Member
MVP
MVP
You're an MVP!
I've gone about as far as I can go with suggestions. If you would like for me to take a look at your site, use the Contact form at patapscoresearch.com.
Growing Member
Posts: 39
Growing Member

Thanks Joe, I greatly appreciate all of your help and suggestions.

Growing Member
Posts: 39
Growing Member

Returning to this issue with some new information:

My impression currently is the issue is being cause by the website install using its database as the end-all, be-all for what files are truly "on" the system. It explains why using FTP or Azure SCM to upload files doesn't work (not in the database), but putting them through Site Assets or Syncing Site Assets does.

Additionally, I installed a brand new extension today (as opposed to what was causing problems in the past, module updates) and:

1) As expected, parts of it 404'd but

2) The module and its contents exist nowhere in the system. Not in /DesktopModules, not anywhere. It is only registered in the Database in the DesktopModules table.

I confirmed 2 by doing a recursive search over the entire root folder for the module name and found nothing. Normally, I'd expect it to drop into /DesktopModules/ModuleName. Not to beat a dead horse, but I hope this might narrow down the cause of the issue or present some additional avenues to fix it.

Advanced Member
Posts: 132
Advanced Member
Helpful Replier
Helpful Replier
Thanks for being such a helpful replier!
MVP
MVP
You're an MVP!
2 Engaged Reader
Engaged Reader
You are an engaged reader!
Avid Reader
Avid Reader
Avid Reader art thou!
Can you post your manifest file to show us how you are actually packaging this for installation?

Nothing file-system related should impact you for these
Growing Member
Posts: 39
Growing Member

I've been using Christoc's Visual Studio compiled module template for as long as I have been developing modules, and it's never given my any problems in the past. 

Here's what I assume is the manifest file (not too keen on the grittier parts of this so if I'm wrong point me in the right direction) - it's worth noting this issue isn't exclusive to extensions, but it's affecting them the worst:

edit: Well, trying to get it to post in a way where the formatter doesn't remove all my tags

For what it's worth, the module install works on my local test environment.

[code]

<  dotnetnuke type="Package" version="5.0">
  <  packages>
    <  package name="DPDashModule" type="Module" version="00.00.01">
      <  friendlyName>DPDashModule<  /friendlyName>
      <  description>John Smith DPDashModule module<  /description>
      <  iconFile>~/Images/icon_extensions_32px.png<  /iconFile>
      <  owner>
        < name>John Smith< /name>
        < organization>John Smith< /organization>
        < url>website.org< /url>
        < email>John [email protected]< /email>
      < /owner>
      < license src="License.txt">< /license>
      < releaseNotes src="ReleaseNotes.txt">< /releaseNotes>
      < azureCompatible>true< /azureCompatible>
      < dependencies>
        < dependency type="CoreVersion">07.00.02< /dependency>
      < /dependencies>
      
      < components>
        < component type="Script">
          < scripts>
            < basePath>DesktopModules\DPDashModule< /basePath>
            < script type="Install">
              < path>Providers\DataProviders\SqlDataProvider< /path>
              < name>00.00.01.SqlDataProvider< /name>
              < version>00.00.01< /version>
            < /script>
            < script type="UnInstall">
              < path>Providers\DataProviders\SqlDataProvider< /path>
              < name>Uninstall.SqlDataProvider< /name>
              < version>00.00.01< /version>
            < /script>
          < /scripts>
        < /component>

        < component type="ResourceFile">
          < resourceFiles>
            < basePath>DesktopModules/DPDashModule< /basePath>
            < resourceFile>
              < name>Resources.zip< /name>
            < /resourceFile>
          < /resourceFiles>
        < /component>

        < component type="Module">
          < desktopModule>
            < moduleName>DPDashModule< /moduleName>
            < foldername>DPDashModule< /foldername>
            < businessControllerClass>RTI.CRIDPDashModule.Components.FeatureController, DPDashModule< /businessControllerClass>
            < supportedFeatures>
              < supportedFeature>IPortable< /supportedFeature>
              < supportedFeature>ISearchable< /supportedFeature>
              < supportedFeature>IUpgradeable< /supportedFeature>
            < /supportedFeatures>
            < moduleDefinitions>
              < moduleDefinition>
                < friendlyName>DPDashModule< /friendlyName>
                < defaultCacheTime>0< /defaultCacheTime>
                < moduleControls>
                  < moduleControl>
                    < controlKey />
                    < controlSrc>DesktopModules/DPDashModule/View.ascx< /controlSrc>
                    < supportsPartialRendering>False< /supportsPartialRendering>
                    < controlTitle />
                    < controlType>View< /controlType>
                    < iconFile />
                    < helpUrl />
                    < viewOrder>0< /viewOrder>
                  < /moduleControl>
                  < moduleControl>
                    < controlKey>Edit< /controlKey>
                    < controlSrc>DesktopModules/DPDashModule/Edit.ascx< /controlSrc>
                    < supportsPartialRendering>False< /supportsPartialRendering>
                    < controlTitle>Edit Content< /controlTitle>
                    < controlType>Edit< /controlType>
                    < iconFile />
                    < helpUrl />
                    < viewOrder>0< /viewOrder>
                    < supportsPopUps>True< /supportsPopUps>
                  < /moduleControl>
                  < moduleControl>
                    < controlKey>Settings< /controlKey>
                    < controlSrc>DesktopModules/DPDashModule/Settings.ascx< /controlSrc>
                    < supportsPartialRendering>False< /supportsPartialRendering>
                    < controlTitle>DPDashModule Settings< /controlTitle>
                    < controlType>Edit< /controlType>
                    < iconFile />
                    < helpUrl />
                    < viewOrder>0< /viewOrder>
                  < /moduleControl>
                < /moduleControls>
              < /moduleDefinition>
            < /moduleDefinitions>
          < /desktopModule>
          < eventMessage>
            < processorType>DotNetNuke.Entities.Modules.EventMessageProcessor, DotNetNuke< /processorType>
            < processorCommand>UpgradeModule< /processorCommand>
            < attributes>
              < businessControllerClass>RTI.CRIDPDashModule.Components.FeatureController, DPDashModule< /businessControllerClass>
              < desktopModuleID>[DESKTOPMODULEID]< /desktopModuleID>
              < upgradeVersionsList>00.00.01< /upgradeVersionsList>
            < /attributes>
          < /eventMessage>
        < /component>
        < component type="Assembly">
          < assemblies>
            < assembly>
              < name>DPDashModule.dll< /name>
              < path>bin< /path>
            < /assembly>
          < /assemblies>
        < /component>
      < /components>
    < /package>
  < /packages>
< /dotnetnuke>

[/code]

Advanced Member
Posts: 132
Advanced Member
Helpful Replier
Helpful Replier
Thanks for being such a helpful replier!
MVP
MVP
You're an MVP!
2 Engaged Reader
Engaged Reader
You are an engaged reader!
Avid Reader
Avid Reader
Avid Reader art thou!
Have you checked the contents of your resources.zip file to see that the items are in there?
Growing Member
Posts: 39
Growing Member

Yes, they're present locally on my PC and they're present on my localhost where I do test installs. My impression is that my problem site is running the module install process and writing the correct contents to the DB, but not putting the files anywhere.

My guess is the reverse happens when I upload files through FTP: they're present in the directory but since they aren't in the DB, they're ignored. Or if I update old files the updates are similarly ignored as their contents have not changed in the DB.

The module view is visible fine on my site, and I can even fix the "broken" .js problem by taking my script and uploading it through SiteAssets and redirecting my View to it there, but it's not as easy for other references in the code.

 

Advanced Member
Posts: 132
Advanced Member
Helpful Replier
Helpful Replier
Thanks for being such a helpful replier!
MVP
MVP
You're an MVP!
2 Engaged Reader
Engaged Reader
You are an engaged reader!
Avid Reader
Avid Reader
Avid Reader art thou!
Are you 100% sure that you are getting a "success" for the install of the module via "INstallat Extension".

It sounds to me like it is failing, which will revert the files.
Page 3 of 5 << < 12345 > >>

These Forums are for the discussion of the open source CMS DNN platform and ecosystem.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. If you have (suspected) security issues, please DO NOT post them in the forums but instead follow the official DNN security policy
  2. No Advertising. This includes the promotion of commercial and non-commercial products or services which are not directly related to DNN.
  3. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  4. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  5. No Flaming or Trolling.
  6. No Profanity, Racism, or Prejudice.
  7. Site Moderators have the final word on approving / removing a thread or post or comment.
  8. English language posting only, please.

Would you like to help us?

Awesome! Simply post in the forums using the link below and we'll get you started.

Get Involved