Améliorations
- i18n: Le dictionaire par défaut app::default est utilisé si aucun dictionaire n’a été configuré avec Nos\I18n::current_dictionary().
- BD: Changement de l’interclassement sur toutes les colonnes utilisées comme un identifiant d’URL.
- ORM: Amélioration du mécanisme de cache des properties de modèles, une seule récupération des colonnes via la BD par exécution.
- ORM: 4 nouveaux type de relation, twinnable_belongs_to, twinnable_has_one, twinnable_has_many, twinnable_many_many.
- ORM: Classe Model, nouvelles méthodes addRelation(), configModel() et getApplication().
- Behaviour: Nouveau behaviour author, utilisé par Page, Media, Blog/News, Slideshow, Form.
- Behaviour: Refactoring de l’implémentation des behaviours (Les behaviours peuvent intercepter des évènements de modèle).
- Behaviour Twinnable: Les modèles peuvent avoir des champs, medias et WYSIWYGs communs à tous les contextes.
- Behaviour Twinnable: new findMainOrContext(), hasCommonFields(), isCommonField() methods.
- Behaviour URLEnhancer: Nouvelles méthodes deleteCacheEnhancer() et deleteCacheItem().
- Behaviour URLEnhancer: Suppression du cache fron-office de l’item à la suppression et la mise à jour.
- Enhancer: Dans la configuration de la popup, nouvelle possibilité de définir layout et fields au lieu d’utiliser une view, comme pour le CRUD.
- Enhancer: Dans la configuration de l’enhancer, nouvelle clé possible valid_container, de type callable. Permet de restreindre la disponibilité de l’enhancer en fonction du conteneur.
- Enhancer: Dans l’affichage front-office, la sortie de l’enhancer est enveloppée dans un div avec les classes CSS noviusos_enhancer et le nom de l’enhancer (noviusos_blog, noviusos_news, noviusos_slideshow, noviusos_form)
- Renderer: Nouveau renderer datetime picker pour gérer à la fois la date et l’heure dans le même input.
- WYSIWYG: Nouveau mécanisme de configuration des WYSIWYGs, avec un événement wysiwygOptions interceptable par les behaviours (et utilisé par twinnable), et un exemple de fichier wysiwyg de configuration.
- WYSIWYG: Dans Nos::parse_wysiwyg(), le remplacement des ancres par URL#anchor se fait seulement en front-office.
- SEO: Nouveau méchanisme de configuration des friendly slug, avec un évenement friendlySlug interceptable par les behaviours (et utilisé par twinnable), et un exemple de fichier friendly_slug de configuration.
- OsTabs: Nouvelle méthode reload dans l’API.
- OsTabs: Changement dans la position d’ouverture des onglets. Un onglet ouvert sans index s’ouvre maintenant onglet sélectionné + 1, sauf si l’onglet sélectionné est le bureau, l’ouverture se fait à la dernière position.
- Appdesk: Deux nouvelles clés, css et notify dans la configuration des appdesk.
- Appdesk: Possibilité d’ignorer un cellFormatter basé sur la valeur d’une colonne.
- Appdesk: Des cellFormatters personnalisés sont autorisés dans les appdesks.
- Grid: Nouvelle clé align dans la configuration des actions.
- Grid: Nouvelle option pour définir la profondeur d’ouverture initiale pour les treeGrid.
- UI: Utilisation de .ui-priority-primary plutôt que .primary sur les button et de .title sur les textbox.
- UI: Utilisation des select, checkbox et radio natifs du navigateur, plus aucune utilisation des widgets Wijmo pour ces inputs.
- Page: L’assignation de la page d’accueil n’est plus permise en vue multi-contextes.
- Page: La suppression et la dépublication de la page d’accueil ne sont plus autorisés.
- Page: Augmentation du nombre de caractères autorisés dans les champs title et url.
- Media: Nouveau champ filesize. Affichage du poids et des dimensions dans la prévisualisation de l’appdesk preview dans le formulaire de CRUD.
- Media: Refactoring des méthodes get_img_tag() et get_img_tag_resized() de Model_Media, utilisation de HTML::img() pour renvoyer un tag avec des attributs.
- Media: Vous pouvez maintenant transformer (crop, rotate, rounded, watermark, resize, shrink, grayscale, border) les images des Media et des Attachments avec le Toolkit_Image API.
- Media: Nouvelle action “Régénérer le cache média” dans la barre d’outils de l’appdesk des Media, visible pour les utilisateurs en mode expert.
- Media: Augmentation du nombre de caractères autorisés dans les champs title et url.
- Comments: Nouvelle API pour l’utilisation de l’application noviusos_comments.
- Form: Nouvelle view message pour la confirmation.
- Blog/News: Les vignettes sont maintenant configurable (taille et lien).
- Misc: Nouveaux événements 404.mediaFound, 404.attachmentFound, admin.loginFail et nos.deprecated.
- Misc: Toutes les URL sont maintenant encodées quand utilisées dans un href ou une redirection.
- Misc: Nouveau répertoire temp dans local/data, assigné à la clé de configuration novius-os.temp_dir par défaut.
- Front: is_preview n’est vrai que si l’utilisateur est connecté.
Introduit dans la version Chiba: 2.1
- Media: Bugfix, les images transformées ne s’affichaient en front-office que pour les utilisateurs connectés au back-office. Les autres obtenaient un 403.
- Media: Bugfix dans les permissions des medias; quand un utilisateur était mis à jour, ces droits en écriture sur les médias étaient désactivés.
- CRUD: La configuration du boutton save n’est plus obligatoire dans la définition des champs d’un CRUD.
- ORM: Dans les modèles, si vous utilisez cache_model_properties, nouvelle possibilité de définir une fonction de callback (check_property_callback, voir local/config/config.php.sample) pour vérifier si une propriété est un potentiel nouveau champ, et ainsi éviter une requête SQL show field.
- Renderer: Nouvelle classe Nos\Renderer pour factoriser du code entre tous les renderers.
- Templates basic: Réorganisation pour une meilleur factorisation de code entre les templates avec menu en haut et à gauche.
- Slideshow: Réorganisation de la configuration et des fichiers. Les widgets d’affichage en front-office sont gérés avec une configuration par formats pour être plus facilement étendables.
- Blog/News and Comments: Meilleur nettoyage du cache front-office quand un post ou un commentaire sont insérés, mis à jour ou supprimés.
Introduit dans la version Chiba: 2.2
Renderer: La classe NosRenderer_Date_Picker a été factorisée avec NosRenderer_Datetime_Picker
Media: La suppression des media et des répertoires est géree par les modèles, et non plus par le controller CRUD
i18n: Dans la classe i18n, ajout des méthodes addPriorityDictionary et addPriorityMessages
- Tasks: Les Tasks FuelPHP ont été adaptées à Novius OS. Le namespace des Tasks dépend maintenant de l’application ce qui permet de nommer de la même façon 2 Tasks dans des applications différentes.
Un application, novius_taskmanager, a été réalisée permettant la gestion et l’exécution des Tasks via le navigateur.
Form: Amélioration de la mise en page des emails de réponse à un formulaire.
Introduit dans la version Chiba: 2.3
- PHP: La version 5.5 est officiellement supportée
- Renderer: Nouvelle option null_allowed (à false par défaut) pour Nos\Renderer_Datetime_Picker
- Misc: Optimisation de Toolkit_Image->sizes(), Les images des Media ne sont plus chargées en mémoire
- WYSIWYG: Dans la popup image, nouveaux champs border, align, vspace et hspace pour faciliter l’édition du style
- CRUD: Le javascript pour les context common fields est amélioré. Maintenant, les champs non supportés peuvent implémenter leur propre système de verrouillage
- CRUD: Le système de verrouillage des context common fields est amélioré. Maintenant il fonctionne aussi pour les champs non basés sur un input (ie: comme pour les renderers basés sur un <div>)
- CRUD: Le système de verrouillage des context common fields supporte les champs basé sur le renderer virtual name
- Profiler: Certains items de la config ne sont plus affichés pour des raisons de sécurités
- Profiler: Nouvelles méthodes markDeltaStart() et markDeltaStop() pour l’étude des durées d’exécution
- ORM: Nouveau paramètre through_where dans la configuration des relations many_many
- Form: Ajout d’un replyto aux emails envoyés si un champ email est présent dans la réponse. Dépend de la clé de configuration add_replyto_to_first_email du fichier noviusos_form.config.php (par défault à true)
- Form: Déplacement du champ de l’émail destinataire en haut du formulaire d’administration
- AppWizard: Ajout d’une vérification préalable sur les droits d’écriture dans le dossier local/applications
Introduit dans la version Chiba: 2.3.1
- UI: En cas d’insertion lors d’un processus de sélection, le nouvel item est automatiquement sélectionné (media, page)
Introduit dans la version Chiba: 2.3.2
- Sécurité: Correction d’une faille XSS dans le profiler