Giter VIP home page Giter VIP logo

dnncommunity / dnn.repository Goto Github PK

View Code? Open in Web Editor NEW
7.0 19.0 13.0 594 KB

DNN.Repository is a rich module used for managing and displaying rich collections of images, files, llinks, etc. on your DNN site. Includes user rating, comments, templating and skinning.

License: MIT License

JavaScript 0.62% CSS 1.84% C# 80.71% HTML 12.66% ASP.NET 4.17%
dnn dnncms dotnetnuke dnnplatform dnn-core-module hacktoberfest

dnn.repository's Introduction

DNN.Repository

DotNetNuke® Repository Module (RM)

The DotNetNuke® Repository Module (RM) can be used to store a collection of files, images, links or text on a server running the DotNetNuke® framework. While RM can simply be used as an enhanced Documents Module, it can also be used as much more. Through it’s use of a powerful and flexible template system to control the display and maintenance of items, you can use RM to provide file downloads to your visitors, or present a resource directory as a collection of links, or a collection of business cards to provide a business directory, or an image gallery or portfolio, or even a video library with an embedded inline video player.

RM is not limited to file uploads/downloads. You can even use RM for articles, news or a simple blog. The uses of RM are only limited by your imagination.

In addition to providing you with the ability to upload and download items, RM also provides a User Rating and Feedback system. You can decide if you want to allow your visitors to rate your items or enter comments on each item. RM also institutes a comprehensive security layer that allows you complete control over who can download, who can upload, who can rate or comment and where your items will be physically located on your web server.

Maintainer

This module is currently maintained by Ilpo Juvander @juvander , please coordinate with him regarding potential breaking changes and before any release.

Compatibility

Dnn Repository version Min Tested Dnn version Max Tested Dnn version
Included or 03.05.06 00.00.00 09.01.01
04.00.00 06.01.00 09.02.00
04.01.00 unkown 09.04.04
04.01.01 unkown 09.13.01
04.01.02 09.01.01 09.13.01

Building the module from source and submitting pull requests

  1. Install Dnn (latest stable version) from https://github.com/dnnsoftware/Dnn.Platform/releases
  2. Fork this repository to your own github account
  3. Clone your fork to the Dnn DesktopModules folder
  4. Important, the project name id Dnn.Repository, but the deployment directory is just Repository (more later)
  5. Build the project in release mode using Visual Studio, this will create the installable packages in the Install folder of Dnn.Repository folder
  6. Install one of the zip packages using the Dnn extension installer as any other module
  7. In Visual Studio, create a new branch to isolate your changes.
  8. In Visual studio, to test any changes, you need to build in debug mode, this will compile and copy all files from Dnn.Repository (the source code) to Repository (the deployment folder). To debug, use the attach to process feature and attach it to the w3wp process that matches the running site.
  9. Commit and push your changes with clear descritions, then in github, create a pull request from the branch you created to the Dnn.Community repository, again please add a good description of the changes. You can also mention issues with #issueNumber to automatically associate your pull request with existing issues.

dnn.repository's People

Contributors

cdg191 avatar eptamminga avatar juvander avatar stetard avatar valadas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dnn.repository's Issues

Cant add categories

When trying to add a category, nothing happens, the category is not creted

Error on download notification after module upgrade

Describe the bug

After upgrade the module from 3.5.6 to 4.1.1, the file download doesn't work anymore.

Software Versions

  • DNN: 09.13.00
  • Module: 04.01.01

To Reproduce

Steps to reproduce the behavior:

  1. Upgrade an old website using the 3.5.6 version to the 4.1.1
  2. Click on the download link for a file listed by an existing module (created with the old version)
  3. The error message is:
    [NullReferenceException: Object reference not set to an instance of an object.]
    DotNetNuke.Modules.Repository.Repository.SendDownloadNotification(RepositoryInfo objRepository)

Expected behavior

User should obtain the selected file when clicking on the download link.

error BC30469: Reference to a non-shared member requires an object reference.

Please summarize your question in one sentence

error BC30469: Reference to a non-shared member requires an object reference.

Give a more extended description

