changelog

 
À
    ou Annuler
Version 0.1.4 is out
Par Antoine Lefeuvre , 27 novembre 2012
À

A long series of bugfixes for this new version:

Core

  • Bugfix: the front office's post-process is now executed before the cache is written.
  • Bugfix: Widget_Media in mode all (on server-side)
  • Bugfix: the Sortable Behaviour has been improved.
  • Bugfix: a locked page cannot be be deleted using the toolbar's delete button any longer.
  • Bugfix: 0.1.3 regression, it was impossible to insert an enhancer into a WYSIWYG.

Install

  • Bugfix: new test on the public/media folder (must be writeable). Thanks to @mvy

Blog & News

  • Bugfix: the categories widget of the enhancer now uses the nosLang parameter.
  • Bugfix: Front office: the object instances are no longer filtered by the views. htmlentities is now systematically used.
  • Bugfix: fixes and optimisations for the get_all method of Model_Post (for the front office).
  • Bugfix: the front controller didn't use the selected category (enhancer parameters). 
  • Bugfix: Enhancer parameters: the selected category is now reselected when edited.
 
 
À
    ou Annuler
"Monkey" sample application and better CRUD controller
Par Antoine Lefeuvre , 5 septembre 2012
À

Monkey application

The most asked-for feature: an application to manage a database of apes! OK, kidding aside, one of our priorities is to help you create applications. Monkey is a sample application for you to play with: install it, rename it, add new fields, etc.

Since it is a first version, it still lacks a lot of features: some types of fields, inspectors, relationships, etc. We'll keep improving it and you can help us: your pull requests are most welcome. In addition, we'll soon release a tutorial, an autopsy of Monkey (I know, it sounds gory!).

Refactoring of the CRUD controller

While developing the Monkey application, we realised the CRUD controller needed to be bettered to ease the creation of applications.

The updated CRUD controller now allows you to handle an object's insert and update forms + deletion pop-up, virtually only with the configuration file. It adapts to objects which use the multilingual system (translatable behaviour) or have a tree structure (tree behaviour).

Paired with the App Desk, this is a great tool to set up a back-office very quickly, using virtually only configuration files.

To make an omelette, you have to break a few eggs. Here is the changelog:

  • The action_crud method has been renamed to action_insert_update. All URLs have to be amended accordingly.
  • You'll find many new options in the controller's configuration file. To understand them, check out the default configuration at the top of the file (see link below) or have a look at the configuration of Monkey and Species.
 
 
À
    ou Annuler
Application Monkey et amélioration du controller CRUD
Par Gilles FELIX , 27 juillet 2012
À

Bonjour à tous,

2 nouveautés au programme aujourd'hui dans la branch dev :

  • Une application Monkey
  • Refactoring et amélioration du controller CRUD

Les 2 nouveautés sont fortement liés comme ne l'indique pas leur description :-)

Application Monkey

Pour ceux ayant besoin de gérer une base de singes, c'est l'application idéal. J'en vois déjà qui se disent « Ils ont pas plus urgent à faire chez Novius OS que de nous pondre une application pour gérer des singes !? ». Si, on a plus urgent ! Parmi nos priorités, il y a notamment celle de vous donner les clés pour pouvoir coder rapidement des applications.

Et Monkey est là pour ça : être un exemple à jour d'application. Installez la, changez les noms, ajoutez des champs...
Bien sûr c'est une première version, il manque encore pas mal de cas pratiques : type de champs, types de relations, types d'inspecteurs, etc. N'hésitez à faire des pull requests pour nous aider à couvrir le plus de cas possibles.
Une documentation va suivre également pour détailler tous ces cas, une sorte d'autopsie d'application. Là encore, on espère un peu d'aide pour les plus avancés d'entre vous.

Le lien vers le dépôt Github de Monkey est en PJ.

Refactoring et amélioration du controller CRUD

Quel est le lien avec Monkey ? C'est en codant Monkey, en essayant de produire une application modifiable le plus simplement possible, que ce refactoring s'est fait.

Ce controller CRUD permet maintenant de gérer, quasi exclusivement par fichier de configuration, le formulaire d'ajout et de mise à jour d'un type d'objet ainsi que sa popup de suppression. Il s'adapte au cas d'objets implémentant le système de traduction (Behaviour Translatable) et à ceux ayant une structure en arbre (Behaviour Tree).

Couplé à l'Appdesk, c'est l'outil qui permet de faire un backoffice d'application très rapidement et presque uniquement avec des fichiers de configuration.

Qui dit refactoring, dit un minimum de changelog:

  • La méthode action_crud a été renommée en action_insert_update. Il faut donc modifier toutes les urls en conséquence.
  • Le fichier de configuration du controller est beaucoup plus complet. Le mieux pour comprendre est de regarder la configuration par défaut en haut du controller (lien en PJ sur Github) et de se référer aux cas d'utilisation dans Monkey (pour la gestion de Monkey et de Species)

 

Cet article a plu à 2 utilisateurs.
 
 
À
    ou Annuler
WYSIWYG editor: new 'Insert a link' pop-up
Par Antoine Lefeuvre , 16 juillet 2012
À

