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

Allow support for historical project ideas #249

Open
kgodey opened this issue May 11, 2020 · 18 comments
Open

Allow support for historical project ideas #249

kgodey opened this issue May 11, 2020 · 18 comments
Labels
💻 aspect: code Concerns the software code in the repository 🕹 aspect: interface Concerns end-users' experience with the software 🌟 goal: addition Addition of new feature help wanted Open to participation from the community 🟩 priority: low Low priority and doesn't need to be rushed 🏁 status: ready for work Ready for work

Comments

@kgodey
Copy link
Member

kgodey commented May 11, 2020

Description

Currently, the way our internship project ideas are set up only allows one set of project ideas to be live at a time. We'd like to show historical project ideas on our website as well.

Additional context

@kgodey kgodey added enhancement help wanted Open to participation from the community and removed awaiting triage labels May 11, 2020
@kgodey
Copy link
Member Author

kgodey commented May 11, 2020

Please put your implementation ideas here for discussion before sending a PR.

@anisin97
Copy link

@kgodey We can add Project Titles under the bullet of each year. Under it, we can give a short description, including the Student and Mentor name.
The GSoC'19 bullet carries blog links for all projects, so we can also include short description and names. However, the project links should come under a sub-heading of Projects to separate them from other links.
The link of 'Open Source Blog Posts' mentioned under various categories is ambiguous to a new user. It should be changed to 'Open Source Blog Posts-GSoC'19' or something alike for different categories which points out that it is a link to blogs to such.
For the Content box, we can add bullet links under GSoC heading for every year.
Similar structure can be used for Outreachy posts, with Project title, short description, participant name.

@anisin97
Copy link

Please give your views on it.

@kgodey
Copy link
Member Author

kgodey commented May 15, 2020

@theprover97 I don't understand the solution you are proposing. Could you explain in more detail with screenshots if you're proposing UI changes or references to lines of code where you're proposing code changes?

Thanks!

@ritesh-pandey
Copy link
Contributor

If I understood correctly, we want to host historical GSoC projects ideas on our website as opposed to https://www.google-melange.com/archive/gsoc/. Historical project ideas are currently accessible via menu Internships -> History.

We want to port content from google-melange and store it in structured format. The links on History page should take us to the newly formed pages. We can use the existing models to create template pages.

@kgodey
Copy link
Member Author

kgodey commented Jul 28, 2020

@ritesh-pandey that sounds like a great idea but I wasn't thinking about porting content from GSoC's websites or updating the History section, although we could certainly do that once this is implemented

We've had a few rounds of internships so far, but we don't show the previous project ideas for those internship rounds. We'd like to restore them from the old git commits, perhaps in a new section of the Internships > History page.

See these PRs that replace the project ideas entirely:
#239
#170

@ritesh-pandey
Copy link
Contributor

We can place all project ideas in same folder i.e. project-ideas-collection. Archived (Historical) and non-archived (live) ideas can be differentiated by a boolean model field archived.

The template which renders non-archive ideas can use a filter in for loop.

Our current History page uses page-with-toc.html template. We can create a new template which extends page-with-toc.html and contains additional section for Project Ideas History. Here we can use a for loop similar to one in project-ideas.html template. Only difference is that here we need add filter for archived ideas.

Here is a step-by-step guide:

  1. Add a boolean field archived with default value false in project-idea.ini model. This is used to differentiate between archived and non-archived idea in project-ideas-collection directory.
  2. Create content file for all archived ideas using project-idea.ini model. Set the field archived to true.
  3. For live ideas, set field archived = false in content.
  4. Modify project-ideas.html template such that it should iterate on non-archived ideas only.
    {% for idea in ideas.filter(F.archived == false) %}
    This way our current functionality is preserved.
  5. Create a new template internship-history.html which extends page-with-toc.html. Add a section in it for historical project ideas. We can iterate over archived project ideas and render them. This loop is similar to one in project-ideas.html

I have a POC ready. Let me know if you want to have a look.

@kgodey
Copy link
Member Author

kgodey commented Jul 29, 2020

@ritesh-pandey I think you're on the right track! The two main changes I would suggest are:

  1. I think we should have a field indicating which internship round each project idea is associated with. It would be great if we could just have a folder for each internship round's project ideas.

  2. I think it would be good to use the existing project ideas template and just have a different project ideas page for each round of internships. We can link to archived rounds from the history page. That way, we don't have to make any new templates.

What do you think?

@ritesh-pandey
Copy link
Contributor

ritesh-pandey commented Jul 30, 2020