just upgraded from dnn 7.4.2 to 8.0.4.
got this error on repository:
Error: Repository is currently unavailable. DotNetNuke.Services.Exceptions.ModuleLoadException: C:\inetpub\wwwroot\JAGUWebsite\DesktopModules\Repository\Repository.ascx(2): error BC30469: Reference to a non-shared member requires an object reference.

it was originally repository version 3.5.6, but upgraded to repository v4.0 then 4.1 to no avail (still same error above).
i uninstalled repository module
and installed version 4.0 again, but still get same error when adding new module to a page.

Steps to reproduce (if needed)

uninstall repository module - install brand new repository module version 4.0

Other comments or remarks

When is the next version of the Repository module due to be released?

##Q.
When is the next version of the Repository module due to be released?

##Summary
The Latest Repository module (v4.0 at time of writing) claims to be tested in up to version 9.2 of DNN. Is the Repository module still supported?
Are there any plans to get this working in future DNN versions? (as DNN 9.2 was released quite a while ago in Oct 2018).

Has anyone tested version 4.0 of the Repository module in later versions of DNN beyond 9.2?

thanks.

Steps to reproduce (if needed)

I tried v4.0 with DNN 9.3 and it didn't work. Maybe it didn't work because of the order i tried things...? I initially had Repository v3.5.6 with DNN 9.1 which worked, then I upgraded DNN to 9.3 before upgrading the Repository to v4.0

Other comments or remarks

So I was wondering if anyone has had any better luck with any DNN versions beyond 9.2?

Breaking change to [URLCONTROLFILE] used on Repository Skin

Description of the bug

After successfully upgrading from DNN9.1.0 to DNN9.2.0 a page with the repository module works fine to display and view the resources in the repository. On clicking the Upload button the error messages is displayed.

Software Versions

  • DNN: 09.02.00
  • Module: 04.00.00

To Reproduce

Steps to reproduce the behavior:

  1. Go to 'repository page'
  2. Click on 'Upload button'
  3. See error Object reference not set to an instance of an object.

Expected behavior

The DNN /ctl/userupload/mid/416 page should be displayed with a form that uses the [URLCONTROLFILE] to chose the link type to the file needed to be uploaded or URL using the standard DNN [URLCONTROLFILE].

This bug is only presenting with the Repository Skin is using the [URLCONTROLFILE] instead of the common [FILE] attribute.

Screenshots

If applicable, add screenshots to help explain your problem.

image

The page working in DNN9.1.0

image

Error showing in DNN9.2.0

Error log

The error is not showing on the Admin Logs

Additional context

The [URLCONTROLFILE] is needed to harness the use of Azure Folder the repository root folder.

Repository Skin Form

<table class="normal"  cellspacing="0" cellpadding="4">
	<tr height="40">
		<td class="Head" valign="top">[LABEL:Header]</td>
	</tr>
	<tr>
		<td class="normal" valign="top">[LABEL:NoModerationRequired][LABEL:ModerationRequired]<br />
			<br />
		</td>
	</tr>
	<tr>
		<td class="normal">
			<table class="SubHead" width="100%" cellspacing="0" cellpadding="0">
			<tr style="padding-bottom: 8px;">
					<td align="left" valign="top" width="150">[DNNLABEL:Categories]</td>
					<td align="left" valign="top">[CATEGORIES]</td>
				</tr>
				<tr style="padding-bottom: 8px;">
					<td align="left" valign="top" width="150">[DNNLabel:ATTRIBUTES]</td>
					<td align="left" valign="top">[ATTRIBUTES]</td>
				</tr>
				<tr style="padding-bottom: 8px;">
					<td align="left" valign="top" width="150">[DNNLABEL:Title]</td>
					<td align="left" valign="top">[TITLE]</td>
				</tr>
				<tr style="padding-bottom: 8px;">
					<td align="left" valign="top" width="150">[DNNLABEL:FileName]</td>
					<td align="left" valign="top">[URLCONTROLFILE]</td>
				</tr>				
			</table>
			<br />

		</td>
	</tr>
