Blocks needs a definite compatibility story
- Lenguaje dominante
- Haskell
- Estrellas
- 1.3k
- Forks
- 201
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
I've noticed that if I use newer versions of CodeWorld Blocks to reopen projects built with earlier versions, I often get a bunch of black bits that no longer work. We certainly can't have future development similarly breaking old student code!
It would be great to:
1. Understand what caused this to happen, and
2. Adopt a set of rules or conventions to ensure that we don't break future student projects.
I'm guessing that this comes from renaming or changing XML formats or something like that with previous blocks. That seems to bring up an interesting point: Blockly versions come and go and things change, so it's important that CodeWorld takes ownership of the blocks that it expects to be available, so we can migrate and deprecate them on a carefully controlled schedule. It looks like right now, some of CodeWorld's blocks are built-in to Blockly... and I fear this is the wrong decision.
Guía de contribución
Línea de trabajo
En el issue no se identifican archivos ni pruebas. Empieza por rastrear cómo se representan y se vuelven a abrir los proyectos de CodeWorld Blocks entre distintas versiones de Blockly, y después define las reglas de compatibilidad y migración; se considera terminado cuando los proyectos antiguos de los estudiantes se vuelven a abrir sin bloques rotos.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Área
- frontend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100