npds:historique:revolution_16

REvolution 16

Depuis une version 13 voici les principaux changements.

Implémentations majeures impactant sur tout le portail :

  • - intégration en backend d'un framework : Bootstrap 4 #requis

ayant pour conséquence :
intégration de Jquery 3.x (implémentation) #requis
abandon de la librairie YUI (désimplémentation)

  • - intégration des webfont fontawesome version courante (free) :

(soutien et remplacement de l'iconographie du cms) #requis

  • - abandon de la librairie toggle-div (désimplémentation)
  • - responsive design

réécriture de presque TOUS les fichiers du portail (suppression des mise en pages tabulaires) et implémentation de classes (pour grilles/grid) ces classes sont celles de bootstrap4 MAIS elle peuvent très bien se comporter comme des classes génériques à cloner ou modifier en cas de changement de framework..)

ADMINISTRATION

  • - passage en full utf-8

tous les fichiers (script et langue) sont en utf-8 : la sortie des fichiers langues est donc en utf-8 transformé si nécessaire en entités html

  • - nouveaux système de droits appliqué au fonctions

stockage des fonctions et des droits dans 2 nouvelles tables de la bd abandon du mécanisme géré par extend-modules.txt administration des modules recentralisé pour profiter de la puissance du nouveau système de droits aux fonctions modification des entêtes des fichiers admin des modules (inclusion de la fonction qui gère les droits) modification des fichiers install_conf des modules avec install auto et admin qui doivent envoyer une requête d'identification à la table fonctions

  • - système d'alerte/notification de tâche d'administration :

centralisé et disponible dans le bloc admin

  • - contrôle des serveurs mails :

lors des entrées d'adresse email dans le portail en admin possibilité de contrôler toutes les adresses mails des utilisateurs déjà stockées. En cas de défaut l'utilisateur sera prévenu (MP) toutes les ressources envoyant des emails vers cette adresse seront suspendues.

Corrections

  • - lib mysqli

ajout de la connection persistante et globalisation de $dblink dans la fonction sql_connect() car variable non disponible dans certain contexte (install auto) correction fonction sql_num_fields (utilisée dans savemysql)

  • - lib mysql

# ajout des fonctions clones de (mysql || mysqli_select_db)

  • - bug (Rev13) état de l'icône témoin de connection ne fonctionnait pas dans les blocs groupes
  • - bug (Rev13) headlines (la lib feed creator avait changé mais pas la construction du bloc headline)

lib/feedcreator.class.php (corrections conformité dans la lib ATOM) dans backend.php dans admin/headlines.php (remove la suppression des espace avant entrée dans bd) dans mainfile.php (fonction headline) rajout de la possibilité d'avoir un titre de bloc human readable …) par la modification du système de création de nom des fichier.cache qui était basée sur un nom compatible de fichier (…sans espace)

Evolutions

Installation automatique de modules :
  • - install auto en v.1.2
  • - utilisation des lib (mysql ou mysqli) pour support php7
  • - ajout support langue espagnol
  • - compatibilité php7 (ereg⇒preg)
  • - option d'installation rapide
  • - interface
  • - désinstallation automatique (prototype)
- intégration côté client d'un contrôle des form

utilisation de formValidation

- suppression des commentaires relatifs à un sondage quand on supprime le sondage. - chargement de footer_after.inc à partir du thème modification du fichier footer.php pour pouvoir charger (comme pour les modules) si il existe le fichier footer_after.inc ceci permet de placer ici les js (…de second niveau) nécessaires =⇒ chargement plus rapide de la page

THEMES
  • - 8 themes disponibles dont 3 “skinable” (22 skins)

ce qui donne donc 74 visualisations différentes du portail possible

  • - Implémentation des skins de Thème pour l'utilisateur et l'administrateur

un theme skinable doit avoir le suffixe _sk les feuilles de style doivent se trouver dans le dossier themes/_skins/'monskin'/bootstrap.min.css un theme et toute son infrastructure peut donc supporter les skins

modules/include/header_head.inc =⇒ [chargement du framework en backend avec CSS par defaut] ==⇒ si l'utilisateur choisit un skin dans header.php on remodifie le(s) lien(s) CSS relatif au Framework en lui appliquant deux css du framework customisé (bootstrap.min.css, extra.css)

  • - note :

on peut maintenant avoir des dossiers thèmes non visible par les utilisateurs (pour travaux et désactivation) pour désactiver il suffit de faire précéder le nom du dossier theme par _

  • - ajout d'une landing page :

offre la possibilité d'avoir un header.html alternatif sur la page d'accueil (défini pour le site), par l'ajout d'un fichier themes/montheme/html/header_landing.html , si ce fichier existe alors il sera chargé pour la page d'accueil en lieu et place du header.html.

SUPPORT DES LANGUAGES

  • - Support compatibilité PHP 7.x
    • chasse au notice php (undefined variable, undefined offset, …)
    • correction des fichiers où le nom d'une classe est identique à celui d'une fonction de cette classe
    • correction des preg utlisant le flag '##'e remplacement par callback
    • correction de new topic.php (encadrement des codes d'erreur forum par des simple quote)
    • correction de la lib file.class.php (incompatible avec PHP7 objet incompatible?…)
    • correction de toutes les utilisation de each (big work)
    • correction des argument de définition des constantes
    • correction admin/banners.php

lignes 387 et 431 de admin/banners.php (REV 13) la variable $extrainfo est doublée dans les liste d'arguments de la fonction BannerClientChange() === page blanche !!!!

  • correction modules/links/links-1.php

ligne 101 (REV 13) la variable $name deux fois dans les arguments de fonction Add() === page blanche

  • correction modules/links/links.php

ligne 544 (REV 13) la variable $name deux fois dans les arguments de fonction Add()

  • - Support compatibilité MYSQL 5.7 +

modification de certaine valeur par default dans la bd modification dans les fichiers de requêtes où le type de valeur ne correspond pas à celui attendu dans la base … typage precis des entrées dans la bd en fonctions des types définis dans la bd : (on manque encore de test …)

  • - Support IPV6

pour session log anti spam banIP etc … (reste à traiter le cas des adresse IPV4 encapsulé dans une IPV6)

Tinymce

version courante
adaptation de l'implémentation
ajout de commande pour les métamots
modification des templates (responsives)

DIVERS

- Remplacement des licences GNU GPL de version 2 par la version 3

RGPD

- intégration d'un outil de consentement des services utilisés et des cookies déposés par ces services (tarteaucitron)

GEOLOC

inclusion dans le core du module de géolocalisation

INSIDE CODE

mise en majuscule des instructions mySQL écriture à double indentation (3 espaces) PHP / html / js généralisation des simple quotes (le plus souvent) augmentation de la longueur des chaines de sorties réduction des concaténations courtes. ecriture des js avec le support de jquery ou en js pur

  • npds/historique/revolution_16.txt
  • Dernière modification : Dec. 15, 2024 09:26 AM UTC
  • de jpb