220
Views
6
Comments
Creating a file management system
Application Type
Reactive

I need to create a file management system that allows users to upload and download files, and view them in a layout similar to the Windows File Explorer. Especially the big icon or tiles view.

Is there any existing block/forge/application that already does this which I could use?

The idea is to have this mini file management systems in my dashboard, where users can view the necessary documents and admin can upload the necessary documents. With a view format of a tile or big icon on windows file explorer.

2022-08-03 04-32-50
Ravi Punjwani

Hi Kadir,

Where are you planning to store the files?

UserImage.jpg
Kadir Aksu

Create an entity called Files/DataFiles where I can submit Binary Data and File Names which I will upload, perhaps an File Icon as well.

Once I have an initial framework on how to make it possible, adding features will be no problem.

2022-08-03 04-32-50
Ravi Punjwani

Well it is not going to end up so nicely as you expect.

Entities can store binary data but you can't rely on its performance when it comes to reading and writing, large volumes or frequent access.

Also the storage can prove very heavy as it may fill up the database too quickly. Accessing small and large binaries can be challenging in terms of speed of access. In my opinion, files are well served when stored as files only and not as a database field or some other format.

A better approach would be something like storing files on FTP/SFTP or Amazon S3.

There are already plugins which serve your purpose if you want to use FTP/SFTP. They also come with demo apps, just search about FTP on Forge.

UserImage.jpg
Kadir Aksu

Any good documentation on this? I'm not familiar with FTP.

The idea seems like i'm using some web service that stores the Files there, integrate that with my application and call the uploaded Files to my app?

I somehow need to configure a FTP integration with my app, then make it possible to download them from my app, also upload those files from my app.

Make a list with the files on my app and that's it?

They do ask me to give a host-name and so on, so I need to create a host based on my User of my app?

My app I have is multi-tenant, so the data/files I want to show can change from tenant to tenant, If I use a web service wouldn't it be difficult to manage the multi-tenancy? Do I then need to make a host for each tenant separately?


2022-08-03 04-32-50
Ravi Punjwani

Try this forge component and its demo app to do some tests at your end. It has a little documentation, limited to the features supported.
https://www.outsystems.com/forge/component-overview/59/extension-ftpwebrequest

The demo app will help you to see how you can download files from / upload files to FTP.

There are some other components also, but I'm not sure if they have any documentation. The demo is in Traditional Web app but you can use those features in reactive web too as you would only need server actions to be working well.

hostname and ftp user/pw all depend on where is your file server located. Do you want to create a FTP that supports your Outsystems users to keep? This might need some custom workaround because default FTP features work only on the FTP's user/pw available, and it allows access to only the configured areas as configred in your FTP server.

You might need some syncing for multi-tenancy and user level security as these are configured in Outsystems. You may need to manage shipping users list and their folders for a better security, and then use your Outsystem's users email / username to connect on FTP. This can help bring security leveled up in FTP for each of your Outsystems user.

UserImage.jpg
Arun Kumar

Hi Team,

Have anyone have implemented solution for showing the file management view from workdocs/S3 in outsystems.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.