Repository: Cloud-CV/EvalAI
Issue: Add metadata for challenges when a challenge link is shared
GitHub labels: easy_to_fix

good first issue

GSOC-2025

### Description

Currently, when a challenge link from EvalAI is shared users see a generic view of EvalAI homepage. We want the details specific to a challenge to be shown when a link is shared. Here's how it looks currently

![Screen Shot 2021-03-10 at 6 10 48 PM](https://user-images.githubusercontent.com/16323427/110630939-0741db00-81cc-11eb-9f04-55ff5ecc4bc9.png)

Expected behavior:

The shared link view should show details specific to a challenge.

@Ram81 Can I work on this?

@gautamjajoo sure, go ahead

@Ram81 How can I check if my changes are working or not?
From [Twitter Card Validator](https://cards-dev.twitter.com/validator) we can validate for any public server

Also what should be the image displayed and the description when sharing a link of a challenge?

Hey @gautamjajoo , Thanks for taking this up.

>How can I check if my changes are working or not?

Here is an extension which can help you to debug and develop this feature -- https://chrome.google.com/webstore/detail/ng-inspector-for-angularj/aadgmnobpdmgmigaicncghmmoeflnamj

>Also what should be the image displayed and the description when sharing a link of a challenge?

Use the image from the challenge model, which is the logo for a challenge and the description can be the short description for each challenge.

Also, here are few useful links for you --
- https://github.com/vinaygopinath/ng2-meta
- https://github.com/vinaygopinath/ngMeta

cc: @Ram81 

@RishabhJain2018 Thank You for the information, will open a PR asap.

@RishabhJain2018  @Ram81  
As I am able to understand we want to show the home page of the challenge. But in case participate want to submit or take participate it must be login in right. 

@palrohitg we just want to show challenge specific details when a challenge link is shared in the link preview. Users will be redirected to EvalAI on click and they can login to participate or just visit the challenge page.

@Ram81  I got your concern and working for the same. While working on the issue I had taken reference for some blogs. 
I figure out that, we can show the whole part of the challenge like description, problem statement but when the user wants to take part or submit an evaluation then we redirect to the login page if the user is not authenticated. 
It almost a very common feature on all competitive websites.  
To understand it better I have taken the reference of CodeChef. 
Where if want to submit code and you are not authenticated will be redirected to the login page. 
https://www.codechef.com/MARCH21C/problems/NOTIME 

Status: Currently going through the code-base to implement it. 

@Ram81  @RishabhJain2018  
I found one approach, needs a little guidance(Better to discuss before implementing). 

**Problem:** 
1. If the user is not authenicated the challenge page will be displayed with submit option. 
2. If the user is already authenticated then it can perform any operations. 

**Current Implementation Approach:** 
1. If I authenticate the user first who trying to fetch the challenge resource(.html) then if he is not able to get the meta-info. He must be logged in to so. 
2. If I do not authenticate the user then he is able to perform the submit option too. 

**My Approach:** 
1. Why not perform the authentication process during the submit option. If the user is not log in then we can redirect to login else all good. 

@palrohitg Currently, users can view the challenge without authentication. For participating in a challenge they have to login first.

Also, this issue is related to the change in meta tags for different pages.

@gautamjajoo okay, means show the details(meta-data) specific to a particular challenge. Sorry, I am misinterpreting it. 

@gautamjajoo Thanks for helping @palrohitg with the doubts

Also, @palrohitg this issue is already assigned to @gautamjajoo who is working on this issue. If you are interested you could look for another issue.

@Ram81 thanks sure, I am looking forward. 

@Ram81 I have added `ngMeta` as a dependency in `bower.json`, but it is showing the following error: 
`Required path doesn't exist: /code/undefined ngMeta`.
And there are no logs while I build. How can I fix this?

@gautamjajoo did you try deleting the nodejs docker container and building again?

Is anyone working on this issue?


Is this issue still available to solve?

I would like to work on this issue
@Ram81 

hii @RishabhJain2018, I would love to work on this issue, is it open?

can i work in this

Hello @RishabhJain2018 @gautamjajoo, I’d like to work on this issue. Could you please assign it to me?

Hey @Ashish8329 Would you like to take up this issue?

Hey @RishabhJain2018, I noticed that the issue is currently unassigned. I would love to work on this .Could you please assign it to me?

Hey, is this issue still open. I would like to contribute.


Hi, I would like to work on this issue.
I have experience in Python and ML, and I am preparing for GSoC.
Could you please assign this to me?