</table>
<div class="row">
				<div class="col-xs-12">
					
						[DNNLABEL:Description]<br />
						[DESCRIPTION]

				</div>
			</div>
			
	<div class="row">
				<div class="col-xs-12">					
			[LABEL:Guidelines]<br />
			[UPLOADBUTTON]&nbsp;[CANCELBUTTON]&nbsp;[DELETEBUTTON]<br />
	</div>
			</div>

Merge datalayer .dll with main .dll

For an easier deployment, the datalayer project should be merged with the main project for an easier deployment. If the module does not have complicated stored procedures, the datalayer can be easily converted to Dal2 (to be seen)...

Repository module icon is missing

Describe the bug

The module icon is missing when inserting the module:

Software Versions

  • DNN: 09.04.04
  • Module: 04.00.00

To Reproduce

Steps to reproduce the behavior:

  1. Go to Install the repository module 4.0.0
  2. Try to insert the module on a page
  3. Notice the missing icon

Expected behavior

Should have a module icon

Screenshots

image

show my email address - in Repository Module

Please summarize your question in one sentence

"Show my email address" - in Repository Module doesn't actually show my email address in the list

Give a more extended description

in the Repository module there is a field to display the author's email address and a checkbox which says: "show my email address". My email address is shown in the form, but not displayed in the actual repository list.

Whether or not, I check this box - my email address or any other user's email address are ever shown in the Repository list.

I've tried several different templates and can see that the label which displays the email address in the 'form.html' file is [AUTHOREMAIL].

I've opened the 'template.html' file and the label/field [AUTHOREMAIL] is there, but it fails to display email addresses in the Repository list. It's just blank.

Steps to reproduce (if needed)

  1. create a Repository module,
  2. Select any of the following repository templates: Default, Nifty, Metro, Articles, Directory
  3. Create a new Repository item,
  4. Enter an email address in the email field and tick the box: 'show my email address'
  5. Does the email address show in the Repository list (to end users)? - for me - it does not show here. (It only shows in the actual form when you edit the item).

Other comments or remarks

Tested in Repository version 3.5.6 and v4.0
Tested in DNN versions: 7.4.2 , 8.0.4 , 9.1.1 and 9.2.2
(same results in all versions)

4.1.0 issues javascript console error

Describe the bug

Browser gives console error message that attachEvent is not a function in line 29 of pngfix.js
window.attachEvent("onload", correctPNG);

Error message goes away when you change line 29 to:
window.addEventListener("onload", correctPNG, false);

Software Versions

  • DNN: 09.08.00
  • Module: 04.01.00
    Firefox 82.0.3

To Reproduce

Steps to reproduce the behavior:

  1. Place Repository module on page
  2. Press F12
  3. Click Console tab
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.
No error should be thrown in browser

Server cannot set content type after HTTP headers have been sent

Describe the bug

Seeing this exception after downloading file from repository in the logs:

2018-11-12 09:45:14,514 [RD00155D56612F][Thread:40][FATAL] DotNetNuke.Framework.PageBase - An error has occurred while loading page.
System.Web.HttpException (0x80004005): Server cannot append header after HTTP headers have been sent.
at System.Web.HttpResponse.AppendHeader(String name, String value)
at System.Web.HttpResponseWrapper.AddHeader(String name, String value)
at System.Web.Helpers.AntiXsrf.AntiForgeryWorker.GetFormInputElement(HttpContextBase httpContext)
at System.Web.Helpers.AntiForgery.GetHtml()
at DotNetNuke.Framework.ServicesFrameworkImpl.RegisterAjaxAntiForgery(Page page)
at DotNetNuke.Framework.PageBase.OnPreRender(EventArgs e)
at DotNetNuke.Framework.DefaultPage.OnPreRender(EventArgs evt)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
2018-11-12 09:45:14,526 [RD00155D56612F][Thread:40][FATAL] DotNetNuke.Web.Common.Internal.DotNetNukeHttpApplication - System.Web.HttpException (0x80004005): Error executing child request for /site/ErrorPage.aspx. ---> System.Web.HttpException (0x80004005): Server cannot set content type after HTTP headers have been sent.
at System.Web.HttpResponse.set_ContentType(String value)
at System.Web.UI.Page.SetIntrinsics(HttpContext context, Boolean allowAsync)
at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
at System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm)
at System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm)
at System.Web.HttpServerUtility.Transfer(String path)
at DotNetNuke.Framework.PageBase.OnError(EventArgs e)
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

