Installation sur mutu ovh

Bonjour,

Je suis en train d’essayer d’installer yakforms. J’ai fait un premier test en autohébergement, qui n’a pas abouti : Plusieurs choses seraient à modifier dans la page d’installation :

    1. téléchargez le profile d’installation Yakforms : le zip proposé ici n’est pas d’actualité : c’est encore framaforms, dans le nom et la mise en forme, ce qui complique la mise en œuvre de la suite de l’installation (changer les noms des dossiers, …)
      Il faudrait prévoir de modifier ce zip, ou bien de supprimer ce lien, et de mettre uniquement celui vers le dossier du git.
  • Lors du point 7 de l’installation (selon le lien mis au-dessus) avec le zip, plusieurs erreurs :

    Notice : Undefined index: node/add/form1 dans framaforms_menu_alter() (ligne 63 dans /var/www/my_webapp/www/profiles/framaforms_org/modules/framaforms/framaforms.module).
    Notice : Undefined index: node/add/form1 dans framaforms_menu_alter() (ligne 63 dans /var/www/my_webapp/www/profiles/framaforms_org/modules/framaforms/framaforms.module).
    Notice : Undefined index: node/add/form1 dans framaforms_menu_alter() (ligne 63 dans /var/www/my_webapp/www/profiles/framaforms_org/modules/framaforms/framaforms.module).

puis lors du point 10 de l’installation :

Error : Call to a member function set_display() on null dans views_access_callback_access_callback() (ligne 23 dans /var/www/my_webapp/www/profiles/framaforms_org/modules/views_access_callback/views_access_callback.module).

Depuis plus rien n’est accessible. je suis bloqué sur cette erreur. Avant ce point, il y avait pleins de soucis, notamment quasi tous les liens renvoyaient vers la page d’accueil, ne pointaient nul part (ce qui est sans doute normal, puisque les pages devaient être créées grâce au point 10).

Devant toutes ces erreurs, je me suis dit que le zip n’était sans doute plus à jour.
Tout de même si ça peut aider : https://serveur.captp.fr/form (comme c’est de l’autohébergement, pour l’instant, si vous cherchez à le consulter la nuit, c’est normal que ça ne marche pas, j’éteins ma machine :wink: )

J’ai donc recommencé une install, sur mon mutu cette fois, en prenant le profile dans le dépôt git.
Cette fois-ci pas de framaform qui interfère, je me retrouve bien avec la mise en page de yakform.
Tout d’abord, comme pour ma première installation, j’ai beau avoir fait un fichier settings.php déposé dans /var/www/yakforms/sites/default/, l’installateur me redemande tout sur la base de données, comme s’il ne lisait pas ce document.

ensuite idem, deux séries d’erreurs :
la première :

    Warning : Creating default object from empty value dans _yakforms_set_variables_pages() (ligne 133 dans /var/www/yakforms/profiles/yakforms_profile/modules/yakforms/yakforms.install).
    Notice : Undefined property: stdClass::$name dans filter_format_save() (ligne 207 dans /var/www/yakforms/modules/filter/filter.module).
    Notice : Undefined property: stdClass::$format dans filter_format_save() (ligne 218 dans /var/www/yakforms/modules/filter/filter.module).
    PDOException : SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'format' cannot be null: INSERT INTO {filter_format} (format, name, cache, status, weight) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4); Array ( [:db_insert_placeholder_0] => [:db_insert_placeholder_1] => [:db_insert_placeholder_2] => 0 [:db_insert_placeholder_3] => 1 [:db_insert_placeholder_4] => 0 ) dans filter_format_save() (ligne 225 dans /var/www/yakforms/modules/filter/filter.module).

Pour le point 9, il y a aujourd’hui plus que juste le yakforms-feature à activer je pense. Pareil, la doc mériterait à être augmentée.
Puis j’ai fait generate default pages (étape 10), et depuis je me retrouve avec une page rose vide. j’ai toujours accès à l’admin par contre.
Adresse de l’instance : form.captp.fr
autre problème : quand j’essaie de passer en https, j’ai ce message : vous n’êtes pas autorisés à accéder à cette page, alors qu’en http ça fonctionne. J’ai essayé de changer le .htaccess, mais le problème persiste.

