Closed Frolipon closed 7 years ago
@Frolipon Il y a un problème pour l'enregistrement des données en base. Je vais regarder de plus près ton template
Côté front la réponse du serveur est la suivante :
{
"name":"MongoError",
"message":"The dotted field 'thirdColumnOptions.buttonVisible' in 'data.mainBlocks.blocks.0.thirdColumnOptions.buttonVisible' is not valid for storage.",
"driver":true,
"index":0,
"code":57,
"errmsg":"The dotted field 'thirdColumnOptions.buttonVisible' in 'data.mainBlocks.blocks.0.thirdColumnOptions.buttonVisible' is not valid for storage.",
"status":500
}
Tout les logs de l'erreur côté serveur :
POST /editor/58c0de405e28cd0012d6be55
error handling 500
{ MongoError: The dotted field 'thirdColumnOptions.buttonVisible' in 'data.mainBlocks.blocks.3.thirdColumnOptions.buttonVisible' is not valid for storage.
at Function.MongoError.create (/app/node_modules/mongodb-core/lib/error.js:31:11)
at toError (/app/node_modules/mongodb/lib/utils.js:114:22)
at /app/node_modules/mongodb/lib/collection.js:1049:67
at /app/node_modules/mongodb-core/lib/connection/pool.js:455:18
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickDomainCallback (internal/process/next_tick.js:122:9)
name: 'MongoError',
message: 'The dotted field \'thirdColumnOptions.buttonVisible\' in \'data.mainBlocks.blocks.3.thirdColumnOptions.buttonVisible\' is not valid for storage.',
[stack]: [Getter/Setter],
driver: true,
index: 0,
code: 57,
errmsg: 'The dotted field \'thirdColumnOptions.buttonVisible\' in \'data.mainBlocks.blocks.3.thirdColumnOptions.buttonVisible\' is not valid for storage.',
status: 500 }
Trace: { MongoError: The dotted field 'thirdColumnOptions.buttonVisible' in 'data.mainBlocks.blocks.3.thirdColumnOptions.buttonVisible' is not valid for storage.
at Function.MongoError.create (/app/node_modules/mongodb-core/lib/error.js:31:11)
at toError (/app/node_modules/mongodb/lib/utils.js:114:22)
at /app/node_modules/mongodb/lib/collection.js:1049:67
at /app/node_modules/mongodb-core/lib/connection/pool.js:455:18
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickDomainCallback (internal/process/next_tick.js:122:9)
name: 'MongoError',
message: 'The dotted field \'thirdColumnOptions.buttonVisible\' in \'data.mainBlocks.blocks.3.thirdColumnOptions.buttonVisible\' is not valid for storage.',
driver: true,
index: 0,
code: 57,
errmsg: 'The dotted field \'thirdColumnOptions.buttonVisible\' in \'data.mainBlocks.blocks.3.thirdColumnOptions.buttonVisible\' is not valid for storage.',
status: 500 }
at /app/server/index.js:314:15
at Layer.handle_error (/app/node_modules/express/lib/router/layer.js:71:5)
at trim_prefix (/app/node_modules/express/lib/router/index.js:310:13)
at /app/node_modules/express/lib/router/index.js:280:7
at Function.process_params (/app/node_modules/express/lib/router/index.js:330:12)
» 9 Mar 2017 11:50:04.236 327 <158>1 2017-03-09T04:50:03.945021+00:00 heroku router - - at=info method=POST path="/editor/58c0de405e28cd0012d6be55" host=badsender.herokuapp.com request_id=f93d11d8-67db-41c7-8540-e0901da0ebac fwd="180.183.152.36" dyno=web.1 connect=0ms service=850ms status=500 bytes=619 protocol=http
at next (/app/node_modules/express/lib/router/index.js:271:10)
at Layer.handle_error (/app/node_modules/express/lib/router/layer.js:67:12)
at trim_prefix (/app/node_modules/express/lib/router/index.js:310:13)
at /app/node_modules/express/lib/router/index.js:280:7
at Function.process_params (/app/node_modules/express/lib/router/index.js:330:12)
at next (/app/node_modules/express/lib/router/index.js:271:10)
at next (/app/node_modules/express/lib/router/route.js:121:14)
at process._tickDomainCallback (internal/process/next_tick.js:129:7)
POST - /editor/58c0de405e28cd0012d6be55 500
@Frolipon la solution trouvée :
remplacer toutes les références du type :
firstColumnOptions.imageVisible
par
firstColumnOptionsImageVisible
Pas de point en séparateur mais une majuscule
Comme vu sur Skype, le bug est résolu en dégommant le firstColumnOptions.imageVisible=true etc. des propriétés des blocs.
Ce serait un bug qui serait intéressant de remonter à Mosaico non?
Je ne pense pas que ce soit un bug.
Plutôt qu'il faille définir les valeurs par défaut d'un ensemble de widget dans cet ensemble et non pas là où il est instancé
@Frolipon J'ai mis à jour le template “témoin” avec une partie sur ce que tu veux
https://github.com/goodenough/mosaico/tree/february-2017/templates/sub-themes
Pour moi ça reste un bug, car il y a bien la possibilité dans les exemples du Versafix de définir pour un bloc ou pour une section une valeur par défaut, et pas seulement au niveau widget. Mais difficile à dire vu qu'on ne connaît pas les spec définies.
Pour info, le lien vers le template témoin ne fonctionne pas ;-)
@Frolipon Ah oui la branche a été supprimée
https://github.com/goodenough/mosaico/blob/master/templates/sub-themes/template-sub-themes.html
Si tu peux me donner l'endroit où c'est déclaré dans versafix je suis preneur :)
Pour pouvoir corriger ce problème d'enregistrement il existe bien une solution, mais il faudra passer par des script pour mettre à jour la DB. À voir donc
@Frolipon il y a d'autres choses à faire sur ce ticket ?
Nop, c'est fermé :-)
Hello,
J'ai un message d'erreur de sauvegarde lorsque je tente d'enregistrer un email à partir d'un template suivant sur la prod:
Quand je créé un email et que je tente de sauvegarder, j'ai un message d'erreur si l'email comprend une des sections suivantes: bloc 3 colonnes ou bloc 4 colonnes
Le problème est que le message d'erreur dans la console est assez succint:
Il s'agit peut-être d'un problème dans le code de ces sections, mais je ne vois pas où. Pourrais-tu m'orienter sur la nature de l'erreur? Ou voir si l'erreur se situe ailleurs?