A new feature has been merged into the dev branch. The 'Insert a link' pop-up, which used to be the standard TinyMCE tool, is now a Novius OS pop-up. It allows you to add link to internal and external pages, medias, anchors and more.

No refactoring needed.

Here are two screenshots for you to have a better idea of this new feature:

 
 
À
    ou Annuler
Wysiwyg : Popup d'insertion de lien
Par Gilles FELIX , 12 juillet 2012
À

Bonjour à tous,

Je viens de merger une nouvelle feature dans la branch dev. La popup d'insertion d'un lien dans le wysiwyg est maintenant une popup novius-os. Vous pouvez sélectionner directement une page ou un media.

Aucun refactoring à déclarer.

 
 
À
    ou Annuler
Renommage des controllers d'appdesk et leur fichier de config associé
Par Gilles FELIX , 4 juillet 2012
À

Les controllers gérant l'appdesk s'appellaient list, et leur fichier de config se trouvait dans appdesk/list, ce qui entrainait un traitement spécifique à l'appdesk pour la récupération du fichier de config associé au controller.

Fini tout ça, on fait simple et logique : le controller s'appelle appdesk (ou un autre nom si vous voulez) et le fichier de config s'appelle pareil et n'a plus besoin d'un sous-répertoire.

Appliqué sur le core et le blog, à reporter dans vos applis

Attention quand vous renommez le fichier de votre controller, il faut également renommé la classe dans le code et modifier toutes les urls appellant ce controller

 
 
À
    ou Annuler
L'édition des différentes langues d'un item se fait dans des onglets distincts
Par Gilles FELIX , 4 juillet 2012
À
  Ça concerne le multi-langue. La grande idée, c'est que chaque élément de chaque langue a son propre onglet (plutôt que de regrouper toutes les langues d'un même élément dans le même onglet).

Du coup :
- Un petit refactoring qui va bien avec un nouveau Controller_Admin_Crud pour gérer un formulaire multi-langue et son blank_slate de traduction : la doc est sur le wiki GitHub (lien en bas).
- Un petit lifting du blank_slate, justement.
- Un fichier de config qui permet de définir des actions sur les élements (exemple : "Visualise" pour une page).
- Et l'utilisation du nouveau système d'évènements pour que quand on supprime une page ou un billet de blog, ça soit détecté dans les onglets ouverts.
Cet article a plu à 1 utilisateur.
 
 
À
    ou Annuler
Refactoring JS
Par Gilles FELIX , 4 juillet 2012
À

Le commit date de vendredi dernier et porte sur la partie javascript (même si des fichiers PHP peuvent être impactés) du logiciel.

2 gros changements :

  • $nos n'est plus un $.sub() mais un alias de $ (jQuery). Du coup, pour éviter les potentiels conflits de nom de fonction, les noms des fonctions propres à $nos ont été préfixés par nos
  • Le système d'événements internes, permettant le rafraîchissement des appdesks en cas de mise à jour d'éléments les constituant, a été amélioré et repensé

Concrètement :

  • faire une recherche sur tous les $nos dans vos applications ou dossiers locaux, et renommer les fonctions suivant (quand un 1er paramètre est indiqué, c'est qu'il n'est plus utile) :
    - dispatchEvent => nosDispatchEvent
    - notify => nosNotify
    - xhr => nosAjax
    - xhr('success' => nosAjaxSuccess
    - xhr('error' => nosAjaxError
    - xhr('saveUserConfig' => nosSaveUserConfig
    - media => nosMedia
    - form => nosFormUI
    - form('validate' => nosFormValidate
    - form('ajax' => nosFormAjax
    - onShow => nosOnShow
    - confirmationDialog => nosConfirmationDialog
    - dialog => nosDialog
    - listenEvent => nosListenEvent
    - tab => nosTabs
  • Faire une recherche sur vos reloadEvent (PHP et JS) : y indiquer le nom du model déclencheur, avec son namespace (ex NosModel_Page)
  • Faire une recherche sur vos dispatchEvent (surtout PHP) : renvoyer un tableau sur le modèle suivant (lang et lang_common_id ne sont valable que si votre item est translatable). Attention dans le cas d'un delete, récupérer les infos de l'item avant l'appel à delete() sinon les champs sont vides.
    - name : nom du modèle (ex NosModel_Page)
    - action : le type d'action (insert, update, delete)
    - id : l'identifiant de l'item mis à jour
    - lang : le code langue de l'item mis à jour
    - lang_common_id : l'identifiant de l'item de la langue principale de votre item mis à jour
 
 
À
    ou Annuler
Changelog pour la branche dev
Par Gilles FELIX , 4 juillet 2012
À

Comme déjà expliqué, en commentaire d'autres messages, nous avons modifié notre façon de fonctionner avec git. Les fonctionnalités sont maintenant développées dans des branches séparées. Du coup la branche dev est devenue beaucoup plus stable. Pour tous ceux qui veulent commencer à développer avec Novius OS, nous vous invitons donc à basculer sur la branche dev et à mettre régulièrement à jour.

Dev est un peu plus stable mais stable ne veut pas dire que rien ne change. Pour vous aider à suivre, voici donc une nouvelle série de posts, tagué changelog, qui sont là pour vous aider à reporter les modifications du core du logiciel dans vos applications ou développements spécifiques.