Custom app pour integrer toutes les personnalisations

Salut @oryxr,

Les principaux avantages d’une app sont :

  • Utiliser git pour le contrĂ´le de version
  • Mettre en place des tests
  • Pousser plus loin le custom (par ex - accès Ă  toutes les functions python de Frappe, hooks de documents plus avancĂ©s, pouvoir Ă©craser des classes ou mĂ©thodes etc.)
  • Transporter facilement les personnalisations

Au-dela d’une poignée de scripts et champs custom ça me semble une bonne idée oui.

L’inconvénient principal que je vois est que si tu bascules sur le cloud frappe tu ne peux pas installer d’app customs sur les plans les moins cher. J’imagine que c’est similaire sur le cloud dokos mais je laisse la team dokos confirmer/infirmer :wink:

Je te mets quelques infos sur comment procéder ci-dessous.

Champs et propriétés personnalisés

Quand ton bench est en mode develop, Il y a une fonction « Exporter les personnalisations Â» dans le menu Personnaliser des doctype qui te permet de rĂ©cupĂ©rer tes personnalisations pour celui-ci.

Scripts serveur

Il faut créer un ou plusieurs fichier python avec tes scripts puis référencer la function dans le fichier hook.py de l’app (cf doc frappe).

Par exemple

doc_events = {
	"Event": {
		"before_save": [
			"monapp.controllers.event.update_publication",
			"monapp.controllers.event.email_technical_team"
		],
		"after_save": "monapp.controllers.event.sync_item_booking",
	},
	"Quotations": {
		"before_validate": "monapp.controllers.quotation.update_project_event"
	},
}

Scripts clients

Tu peux les référencer dans le fichier hook.py également.

Exemple
doctype_js = {"Sales Order": "public/js/group_order.js"}

Voila dans les grandes lignes !

A plus,
Antoine.