CMS or off-the-shelf community file sharing solutions

I want to create a community around the current iPhone application that I created. This will allow registered users to upload and download small configuration files or settings that are used in my application to configure functionality. These files are serialized plists (binary files about 500 bytes in size), but can be converted to JSON or XML format if necessary.

I do not need an external HTML interface; I plan that it can only be accessed through my application. Files do not have to be confidential or secure. I do not plan to store or request any personal user data - just a username and password.

I am looking for tips that can come close to my goals with minimal effort - I want to focus on the main functions of the application and have it as a stable function that I can add to the future, if it is useful. Of course, I would prefer FOSS, but there can be no commercial solution. Things like apis file sharing sites, login ideas, etc.

So, what software solutions exist there that I may not even suspect? I know that Drupal has modules that allow users to enter logins. Is there something that will not work as a web application, but as a service? Dropbox has file and API sharing, but I'm not sure I can use it the way I expect.

In short, I could code this, but would prefer a pre-baked solution that would deal with things that I might not have thought of. I am sure there must be something that I can use.

More details and what I plan to offer:

  • User registration via iPhone and everything that entails (it will code the user interface on its own - I just want the API to connect)
  • Viewing these files is quick and efficient (files were built with performance in mind, and this is a free application, so I would like to reduce the cost of the server)
  • Uploading your own files with multiple integrity checks
  • File rating
  • Collection of statistics on usage (files were most often downloaded), etc., to provide the ability to rank files by rating, popularity, etc.
  • Optional - sending revised versions of files (tree).
  • Optional, but preferable - user statistics (no uploaded files, perhaps a reward system for sharing)

I'm just not up to date with modern technologies and open source solutions. I have experience with SQL, a relational database, and built-in backends in Java, so there can be no question that a custom solution is out of the question. However, this was a while, I am not a safety expert, and would prefer not to reinvent the wheel for what is a fairly simple project, so a turnkey solution would be preferable.

+4
source share
3 answers

Check out www.parse.com! It is absolutely brilliant for such things.

+1
source

You can look at source version control systems like SVN or distributed systems like Mercurial or GIT. Both would be much better if the data were serialized to a text format such as JSON or XML, as you mentioned.

  • You will of course need registration.
  • Viewing files (including changes, of course) is quick and efficient. An interface can be implemented in several ways, even simulating a command line.
  • Uploading files, of course, will work, and the changes made will be stored as diff. Integrity checking can be performed, for example, by Mercurial plugins.
  • Evaluating files may not be possible directly if you do not want the inconvenient hack to include parsing change records or a plugin record.
  • Submitting revised versions of files will work as it would be the point of version control systems.
  • Some statistics are available in VCS.

This, to be honest, is a bit of a weird use of version control systems and not entirely elegant, but sometimes it is something new.

0
source

I suggest TikiWiki .

Pros:

  • Everything is ready to create a community. (See the link below for a list of functions).
  • This is foss
  • It has 200 active developers, so it really has a lot of impulses.

Minuses:

  • Many ready-made functions that he suffers from bloating functions. Configuration and initial setup can be difficult.
  • Actually not focused on mobile platforms.
0
source

Source: https://habr.com/ru/post/1393897/


All Articles