File Upload Manager, using Memberhips & Roles

17 posts, 0 answers
  1. BSolveIT
    BSolveIT avatar
    49 posts
    Member since:
    Aug 2006

    Posted 18 Aug 2007 Link to this post

    Requirements

    RadControls version

    Q1 2007 SP2

    .NET version

    2.0

    Visual Studio version

    2005

    programming language

    VB.NET

    browser support

    All Supported Browsers


     
    PROJECT DESCRIPTION
    This is an update to a previous code library project I posted last year for securely handling file uploads from clients such that each client can only see their own folders and files, but users in the admin role can see all company folders and files.

    This version of the project has been enhanced to work with the ASP.NET memberships and Roles system, and also includes the MembershipManager user control from my previous code library project posting. 

    This project uses a SQL Server 2005 Express database for the Memberships & Roles, but the database isn't used for anything else.

    It currently has just 1 user in the database, with admin rights:
    username:  bsolveit
    password:  password

    You can create new users by following the link from the logon screen.

    Once logged in, users can upload files into their company folder which is automatically created using their company name.  They can use the context sensitve menu to rename, delete, or download files.  They can also create new folders.  Files can be dragged and dropped to different folders, or deleted by dragging into the recycle bin.

    Uploaded files will be saved either to the root folder, or any folder that is highlighted in the treeview prior to the upload.

    It's a simple, but fully functional application built using the following rad controls:

    rad ajax
    rad combobox
    rad grid
    rad tabstrip
    rad treeview
    rad splitter
    rad upload

    In order to successfully run the application, you will need to ensure that the ~/incoming folder has security set to allow full access to the NETWORK SERVICE account.

    If you have problems getting the application to access the database, ensure that the database folder (App_Data) security settings include the %machinename%\aspnet user with full access rights.

    If you have any questions about the application, or suggestions for extending it, please let me know.

    Regards
    Mark McNeece
    BSolve IT Limited
  2. Kyle Parker
    Kyle Parker avatar
    42 posts
    Member since:
    Jan 2007

    Posted 23 Aug 2007 Link to this post

    Mark,

    Great app - its helpful to see how the various Telerik controls can be integrated to create a fully-functional app with a nice interface.

    I do have a question for you...does this app support the ability to save the items to the database?

    Thanks,
    Kyle Parker
    Ball State University
  3. BSolveIT
    BSolveIT avatar
    49 posts
    Member since:
    Aug 2006

    Posted 23 Aug 2007 Link to this post

    Hi Kyle

    No it doesn't.  But you could easily extend/modify the application for that purpose if you wanted too.

    The reason I created the application in it's present form, is so that I could also FTP to the incoming folder using my favourite FTP client.

    Best Regards
    Mark McNeece
  4. Kevin Rolfe
    Kevin Rolfe avatar
    1 posts
    Member since:
    Nov 2007

    Posted 20 Nov 2007 Link to this post

    Hi Mark

    Excellent piece of coding.  I am particularly impressed with the level of detail with respect to the data model and your use of the dataset (.xsd).  I assumet hat this was built according to a spec / at least some user requirements, something which I always find rather interesting to understand is the translation of those requirements into the working program.  Do you have the spec / documentation and if so, would it at all be possible for you to post them?

    Regards,
    Kevin
  5. BSolveIT
    BSolveIT avatar
    49 posts
    Member since:
    Aug 2006

    Posted 20 Nov 2007 Link to this post

    Hi Kevin

    Thanks for your comments, very much appreciated.

    Your right, I did originally develop this as a result of a clients requirements.  I'm afraid it was just a very simple conversation with the client though.  The client had been thinking about running an FTP server in order to securely share files with his customers, but he was lacking the IT skills to maintain it.  He asked if I could develop a simple application that would allow his customers to upload files, and be able to see the files they've uploaded.  He said he didn't want any customer to be able to see files from any other customer, but that he should be able to see and access all files.

    That was about it I'm afraid.

    I put the application together really rather quickly after that, thanks to the rad controls, and tried to make it look pleasing to the eye.

    The first version of the application didn't make use of .NET memberships and roles though.  I had been building a new content management system (soon to be launched!) that required a module for easy admin of users and roles, so I built the memberships and roles control to fill that need.  Then I remembered that someone here had asked if I would do a version of the file upload application that worked with .NET memberships and roles, so I produced this version of the application.

    I now have several clients that use the application, which has been further enhanced to provide admin alerts when files are uploaded or downloaded, by whom, and when, etc.

    Further, because the application now uses the built in .NET memberships and roles, it integrates very nicely with my clients websites - it's the same membership database.  So users who register on the website, are instantly then able to use the file upload manager application.

    I'm sorry I can't be of any more help in terms of client requirements.  It's rare that I get anything formal along those lines.  At best, I normally just receive a bullet list of requirements.  It's then up to me to interview the relevant people to establish something more formal, which I may use as part of a formal proposal.

    Cheers
    Mark.
  6. losol
    losol avatar
    10 posts
    Member since:
    Aug 2004

    Posted 16 Jul 2008 Link to this post

     This looks like an excellent application, however I get this error message after installing and trying to run your application. Any suggestions? 

    Server Error in '/' Application.

    Compilation Error

    Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

    Compiler Error Message: BC30456: 'Company' is not a member of 'System.Web.Profile.DefaultProfile'.

    Source Error:

    Line 103:        End If
    Line 104:        If Not User.IsInRole("admin") Then
    Line 105: Dim rootFolder As String = Server.MapPath("~/incoming/" + Profile.Company + "/")Line 106:            Dim rootNode As New RadTreeNode(rootFolder)
    Line 107:            RadTree1.Nodes.Clear()

    Source File: C:\Documents and Settings\Losvik\Webhosting\Filer\files.traumacare.no\default.aspx.vb    Line: 105


  7. BSolveIT
    BSolveIT avatar
    49 posts
    Member since:
    Aug 2006

    Posted 16 Jul 2008 Link to this post

    Hi Ole

    It's looking for a Company name which should be saved in the users profile.  Check that the profile has been created, and that it contains data for the Company name.

    Cheers
    Mark
  8. losol
    losol avatar
    10 posts
    Member since:
    Aug 2004

    Posted 16 Jul 2008 Link to this post

    Thanks for your quick reply, Mark.

    I was looking into the data-file. The propertyvalue string for the only user in aspnet_profile is "MarkMcNeeceBSolve IT Limited" .

    How do i set in the companyname?

    Ole
  9. BSolveIT
    BSolveIT avatar
    49 posts
    Member since:
    Aug 2006

    Posted 16 Jul 2008 Link to this post

    The company name for that demo user is already set as "BSolve IT Limited".

    You should be able to login as that user and see everything working?

    Cheers
    Mark
  10. losol
    losol avatar
    10 posts
    Member since:
    Aug 2004

    Posted 16 Jul 2008 Link to this post

    I reinstalled the database file, and then it started to work. Possibly I did a mistake somewhere in my first installation. Now it works. Sorry for the inconvenience.
  11. BSolveIT
    BSolveIT avatar
    49 posts
    Member since:
    Aug 2006

    Posted 16 Jul 2008 Link to this post

    Hi Ole

    No problem at all.  Glad you got it working.

    Cheers
    Mark
  12. Srujal Shah
    Srujal Shah avatar
    1 posts
    Member since:
    Nov 2005

    Posted 09 Mar 2009 Link to this post

    Hi Mark - 
          Great work on this application.  Are you planning to put out version with "audit logs" features?  I would like to use this application for personal use to share pictures and files with my non-tech savvy friends.

    Thanks,
    Sam
  13. BSolveIT
    BSolveIT avatar
    49 posts
    Member since:
    Aug 2006

    Posted 10 Mar 2009 Link to this post

    Hi Sam

    I wasn't planning to do anything further with this application.  You should feel free to use it and extend it in any way that suits you though.  Adding a logging feature sounds like a really good idea!

    Cheers
    Mark
  14. Sheik Alavudeen
    Sheik Alavudeen avatar
    6 posts
    Member since:
    Apr 2010

    Posted 16 Jun 2010 Link to this post

    Hi,

    We downloaded your application and try to test with Latest RAD Controls "RadControls_for_ASP.NET_AJAX_2010_1_519". While building the application its showing errors :

    Error 4 Type 'RadTreeNode' is not defined. C:\Documents and Settings\cheerytech\Desktop\060482_UploadManager\UploadManager\uploadManager\default.aspx.vb 16 82 C:\...\UploadManager\

    Error 24 Type 'ContextMenuItem' is not defined. C:\Documents and Settings\cheerytech\Desktop\060482_UploadManager\UploadManager\uploadManager\default.aspx.vb 259 26 C:\...\UploadManager\

    Error 36 Type 'Telerik.WebControls.RadTreeNodeEventArgs' is not defined. C:\Documents and Settings\cheerytech\Desktop\060482_UploadManager\UploadManager\uploadManager\default.aspx.vb 313 67 C:\...\UploadManager\

    Error 48 Method 'Protected Sub RadTree1_NodeClick(o As Object, e As <unrecognized type>)' cannot handle event 'Public Event NodeClick(sender As Object, e As Telerik.Web.UI.RadTreeNodeEventArgs)' because they do not have a compatible signature. C:\Documents and Settings\cheerytech\Desktop\060482_UploadManager\UploadManager\uploadManager\default.aspx.vb 384 127 C:\...\UploadManager\


    Please suggest me. how to solve or convert to new version.
  15. BSolveIT
    BSolveIT avatar
    49 posts
    Member since:
    Aug 2006

    Posted 16 Jun 2010 Link to this post

    I'm afraid it wasn't written for the latest version of the controls, which of course have changed a lot since 2007.

    I'll try to make time to post a new version, using the lastest build of the controls.
  16. Farid Hayati
    Farid Hayati avatar
    17 posts
    Member since:
    Mar 2011

    Posted 06 Apr 2011 Link to this post

    Is there a newer version for latest controls?
  17. BSolveIT
    BSolveIT avatar
    49 posts
    Member since:
    Aug 2006

    Posted 06 Apr 2011 Link to this post

    I'm afraid there isn't at present.  Sorry.

    If I get time to create an updated version using the latest controls, I will post a comment about it on this thread.

    Regards
    Mark McNeece.
Back to Top