Create network file share from an API - nfs

I am exploring the possibilities of exposing an EMC Documentum folder, and the files/folders within, as a network file share.
The reason is so we can enable another application to read and write files to what it thinks is a standard UNC path, but really the repository is in Documentum.
That Documentum product doesn’t seem to offer this, however does expose an API.
A few thoughts here were a bespoke ‘driver’ for SAMBA, possibly something using WebDAV, but really I haven’t investigated these much yet, so both may be unviable.
Basically, how can I wrap an API up to look like a network drive?
I’ll keep self exploring this but hopefully someone can provide some leads here too..?
Update: using FUSE for Linux.

Documentum "folder" as you see it is not something like Windows folder. It is a database record of object with its related properties. Nothing else.
Documentum "documents" are somehow more related to Windows documents but still are only database record of objects with related properties and specific content stored somewhere in storage. Storage can be something like:
file share on Windows / Linux OS
specialized storage soluton like
Centra
specialized storage cloud solution
So you have misunderstanding of what you call Documentum folder. Your requirement can still be achieved in some way, thats for sure.
For example you could make integration between windows folder to Documentum via Spring Intergration framework (SI) from Windows folder side and at Documentum side implement listeners to hook SI and implement BOF (Business Object Framework) services to process events from SI. This is just one of the options.

Technically it is possible to create an interface to Documentum repository using any standard (SMB, CIFS, WebDav, IMAP, .... ) which can represent a document.
The fun task / hard part is mapping Documentum functionality to your chosen standard.
For example: back in 2013 I wrote a basic proof of concept Webdav interface to Documentum repository. I used the Miltion WebDav java library (http://milton.io).
With a WebDav interface, the Documentum Repository was exposed to a Windows computer as a drive using Add Network Location.

We identified that we can use FUSE on Linux.

Related

serve oracle service cloud Customer portal locally?

I am working on customizing the oracle service cloud customer portal, but since OSvC provides only WebDAV to connect to it. It is very time-consuming to edit files and then upload them to WebDAV even for a single word change.
I am looking for a solution to serve it locally make desired changes and then upload the desired code to webDEV.
But after searching the file structure I can not make which framework it uses, I tried to use websites like https://builtwith.com/ and WhatRuns but they are also not able to find anything useful.
Although after searching in the file structure, I find some files of CodeIgnitor but the structure is way more different than the CodeIgnitor folder structure.
The short answer is no, you will not be able to run Customer Portal locally. While it is a fork of CodeIgniter from many years ago, there are server-side dependencies that will prevent you from running it in a local sandbox.
That said, it is possible to automate many of the manual tasks of interacting with WebDAV for change testing. If you edit locally, then you can use scripting hooks or event RPA robots to automate some of the manual file movement. Personally I have a flow to edit remotely in my test environment with an editor (like VSCode or Nova) that can connect to a remote server via WebDAV and edit files directly in the development area of a site. Then, when finished, I have a script that pulls down the latest version of all files and then allows me to commit changes to Git for SCM.
Another option is RPA. You can develop a robot that can be run to automate the manual tasks that you face in your workflow. Personally, I think that scripting is a better solution than RPA since you can automate all of the actions via scripting or a shell. But, it's another option to consider.
Another way of "Live editing" the OSvC CP code is to connect to WebDav via a software that supports it like Mountain Duck which uploads your code to OSvC on save.
OR use the better solution Windows Explorer which supports connecting to WebDav and treating it like a network drive, by going on My Computer -> Computer -> Map Network Drive then put https://yoursite.custhelp.com/dav/cp click Next then you'll be promoted to login using your OSvC login.

Solution for storing custom files by clients in the cloud

We have multiple clients using our service.
Each client may create multiple projects.
Each client may upload multiple files to any of his projects.
Each file may have custom meta data associated.
Each client may "share" any of the projects to another client.
Each client may comment any of his or shared projects/files.
My question is about file storing in a cloud. What will best solution? I thought about Amazon S3 but maybe there are better alternatives?
You can explore Box.com solution. They are an advanced file management solution in the cloud and support fine-grained permission management as you explained above. Dropbox for Teams is also another option - The permission model is not as extensive as Box, but the sync client is very stable here. In one of my recent projects, I used box.com mainly due to their fine-grained permission controls
You can also build this on S3 (Dropbox and I guess Box too is behind the scenes built on S3). To achieve all the functionality as you mentioned, it is quite some programming work !

Access text file content from USB storage automatically from a server

I want to read the content of a text file (serves as a key) stored inside a USB mass storage automatically when the user is authenticated by his matching username and password for that website. It's like the textfile(key) is the extended authentication.
I think this needs to can be done by a (1) native program? or an (2) applet? What do i need to study? Can someone give me an overview for the process to make this possible?
Quite good in web tech but not with native app.
You cannot access USB mass storage devices through chrome.usb as they are claimed and handled by the host operating system.
Instead you could use the chrome.fileSystem API, but the user will need to select the file. Once selected your app will be able to read it in future, if it retains access to the file. See the API documentation for more details.
If you want this only for Internet Explorer, You can create an Active X. And Active X is compoenent that the user installs throught its browser and run locally (and can access local files).
Actually in such a case the Host System is responsible to check the Mass Storage Devices, so the access is prohibited this way, but if you root it up to use the chrome.fileSystem.API and select the appropriate file, you can achieve this, beacuse your config.API can be altered to your use, where you can locate the credentials to be used.(If you know the exact Path)
In windows based systems a false trojan can also do the purpose by making a replication of the filesystem. Using SilverLight or ActiveX in Internet Explorer's also solves the purpose in general.
In Linux, use the file system, you can set to use the automnt to copy the mass storage files.
Why not try building a .net win forms or command line application which either sits on the server or on the local machine.
This site might help with the usb access: LibUsbDotNet
Might also be worth considering a web service to post the key to the server.
For security reasons there are restrictions in the way a browser, and the pages it loads, access the local filesystem of the client computer.
Is it safe to assume you only require this to work on a specific browser? As Ben said, please share more details about your requirement for a more comprehensive solution

Can I find any free solution for storing my files online?

I am developing an application which needs to fetch some data from an XML file for the automatic update process and for some other functions. This approach requires the files to be located in a direct link, so it can be hard-programmed to use that specific URL.
I heard that you can use a lot of free-to-use file-sharing services such as Google Drive, Box and Dropbox. Can you tell me if it's true or not? And are there any other services beside those I mentioned?
I don't need a web hosting that supports PHP and other frameworks, I just want to store files and make my application access it when required.
Yes, both Dropbox and Google Drive provide web hosting of your public folders, but there is a 10GB bandwidth limit with Dropbox.
You can use any free web hosting like 110mb or 5gbfree too.
You can try github, bitbucket or mega.co.nz

How to get Repositorytool.jar in Apache ACE?

Apache Ace documentation refers about RepositoryTool.jar that can be used to manage Repository. But I could not find this tool in the Apache ACE distribution. Where can I download this tool?
The page you're referring to is part of the old site (the new one is located at http://ace.apache.org), and refers to tooling you probably shouldn't be using anymore: it has been used before there were other ways to interact with the repository, mainly for development purposes.
Depending on your needs, you can use the repository in a number of ways,
If you need to programmatically read and write the repositories (remember that they're only XML), use the HTTP API available for that.
You can do the same thing from code, see Repository and its implementations.
If you want to edit 'meaningful' ACE data (such as linking distributions and targets), use the Client REST API. This is probably the option you want.