Is there some kind of CMS or other server side software that can help me set up an app store?

The following are my requirements (in order of relative importance):

  • Allow external developers to create accounts and upload apps with descriptions etc. and most importantly allow collaboration (e.g. three people working on the same app, any of the devs will be able to edit the properties for that app).
  • Preferably free (both as in beer and as in speech), but this is not an absolute requirement.
  • Platform does not matter.

It should also be noted that these developers are external developers, I don't have any control over them. The problem with existing CMSes is that, the permission levels are not at all granular, forbidding the above stated case. Also, it seems with CMSes I've tried, a registered user will be able to edit other pages too (other than his own), which makes no sense for an app store.

Unlike what has been suggested in the comments, developing such a thing entirely from scratch isn't possible due to resource constraints.

  • Any CMS can do this. Could you add more details? (any other required features? on what kind of server do you want to install it? etc.) Did you already try some CMS? – unor Jun 24 '14 at 17:09
  • @unor, please have a look at the edited question. Thanks. – user2064000 Jun 25 '14 at 5:37
  • So the person which uploads the app should be able to decide which other registered users should have edit rights for this app’s page? Or should the site admin add additional editors to an existing app? – unor Jun 25 '14 at 9:44
  • @unor, the person who uploads the app gets to decide, not the admin. This is why existing CMSes don't work. Also see the edit. – user2064000 Jun 25 '14 at 11:06

You can accomplish this with the Web framework/CMS Drupal (License: GPL 2.0).


(You should choose the 7.x version, because 6.x won’t be supported for long after 8.x gets released.)

  1. Install Drupal core.
  2. Install the Node access user reference module (and the Entity reference module as a requirement).
    Don’t forget to enable the modules. See Drupal’s guide: Installing modules

Site building

  1. Create a content type "App". Each app will be represented by a node of this "App" content type.
  2. Add all fields to the "App" content type you need (for description, screenshot, etc.).
  3. Add a "Node access user reference" field, and make sure to select that referenced users will have the "Update" permission.
  4. Give registered users the permission to create "App" nodes.


When a registered user creates/edits an "App" node, he can add additional users in the "Node access user reference" field (with autocomplete). Those referenced users then have the permission to edit this app’s node, too.

Drupal’s documentation about the site building steps I mentioned:

  • for [1]: Create a custom content type:
    StructureContent typesAdd Content Type.
  • for [2]: Add a field to a content type:
    StructureContent typesAppMANAGE FIELDS and then go to the "Add new field" section where you can enter the field name (visible to editors) and the machine field name (needs to be unique). In the dropdowns, you select the field type you want ("Image" for a screenshot, "Long text" for a description, etc.).
  • for [3]: Follow [2]. The field type is probably "User reference" (or similar). When configuring the field in the following wizard, you should see the node access options.
  • for [4]: Users, roles and permissions:
    PeoplePermissions and select "App: Edit own content" for the role "authenticated user".

Note that we also have a Drupal Answers Stack Exchange.

  • Many thanks, but can you please explain 3. and 4. better? I'll mark this as accepted if you can edit your question to do so. – user2064000 Jun 25 '14 at 18:20
  • @user2064000: I edited my answer to include a short instruction (where to find the options in the administration area) and links to Drupal’s community documentation. – unor Jun 26 '14 at 6:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.