Voilà, pour l’instant je ne me suis pas plus penché que ça sur la résolution de tous ces problèmes, mais premier constat oui on peut installer tout ça sur un mutu, deuxième constat, en suivant juste le mode d’emploi de l’installation, et bien ça ne marche pas. ^^

Je suis preneur d’aide s’il y a déjà eu des galères du genre, pour gagner du temps, sinon j’essaierai de mettre des infos de mes avancées.

EDIT : Ah et j’en profite pour dire merci aux devs qui ont mis tout ça en place, de base framaform était top, Yakform a un design qui l’améliore encore !

1 Like

Infos supplémentaires :
J’ai fait les mises à jour qui étaient à faire, ça a permis de faire apparaître des choses (titre, pied de page). En créant un formulaire, si je l’affiche, on le voit bien.

Problème : tous les blocs d’authentification sont invisibles. J’ai eu la mauvaise idée de me déconnecter pour voir si c’était lié au fait que j’étais connecté, et depuis, je ne sais pas comment me reconnecter !! C’est bête.

Je ne comprends pas pourquoi aucune page ne se redirige correctement ? pas de https, pas de redirection vers la page de connexion (alors que quand je vais sur mondomaine/user/login ça fonctionne)
Sur le profil utilisateur, après connexion, impossible de voir le formulaire déjà créé. Contact us en bas renvoie sur une page blanche (rose) et devel est inutile. Bon ça en fait des soucis ! ^^

Je me fais la discussion tout seul, si ça peut aider à mettre à jour la doc ou à aider quelques perdus qui ne connaissent pas drupal comme moi, c’est bien, sinon, désolé… :wink:

Pour que le contenu soit activé, après l’étape 10 (qui est je le rappelle « cliquer sur créer les pages de base » (generate default pages)), il faut les publier j’ai l’impression… Dans domaine.com/admin/content, les sélectionner et publier.

Un autre bug : Quand je clique sur « Vue d’ensemble », j’ai ça :


    Notice : Undefined variable: content dans get_dashboard_content() (ligne 18 dans /var/www/yakforms/profiles/yakforms_profile/modules/yakforms/includes/yakforms.admin.inc).
    PDOException : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `yakformnode` node WHERE (type = 'form1')' at line 1: SELECT FROM {node} node WHERE (type = :db_condition_placeholder_0) ; Array ( [:db_condition_placeholder_0] => form1 ) dans get_dashboard_content() (ligne 22 dans /var/www/yakforms/profiles/yakforms_profile/modules/yakforms/includes/yakforms.admin.inc).

Bon il y a quelques problèmes de mise en page, de redirections, d’accès, mais dans l’ensemble ça marcje, je peux créer des formulaires, des utilisateurs, et publier tout ça.

Dernier problème pour ce soir : Je ne comprends pas pourquoi tout est en anglais dans l’édition du formulaire : on ne peut pas changer la langue ?
Pourtant dans yakforms_profile j’ai bien ajouté un dossier translations avec le fichier pour le français dedans… Mais cela ne concerne que l’interface Drupal (qui elle est bien traduite), je me trompe ?

Adieu Cellophile,

Non tu n’es pas seul :wink:.
Merci pour tes retours. Même si je ne compte pas me lancer (pour l’instant) pour monter une instance chez o2switch, ton fil devrait bien aider.
Cordialement,

Thierry

1 Like

Salut @Cellophile, merci pour les retours.

Je pense qu’il manque pas grand chose pour avoir un site pleinement opérationnel, vu la tête de ton site.

Concernant l’archive : effectivement le lien n’était pas à jour, et ne contenait donc pas les bons modules.

Concernant tes pages : il faudrait vérifier si les nœuds Drupal sont créés. Est-ce que tu peux aller dans tonsite.tld/admin/content et vérifier que du contenu de type « page » existe ?

Concernant l’erreur SQL sur la Vue d’ensemble : c’est effectivement étrange :thinking: est-ce que tu réussirai à avoir un log MySQL de la requête exécutée ? Parce que ça pourrait être un problème avec MySQL, vu que PostgreSQL est recommandé pour Yakforms.

Si tu as d’autres problèmes, vérifie également ces erreurs qui ont déjà été répertoriées.

Il faut peut-être que tu importes les fichiers de traduction de Yakforms à la main. Télécharge-les depuis le dépôt, et importe-les dans tonsite.tld/admin/config/regional/translate/import.

Pour résoudre les erreurs liées à la page « Vue d’ensemble » :
Dans le code de /var/www/yakforms/profiles/yakforms_profile/modules/yakforms/includes/yakforms.admin.inc

Modifierla ligne 18 :
$content .= "<ul>";
devient
$content = "<ul>";

Ensuite, il y a des erreurs avec les fonctions inhérentes à drupal, et je connais pas du tout.
ligne 21 :

 $query = db_select('node')->condition('type', 'form1');
  $totalNumberOfForms = $query->execute()->rowCount();

Mal écrit si je me réfère à ceci la doc du db_select, on devrait l’écrire comme ça :

  $query = db_select('node', 'c')
           ->fields('c')
           ->condition('type', 'form1')
           ->execute();
  $totalNumberOfForms = $query->rowCount();

Malheureusement, comme je ne suis pas à l’origine du code, je flotte un peu, je ne sais pas ce que le champ field est censé renvoyer, Toujours est-il qu’avec ce bout de code, je n’ai plus l’erreur !!

Autre erreur ligne 35

    $results = db_query($query, array())->rowCount();

Pareil, erreur de syntaxe, si on regarde la doc du db_query, il y a un problème avec le array qui est vide je pense, mais je ne suis pas assez calé, y a-t-il des experts pour relire ce code ?
voici l’erreur que j’obtiens, après correction des deux bug précédents :

PDOException : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3: SELECT * FROM node WHERE type ='form1' AND to_timestamp(created) > NOW() - interval'1 week'; Array ( ) dans get_dashboard_content() (ligne 37 dans var/www/yakforms/profiles/yakforms_profile/modules/yakforms/includes/yakforms.admin.inc).

Il est très probable que la ligne 47 et 46 se mettent en erreur aussi, vu que db_select est pas bien écrit non plus, mais je ne pourrai voir ça qu’après le pb du db_query résolu…

EDIT : Je ne fais pas de proposition de fork sur framagit, parce que je voudrais que tout soit résolu avant. Maintenant, si quelqu’un veut incorporer tout ça, c’est chouette ! :slight_smile:

Excuse-moi Thelem, j’avais pas vu ton message, en travaillant sur le reste.
Oui, des pages existent bien dans admin/content :

le lien ne mène nulle part. depuis monsite.tld/admin/config/regional/translate/update, j’ai pu importer 45 fichiers de traduction, mais il en manque toujours 4 :

Traductions manquantes pour :

Et pour le coup, dans le dépôt git, il n’y a pas ce dossier translations pour copier les fichiers ! :wink:

En checkant ces erreurs, j’ai cherché à aller dans ce répertoire : /var/www/yakforms/sites/all/modules/webform/includes/webform.conditionals.inc

Et à partir de modules, je n’ai plus rien ! Sur le git, il y a bien une foultitude de dossiers encore… Je commence à me demander s’il ne manque pas sérieusement des choses !

Alors je fais une copie totale du git, et c’est parti pour un upload.
Ce n’est pas une solution, il y a pleins d’erreurs (faudrait faire le ménage dans tous ces dossiers il y en a un paquet qui sont redondants !!)

Voici la liste des erreurs que j’essuie et la procédure que je suis :
Mises à jours à faire.

Fatal error: Cannot redeclare page_manager_page_menu() (previously declared in /var/www/yakforms/profiles/yakforms_profile/modules/ctools/page_manager/plugins/tasks/page.admin.inc:15) in /var/www/yakforms/sites/all/modules/ctools/page_manager/plugins/tasks/page.admin.inc on line 125
Fatal error: Cannot redeclare _views_theme_functions() (previously declared in/var/www/yakforms/sites/all/modules/views/theme/theme.inc:18) in /var/www/yakforms/profiles/yakforms_profile/modules/views/theme/theme.inc on line 39

suppression du dossier /yakforms/sites/all/modules/views/
suppression du dossier yakforms/sites/all/modules/ctools/

Fatal error: require_once(): Failed opening required '/var/www/yakforms/sites/all/modules/ctools/includes/dependent.inc' (include_path='.:/usr/local/php7.3/lib/php') in /var/www/yakforms/sites/all/modules/ctools/ctools.module on line 133

reupload du dossier

Fatal error: Cannot redeclare page_manager_page_menu() (previously declared in /var/www/yakforms/profiles/yakforms_profile/modules/ctools/page_manager/plugins/tasks/page.admin.inc:15) in /var/www/yakforms/sites/all/modules/ctools/page_manager/plugins/tasks/page.admin.inc on line 125

renommage du fichier concerné avec old-
interface graphique remarche.
pleins d’erreurs liées à views supprimé : reupload du dossier views
renommage du fichier /yakforms/sites/all/modules/views/theme/theme.inc avec old-
Mais les deux document sont includes, on ne peut pas les desactiver. Il y a des fonctions qui doivent être redondantes…

Fatal error: Cannot redeclare template_preprocess_views_view() (previously declared in /var/www/yakforms/sites/all/modules/views/theme/theme.inc:44) in /var/www/yakforms/profiles/yakforms_profile/modules/views/theme/theme.inc on line 169
Fatal error: Cannot redeclare template_process_views_view() (previously declared in /var/www/yakforms/sites/all/modules/views/theme/theme.inc:174) in /var/www/yakforms/profiles/yakforms_profile/modules/views/theme/theme.inc on line 181

j’ai fini par laisser le document, mais commenter toutes les lignes… !!!`

Fatal error: Cannot redeclare entity_features_get_controller() (previously declared in /var/www/yakforms/sites/all/modules/framaforms/framaforms.util.inc:17) in /var/www/yakforms/profiles/yakforms_profile/modules/framaforms/yakforms.util.inc on line 37
Fatal error: Cannot redeclare get_contact_form_content() (previously declared in /var/www/yakforms/sites/all/modules/framaforms/includes/framaforms.block.inc:17) in /var/www/yakforms/sites/all/modules/yakforms/includes/yakforms.block.inc on line 42

résolu en mettant old-

Fatal error: Cannot redeclare entity_features_get_controller() (previously declared in /var/www/yakforms/sites/all/modules/entity/entity.features.inc:17) in /var/www/yakforms/profiles/yakforms_profile/modules/entity/entity.features.inc on line 25

a nouveau des erreurs avec

Warning : include_once(/var/www/yakforms/sites/all/modules/views/theme/theme.inc): failed to open stream: No such file or directory dans include_once() (ligne 565 dans /var/www/yakforms/includes/theme.inc).

résolu par rechargement.

Fatal error: Cannot redeclare make_forms_expire() (previously declared in /var/www/yakforms/sites/all/modules/framaforms/includes/framaforms.expiration.inc:15) in /var/www/yakforms/sites/all/modules/yakforms/includes/yakforms.expiration.inc on line 95

Mise en old-

FacesExtendableException : There is no method process for this instance of the class RulesCondition. dans FacesExtendable->__call() (ligne 135 dans /var/www/yakforms/sites/all/modules/rules/includes/faces.inc).

Et là je suis bloqué, plus rien ne marche, et j’en ai marre.

Il y a effectivement besoin d’une clarification à ce niveau là.
Les modules et thèmes sont effectivement dupliqués dans le dépôt Git, mais il y a une raison à cela.

  • Drupal travaille par défaut en installant les fichiers dans sites/all/modules et sites/all/themes, donc pour le développement c’est plus simple de tout mettre là-dedans.
  • le profile d’installation - le paquet de modules et de thèmes qui sont utilisés pour installer une nouvelle instance de Yakforms - est placé dans profiles/yakforms_profile. Il contient les dossiers profiles/yakforms_profile/modules et profiles/yakforms_profile/themes, qui contiennent des ensembles testés de modules et thème pour faire fonctionner le site.

Il y a effectivement donc effectivement des modules et thèmes dupliqués dans le dépôt, mais qui ne doivent pas être utilisés en même temps. D’où ces instructions :

Télécharger la dernière version officielle du profil en en clonant le dépôt Git, puis en copiant le sous-dossier profiles/yakforms_profile.

Ce n’est pas une bonne idée d’installer un site depuis le dépôt téléchargé en entier !

Les fix indiqués sur la page wiki sont à appliquer dans les modules là où ils sont installés, dans ton cas dans profiles/yakforms_profile/modules et non pas sites/all/modules. Il faudrait rajouter une indication sur la page wiki en ce sens.

1 Like

le lien [ tonsite.tld/admin/config/regional/translate/import] ne mène nulle part

C’est bizarre :thinking: et en y allant au clic ?

  1. Configuration (menu d’admin en haut de page)
  2. Traduire l’interface
  3. Importer (onglet en haut de page)

Dans ce cas, tu devrais pouvoir configurer à la main le chemin vers ta page d’accueil, pour éviter d’avoir cette liste de formulaires non mis en page en page d’accueil :

Salut Thelem !
Merci pour ton suivi et tes réponses !
Je me suis un peu échauffé hier, devant toutes ces erreurs, mais je vais tout supprimer et reprendre avec la config normale : un drupal 7 propre, un profile Yakforms, propre aussi, et repartir de là où j’en étais avant cette envie de télécharger le git complet ^^
Je revient ici dès que j’ai du nouveau !

Est-ce que tu as eu le temps de regarder pour les erreurs de code dans le fichier var/www/yakforms/profiles/yakforms_profile/modules/yakforms/includes/yakforms.admin.inc ?

Bien ! Alors reprenons :

  • téléchargement de drupal 7 et installation (v7.81 pour moi).
  • téléchargement de yakforms-profile et installation.
  • téléchargement de la langue française, création d’un dossier translations dans yakforms-profile, et upload dans ce dossier.
  • Lancement de l’installation.
  • On suit les pages de l’install (renseigner la base de données, nom du site, administrateur…)
  • activer le module yakform-features
  • Mise à jour des modules.
  • Création des pages pages par défaut. Le lien de la doc d’install n’emmène pas au bon endroit :
    youryakforms.ex/admin/config/system/yakforms

    C’est normal, il faut activer aussi le module Yakform dans admin/modules.
  • Activation du module yakform. Le lien au-dessus fonctionne. Dans défault parameters, tout en bas, cliquer sur générer les pages par défaut.

Et là magie, tout fonctionne !

Il reste toutefois des bugs :

  1. Faut-il activer les pages dans yoursite.tld/admin/structure/pages ? Je pense que oui (notamment contact, …)
  2. La mise en forme de ladite page ne fonctionne pas :
  3. la page vue d’ensemble ne marche toujours pas :

  4. Dans la doc d’install on ne parle que d’un module yakforms, aujourd’hui il y en a 5. Comme vu plus haut, pour générer les pages par défaut, il faut activer aussi le module Yakform. Mais quid des trois autres ?

    J’imagine que Yakforms Public Results et Yakforms Share Results ont leur utilité également ?
  5. Quant à Yakforms Spam Protection, impossible de l’activer, car Views_access_callbacks (manquant).
    Il y a déjà un post qui a été fait là-dessus. Et en modifiant /var/www/yakforms/profiles/yakforms_profile/modules/yakforms_spam/yakforms_spam.info en enlevant le « s » à views_access_callback, tout fonctionne.

Afin que le site soit automatoquement en https, je rajoute dans le .htaccess :

	## http -> https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE,QSA]
1 Like

Autres problèmes d’affichage :
le bouton utilisateur
menuuser
N’est accessible que depuis un formulaire publié.
Sur la page de l’utilisateur authentifié, on ne le voit pas :

Pourtant, quand je vais pour configurer le bloc, dans les paramètres de visilibité, réservé à certaines pages, Toutes les pages sauf celles listées est bien coché, et dans les pages listées il n’y a que

node/add
node/add/*

Sur la page soite.tld/https:/users/user1, je devrais donc le voir apparaitre… Or, comme on le voit dans la photo ci-dessus, ce n’est pas le cas.

Lors de l’édition d’un formulaire, le bloc latéral est gênant, on ne peut pas l’enlever. Ajouter un bouton « j’ai compris » par exemple.