Avancement

Un gros travail a été fait sur la fonction de lecture des liens ainsi que sur celle qui assure le filtrage de ces liens. Le filtrage est nécessaire parce qu’il permet de retirer les liens marqués comme supprimés et donc de ne pas en tenir compte.

Une nouvelle fonction _l_fnd est une autre fonction de lecture de liens avec filtrage mais plus dédié à l’extraction plus précise de certains liens. Elle permet d’accélérer, un peu, la récupération de certaines caractéristiques des objets.

La vue vue des liens lnk dispose maintenant d’un filtrage de la vue plus avancé puisqu’il permet de sélectionner un type de lien et/ou de recherche un lien de/vers un objet spécifique (autre que l’objet en cours de visualisation). Ce filtrage des liens affichés sera complété plus tard avec en plus un mode de filtrage plus fin correspondant directement à la fonction _l_fnd.

En attendant la mise en place de la possibilité de charger un nouvel objet, et plus seulement un texte, la partie affichage du mode ent permet de créer une nouvelle entité. Mais, il n’y a que l’affichage qui marche, la création n’est pas encore fonctionnelle. Ce sera pour une prochaine fois. Il est déjà prévu notamment de pouvoir créer une entité esclave de son entité courante.

Un certain nombre de robots commencent à naviguer dans les différentes vues dont celles qui demande beaucoup de temps de calcul. Le serveur prend régulièrement une claque. Je songe à basculer par défaut l’affichage en mode non développement… ou d’interdire certains modes aux robots…

Avancement

Ça continue pour les actions.
La suppression est effective et un lien de suppression est créé. La suppression de l’objet proprement dit qui tient compte de la présence de liens d’autres entités. C’est la réponse à la réflexion sur le blog de nebule sur la multi-entité et la suppression d’objet. On verra dans le temps si cette façon de faire est correcte.
La restauration d’un objet précédemment supprimé est fonctionnelle. L’objet est synchronisé si disponible ailleurs. Le lien de suppression est annulé.
Une nouvelle action permet de définir un objet comme étant à bannir. Cela ne le supprime pas, mais cela empêche sa synchronisation si supprimé. Son affichage est restreint en conséquence dans les mode aff, nav et lnk. Lorsque banni, un lien permet d’annuler le bannissement si nécessaire. Le bannissement tient compte des liens générés par les entités puppetmaster et cerberus.
Une nouvelle action permet à l’entité propriétaire du serveur de forcer la suppression d’un objet. Là, la suppression de l’objet est effective. Cette suppression n’est possible que si l’entité en cours est l’entité propriétaire du serveur, si l’entité est connectée, si l’objet est marqué supprimé par un lien, et si l’objet est encore présent.

Les variables $sylabe_permitsynclink et $sylabe_permitsyncobject sont maintenant sous la coupe de nebule en tant que $nebule_permitsynclink et $nebule_permitsyncobject. Elles sont utilisées directement en vérification dans les fonctions _l_dl1 et _o_dl1. Les anciennes variables ne sont plus utilisées.

Le menu de gauche sur les nœuds a été corrigé dans sa forme et sa cohérence.

Avancement

La version de sylabe posée hier soir introduit un certain nombre d’actions, même si non réellement fonctionnelles (non terminées).

Dans les actions, il y a maintenant la synchronisation des objets et des liens. Cela veut dire que, si c’est autorisé, l’entité peut synchroniser des objets dont elle n’a pas le contenu et des liens depuis des points de présence sur internet. L’entité doit être déverrouillée. Les deux variables qui contrôle les autorisations de synchronisation sont $sylabe_permitsynclink et $sylabe_permitsyncobject.
Chaque entité manipule des objets qui nous intéressent ou nous sont destinés. Chaque entité a ainsi de bonnes chances de détenir un objet manquant et de nouveaux liens. La synchronisation se fait donc vers toutes les entités que l’on connaît, indistinctement.
Le mode d’affichage syn ne recevant que la synchronisation des liens et objets, il disparaît. La synchronisation apparaît maintenant dans la partie actions, en haut de la partie centrale de la page. De plus, ne se trouvant plus dans une page indépendante, c’est plus simple parce que l’on reste dans le mode qui a fait appel à la synchronisation.

La création/suppression de la définition d’un objet comme nÅ“ud est gérée comme une action et est fonctionnelle. C’est en fait un cas simple qui ne nécessite respectivement que l’ajout un lien de type f ou x vers l’objet nebule/objet/noeud.

Les actions de commenter un objet, le protéger et le supprimer sont ajoutées mais sont non fonctionnelles.

