RaspberryPiFoundation / lesson_format

Lesson formatter
17 stars 28 forks source link

Managing project lifecycle #135

Closed rikcross closed 5 months ago

rikcross commented 9 years ago

Currently, there isn't a way of 'retiring' projects, and moving them out of the 'core' Scratch / HTML & CSS / Python sections. There are 'additional project' sections, but these will soon become huge.

Adding a small note to the bottom of the current 'Terms & Resources' page, linking to a 'legacy_projects' repo (with a disclaimer) has been one suggested solution.

I guess this would need to be flexible enough to work with all languages, so that those resources can also be retired as the curriculum progresses.

andylolz commented 9 years ago

The name “Legacy projects” (or “Archived projects”) makes much more sense to me than “Additional projects”! Can I suggest renaming it as such?

If we had a legacy_projects repo now, what would the “terms” be? I.e. How would you organise these sections to prevent them becoming huge?

I’d suggest instead following the gmail “search, don’t sort” strategy, by adding a javascript search onto an “archived projects” term (or all terms!) This could be really cool in general, actually (I don’t remember if we talked about tagging projects with skills used, but that would be a pretty useful thing to filter projects on.)

rikcross commented 9 years ago

Hi @andylolz

The name “Legacy projects” (or “Archived projects”) makes much more sense to me than “Additional projects”! Can I suggest renaming it as such?

I think we'd need both -- 'Additional Projects' being extra non-retired bits like christmas projects, flappy parrot, etc. and 'Retired Projects' being unsupported stuff that we don't want to endorse, but should probably still make available.

If we had a legacy_projects repo now, what would the “terms” be? I.e. How would you organise these sections to prevent them becoming huge?

I was thinking just folders for each language, but you're right they could become huge.

I’d suggest instead following the gmail “search, don’t sort” strategy, by adding a javascript search onto an “archived projects” term (or all terms!) This could be really cool in general, actually (I don’t remember if we talked about tagging projects with skills used, but that would be a pretty useful thing to filter projects on.)

That's an awesome idea, for both live and retired projects.

andylolz commented 9 years ago

'Additional Projects' being extra non-retired bits like christmas projects, flappy parrot, etc. and 'Retired Projects' being unsupported stuff that we don't want to endorse, but should probably still make available.

Aha, I see! Yep, that makes sense – good plan.

I was thinking just folders for each language, but you're right they could become huge.

I don’t think it’s a problem if they become huge (assuming “huge” means <50 projects.)

That's an awesome idea, for both live and retired projects.

Ace. There’s the added advantage that this would all be template code, so wouldn’t involve diving into the core of lesson_format at all.

martinpeck commented 9 years ago

I'm wondering if the benefits of having three repos (scratch, web, python) is outweighed by the pain it causes when we want to move them around (to retire projects), and when we want to add other 3rd party content.

If the main reason for having them separated is the size of the repo, and the build time, it might be better to find smart solutions to these problems that allow us to have everything in once place, and move it around with ease.

andylolz commented 9 years ago

Fair point, yep! We could very easily introduce an archived flag. Projects with this flag would not by default be rebuilt.

But actually, I don’t think the motivation here was size / build time. Much more about having a clean and clear offering. Though I’m sure @CodeClubRik can clarify.

rikcross commented 9 years ago

I honestly have no idea why projects are in separate repos. It doesn't seem to have any benefit that I can see from writing projects.