On DNN8 file still gets downloaded, but on DNN9.2.2 this download gets stuck and never finishes

Software Versions

  • DNN: 8 & 9.2.2
  • Module: 04.00.00

To Reproduce

Steps to reproduce the behavior:

  1. Downlaod any file from repository

Module does not work when upgrading

The module does not work when upgrading from the latest published release.

Probably need to run a cleanup script upon installation to remove old artifacts (dataprovider dll, etc.)

Incorrect noimage path when initializing the module folder

Describe the bug

The picture noimage.jpg is copied into a bad location due to a syntax error in the code.

Software Versions

  • DNN: 09.13.00
  • Module: 04.01.01

To Reproduce

Steps to reproduce the behavior:

  1. Add a Repository module on a page
  2. Upload a file in the module without specific image
  3. Default image doesn't appear

Expected behavior

The default image should be displayed for files without specifics images.

Upgrade DNN dependencies

This module currently targets DNN 9.1.1 and some webcontrols in DotNetNuke.UI.WebControls that we only have a DLL for and no source code. Those controls may disappear from DNN in the future without a good ability to announce deprecations about them.

In addition to that, the dashboard view is pretty broken right now and may need a larger effort to bring back to life. See #51

@juvander are you still willing to maintain this module ?

@stetard would you like to tackle some of this ?

I am happy to help anyone who would like to tackle any of this but as I don't use that module, I don't plan on doing all of this myself as I don't have a great test bed or experience with the module.

If anyone intends to help on that, let me know and we can do it together in our co-coding sessions or similar.

Breaking change regarding the files storage location

Describe the bug

After upgrade the module from 3.5.6 to 4.1.1, customized file downloads are using to a bad location.

Software Versions

  • DNN: 09.13.00
  • Module: 04.01.01

To Reproduce