Le mode d’affichage des entités ent a été modifié. Il soufrait de gros problèmes de performances et de pertinence du contenu.

Il y a des problèmes de performances concernent le mode d’affichage des liens lnk. Je regarde pour résoudre ça…

Timeout

Il y a un gros problème de performances dans l’affichage des pages. Sur ma machine de dev, ça n’était pas trop flagrant. Mais sur le petit serveur en ligne, c’est catastrophique ! Presque 10 minutes (575s) pour afficher une page assez simple comme la page d’un objet image en mode aff

Le problème vient à priori de la partie à gauche qui affiche les entités. Je vais le corriger ou le simplifier fortement dans son fonctionnement…

Avancement

Ce soir, j’ai corrigé un petit bugg de la fonction _l_lsx. Les liens de type x n’étaient pas correctement pris en compte. Pour résoudre ce bugg, j’ai ajouté la possibilité d’afficher en mode lnk les liens avec ou non le tri/filtrage. Le filtrage est justement assuré sur les liens de type x
Maintenant, les liens de type x sont parfaitement gérés.

Le mode d’affichage des liens lnk propose aussi maintenant la possibilité de supprimer un lien (sauf un de type x). C’est en fait la génération d’un lien de type x correspondant au lien à supprimer.

Les boutons OK/NOK sont maintenant fonctionnels même si il se peut que ce système change un peu. Si OK avait été sélectionné pour un objet, le lien apparaît sur fond vert. Le sélectionner sur fond vert revient à le supprimer.

Un affichage un peu plus user-friendly des modes est en place sur activation de la variable sylabe_hidedevmods. Cet affichage masque les modes plutôt techniques. Il n’est pas activé pour le moment, on est en pleine expérimentation…

Avancement

Il y a eu hier soir quelques petits arrangements cosmétiques mais aussi une grande avancée. Désormais, la librairie php de référence pour nebule sait écrire les liens qu’elle génère ou qui lui sont envoyés. Cela est conditionné par une nouvelle variable nebule_permitwrite. C’est important parce que maintenant on peut écrire les liens que l’on génère et ainsi commencer à interagir via cette interface sur les liens et objets.

Voici un aperçu des modifications, avec une entité déverrouillée. On peut voir la création d’un lien nebule suite à l’utilisation du lien web nommé ‘OK‘ :

shot-2013-11-14_19-03-54

Un système d’actions est mis en place pour réaliser et traiter la création d’un lien qui nécessite un pré-traitement. Ce sera nécessaire aussi pour des actions qui nécessiteront la génération de plusieurs liens ou la modification d’objets, et donc la génération de nouveaux objets. On en est pas encore là.

A noter aussi l’apparition d’un mode d’affichage hlp, pour de l’aide en ligne. Il n’est pas encore utilisé.

D’un autre côté, on réfléchit avec Diana sur une autre façon d’implémenter l’équivalent du like (OK/NOK ou d’accord/pas d’accord). Ce pourrait être simplement des émoticônes plus expressives et plus nombreuses renvoyant à des objets spécifiques de nebule. Ces objets ont bien sûr toutes les caractéristiques pour devenir des nÅ“uds.

Avancement

Le menu de gauche reprenant les entités connues a été corrigé. Il est maintenant synchronisé avec le mode d’affichage des entités. CF http://stephane.nebule.fr/?mod=ent.
La visualisation de ce mode est assez longue. La dernière catégorie d’entité est assez pénible à remplir. D’ailleurs, elle n’est peut-être pas très utile en pratique.

Deux nouveaux liens, non fonctionnels, pointent pour chaque objet vers un moyen rudimentaire de donner une importance à un objet. C’est un peu une sorte de like… et dislike.
Cela permettra la génération d’un lien de type f depuis au choix :
– l’objet nebule/objet/jaime
– l’objet nebule/objet/jaimepas
Rien n’est vraiment figé pour le moment, c’est plus une idée qui est à approfondir.

Avancement

Aujourd’hui, j’ai passé pas mal de temps dans le code. Mais rien de bien révolutionnaire, j’ai fait beaucoup de ‘cosmétique’ et d’épuration de certaines parties du code, notamment dans l’affichage des liens (mode lnk).

Cela a été aussi l’occasion de réfléchir sur certaines façons de faire des liens dans nebule. Voir 1 et 2.

Voila ce que à quoi ça ressemble : http://stephane.nebule.fr/?mod=nav&obj=3080591671e1ee1e080a48118b7329f8e3256b8dda83c57e820bbd4b5ceeec88

shot-2013-11-03_00-12-41
Non connecté.

shot-2013-11-03_00-21-13
Connecté.