yuki-kimoto / gitprep

Portable GitHub system into your own server
http://gitprep.yukikimoto.com/
912 stars 117 forks source link

improved flexibility in UI #159

Closed brainchild0 closed 4 days ago

brainchild0 commented 5 years ago

I deployed GitPrep recently. I had spent some time searching for a package that could run on a shared hosting platform (i.e. deplyed via CGI, or PHP), and still offer a feature set that includes a graphical interface, user management, and client access via HTTP authentication from the credentials managed internally, separate from the system users. As no other project appears to meet these criteria, I am very glad that I found GitPrep.

I first wanted to say that I am impressed in the feature set achieved by a small development team working to help the public.

I also wanted to suggest, however, that some simple enhancements in the flexibility of the interface might help address the privacy concerns of a wider variety of users.

Consider the following characteristics of the current user interface:

  1. The list of users is always visible to the public.
  2. Repositories can be hidden, but as long as a client correctly guesses a URL for a target repository, the system will confirm that the repository does exist.
  3. The SSH address is always shown to logged-in users.
  4. Public visibility is always the default for new repositories.
  5. Issues/Pulls/Wiki tabs are always shown for every repository.

I would suggest that many users would benefit from greater flexibility with respect to configuring these features.

If I want to deploy GitPrep on a shared host, where only one user has SSH access, with the intention to share some repositories with a small group of collaborators, and to restrict visibility into our activities by the public, then I would benefit from any of the following features:

  1. Site configuration option to hide user list from the public (or perhaps even from all non-admin users).
  2. Browsing to the web address of a private repository produces a message indicating that the repository does not exist (or, if you prefer, that it may exist but is not public).
  3. Site configuration option to hide SSH remote address.
  4. Site configuration option to make new repositories private by default.
  5. Repository settings to toggle visibility of various auxiliary tabs (issues, pulls, wiki, etc.), affecting all users and viewers of that repository. (Also possible site options for default values for new repositories.)
  6. Site configuration option to disable uploading of SSH key.

In an embedded application, a wider variety of use cases occur, compared to in a single-instance service, such as GitHub. I understand that the project was conceived as an interface with a GitHub look-and-feel, but it may be wise not to allow this vision to limit opportunities for improvement.

Zero3K commented 4 years ago

Any news regarding this issue?

yuki-kimoto commented 4 days ago

Patrly fixed.

https://github.com/yuki-kimoto/gitprep/pull/221