In this scenario, we don't need archived field. This field was useful when we had all ideas at same directory level and we needed to differentiate between live and archived.

We plan to have different content directories. The current live internship round can be linked from project-ideas.html template. In content, we can create gsod-2020 directory inside project-idea-collections and put all GSOD 2020 ideas inside it. This gsod-2020 directory will then be linked from project-ideas.html template. Am I getting it right?

Similarly we can have directories for all other rounds of internships. These can be linked from History page.

There is one thing which I am unable to figure out. To render currently live project ideas, we hardcode the link to content directory in template file like this.

How are we going to achieve that for all rounds of internships? Multiple template files where each one has hardcoded link to respective content directory? We need some mechanism to iterate over content files.

Am I missing anything?

@kgodey
Copy link
Member Author

kgodey commented Jul 30, 2020

@ritesh-pandey that all sounds right!

We need to remove the hardcoding of the content directory in the template file and instead of make it something we pass into the template somehow. I think we should just have a single template file. I am not sure how to solve this, any thoughts are appreciated.

@kgodey kgodey added 🌟 goal: addition Addition of new feature 💻 aspect: code Concerns the software code in the repository 🕹 aspect: interface Concerns end-users' experience with the software and removed enhancement 💻 aspect: code Concerns the software code in the repository 🕹 aspect: interface Concerns end-users' experience with the software labels Sep 4, 2020
@cc-open-source-bot cc-open-source-bot added the 🏷 status: label work required Needs proper labelling before it can be worked on label Dec 2, 2020
@Cronus1007
Copy link
Member

@kgodey I think this issue is a somewhat related to #576 where I have moved information about old GSOC-projects from cc-archive org of github to Internships ---> History section of few specific years like 09-13 but the info about GSOC projcts from 06-08 lacks info . I am still researching may be I find the required data on cc-archive

@kgodey
Copy link
Member Author

kgodey commented Dec 17, 2020

@Cronus1007 This is not about finding more information, this is about updating the code to support browsing through project ideas for multiple years.

@Cronus1007
Copy link
Member

If I understood correctly, we want to host historical GSoC projects ideas on our website as opposed to https://www.google-melange.com/archive/gsoc/. Historical project ideas are currently accessible via menu Internships -> History.

We want to port content from google-melange and store it in structured format. The links on History page should take us to the newly formed pages. We can use the existing models to create template pages.

@kgodey You guys want to implement in this manner. Actually I misunderstood the conversation. I want to take over this issue. So is someone working on this issue.

@kgodey
Copy link
Member Author

kgodey commented Dec 17, 2020

I don't think anyone is working on it.

@Cronus1007
Copy link
Member

Cronus1007 commented Dec 18, 2020

@kgodey A little idea of implementation from my side. In website's Internship ---> History Section we have categories of GSOC-2019(just an example) when we click on the main link of GSOC-2019 we get redirected to the GSOC website. So what I am going to do that break the links and then implement the above via content/gsoc-2019/project-ideas/contents.lr. In this way we would be able to engage the user in the CC website only rather than multiple links for the user in new tabs.

@kgodey
Copy link
Member Author

kgodey commented Dec 18, 2020

I'm going to defer to @TimidRobot on questions about this issue since they are going to be taking over maintaining the site.

@Cronus1007
Copy link
Member

@TimidRobot Let me start implementing this issue.

@Git-NMT
Copy link

Git-NMT commented May 16, 2023

Mô tả:__________

Hiện tại, cách các ý tưởng dự án thực tập của chúng tôi được thiết lập chỉ cho phép một bộ ý tưởng dự án được thực hiện tại một thời điểm. Chúng tôi cũng muốn hiển thị các ý tưởng dự án lịch sử trên trang web của chúng tôi.

Ngữ cảnh bổ sung

@TimidRobot TimidRobot moved this to Triage in Applications Sep 10, 2024
@TimidRobot TimidRobot moved this from Triage to Backlog in Applications Sep 16, 2024
@TimidRobot TimidRobot added 🟩 priority: low Low priority and doesn't need to be rushed 🏁 status: ready for work Ready for work 🕹 aspect: interface Concerns end-users' experience with the software and removed Hacktoberfest 🏷 status: label work required Needs proper labelling before it can be worked on labels Sep 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💻 aspect: code Concerns the software code in the repository 🕹 aspect: interface Concerns end-users' experience with the software 🌟 goal: addition Addition of new feature help wanted Open to participation from the community 🟩 priority: low Low priority and doesn't need to be rushed 🏁 status: ready for work Ready for work
Projects
Status: Backlog
Development

No branches or pull requests

8 participants