Closed scissorsneedfoodtoo closed 4 months ago
Are we going to do the same thing the RDB does by only showing a note at the top of the superblock page linking to the guide post?
@ShaunSHamilton, yes, I think it would be a good idea to link to the forum guide post at the top of each superblock. That should answer some FAQs that learners have about working with Gitpod, and will hopefully cut down on the number of new forum posts that get opened up.
For Discussion
Seeing as many cloud IDE providers now use ephemeral apps/links, we will not require the solution link to be in the database. As such, the github link will be required.
That said, there might/will still be some Campers who want their solution links to be visible on their certifications, because they have hosted their apps somewhere permanent.
So, questions: a) Are we going to allow Campers to save their solution links to the db (as we do now)? b) If so, how are we going to prevent ephemeral links from being submitted? c) If so, how are we going to make it clear to Campers not to submit ephemeral links?
My initial thought is that we should still allow users to submit links to their demo projects. The certs/settings page can have links to their "solution" and "source", like we do with other projects (see the projects at the bottom). Yes, mine are broken - but it's more showy on their profile than a link to code - and if they want to keep their projects working, it's on them. Maybe we could add an option to hide the demo projects on those pages if they don't want to keep it working. I don't see the downside to saving the solutions.
I don't think we should try to control what type of links campers submit, seems too finicky. I guess we could check that it's live at the time of submission, but trying to block certain domains or whatever... feels like a whack-a-mole type thing - those services may change the way they do things. I'm not sure we need to communicate much to them either - maybe a note or something. It should be on them to submit URL's that are live and keep them working if they want them to be visible - I'm quite sure they can go submit the solution again with a new URL if they want to update it to a new URL as well.
One other thing I could mention is that there are other places than github to host code. Are we going to require it be a Github URL or should we allow whatever URL? The RDB allows any URL - I think that's what I would vote for.
I guess we could check that it's live at the time of submission
Right. We already do, and have to do, this. The tests run against a live app.
trying to block certain domains or whatever... feels like a whack-a-mole type thing - those services may change the way they do things
Why would we block domains? At most (what we already do), we give a warning/note to Campers when they try to paste known "editor" urls in the "live app" field, because that is a common misunderstanding Campers have - which link to submit for the tests.
Are we going to require it be a Github URL or should we allow whatever URL?
We are (as we already do) going to allow any url. I just used this language, because that is the variable name in the code: https://github.com/freeCodeCamp/freeCodeCamp/blob/1972f39b6888cebfa15bdabebb0e9ebb12341777/client/src/templates/Challenges/projects/solution-form.tsx#L52-L55
The question is:
If we store the solutionLink
in the db, are we ok with most links pointing to non-existent pages on certifications/profiles?
Why would we block domains?
I'm not sure why we would block domains - I guess my thought was that, we know gitpod URL's stop working so we wouldn't allow them or something.
If we store the solutionLink in the db, are we ok with most links pointing to non-existent pages on certifications/profiles?
Yea, I see the problem. I like the idea of having the ability to submit and show the solutions on my profile, and it makes sense - but if most solutions are going to end up not working, then maybe it's not worth it. I still don't see a whole lot of downside to storing the solutions - and we can choose to not display them on the profiles if we want. I dunno, maybe it would be confusing for campers to submit a URL and then it doesn't get displayed anywhere. I'm kind of in the middle, but I think I would vote to continue storing the solutions and including the links on the profile.
and we can choose to not display them on the profiles if we want.
How would this be decided? A checkbox next to the submission field that says:
[ ] Save and display my app URL on my profile. NOTE: If your app is not permanently hosted, this will cause your profile/certifications to have dead links.
In that instance, "we" meant freeCodeCamp - we can remove the display of the solution links from that component for everyone. But yea, an alternative could be to include a checkbox like that.
What about the take-home-projects
block? Are we going to leave it as is? Or, also require the source code?
What about the take-home-projects block? Are we going to leave it as is? Or, also require the source code?
I'm not sure - they're definitely not as important at the moment. I would say probably yes for the full stack projects. The rest of them can be completed on codepen though - I don't think we need a github link for those. They could probably be left how they are for now, but we could probably convert them to use the multifile editor?
This should close: https://github.com/freeCodeCamp/freeCodeCamp/issues/52455
Learn updates
This can be a single PR that does the following:
https://gitpod.io/?autostart=true#<boilerplate-repo-url>
structure..replit
window with startup commands etc.).Boilerplate updates
These should not be merged until just after the updates for Learn are live
Each PR below should:
.gitattributes
,.gitconfig
,.prettierignore
, and so on)..gitpod.yml
file that:gitpod/workspace-node
image.3000
public so Learn tests can access the URL, and setsonOpen
toopen-preview
to preview window with the client view. Note: This shouldn't be necessary for the Python projects.npm install
oninit
and thecommand
npm run start
for Node projects. For Python projects, the command should just install any necessary packages..vscode/settings.json
file that:Back End Development and APIs
Quality Assurance
Data Analysis with Python
Information Security
Machine Learning with Python
Create a forum guide post with a Gitpod tutorial
Current draft here: https://forum.freecodecamp.org/t/how-to-use-gitpod-in-the-curriculum/668669
Other Tasks
Will Close
Once all the changes here have been merged / deployed, the following issues can be closed: