Bannière du site

Guide utilisateur jAlbum

fleche_haut

jAlbum / Console Système

ToolsSystemConsole.png

Cette fenêtre est principalement un outil destiné à aider les développeurs, mais elle peut également être utilisée par les utilisateurs finaux pour exécuter de simples scripts. Des exemples de fragments de code peuvent être utilisés ici.

Pour les développeurs, la console système fournit des informations d'erreur plus détaillées et vous permet d'essayer et de jouer avec des scripts que vous pourrez ensuite utiliser dans vos skins jAlbum. Notez que l'enregistrement des erreurs dans la console système peut être contrôlé en définissant le niveau de journalisation dans Préférences/Général ou par les développeurs de skin envoyant leurs propres messages de diagnostic directement à la console.


La barre de menu affichera un menu 'Outils' lorsque la console du système est ouverte.

SystemConsoleToolsMenu.png

Vous pouvez sélectionner Évaluer pour exécuter un script dans la langue sélectionnée, Dump threads (Exporter les threads) pour fournir un fichier de threads afin d'aider à localiser les éventuels 'blocages' qui peuvent se produire ou Imprimer les données de profilage pour montrer quels processus ont été appelés et le temps pris. Un exemple de sortie de profil est présenté ci-dessous :

                                CustomScaler.scale:   158 calls     22.695s
                       Process compiled expression:    21 calls     13.512s
                                 predir processing:    18 calls     13.225s
                        Writing: AVIF Image Writer:   132 calls     11.684s
                            Scale to fit 1600x1200:    24 calls      7.029s
                              Scale to fit 824x824:    25 calls      5.819s
                              Scale to fit 800x600:    26 calls      5.053s
                  AlbumImage Scale to fit 1200x900:    10 calls      3.248s
                              Scale to fit 412x412:    27 calls      2.492s
                   AlbumImage Scale to fit 620x465:    13 calls      2.164s
                   AlbumImage Scale to fit 800x360:    13 calls      1.931s
                AlbumImage Scale to fit 100000x465:     9 calls      1.466s
                  AlbumImage Scale to fit 1600x720:     3 calls      1.158s
                AlbumImage Scale to fit 620x100000:     5 calls      1.147s
            Writing: GeoSolutions TurboJPEG Writer:   178 calls      0.617s
                                              init:     1 calls      0.588s
                  AlbumImage Scale to fit 1880x360:     3 calls      0.545s
                      Executing compiled scriptlet:   163 calls      0.397s
            Reading: GeoSolutions TurboJPEG Reader:    69 calls      0.299s
                                  Compiling script:     4 calls      0.292s
                Writing: Standard PNG image writer:     3 calls      0.213s
                                        Make views:     1 calls      0.198s
                     AlbumObjectImpl.getProperties:   313 calls      0.191s
                          AlbumBean.makeIndexPages:    18 calls      0.185s
                        AlbumObjectProperties.load:   315 calls      0.178s
                       AlbumBean.registerVariables:   134 calls       0.13s
                                       Clone image:   107 calls      0.076s
                                 AlbumBean.popVars:   320 calls      0.067s
                 Reading: jAlbum Mac Native Reader:    15 calls      0.058s
                              Compiling scriptlets:    61 calls      0.056s
                           JSONMaker.makeDataPages:    18 calls      0.043s
                                   Create MediaRSS:     5 calls      0.041s
                          AlbumBean.processFilters:   388 calls      0.031s
                   Executing interpreted scriptlet:   231 calls      0.029s
                     AlbumObjectImpl.getXmpManager:    75 calls      0.026s
                                AlbumBean.pushVars:   321 calls      0.025s
                       RecoveryTool.createLifeboat:     1 calls      0.024s
                   JAlbumUtilities.countCategories:   165 calls      0.021s
                       AlbumObjectImpl.getMetadata:    47 calls      0.021s
                JAlbumUtilities.getDeepCameraDates:    18 calls       0.02s
                     FileFilters.getBasicImageInfo:    47 calls      0.018s
                                     Writing pages:    44 calls      0.018s
                                    Copy res files:     1 calls      0.016s
                           Reading file attributes:    97 calls      0.015s
        JAlbumUtilities.countWebLocationCategories:    25 calls      0.015s
                             Making deep-data.json:     1 calls       0.01s
                                Process expression:     1 calls      0.006s
                                JSONMaker.makeTree:     1 calls      0.003s
                         AlbumBean.countTotalFiles:     1 calls      0.002s
                                      Icon loading:     2 calls      0.001s
                     AlbumBean.getFolderProperties:    57 calls      0.001s
                 RotationSupport.adjustOrientation:    84 calls          0s
                                             Total:  3819 calls  1m 37.099s
SystemConsoleEditMenu.png

La console du système a son propre menu 'Édition' comprenant deux sections 'couper, copier, coller' et 'chercher, chercher suivant, remplacer'. Couper, copier et coller ont les raccourcis clavier universels CMD/CNTRL + 'X, C et V' tandis que chercher et remplacer ont CMD/CNTRL + 'F, R' et chercher suivant utilise la touche F3.


SystemConsoleEditMenuReplace.png

L'outil de remplacement est uniquement disponible pour la section supérieure de la fenêtre de la console système. La fenêtre de remplacement est illustrée à droite, ce qui vous donne des choix sur ce qu'il faut trouver et ce avec quoi remplacer, trouver la prochaine occurrence, remplacer toutes les instances du texte trouvé. Vous pouvez faire correspondre en utilisant la casse ou des mots entiers, rechercher en haut ou en bas du code et utiliser des expressions régulières dans les champs de recherche/remplacement.

Lisez à propos des expressions régulières en Java

SystemConsole.png
  • Le panneau supérieur est mieux utilisé pour les scripts à saisir et à évaluer, les résultats apparaissent dans le panneau inférieur. Cliquez sur le bouton SystemConsole Evaluate.png ou appuyez sur CTRL+E (⌘+E sur Mac) pour évaluer une expression. (Evalue le texte sélectionné si la sélection est active)
  • Le panneau inférieur peut également exécuter du code, mais les résultats ne seront imprimés que sur ce panneau. Il capture également les impressions de débogage envoyées à System.out et System.err


SystemConsole Scripting.png

jAlbum a trois moteurs de script sous le capot qui permettent aux développeurs d'étendre les fonctionnalités de jAlbum de différentes manières. Vous pouvez créer un script dans un langage de script de type Java appelé Groovy et BeanShell, ou utiliser JavaScript. Vous pouvez ajouter d'autres langues en ajoutant le fichier .jar correspondant à la langue concernée dans le dossier "lib" ou "ext" de jAlbum.

Les scripts sont exécutés lorsque les skins sont chargés (scripts de chargement), lors du démarrage de la création d'albums (scripts init) et pendant la création d'albums (les scripts de commande figurant dans les pages de modèles des skins). Les scripts sont également exécutés chaque fois que l'utilisateur sélectionne un outil externe (voir Outils-> Outils externes).

Vous avez accès aux objets implicites jAlbum de base tels que le moteur et la fenêtre

Exemples d'expressions (Java/BeanShell) :

4*(3+2); // Basic calculations 
engine.getSkin(); // Use of implicit object
for (AlbumObject ao : selectedObjects) System.out.println(ao); // Iterate over selected objects
window.messageBox("You can interact with any Java object");


En savoir plus sur l'extension de jAlbum dans notre Developer center.

SystemConsole Threads.png

L'option de sélection de threads facilite le test des interfaces utilisateur basées sur Java Swing et JavaFX. JavaFX requiert que toutes les interactions avec les composants d'interface utilisateur JavaFX aient lieu sur le thread JavaFX.

SystemConsole Dump.png

Si jAlbum semble se bloquer dans un état consommateur de CPU, ouvrez la console système et cliquez sur le bouton "Dump threads". bouton. Ensuite, appuyez sur CMD / Cntrl + C pour ouvrir le dossier 'config' de jAlbum et rechercher un fichier appelé 'thread-dump.txt'. Publiez un bogue sur le forum des bogues et attachez le fichier thread-dump.txt, ainsi que toute autre information pertinente - comme les versions de jAlbum et OS, l'apparence utilisée et ce que vous avez fait en dernier.