| 20090615 patch control backup.tgz - 8,360 bytes, 108 downloads |
Les apports de yacs 9.5
Voici un descriptif succint des modifications les plus importantes :
* Les éditeurs ont maintenant la possibilité de déplacer des articles par proximité, dans une section adjacente à celle qui contient l'article manipulé, et en fonction de leurs droits d'accès bien entendu. Cette nouvelle fonction était très attendue pour soulager le travail des associés, seuls habilités jusqu'à présent à déplacer du contenu. Voir l'implémentation dans articles/edit.php. La fonction de génération dynamique des boutons radio est
Sections::get_radio_buttons(), dans sections/sections.php* En cas de besoin, les associés ont toujours la possibilité de déplacer plusieurs articles d'un coup, et vers n'importe quelle section, grâce au script de gestion de masse, sections/manage.php.
* La mise en page de type blog (articles/layout_articles_as_daily.php) n'affiche plus l'heure de l'envoi. La place ainsi libérée permet d'indiquer jusqu'à 5 catégories ou étiquettes au lieu de trois précédemment.
* Dans la page d'affichage d'un article, le lien d'affichage des différentes versions s'intitule 'Versions', au lieu de 'Historique' précédemment.
* La liste des éditeurs d'un article est maintenant fournie aux éditeurs, alors que seuls les associés y avaient accès précédemment. Voir articles/view.php.
* Yacs indique à présent la liste des observateurs d'une page, dans la page elle-même. Voir les détails de bas de page dans articles/view.php et surtout, dans le script d'affichage par onglets, articles/view_as_tabs.php.
* Pour intégrer n'importe quel layout dans un code yacs tel que
[updated.toto=section:123], comme demandé par Christian, il a fallu changer la plupart des fonctions list_selected() pour passer d'une affectation statique des layouts à une affectation dynamique. Avec la nouvelle version de yacs, l'interprétation du code précédent conduira à chercher et charger le script articles/layout_articles_as_toto.php, s'il existe. Dans l'ancienne version, seuls les layouts fournis avec yacs étaient pris en compte.* L'une des conséquences du changement précédent est que le nom du layout utilisé pour construire des fils d'information RSS a été changé de 'feeds' en 'feed', dans les différents modules (articles, commentaires, etc.)
* Un nouveau layout users/layout_users_as_comma.php a été intrduit pour faciliter la création de petites listes d'usagers.
* L'interface de blog par XML-RPC autorise maintenant l'envoi de nouvelles pages dans une section verouillée, à condition que l'internaute en soit un éditeur. Cet ajout était nécessaire pour permettre la gestion de sections privées du serveur à l'aide des outils de blog courants. Voir services/blog.php.
* La nouvelle version de l'interface JSON-RPC a été implémentée dans services/json_rpc.php
* Dans le module de gestion des sections, une nouvelle fonction
Sections::get_layout() a même été introduite. En fonction des besoins, on pourra s'en inspirer dans d'autres modules dans le futur.* Plusieurs bugs ont été corrigées à la lumière de nouveaux serveurs créés par Tof et d'autres. Les modifications et améliorations ont été intégrées dans cette nouvelle version de yacs, comme par exemple les extensions d'overlay dans articles/edit.php et dans categories/edit.php. La nouvelle version de l'interface est, comme toujours, dans overlays.php/overlay.hp.
* De même, la catégorisation des articles est à présent permise, même lorsque les nouvelles contributions ne sont pas autorisées. Voir la fonction
Categories::is_allowed() dans categories/categories.php.* 'Modifier cette page' est devenu 'Modifier cette catégorie' pour les catégories et 'Modifier cette section' pour les sections. Ceci pour éviter certaines ambiguités dans l'interface utilisateur, et donc lui simplifier la tâche ...
* Un nouveau player Flash a été mis en oeuvre, pour mieux respecter le schéma de licence de yacs. De plus, ce player offre une interface très moderne pour le rendu visuel.
* Yacs détecte automatiquement les extensions de fichier gérées par le nouveau player, dont
.flv, .mp4, m4v, et emploie le nouveau code [embed ...] pour intégrer les vidéos dans les pages. Voir articles/article.php* C'est la nouvelle fonction
Files::is_embeddable(), dans files/files.php, qui détermine les extensions de fichier acceptées par le nouveau code [embed ...].* Précédemment les boîtes pliantes étaient gérées par le biais du code
[folder]...[/folder]. La nouvelle version de yacs fournit deux nouveaux codes, suivant que l'on veut générer une boîte pliante dépliée ou pliée : [unfolded]...[/unfolded] et [folded]...[/folded]. L'ancien code est aussi conservé, bien entendu.* Le code de gestion du protocole HTTP a été regroupé dans une script unique : shared/http.php. Du coup, plein de lignes ont été supprimées un peu partout, notamment dans les scripts de génération de fils d'information. Voir par exemple feeds/atom_0.3.php comments/feed.php.
* L'accessibilité des onglets dynamiques a été grandement améliorée, puisque chaque onglet correspond à présent à un lien nommé. Bien entendu, yacs affiche l'onglet correspondant au chargement de la page. Précédemment, yacs affichait toujours le premier onglet. Maintenant, chaque onglet est adressable indépendamment des autres, ce qui correspond mieux aux attentes des internautes. Voir shared/yacs.js pour la partie Javascript de la chose.
* La table des matières d'une page, introduite grâce au code
[toc], est beaucoup moins intrusive qu'auparavant, et il faut cliquer sur le lien fourni par yacs pour la faire apparaitre, grâce à des effets scriptaculous. Voir la fonction build_toc_box() dans skins/skin_skeleton.php. Bien sûr, les paramètres d'affichage sont réglés par feuille de style, dans skins/_reference/yacs.css* La pagination des listes importantes est simplifiée, et seuls quelques liens autour de la page courante sont fournis. Ceci n'empêche pas le travail d'exploration des robots. Voir la fonction
navigate() dans skins/skin_skeleton.php* La page de profil d'un membre affiche plus d'information que précédemment (comme par exemple la liste des connexions), et leur disposition a été revue pour faciltier les interactions entre les membres. Voir users/view.php et users/edit.php
* Le style de table '100%' est de moins en moins utilisé par yacs, au profit des classes 'wide grid'. L'intérêt est à la fois de corriger un bug spécifique à Internet Explorer 6 dans le rendu des tables à la suite d'objets flottants, et de permettre toutes les fantaisies par le biais des feuilles de style cascadées.
* Les fichiers modèle utilisés pour la construction de
.htaccess ont été modifiés pour améliorer les performances, et pour contourner certains bugs d'Internet Explorer 6 avec la gestion de cache des objets Flash. Le cache par expiration n'est plus sytématique, mais réservé à certains types MIME. Les images statiques, les librairies Javascript, les feuilles de style cascadées, sont cachées pendant 3 jours, et l'attribut ETag n'est plus généré pour ces objets statiques, conformément aux recommendations du Yahoo Performance Group (control/htaccess/indexes/.htaccess). Les types MIME text/plain et text/calendar sont compressés si possible (control/htaccess/basic/.htaccess). * Le Panneau de Contrôle a sensiblement évolué, avec l'objectif de simplifier l'interface. Voir control/index.php
* L'assemblage et la compression des librairies Javascript fournies avec yacs ont été centralisées dans un seul script tools/jsmin.php, en remplacement de control/jsmin.php. Dans les fichiers
template.php, le chargement de la librairie Javascript s'effectue à présent par simple référence au fichier included/browser/library.js, en remplacement de included/browser/minify.php. * Une nouvelle librairie Javascript a été introduite pour gérer les réflections d'images, et incluse automatiquement dans
included/browser/library.js. Pour bénéficier de l'effet, vous pouvez ajouter la classe "reflect" dans les images définies dans le panneau de configuration du moteur de rendu visuel.* De plus, yacs ne tente plus de charger la librairie
included/browser/swfobject.js comme précédent. Il utilise included/browser/library.js à la place, qui contient le code de swfobject, plus beaucoup d'autres choses. Voir par exemple files/stream.php* Comme recommandé par Christian, yacs n'affiche plus le mot de passe du premier compte d'associé créé lors de l'installation d'un nouveau serveur. Voir control/populate.php.
* Pour faire suite aux suggestions de Thierry, yacs commence à générer certains liens dynamiques avec l'attribut "nofollow". Voir skins/skin_skeleton.php, et à suivre ...
* La fonction
Locations::map_on_google() accepte maintenant des paramètres supplémentaires pour ajuster la taille de la carte affichée à l'écran. Vois locations/locations.php* Le script de test de base, control/test.php, envoie un attribut HTTP juste après le chargement de
shared/global.php, pour détecter les espaces ou autres caractères invisibles qui auraient pu y être introduit, ou dans l'un des scripts chargé par shared/global.php. Cette fonction a permis de repérer un script avec une en-tête binaire Unicode par exemple.* Les fonctions de recherche des différents modules (par exemple,
Comments::search() dans comments/comments.php) ne retournent plus aucun résultat lorsqu'une chaîne vide leur est passée. Précédemment, en fonction du contenu de la base de données, il arrivait que le simple chargement de search.php afiche des résultats "fantômes".* Les constantes JS_PREFIX et JS_SUFFIX ont été introduites dans
shared/global.php pour encadrer les bouts de code javascript générés par yacs, c'est plus propre.* De la même façon, la constante CRLF a été introduite pour gérer les fins de ligne dans de nombreux protocoles utilsés sur Internet. Voir par exemple l'envoi de message électronique dans shared/mailer.php ou la préparation d'une carte de visite électronique dans users/fetch_vcard.php.
* Les usagers qui valident leur adresse de courrier électronique sont à présent automatiquement authentifiés dans la même opération. Vois users/validate.php
* Yacs gère depuis longtemps les différentes versions d'une page. A partir de la 9.5, ces versions sont compressées avant d'être sauvées dans la base de données, afin d'économiser autant de place disque que possible. Il n'est pas rare, pour les sites très actifs, d'avoir une table des versions qui grossisse plus vite que celle des articles, d'où l'intérêt de la compression à la volée. Voir versions/versions.php.
* Yacs n'utilise plus aucune variable globale de type
$HTTP_ .... Pour lire le flux brut envoyé dans certaines transactions, yacs emploie l'appel file_get_contents("php://input"), plus conforme aux bonnes pratiques PHP actuelles. Voir par exemple comments/post.php.* yacs n'affiche plus le contenu de la variable globale
$_ENV dans control/test.php, et utilise la fonction getenv() pour accèder à l'environnement d'exécution, comme dans cron.php.* Un nouveau script a été ajouté pour fournir le contenu du calendrier au format ICS, dans dates/fetch_ics.php. Ceci permet l'intégration des événements gérés sur un serveur yacs dans les outils habituels, comme iCal sur Mac OS X par exemple.
* Les scripts d'affichage des événements pour une date donnée, ou pour un mois donné, ont été assouplis au niveau des paramètres fournis. Voir dates/day.php et dates/month.php.
* La localisation du mois de juillet est à présent correcte, grâce à une suggestion de Justin. Voir dates/dates.php
* Pour accélérer le chargement des chaînes de caractères localisées, yacs transforme chaque fichier
.mo en PHP. Dans les versions précédentes ces fichiers étaient placés dans le répertoire temporary. Maintenant, ils sont mis dans le répertoire i18n/locale, au même endroit que les .mo dont ils sont issus. Voir i18n/i18n.php* Les fichiers PHP de localisation sont construits pendant l'exécution du script de validation de yacs (scripts/validate.php) sur la machine de développement. Chaque fichier PHP généré comporte le mot-clé '@reference', qui permet de le traiter ensuite comme n'importe quel script de référence de la distribution de yacs. Bref, cette nouvelle version automatise encore un peu plus la localisation du logiciel.
* Lors d'une mise à jour du logiciel, le fichier
footprints.php de la version utilisée est maintenant systématiquement copié à la racine d'installation de yacs. Voir scripts/update.php et, pour la machine de développement, scripts/build.php.* Une nouvelle commande permet de vérifier l'intégrité de yacs, par comparaison avec les signatures places dans
footprints.php. Voir scripts/check.php.* Le script d'intégration d'une nouvelle version de yacs prépare maintenant les deux archives
.zip et .tgz. Jusqu'à présent, seule l'archive .zip était créée automatiquement, et il fallait une opération manuelle pour créer l'équivalent en .tgz. Avec la nouvelle version de scripts/build.php, les intégrateurs vont pouvoir économiser quelques touches de clavier ...* La comparaison de deux versions d'une même page web a été améliorée, avec un rendu visuel simplifié dans versions/view.php. A la base, c'est l'introduction d'une nouvelle fonction de comparaison de chaînes HTML,
Scripts::hbreak(), et l'évolution de Scripts::sdiff(), toutes deux dans scripts/scripts.php, qui a rendu ceci possible.* La mise à jour du logiciel n'est plus possible sur un site en démonstration. Sinon il aurait été possible à n'importe qui d'installer tout type de script dangereux. Voir scrpts/update.php.
* Le script de gestion de masse n'induit plus de retour en page de page avant d'exécuter la commande passée. Voir sections/manage.php.
* Pour les relations entres membres d'une même communauté, on ne parle plus de liste de surveillance, mais de connections, et ce terme a été mis en oeuvre partout où nécessaire. Le mécanisme technique de suivi de ces relations n'a pas évolué, mais une nouvelle fonction
Members::list_connections_for_user() a été implémentée dans shared/members.php pour faciliter l'accès à ces connexions par programmation.* La librairie shared/xml.php a été étendue pour permettre, dans une prochaine version, l'exploitation des transformations XSLT à grande échelle côté serveur. Si l'environnement PHP de votre serveur le permet, vous pouvez charger le script tools/transform.php pour commencer à jouer avec ce genre de fonction émergente dans yacs.
* Yacs dispose d'un script de lecture d'une boîte aux lettres POP3, et la capture des messages de mise au point a été nettoyée des retours à la ligne surnuméraires, dans agents/messages.php.
Files
Comments
![]() J.Juraverfrom Entre chaise et clavier... 3710 posts | Et bien... même si cette version ne prend toujours en compte certaines des fonctionnalités très attendues depuis la section dédiée, j'applaudis à la masse de travail fourni et particulièrement à l'accent porté sur certaines fonctionnalités éditoriales. J'ai testé avec succès quelques originalités qui m'intriguaient ici. ----- Faites votre pub pour Yacs Annuaire des sites YACs Plugin Firefox de recherche dans Yetanoz Nouvelles fonctions suggérées Je ne m'attarde pas, j'ai mon yacs en double file...
![]() Yacs on my blog | Suivez le blog Yacs | Yacs Showroom | Plugin Firefox de recherche dans Yetanoz | |
![]() Pinelli, Thierryfrom Nice, Drap Associate, 1740 posts | Oui, une belle mouture que cette 9.5, reste maintenant à l'utiliser, la tester et faire remonter ce qui doit l'être
En tout cas beau travail et merci pour la mise à disposition de toutes ces informations ! Un annuaire propulsé par YACS - Skins pour Yacs : YordPress - Yacs couleurs Wordpress - Bonbon Skin 1.3.2 : Le graphisme "Green" - Totem 930 : L'équilibre pour petits écrans Communiqués de Presse : Site de Communiqués de Presse à propulsion Yacs - Création de sites, Référencement et webmastering - Skins pour Yacs : YordPress - Yacs couleurs Wordpress - Bonbon Skin 1.3.2 : Le graphisme "Green" - Totem 930 : L'équilibre pour petits écrans |
Christianfrom Chonas l'Amballan Associate, 2018 posts | Je note également que depuis la 9.? on peut limiter le nombre de liens reçus par RSS. une sorte de purge automatique bien pratique pour éviter des pages à rallonge configuration / fil d'information onglet réception Actupro quelques sites yacs : création site internet annuaire pro |
![]() Pinelli, Thierryfrom Nice, Drap Associate, 1740 posts | Testé en local, je ne vois plus la possibilité d'uploader une sauvegarde ou downloader les fichiers courants. La 9.5 semble se limiter dans l'obtention du contenu de la base de donnée... Impossible de restaurer un ou des fichiers dans ce cas... Un annuaire propulsé par YACS - Skins pour Yacs : YordPress - Yacs couleurs Wordpress - Bonbon Skin 1.3.2 : Le graphisme "Green" - Totem 930 : L'équilibre pour petits écrans Communiqués de Presse : Site de Communiqués de Presse à propulsion Yacs - Création de sites, Référencement et webmastering - Skins pour Yacs : YordPress - Yacs couleurs Wordpress - Bonbon Skin 1.3.2 : Le graphisme "Green" - Totem 930 : L'équilibre pour petits écrans |
Bernard Paquesfrom nearby-an-airport Associate, 8372 posts |
Thierry : En réalité, il s'agit d'un bug introduit dans la 9.5, qui fait que la page de sauvegarde/restauration ne s'affiche pas complètement. Voici un patch qui devrait améliorer la situation. 20090615-patch-control-backup.tgz |
Christianfrom Chonas l'Amballan Associate, 2018 posts | Je viens de m'apercevoir que l'on pouvait controler la description sur les overlays ! Me trompe-je ? Actupro quelques sites yacs : création site internet annuaire pro |
Christianfrom Chonas l'Amballan Associate, 2018 posts | Bernard je pense qu'il y a encore un problème sur les codes [ published.perso ] car quand je copie le layout par défaut (décorated) dans un layout perso je n'ai pas le même rendu. En particulier les vignettes de page ne s'affiche pas. Veux tu une fiche de bug ? Actupro quelques sites yacs : création site internet annuaire pro |