Steps to reproduce the behavior:

  1. Upgrade an old website using the 3.5.6 version to the 4.1.1
  2. Click on the download link for a file listed by an existing module (created with the old version)
  3. The error message is: [FileNotFoundException: Could not find file 'C:\Website\Portals\0\Repository...

Expected behavior

User should obtain the selected file when clicking on the download link.

Additional context

This problem occurs when the file storage location have been customized with an old Repository module version.
In this cas, the correct path is 'C:\Website\Portals\0\Download...' instead of the default ''C:\Website\Portals\0\Repository...'.

Building in release mode generates multiple warnings

Building in release mode with the code taken from codeplex generates a lot of warnings, for instance many functions return an object type instead of a string or other specific type, which could cause issue when trying to convert the project to c# using conversion tools. This should be fixed before trying to convert to c#

repository not working properly in Chrome with filelist skin(works in all other browsers)

Describe the bug

repository not working properly in Chrome with filelist skin(works in all other browsers)
the dashboard works
the repository list objects change on dashboard selection but the downloadable files associated with an object will not change. The downloadable files seem always stay the same as the initial page load.

Software Versions

  • DNN: 9.6.1 and 9.3.2
  • Module: 4.0 and 4.1

To Reproduce

Steps to reproduce the behavior:

  1. Go to https://das.ohio.gov/Divisions/General-Services/Asset-Management-Services/Certification/2020-Certification-Reports
  2. Click on any one of the reports
  3. Scroll down to repository and select download link for one of the reports
  4. See error

Expected behavior

download link should match report

Screenshots

If applicable, add screenshots to help explain your problem.
image

Error log

Note: Debug DLL's
Please replace the current extension DLL's with the debug DLL's (if these are available with the release) and reproduce the error with the debug DLL's before pasting the error log.

Paste the error log that is related to this issue.

Additional context

Add any other context about the problem here.

Error adding dashboard module to page

Describe the bug

Hello, I'm getting an error as soon as I add a repository dashboard module to the same page where I just configured a new repository module.
Modules do not show up on page, and in the log I find the error:

InnerMessage:Riferimento a un oggetto non impostato su un'istanza di oggetto. InnerStackTrace: in DotNetNuke.Modules.Repository.Helpers.SetRepositoryFolders(Int32 ModuleId) in DotNetNuke.Modules.Repository.RepositoryDashboard.Page_Load(Object sender, EventArgs e) in System.Web.UI.Control.OnLoad(EventArgs e) in DotNetNuke.Entities.Modules.PortalModuleBase.OnLoad(EventArgs e) in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Software Versions

  • DNN: 9.7.2
  • Module: 4.1.0

To Reproduce

Steps to reproduce the behavior:

  1. Add a new repository module to a blank page, configure it
  2. Add a new repository dashboard module to the same page

Expected behavior

Modules show on page.

Additional context

The DNN site is new and has content localization enabled. I get the error both if I localize the page and if I set it to neutral language.

Replace deprecated API calls

The module uses multiple deprecated APIs, those calls need to be replaced for the module to work on Dnn 9.2.x

Module has no build scripts

Building the module in release mode does not generate an install package (it was done by vsts in CodePlex before)

Search will open the Upload Page if user presses Enter instead of Go

Hi!
First of all thank you for the awesome module. I am using it in 3 different places on my Intranet! Today I had a user complain about the search being broken and I couldn't reproduce the problem. Then he sent me a screen recording and I was like oh I never noticed. I think this is a bug but it might be by design. If the user presses enter in the search field instead of seeing the search results he is taken to the Upload page.

Software Versions
DNN: Platform 9.9
Module: V 4.1

To Reproduce: Input text in the Search field and instead of pressing Go hit enter. You will then be taken to the Upload page.

Expected Behavior: If a user presses enter the search results will display.

Workaround: I disabled the enter option in the Header in all of the templates.

<script type="text/javascript"> window.addEventListener('keydown',function(e){if(e.keyIdentifier=='U+000A'||e.keyIdentifier=='Enter'||e.keyCode==13){if(e.target.nodeName=='INPUT'&&e.target.type=='text'){e.preventDefault();return false;}}},true); </script>

Backup and restore to a new location throws off repository

Hi,

We have a Repository in a test location where the files were uploaded; everything works fine. We did a backup and restored it to a new location for our production area but everything seems off when we use the categories or sort options. The file downloaded is incorrect as if it is not in the referenced location when sorted. When downloaded by going to the actual page the right file is downloaded. Any idea how to resolve this?

Files downloaded have extra data appended to the end of them

Describe the bug

Downloading a file with append extra data pertaining to the website to the end of the file.

Software Versions

  • DNN: 09.11.02
  • Module: 04.01.00

To Reproduce

Steps to reproduce the behavior:
Upload a file that is X bytes long.
Verify the file is still X bytes long in the DNN file system.
Download the file from the public facing UI. The file is larger, sometimes significantly larger, than the original file.
If you examine the file, you'll see there is data appended to the end of the file, looking like it's from the website itself.

Expected behavior

The download should be identical to the upload.

Screenshots

If applicable, add screenshots to help explain your problem.

Error log

Note: Debug DLL's
Please replace the current extension DLL's with the debug DLL's (if these are available with the release) and reproduce the error with the debug DLL's before pasting the error log.

Paste the error log that is related to this issue.

Additional context

I intend to submit a pull request for it. The problem is in StreamFile in Helper.cs

repository 4.1 - PDFs files corrupt

We have just upgraded our repository module from 4.0 to 4.1 (and upgraded DNN too) and most of our PDF documents failed to open.

we got an Adobe error saying:
"There was an error opening this document. The file is damaged and could not be repaired"

Some PDFs did open (after a repair) but most did not.

We are on DNN 9.6.1 ( we have recently done several upgrades from 7.4.2 but have been checking all modules along the way and the Repository did appear to work in other DNN versions but that was probably only version 4.0 of the repository which fully worked.

Software Versions

  • DNN: 9.6.1
  • Module: Repository v 4.1

To Reproduce

Steps to reproduce the behavior:

  1. Go to version 9.6.1
  2. upgrade repository 4.1
  3. download a few PDFs
  4. See error - There was an error opening this document. The file is damaged and could not be repaired"

Expected behavior

Adobe may try to repair the file before opening

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.