entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Opiniones sobre desarrollo, tracks asociados a parrafos

Hola, el escenario es el siguiente, estoy desarrollando el backend de una plataforma.

El tema es que, quiero asociar un TRACK de musica a un párrafo. Teniendo aproximadamente 10 párrafos, en donde uno que otro tenga asociado este track.

Los párrafos están codificados con MARKDOWN, por lo que quiero un código bien limpio.

Como me recomiendan hacer la parte administrativa para esto? no se si me explico, pero había pensado en hacer párrafo por párrafo asociado a un articulo, y cada uno asociado a un track que iria cargado (upload) en cada párrafo. U otra manera seria por un lado subir los tracks, y asociar via alguna etiqueta data-track="09283745.mp3".

Necesito orientación, vale tener en cuenta que me interesa que la salida del articulo en si también sea lo mas limpia posible.

1 Respuesta

2votos

Leonardo-Tadei Puntos227020

Hola Elías,

Lo que yo haría sería subir los tracks por separado y asociarlos a los párrafos de alguna manera. De esta forma si un track está asiciado a más de un párrafo, te habría que subir varias veces el mismo MP3.

Por otra parte, el usar una etiqueta como data-track no lo logro conciliar con MARKDOWN, que está hcho para generar HTML basado en marcas mínimas, pero no se lleva bien con atributos de etiquetas,

De seguir usando MARKDOWN tendrías que usar una etiqueta HTML para denotar el track, y del lado del cliente reinterpretarla para que tenga el sentido que debe tener.

Si tenés libertad para cambiar la forma en que se comunica el cliente con el backend, el manejo de los tracks justifica pasarse a XML o a JSON: son formatos igual de limpios que MARKDOWN pero con una riqueza semántica mucho mayor, que te permitirá no solo incluir los tracks sino que además los podrías por ejemplo denotar por tema o tipo de contenido sin casi ningún esfuerzo extra.

Veremos que dice el resto de la comunidad...

1voto

elias_leyton comentado

Lo que dices al final me costo entenderlo un poco, tu dices que lo mejor seria tener una salida JSON del tipo

[{
parrafo: 'contenido del parrafo'
track: '/data/tracks/98653980123.mp3'
},{
parrafo: 'contenido del parrafo'
track: null
},{
parrafo: 'contenido del parrafo'
track: '/data/tracks/98653980123.mp3'
}]

1voto

Leonardo-Tadei comentado

Sí, porque con MARDOWN no hay soporte para atributos de etiquetas del tipo data-track="09283745.mp3"

Acá en lugar de JSON usamos mucho XML para estas cosas. Puede ser un poco más largo el mensaje, pero es más fácil de leer y depurar, además de que se autovalida la integridad:

Te da además más opciones para tener una buena semántica

<parrafos>
<parrafo>
<p>contenido del parrafo<p>
<track>/data/tracks/98653980123.mp3</track
</parrafo>
<parrafo>
...
</parrafo>
</parrafos>

o

<parrafos>
<parrafo track="/data/tracks/98653980123.mp3">contenido del parrafo</parrafo>
<parrafo>...</parrafo>
</parrafos>

o identificando unívocamente los párrafos si te hiciera falta:

<parrafos>
<parrafo id=4578 track="/data/tracks/98653980123.mp3">contenido del parrafo</parrafo>
<parrafo id=3514>...</parrafo>
</parrafos>

y más variantes, garantizándote la extensibilidad de la comunicación.

0voto

elias_leyton comentado

Claro lo ideal seria tener una salida asi, el tema es como hago la parte en backend para que sea cómoda, ese es el desafió ahora...

1voto

Leonardo-Tadei comentado

Podrías hacer una interfaz para gestionar los MP3. Por otra parte, una para manejar los párrafos y elegir, opcionalmente, un MP3 de los disponibles.

Si cada página requiere que puedas manejar una cantidad variable de párrafos, al conjunto párrafo/MP3 lo envolvés en un contenedor, y cuando el operador aprieta un botón de "más" lo vas reiterando el par párrafo/MP3 para que ponga todos los que quiera.

En ralidad la complicación es tener una interfaz cómoda de usar: desde el punto de vista del proceso y almacenamiento, tenés solo párrafos y MP3 que pueden ser nulos... recorrés esos elementos y generás como salida el XML o JSON.

1voto

elias_leyton comentado

Quiero agregar otra solución a mi propio problema jaja.

Lo que hice fue al final implementar Markdown y exigir que el usuario ingresara el nombre de las canciones de esta manera 'Nombre de la canción' o en cursiva lo que bien sabemos es un simple Nombre de la canción y asi dejar claro que esa palabra es una canción.

Luego el usuario agregara parte o la totalidad de las canciones mencionadas de la misma manera ej.

Track #1
Nombre: Nombre de la canción / seguido de esto el usuario sube el track (mp3).
Asi sucesivamente.

Teniendo esto luego en la vista donde imprima la información lo que necesito es imprimir el makrdown normalmente y que un script en la vista sobre escriba y vea si en el parrafo existe solo una referencia a un track y asignar a ese párrafo el track. Si existe mas de una referencia por párrafo asignar un botón sobre la canción para darle play.

Esa la solucion mas amigable con el usuario que subiria contendido.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta