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

RoboCup@home, site & wiki: stronger linking to GitHub #349

Closed
moriarty opened this issue Jul 31, 2017 · 51 comments
Closed

RoboCup@home, site & wiki: stronger linking to GitHub #349

moriarty opened this issue Jul 31, 2017 · 51 comments
Labels
Milestone

Comments

@moriarty
Copy link
Member

Common complaint heard was the new participants went to the RoboCup@Home site, and then to the wiki for information... but GitHub is where the action and discussions happen, and this information isn't always ported back to the wiki.

Stronger linking to GitHub. Perhaps maintenance plans for the wiki should be discussed.

@kyordhel
Copy link
Contributor

kyordhel commented Aug 1, 2017

Or to a most robust platform.

I think the Wiki is the best option for a compromised league, but the reference to Github must be highlighted.
Wiki

  • All previous rulebooks
  • Goals, milestoness and data for the years to come (redundant)
  • History of team participation, including:
    • TDP
    • Link to team's website
    • Link to qualification video
    • Videos during the competition
    • Open source code listing
    • Rankings
  • Previous rankings (winners of @Home)
  • Maintained by the league itself

However this doesn't happen, the OC should organize and validate the information first (there is too many, outdated and hard to find), specially for the teams that doesn't exist any more. We lack of volunteers.

GitHub

  • Contributions to last rulebook
  • Current rulebook discussion
  • Milestones and data for the years to come (redundant)
  • Helper applications for the competition (e.g. generators)
    As it is right now

@LoyVanBeek
Copy link
Member

The wiki and website do need a thorough update and cleanup.

The wiki is hosted by RTWH Aachen if I recall correctly and getting edit access was difficult or impossible.

@kyordhel what do you mean by 'compromised league'?

@moriarty
Copy link
Member Author

moriarty commented Aug 3, 2017

The wiki is hosted by RTWH Aachen if I recall correctly and getting edit access was difficult or impossible.

@timn do you have the contact info for the maintainers of that wiki?
Actually... I was about to tag you and then decided to poke around the wiki first.
From this query: https://robocup.rwth-aachen.de/athomewiki/index.php?title=Special:RecentChanges&days=300&limit=250 it looks like you've created all the recent users 😃

From the list of all pages, there isn't much on the wiki: 12 pages.

And from expanding the recent changes back to the beginning of 2016, we see that not many of the pages are active.

@dirkholz
Copy link
Member

dirkholz commented Aug 4, 2017 via email

@kyordhel
Copy link
Contributor

kyordhel commented Aug 4, 2017

@LoyVanBeek a tricky word and false friend for Spanish. I was aiming for engaged, committed, or involved. Teams who have taken the compromise.

@ALL
In former years it was mandatory to update the wiki for qualify, something most teams did more for obligation than with any interest. The information is disorganised and hard to find, so I removed this requirement from the call.

I think a wiki (or similar platform) is important. Each team should have a page listing all videos, TDP, rankings, committee members, and contributions. Teams must be searchable by name but also by ranking. In the same sense, awards and rulebooks must be listed here, as well as videos of the tests and finals.

Again, we need volunteers to set up this. Is quite some work (a time consuming one) and I don't want it to be left abandoned before is usable by the teams. As OC chair I can coordinate efforts but I won't do it myself.

@LoyVanBeek
Copy link
Member

I 100% agree a wiki is very useful. Some stuff like best practices, which teams uses which software for what etc should be on there.

@dirkholz
Copy link
Member

dirkholz commented Aug 4, 2017 via email

@tkelestemur
Copy link

Why don't we use GitHub wiki? It is markdown based meaning there is no-need for accessing any admin panel (I don't know how old wiki is maintained but I'm guessing it has a admin panel to edit content) and also wiki will be on the same platform with RuleBook.

FYI, I am willing to help maintaining wiki either old or a new one but I am also in favor creating a new wiki.

@LoyVanBeek
Copy link
Member

An added benefit of GitHub wiki is that it's also backed by git, so you can clone a local copy.

I does not make sense (to me) to put the 'new' wiki in the Rulebook repository though, but a new repo is created easily.

@tkelestemur
Copy link

tkelestemur commented Aug 4, 2017 via email

@LoyVanBeek
Copy link
Member

@dirkholz @kyordhel @balkce @moriarty @swachsmu Is this the way to go?

@kyordhel
Copy link
Contributor

kyordhel commented Aug 4, 2017

Big favour:

When replying by email, please remove the old text.

The GitHub wiki is not powerful enough for this task, I think. It lacks of organization tools like publishing pages in folders, or generate automated content pages. It is OK for document software, no but not necessarily for our needs, as it wouldn't be blogger.

