Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom tabs for projects in web ui #1199

Open
pgaskin opened this issue Mar 10, 2017 · 18 comments
Open

Custom tabs for projects in web ui #1199

pgaskin opened this issue Mar 10, 2017 · 18 comments
Labels
issue/confirmed Issue has been reviewed and confirmed to be present or accepted to be implemented type/feature Completely new functionality. Can only be merged if feature freeze is not active.

Comments

@pgaskin
Copy link
Contributor

pgaskin commented Mar 10, 2017

It would be nice to be able to add custom tabs to the web ui, because then people can link to important places and have it fit in with the rest of the ui. There should be an option to have it be an iframe (for integration), or a standard link.

@pgaskin pgaskin changed the title Custom tabs in web ui Custom tabs for projects in web ui Mar 10, 2017
@lunny lunny added the type/feature Completely new functionality. Can only be merged if feature freeze is not active. label Mar 10, 2017
@lunny lunny added this to the 2.x.x milestone Mar 10, 2017
@lunny
Copy link
Member

lunny commented Mar 10, 2017

It should be not very difficult to implement I think.

@pgaskin
Copy link
Contributor Author

pgaskin commented Mar 10, 2017

@lunny Where would the data be stored? I am not familiar with that part of gitea yet,

@Fastidious
Copy link

Did someone wrote iframe? Dear lord! So, @geek1011, you are asking that Gitea becomes like WordPress, a bookmark manager, or a Portal, right? While you are at it, may as well add a bulletin board, chats, blogs, etc. 😝 .

I give this one a 👎 .

@lunny
Copy link
Member

lunny commented Mar 19, 2017

I think we need a plugin system. a plugin could setup a tab on the repository and user could chose repository should use which tabs. Code, Issues, Wiki and etc. could be as basic tabs.

@zhv9
Copy link

zhv9 commented Oct 14, 2017

I think you can try this:
https://docs.gitea.io/en-us/customizing-gitea/

@lunny
Copy link
Member

lunny commented Oct 15, 2017

@zhv9 That's not the same thing.

@lunny
Copy link
Member

lunny commented Oct 15, 2017

Currently, if a repo is in an organization, you could define which Unit you want and you also could give it to some team. maybe this is what's you want? @geek1011

@Morlinest
Copy link
Member

@lunny I think he wants to add new tab with custom name (same as code, issues, pr, ...) as bookmark to other page or to be able to load that page to iframe inside that tab. So when you click on tab, it will show you page from from another url (maybe tables, graphs, map, ...).

@bkcsoft
Copy link
Member

bkcsoft commented Oct 15, 2017

But why? That is literaly what the Wiki is for... 😒

@OmarAssadi
Copy link
Contributor

Wouldn't mind having the ability to link to page (e.g., adding a forum tab or something like that to a project). But, personally, I wouldn't want an iframe option.

@daviian
Copy link
Member

daviian commented Oct 20, 2017

IMHO I am against that feature as @bkcsoft mentioned the existing wiki.
However we should definitely work on a plugin architecture to enable such customization.

@AlbertoGP
Copy link
Contributor

Hi, I could use a feature like this or even better the plugin system discussed in other issues (linked below).
This is a long comment, written as I considered a couple of approaches, and ends with a pull request (#3308 Templates for extra links in top navbar and repo tool tabs.) that to me seems to fix both this issue and #2115.

I'm writing a tool as a single-page web application that uses the HTTP API.
I put that page under custom/public/ and then it works as if it was part of Gitea, without having to log-in separately or anything like that.
To have it accessible from the main interface, I've copied and modified the templates base/head.tmpl and repo/header.tmpl.
This works great but complicates installation and maintenance: every time I upgrade, I have to check that those template files did not change. If they do, I need to copy and modify the new ones.

Being able to add links to the navigation menus / tabs from the configuration would make such single-page web mini-applications dead simple. The link specification string would need placeholders for parameters such as the current repository full name: that's what I do in repo/header.tmpl for instance, to have my application fetch the correct repository data.

However, it should stop at plain links, not iframes because they bring all kind of problems. For the cases where we want to insert extra content in the interface, a plugin system that allows specifying additional routes to new templates is more useful. If I understand correctly, I can add new .tmpl files but they won't be loaded unless I modify the go code at https://github.com/go-gitea/gitea/tree/master/routers

I'm looking now at the templates, thinking what a configuration entry might look like, and I just realized that it would have some issues, particularly with i18n.
Could this be done by adding an empty template at the end of the tabs?
I mean something like {{template "repo/extra_tabs" .}} at https://github.com/go-gitea/gitea/blob/master/templates/repo/header.tmpl#L91 right before {{if .IsRepositoryAdmin}}, and {{template "base/extra_tabs" .}} at https://github.com/go-gitea/gitea/blob/master/templates/base/head.tmpl#L159

After a quick test it seems to work wonderfully, so I've made a pull request:
#3308 Templates for extra links in top navbar and repo tool tabs.

This also solves "Custom Routing / new Pages?! #2115", which asked about custom routing but just needed to add links to pages like "imprint" (German "Impressum", noting who is responsible for the site and other legalities) and "privacy policy". Those pages can be put under "custom/public/".

Related issues about the plugin system:

@lunny
Copy link
Member

lunny commented Jan 6, 2018

@AlbertoGP I would like a new tab type Link like others (i.e. Code, Issue) and repository owners could add one or more this tab on the repository. And External Issue Tracker and External Wiki could be removed sine they are both Link tabs.

@stale
Copy link

stale bot commented Feb 9, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions.

@stale stale bot added the issue/stale label Feb 9, 2019
@lunny lunny added issue/confirmed Issue has been reviewed and confirmed to be present or accepted to be implemented and removed issue/stale labels Feb 11, 2019
@warnat
Copy link

warnat commented Sep 14, 2020

so, this has been implemented here: #3308 ?
ready to close ?

@lunny
Copy link
Member

lunny commented Sep 15, 2020

@warnat If you mean custom template, it did.

@lunny lunny modified the milestones: 2.x.x, 1.x.x Jan 18, 2023
@lunny lunny removed this from the 1.x.x milestone Mar 20, 2023
@sebthom
Copy link

sebthom commented Jun 2, 2023

We also link to add custom tabs to repos. Unfortunately the approach using templates does not work for us as they can only be edited by system administrators. We want to allow repo managers to be able to add custom tabs, e.g. linking to external apps/resources etc. So it would be great if the repo settings could be extended so custom links can be registered.

@silkentrance
Copy link

@sebthom Why do you not just include a README.md and include these links there? Or enable the wiki and provide these links there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
issue/confirmed Issue has been reviewed and confirmed to be present or accepted to be implemented type/feature Completely new functionality. Can only be merged if feature freeze is not active.
Projects
None yet
Development

No branches or pull requests