Project

General

Profile

Bug #5576

Hosting many repositories

Added by Craig Fairhurst 10 months ago. Updated 8 months ago.

Status:
Resolved
Priority:
High
Category:
Refine Design
Target version:
Start date:
14.12.2019
Due date:
14.01.2020
% Done:

0%

Estimated time:
4.00 h
Sorting:
10
Commit Number:
Affected Version:

Description

Hi

I have become used to RhodeCode Community Edition and was planning on theming it for my project. However, after us No the api to import tens of thousand of repositories it flagged an issue that is a concern for me and perhaps other users of hundreds of repositories.

The pagination used by RhodeCode loads the html/JavaScript for all repositories on the home page, leading to a 3-4 minute load time on each page visit.

I consider this a bug as it is impossible to use and feature wise needs updating, as well as to make the software work out of the box.

I’m going to try and help as best I can but will have to see if someone else can step in as my experience is limited.

Many thanks

History

#1 Updated by Marcin Kuzminski [CTO] 10 months ago

Hi Craig,

We're aware of this problem, however, it only affects setups in which all repositories are in the top-level. We have a few companies that have >10000 repositories managed by RhodeCode. In all those cases the repositories are kept in multiple nested repository groups. This offloads the first page from long rendering.

Any reason you cannot break down your repositories into such a structure? Having it all in the root level makes it almost impossible to browse effectively anyway.

That said, we're still having a ticket somewhere to introduce server-side pagination to make it faster, this would be quite simple afair, and the top requirement for that feature is already implemented in upcoming 4.18 release.

#2 Updated by Craig Fairhurst 10 months ago

Marcin Kuzminski [staff] wrote:

Hi Craig,

We're aware of this problem, however, it only affects setups in which all repositories are in the top-level. We have a few companies that have >10000 repositories managed by RhodeCode. In all those cases the repositories are kept in multiple nested repository groups. This offloads the first page from long rendering.

Any reason you cannot break down your repositories into such a structure? Having it all in the root level makes it almost impossible to browse effectively anyway.

That said, we're still having a ticket somewhere to introduce server-side pagination to make it faster, this would be quite simple afair, and the top requirement for that feature is already implemented in upcoming 4.18 release.

Hi

Yes, that’s a good point. But it would be a purely vanity decision hence the meaning behind the categories would be ad-hoc.

If I wanted to code the backend support, I can see the enterprise edition at code.rhodecode.com but not the ce edition. It says to read the readme in notes but can’t fathom where to start.

Reaching out, can you explain what is coming in 4.18 is that a resolution to this ticket or more a work around?

Thanks in advance.

#3 Updated by Marcin Kuzminski [CTO] 10 months ago

For 4.18 we did a lot of performance improvements, one of those are getting rid of the Grids that loaded data from big JSON datasets. SO this should be fixed for 4.18.

If I wanted to code the backend support, I can see the enterprise edition at code.rhodecode.com but not the ce edition. It says to read the readme in notes but can’t fathom where to start.

Not sure what you mean here, but maybe this is what you're looking for ? https://docs.rhodecode.com/RhodeCode-Enterprise/contributing/overview.html

Cheers

#4 Updated by Marcin Kuzminski [CTO] 9 months ago

  • Status changed from New to Resolved

This is now resovled by 4.18.X release

#5 Updated by Craig Fairhurst 9 months ago

Marcin Kuzminski [staff] wrote:

This is now resovled by 4.18.X release

Wow, thanks. I’ll be contributing now I’ve settled with RhodeCode. I would like to add theming or update the theme. It’s off topic but am I on my own here?

#6 Updated by Marcin Kuzminski [CTO] 9 months ago

We'd be happy with a contribution, we've got an long-term ongoing UI update (4.18 has shipped lots of changes that didn't make to 4.18.X) Probably theming is simpler to make as it should not create any problems, with UI probably it would be good to sync with us. Not sure what kind of changes do you plan we would always warmly welcome small UI/UX fixes

#7 Updated by Craig Fairhurst 9 months ago

Marcin Kuzminski [staff] wrote:

We'd be happy with a contribution, we've got an long-term ongoing UI update (4.18 has shipped lots of changes that didn't make to 4.18.X) Probably theming is simpler to make as it should not create any problems, with UI probably it would be good to sync with us. Not sure what kind of changes do you plan we would always warmly welcome small UI/UX fixes

Yes, from a design perspective there are a number of little fixes that would compliment the whole page.

I’m thinking specially, line-height for certain areas, a larger sub header based on credentials, etc.

Only problem is I can’t seem to pull the files. What would I do just zip up the static folder and send it across for you to place in the differences?

Kind regards

#8 Updated by Marcin Kuzminski [CTO] 9 months ago

Best way to contribute would be to fork rhodecode-enterprise-ce on code.rhodecode.com and submit a pull-request for us to review. Could you do that ?

#9 Updated by Craig Fairhurst 9 months ago

Marcin Kuzminski [staff] wrote:

Best way to contribute would be to fork rhodecode-enterprise-ce on code.rhodecode.com and submit a pull-request for us to review. Could you do that ?

Yeah was trying but my access doesn’t show up on the pull target repository?

#10 Updated by Marcin Kuzminski [CTO] 9 months ago

Not sure what do you mean ?

If you fork this repo you can for sure open a PR against the main one.

#11 Updated by Craig Fairhurst 8 months ago

Marcin Kuzminski [staff] wrote:

Not sure what do you mean ?

If you fork this repo you can for sure open a PR against the main one.

Hi

I begin work on this today. I'm going to simply make it work and we can sort out how it gets imported later, probably using diff??

I'm going to make the CE mobile friendly, do a clean up of some questionable styling (!) and also create some neat feature additions to the home page like the ability to register or see different statistics etc.

The end result will be mobile-firendly; please note this is your biggest corner to overcome. I run ad campaigns and only see 30% of users visit from computers.

All the best.

#12 Updated by Marcin Kuzminski [CTO] 8 months ago

Hi,

I begin work on this today. I'm going to simply make it work and we can sort out how it gets imported later, probably using diff??

You can maybe make a fork on code.rhodecode.com and push your changes, we can see them and review commits? That would be the best for us.

#13 Updated by Craig Fairhurst 8 months ago

Marcin Kuzminski [staff] wrote:

Hi,

I begin work on this today. I'm going to simply make it work and we can sort out how it gets imported later, probably using diff??

You can maybe make a fork on code.rhodecode.com and push your changes, we can see them and review commits? That would be the best for us.

OK

I am not a HG user unfortunately and my first fork displays that the CSS requires compilation so running a testing service from the fork is not an option.

Once I'm done I'll look at putting a fork together and hopefully that will be ok.

Kind regards

#14 Updated by Marcin Kuzminski [CTO] 8 months ago

Ok, let's start with just the diffs, and we can see how it goes.

Also available in: Atom PDF