A repo for the wiki would work if we talk about maintaining Joomla content or so. For other purposes...

@balkce
Copy link
Contributor

balkce commented Aug 4, 2017 via email

@tkelestemur
Copy link

@kyordhel (sorry about the email, didn't know) I agree that GitHub wiki is simple and lack of some features but I think this is making it more easy-to-edit and easy-to-navigate/read. If these features are must, then a Content Management System is needed. I would recommend either Wordpress or Jekyll (can be hosted on github for free).

But I still think GitHub wiki would be enough for us to host everything related to teams.

@balkce Slack is mainly a instant messaging platform. Although you can integrate other web services, I don't think it is flexible enough to be a wiki site.

@LoyVanBeek
Copy link
Member

@kyordhel do we have any auto-generated content on the 'old' wiki?

@balkce Slack is mainly chat.

@nickswalker
Copy link
Member

nickswalker commented Aug 4, 2017

Another voice for GitHub wikis. The experience is better because Markdown is easier to use than Mediawiki, and tying to an existing account makes the barrier to contribution quite low.

I do agree that the lack of hierarchical organization is frustrating. We have gotten around this by having what are essentially table of contents pages:
screenshot from 2017-08-04 10 44 52
Nettlesome because they have to be updated manually, but they work well for us because we don't add new pages often. The alternative is to make users dig through the all-encompassing pages navigation on the right, or find the search, which isn't obvious to most.

@LoyVanBeek
Copy link
Member

The current wiki is 12 pages only, with only the Teams page being quite long. This one page warrants a split-up, but then still it's a small wiki.

@timn
Copy link

timn commented Aug 7, 2017

We have already reached out to Luca to move the wiki elsewhere a while ago, at the time thinking about the new RoboCup-driven infrastructure. We are just lacking resources to maintain the wiki further and currently it's always me approving new account requests.

We're happy to provide data of the Wiki if this is of any help. We're also happy to setup a forwarding from the old to the new wiki for some time until things have settled. We would like to take down this wiki instance rather sooner than later. Let me know in what way we can help to help with a migration.

@kyordhel
Copy link
Contributor

kyordhel commented Aug 7, 2017 via email

@LoyVanBeek
Copy link
Member

LoyVanBeek commented Aug 7, 2017

Some good points/questions @kyordhel, thnx.
On GitHub, optionally anyone with a GitHub account can edit pages, but we can turn this option on/off if we want.
We might create a GitHub team of only the team leaders and give them access specifically for the wiki only.

GitHub wikis are also git repos themselves and going back to earlier revisions and comparing them is entirely possible: https://help.github.com/articles/viewing-a-wiki-s-history-of-changes/

@moriarty
Copy link
Member Author

moriarty commented Aug 7, 2017

It looks like the problem with any wiki platform is restricting edit permissions to only some sections, and keeping spammers away (but that's an issue everyone has: ros-infrastructure/roswiki#139) GitHub wikis are git repos, which also means that evil commands which mess with git history are possible... so the Organisation Team for team leaders and then trust them, as @LoyVanBeek suggests sounds the best.

Do we know if git push -f is restricted to only the project owner, or can collaborators also mess with the history? I just made a wiki in a repo and then was able to rebase and push -f removing history...

There is also the GitHub pages option, but that would mean managing more pull requests, but allows for fancier static only sites (not that we use them)... But then it'd be possible to have finer grain control and allow team leaders to also maintain those pull requests. Also, if a new repo is going to be made called wiki, then it's also possible to do both but I don't know how well that UI blends back and forth.

@timn the old data may not be of much help, but it won't hurt to have, could you give me access? I opened a request. It'll probably be easiest just to recreate the 12 pages... because media wiki syntax isn't markdown.

We should completely get rid of the old wiki

👍

@nickswalker
Copy link
Member

Force pushes are allowed for all contributors on all of a repo's branches by default. They provide a protected branch feature to turn this off. There does not appear to be a similar feature to protect a wiki. 🙁

@LoyVanBeek
Copy link
Member

I've been thinking about github pages with pull requests from teams as well. This also gives us the ability (not obligatory) to do some quality checks, eg. if a team submits info but is missing some stuff, we notice that before it merges.

@tkelestemur
Copy link

Or we can have .md files in repo and a index readme that way pull requests can be used.

@moriarty
Copy link
Member Author

moriarty commented Aug 8, 2017

Or we can have .md files in repo and a index readme that way pull requests can be used.

That's basically what a GitHub pages site is, just a bunch of md files, but you can run them through a template engine to make them look pretty...
Here is a very good example: https://github.com/ev3dev/ev3dev.github.io which makes this site http://www.ev3dev.org

If you look in at this simple md page: https://github.com/ev3dev/ev3dev.github.io/blob/master/projects/_posts/2017-02-05-ROS-and-wiimote.md
It becomes this: http://www.ev3dev.org/projects/2017/02/05/ROS-and-wiimote/
and is showcased on the the project page here: http://www.ev3dev.org/projects/

That project has some dedicated contributors making that magic work. And is much more than what we discussed is required, but it shows how github pages can grow.

@kyordhel
Copy link
Contributor

kyordhel commented Aug 8, 2017 via email

@LoyVanBeek
Copy link
Member

It's good to be critical.

  1. Size limits: 1GB repo size, 100MB file size. I don't know the average TDP PDF size though for comparison.
  2. Instead of a form, submit a PR before some deadline? It's a bit of a hack, but it can work. Running a server for this alone is a PITA as well I suppose. I don't run it so I can't tell now.

@tkelestemur
Copy link

@moriarty I proposed using a static website generator (turns md files to html) like Jekyll in earlier comments. I am using Jekyll for my personal website and I'm pretty happy. There are plenty of free elegant themes. Only downside is that people need to fork, locally edit, push their github account, and open pull request for changes. That's why I said using github wiki or stored md files are easier.

@moriarty
Copy link
Member Author

moriarty commented Aug 8, 2017

@tkelestemur 👍 yes I saw your earlier proposal and agree it's good, but the GitHub pages approach just simplifies a few of the steps. I would go Jekyll before going with a CMS system.

@LoyVanBeek a random sample shows they're ~4Mb each.

@kyordhel I agree with @LoyVanBeek on the PITA and don't think this warrants a custom CMS solution- look at the usage of the old wiki...

But the original thread has gotten way off topic: what I meant by stronger linking was: just plastering something like:

THIS WIKI IS PROBABLY OUT OF DATE:

  1. If you're looking for rules, go check GitHub.
  2. If you're looking for software: check Google, ROS wikis and Google Scholar, get creative
  3. The only remaining unsolved problem is the Team list. which a simple github wiki or github pages could sort out.

And just to pass on the info, GitHub customer service did reply and unfortunately the permissions on the wiki is "all or nothing"

Hey Alex,

I'm afraid there isn't a way to restrict permissions for a wiki for certain pages or sections.
It's pretty much an all or nothing type thing but I can certainly pass your request onto the team to consider.
What I can say is that it's normally possible to restore any version of wiki if someone deletes a page or force pushes to it.
The wiki is a git repository so each change is marked with a commit SHA and can be reverted back to previous commits.
I know this isn't exactly what you're looking for but hopefully its helpful somewhat!

Cheers

@LoyVanBeek
Copy link
Member

LoyVanBeek commented Aug 9, 2017

So, we seem to have (presented here) some options:

GitHub wiki

Pro:

  1. Quickly editable by all team members, low barrier of contribution
  2. It's a git repo and thus locally editable
  3. 1 basic OK-ish theme

Con:

  1. Editable by anyone, easy to mess up
  2. Some size limit (but reasonable)

GitHub repo with plain markdown pages

Pro:

  1. Content is modified by pull requests, so reviewed by us
  2. Anyone can get GitHub/e-mail notifications on changes
  3. Fine-grained access control
  4. Can be transitioned into GitHub pages with Jekyll rendered HTML in future

Con:

  1. Requires review work
  2. Going through pull requests makes updating and previewing not as fast as a wiki
  3. No pretty themes
  4. Some size limit (but reasonable)

GitHub pages with Jekyll rendered HTML

Pro:

  1. Content is modified by pull requests, so reviewed by us
  2. Anyone can get GitHub/e-mail notifications on changes
  3. Fine-grained access control
  4. Pretty themes available

Con:

  1. Requires review work
  2. Going through pull requests makes updating and previewing not as fast as a wiki
  3. Some size limit (but reasonable)

Custom CMS

Pro:

  1. Forms etc are possible
  2. Generated content
  3. Under our full control

Con:

  1. Someone needs to manage it

Current wiki

Pro:

  1. Everyone knows it already (fixed by a redirect or notice)
  2. Content is already there (but with 12 pages easily transferred)

Cons:

  1. Need someone to manage it
  2. Outdated

@tkelestemur
Copy link

On this note, what if we have 1-2 volunteer who will collect TDPs, videos, etc.. from teams and only these maintainers will be editing content of the wiki. It might help slow editing/pull request problem. I assume that it will be faster to keep the wiki updated.

@LoyVanBeek
Copy link
Member

Collecting and reviewing TDPs is the OC's responsibility, but with 31 qualified teams (not to mention the amount of applications), editing the wiki/pages for all of these by 1-2 volunteers is quite the job. Reviewing content made by teams itself is much easier and more distributed.

As for the GitHub wiki's: does anyone know if 'people messing up' is a common problem witht hem? I've never seen a GitHub wiki get borked by external folks.

@LoyVanBeek
Copy link
Member

LoyVanBeek commented Aug 22, 2017

So, what's it gonna be, boys, yes or no?

@balkce
Copy link
Contributor

balkce commented Aug 29, 2017

If I understand this correctly, the options boil down to:

  • Needing someone to review everything that is posted (which can be 1 or 2 people).
  • Needing someone to manage a site (which requires more people).
  • Letting the team members do everything, running the risk of a mess up (which requires no people but is risky).

I say we go for the first option. It does not sound like fun if teams start messing with each other's posts.

@kyordhel
Copy link
Contributor

I would say "no go" because I'm not willing to do it and I haven't read someone who strongly commits to the task and maintain the info during this year (at least).

I hope you prove me wrong.

@balkce
Copy link
Contributor

balkce commented Aug 29, 2017

That's always the problem, isn't it?

Good point. Too optimistic of me.

Then I guess the third option would be only option. Lets hope that the teams don't eat themselves.

@LoyVanBeek
Copy link
Member

So, GitHub wiki's it is then? I've never seen this go wrong to be honest. I suspect people will not mess up: this didn't happen in the current wiki and since edits are linked to GitHub accounts, I don't expect it with this as well.

We need to do this though: https://help.github.com/articles/changing-access-permissions-for-wikis/

@moriarty
Copy link
Member Author

Yes, and @LoyVanBeek that's a nice link, I went into the docs a bit more and I think with:

We do gain some access control, outside collaborators can be given read-only access to a repository, and this gives them write access to the wiki.

@lmmartine
Copy link

The Github wiki is a good option, but I think mostly of the teams will not have the concern of adding and updating this information. Unless this is required for the application of RoboCup.
I want to offer me to recollecting the data of the teams and manage to do a first approach.

@LoyVanBeek
Copy link
Member

Thank you @lmmartine. Teams used to be required to enter some info into the wiki wnd we can require this again with a lower barrier for it.
I'll switch this on in the coming week.

@LoyVanBeek
Copy link
Member

Allright, there we go: https://github.com/RoboCupAtHome/AtHomeCommunityWiki

I added @lmmartine as a first collaborator with Read acces to the code which gives you edit rights to the wiki.

I copied the pages of ye olde wiki 1-on-1 with some edits to make some things current but not everything. The software page is very very out of date...

@timn
Copy link

timn commented Sep 29, 2017

Can I disable the old wiki and forward to the new one already?

@LoyVanBeek
Copy link
Member

For me it's fine, but lets wait a couple days for others to check and see.

@swachsmu
Copy link

swachsmu commented Oct 2, 2017 via email

@LoyVanBeek
Copy link
Member

Hi @timn Disabling the old wiki and forwarding to the new at https://github.com/RoboCupAtHome/AtHomeCommunityWiki is OK. There already have been some small edits to the new one.

@timn
Copy link

timn commented Oct 11, 2017

I have setup the redirect.

@LoyVanBeek
Copy link
Member

@timn Awesome, thnx for helping us out over the past years!

@moriarty
Copy link
Member Author

This looks like it can be closed, except the link on:
http://wiki.robocup.org/@Home_League

Points to:
http://robocup.rwth-aachen.de/athomewiki/index.php/Main_Page

Which redirects (thanks @timn) to a "create page index.php" on GitHub, so I created that page with a link to the home page.

The old info is there and an issue is open for users to get access to collaborate RoboCupAtHome/AtHomeCommunityWiki#1

@LoyVanBeek
Copy link
Member

@kyordhel @swachsmu Who to contact to make http://wiki.robocup.org/@Home_League point to the GitHub wiki?

@kyordhel
Copy link
Contributor

Not sure if Luca or Dirk have access to that Wiki.

@kyordhel
Copy link
Contributor

kyordhel commented Apr 9, 2018

Just to close this.

We have moved to github wiki. Yey!
We need volunteers (OC) to update the wiki. Most information is unknown by new members in old teams, but might be available somewhere. In the near future I'll place the policies in the readme.md. So far I've uploaded scores (thanks Luz) and all TDP's I do have.

@kyordhel kyordhel closed this as completed Apr 9, 2018
@nickswalker nickswalker added this to the RoboCup 2018 milestone Jul 31, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

10 participants